2014-02-05 6 views
0

Я пытаюсь извлечь данные, отображаемые в представлении «Threads» вашего продукта (в потоковом состоянии, в первую очередь, когда каждый поток «ожидает» или «работает»). Я использовал утилиту экспорта командной строки для создания всех форматов для всех видов, которые он поддерживает.YourKit Экспорт CSV-данных Форматы

Содержимым в каталоге экспорта является файл «Таблица - жизненный цикл темы - имя-история.csv». Вероятно, это скорее всего будет содержать требуемую информацию, но я не могу найти документацию по столбцам в файле.

Для справки, столбцы:

ID uptime_ns thread thread_name frame top_method top_non_filtered_method Thread_Life_Cycle_id Name 

Образец данных для одного потока может быть:

94 11879264791 57 Executor task launch worker-0 39131 java.lang.Thread.<init>(ThreadGroup, Runnable, String) scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(Object) 52 Keep-Alive-Timer 
95 11899612660 57 Executor task launch worker-0 39191 java.lang.Thread.<init>() scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(Object)  53 Thread-34 
96 11918630377 57 Executor task launch worker-0 39191 java.lang.Thread.<init>() scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(Object) 54 Thread-35 
97 11942061861 57 Executor task launch worker-0 39191 java.lang.Thread.<init>() scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(Object) 55 Thread-36 
98 11957367215 57 Executor task launch worker-0 39191 java.lang.Thread.<init>() scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(Object) 56 Thread-37 
99 11971295215 57 Executor task launch worker-0 39191 java.lang.Thread.<init>() scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(Object) 57 Thread-38 

Есть много других файлов в экспортном свалке, но это представляется наиболее перспективным. Должен ли я искать в другом месте? Может ли кто-нибудь пролить свет на форматы, используемые в экспортированном CSV YJP?

ответ

1

Экспорт состояний потоков (ожидание, блокировка, запуск и т. Д.) Пока не поддерживается в профилировщике YourKit. Это запланированная функция.

Таблица - Цикл жизненного цикла - Name-History.csv - это экспорт зонда «Жизненный цикл резьбы». Он содержит историю изменений имени потока.

0

В случае, если кто-нибудь столкнется с этим вопросом, я решил, что лучше всего использовать обходной путь, который я использовал в конце (по крайней мере, до тех пор, пока YJP не добавит эту функцию).

The Gist at https://gist.github.com/anonymous/9970128 содержит быстрое и грязное решение OCR для извлечения состояния потока как простого запуска/не запуска из скриншота YJP. Константы могут нуждаться в некоторой настройке, но это может оказаться полезным для какой-то бедной души в подобной ситуации!

Смежные вопросы