Openssh медленно на сервере solaris

Соответствующая структура каталогов

После извлечения форка Rictic'а архива с помощью unzip, взгляните на структуру каталогов:

/code_swarm-master
   |_bin     <----convert tools
   |_data    <----activity.xml(converted .log file), sample.config
   |_dist    <----compiled code_swarm.jar
   |_lib     <----libraries and other .jar files required for java
   |_src     <----code_swarm.java source
   /run.sh   <----to run codeswarm

Клонирование репозитория

Выберите репозиторий проекта и клонируйте его локально:

git clone https://github.com/someproject.git

Создайте файл журнала

Перейдите в только что созданный каталог репозитория и создайте правильно оформленный git log, например:

git log --name-status --pretty=format:'%n------------------------------------------------------------------------%nr%h | %ae | %ai (%aD) | x lines%nChanged paths:' > activity.log

Для длинных проектов может быть полезно указать диапазон дат, чтобы сфокусироваться на определенном временном интервале (например. --since=yyy-mm-dd, но я никогда не мог заставить это работать). Или мы можем напрямую отредактировать данные xml позже и очистить их от ненужных нам событий.

Конвертируем наш .log файл в .xml файл

Затем мы переносим этот файл в каталог bin и конвертируем его с помощью предоставленного python скрипта (обязательно используйте python2.x):

python2.7 convert_logs.py -g activity.log -o activity.xml

Здесь вы можете открыть .xml файл, например, в текстовом редакторе и вырезать ненужные строки. Теперь вы можете скопировать этот .xml файл в каталог data.

Образец.config

Переименуйте файл по умолчанию sample.config в другое имя, создайте пустой файл, поместите в него следующее, затем сохраните его как sample.config. Программа по умолчанию читает это имя файла в каталоге data, поэтому удобно использовать именно его. Таким образом, вы сможете просто нажать Enter, когда программа запросит файл .config в интерактивном режиме (она делает это каждый раз):

# Input file
InputFile=data/activity.xml
ParticleSpriteFile=src/particle.png

# Basics - leave UseOpenGL to false until you manage to run this in software mode - if you use Virtualbox on a Wintel host, you may have issues so beware!
UseOpenGL=false
Width=800
Height=600

# FramesPerDay: for a short and focused range with high level of detail, use maybe 144. Or use 25 when there is no prior knowledge of how the project unfolds and maybe "2" for a "quick run" with long projects that haven't been constrained to a specific time frame. The smaller this value is, the faster the render goes. Performance may be a consideration when outputting frames to file. In snapshot mode, I have successfully used 720p with 12 frames per day
FramesPerDay=25

# Save each frame to an image?
TakeSnapshots=false
# Where to save each frame
SnapshotLocation=frames/code_swarm-#####.png

# You have to add extension blocks depending on the languages and types of files involved in the project:
ColorAssign1="C",".*(\.c|\.cpp|\.h|\.mk)", 255,0,0, 255,0,0
ColorAssign2="Python",".*(\.py|\.pyx)", 65,105,225, 65,105,225
ColorAssign3="CSharp",".*(\.cs|\.csproj)", 255,255,0, 255,255,0
ColorAssign4="Other Source Code",".*(\.rb|\.erb|\.hs|\.sql|\.m|\.d|\.js|\.pl|\.sh|\.lhs|\.hi|\.hpp|\.cat|\.inf|\.sys|\.dll|\.as|\.cmake\.java)", 255,99,71, 255,99,71
ColorAssign5="Documents/Images",".*(\.txt|\.html|\.tex|\.tmpl|\.css|\.xml|\.yml|\.json|\.rdoc|\.md|\.png|\.jpg|\.gif|\.jpeg|README|COPYING|LICENSE|AUTHORS|\.asciidoc|HACKING)", 138,43,226, 138,43,226
ColorAssign6="Tests",".*test.*", 153,255,255, 153,255,255
ColorAssign7="Localizations","(.*(\.mo|\.po))|(.*\.lproj.*)",110,200,90, 110,200,90

DrawNamesHalos=false
ShowUserName=true
MaxThreads=2
#BoldFont=
Font=SansSerif
FontSize=9
BoldFontSize=10
FontColor=245,245,245
Background=0,0,0
DrawNamesSharp=true
DrawNamesFuzzy=false
DrawFilesFuzzy=true
DrawFilesJelly=true
DrawFilesSharp=false
ShowLegend=true
ShowHistory=true
ShowDate=true
ShowEdges=true
EdgeDecrement=-8
FileDecrement=-3
PersonDecrement=-2
NodeSpeed=7.0
#FileSpeed=5.0
#PersonSpeed=2.0
FileMass=2.0
PersonMass=9.0
EdgeLife=140
EdgeLength=12
FileLife=1000
PersonLife=750
HighlightPct=8
PhysicsEngineConfigDir=physics_engine
PhysicsEngineSelection=PhysicsEngineOrderly

В конечном итоге вы сможете сравнить эти настройки с исходным файлом sample.config и скорректировать параметры. Опечатки в этом файле фатальны для java.

Java

Очень важно правильно настроить этот параметр, так как он может стать настоящей остановкой работы. Когда выполняется сценарий run.sh, он проверяет, присутствует ли code_swarm.jar в dist, и если нет, то компилирует его с помощью ant. После компиляции он будет выполнен. К сожалению, скрипт ориентирован на выполнение на MacOSX. Чтобы исправить это, отредактируйте run.sh и поместите следующую строку, убедившись, что другие подобные строки закомментированы (#):

if java -d64 -Xmx1000m -classpath dist/code_swarm.jar:lib/gluegen-rt.jar:lib/jogl-all.jar:lib/jogl-natives-linux-amd64.jar:lib/core.jar:lib/xml.jar:lib/vecmath.jar:. -Djava.library.path=lib/ code_swarm $params; then

Вы должны соответствовать тому, что у вас есть в каталоге lib:

code_swarm-master/lib]$ ls -l
core.jar
export.txt
freebase
gluegen-rt-natives-linux-amd64.jar
gluegen-rt-natives-linux-i586.jar
gluegen-rt-natives-macosx-universal.jar
gluegen-rt-natives-windows-amd64.jar
gluegen-rt-natives-windows-i586.jar
gluegen-rt.jar
jogl-all-natives-linux-amd64.jar
jogl-all-natives-linux-i586.jar
jogl-all-natives-macosx-universal.jar
jogl-all-natives-windows-amd64.jar
jogl-all-natives-windows-i586.jar
jogl-all.jar
svnkit.jar
swing-layout-1.0.3.jar
vecmath.jar
xml.jar

Примечание opengl.jar больше не присутствует в отдельном виде и не требуется для работы этого скрипта (см. историю редактирования).


(Optional)

Features. Несколько изменений в файле code_swarm.java в src могут улучшить некоторые возможности. Например, в рендеринге есть функция под названием популярные узлы. При рендеринге codeswarm можно нажать "p", чтобы показать популярные узлы, т.е. файлы, которые редактируются чаще всего (касания). По умолчанию это отображается в правом верхнем углу рендера, но цветовая кодировка отображается в левом верхнем углу. Изменив поведение по умолчанию, можно сделать так, чтобы он появлялся автоматически (чтобы отключить его, нажмите "p"), а размещение его под цветовым отображением слева поможет сгруппировать информацию в одном месте. Для реализации этого найдите следующий блок кода и обновите значения соответствующим образом (3, 105; 10, 105) - это обновленная версия этого сегмента (результат показан в Q):

 /**
   * TODO This could be made to look a lot better.
   */
  public void drawPopular() {
    CopyOnWriteArrayList  al=new
CopyOnWriteArrayList();
    noStroke();
    textFont(font);
    textAlign(LEFT, TOP);
    fill(fontColor, 200);
    text("Popular Nodes (touches):", 3, 105);
    for (FileNode fn : nodes.values()) {
      if (fn.qualifies()) {
        // Insertion Sort
        if (al.size() > 0) {
          int j = 0;
          for (; j < al.size(); j++) {
            if (fn.compareTo(al.get(j)) <= 0) {
              continue;
            } else {
              break;
            }
          }
          al.add(j,fn);
        } else {
          al.add(fn);
        }
      }
    }

    int i = 1;
    ListIterator it = al.listIterator();
    while (it.hasNext()) {
      FileNode n = it.next();
      // Limit to the top 10.
      if (i <= 10) {
        text(n.name + "  (" + n.touches + ")", 10, 105 + (10 * i++));
      } else if (i > 10) {
        break;
      }
    }
  } 

В верхней части источника вы найдете:

boolean showPopular = true;

Добавление = true заставляет популярные узлы отображаться по умолчанию. Это компилируется только при первом запуске с ant во время выполнения run.sh (если только у вас нет проблем с java, и она не компилируется вообще). Поэтому, если вы измените исходный код, вы должны перекомпилировать его, если code_swarm.jar уже присутствует в каталоге dist. Если вы хотите запустить процесс заново (что занимает несколько секунд), просто удалите уже скомпилированную версию, измените исходный код, затем снова запустите run.sh для компиляции заново.


Запуск Codeswarm

Наконец, теперь, когда мы создали файл activity.xml, установили sample.config и модифицированный скрипт run.sh для нашей установки, мы можем запустить Codeswarm с помощью:

./run.sh

Используйте "пробел" для приостановки рендеринга и "q" для выхода.

Включение рендеринга OpenGL

Установите UseOpenGL=true в вашем sample.config файле.

0
23.03.2018, 09:30
1 ответ

Отредактируйте /etc/ssh/sshd_configдля создания этих настроек:

GSSAPIAuthentication no
GSSAPIKeyExchange no
GSSAPIStoreDelegatedCredentials no
LookupClientHostnames no
0
28.01.2020, 04:27

Теги

Похожие вопросы