Что не так с моим анализом трассировки компаса?
Я сгенерировал поток событий с помощью lttng-ust, используя файл заголовка, содержащий следующее объявление события:
TRACEPOINT_EVENT(
random_chart,
point,
TP_ARGS(
int, value_arg
),
TP_FIELDS(
ctf_integer( int, value, value_arg )
))
После успешного открытия его в TraceCompass я попытался написать анализ с помощью XYChart, показывая этот поток создания ценности в виде простого графика. Мой XML-файл содержит следующее:
<?xml version="1.0" encoding="UTF-8"?>
<!-- The state provider assigns states from events -->
<stateProvider id="org.eclipse.linuxtools.ust.random_chart" version="1">
<head>
<traceType id="org.eclipse.linuxtools.lttng2.ust.tracetype" />
<label value="Value chart analysis" />
</head>
<!-- Event handlers -->
<eventHandler eventName="random_chart:point">
<stateChange>
<stateAttribute type="constant" value="Dummy" />
<stateAttribute type="constant" value="Value" />
<stateValue type="eventField" value="value" />
</stateChange>
</eventHandler>
</stateProvider>
<!-- This is the definition of the XY chart view -->
<xyView id="my.test.xy.chart.view">
<head>
<analysis id="org.eclipse.linuxtools.ust.random_chart" />
</head>
<entry path="Dummy/Value">
<display type="constant" value="Value" />
<name type="self" />
</entry>
</xyView>
Я не вижу, что с ним не так (даже после прочтения всех связанных файлов xml-схемы в git-репозитории).
Я могу импортировать это успешно, но после нажатия на "XML XY Chart View" я вижу пустой график и одно (последнее в потоке событий) значение под "тип фильтра текста".
AFAIK 'State System Explorer' показывает мне правильное 'Value at timestamp', соответствующее 'Full path path', равному 'Dummy/Value'. Вероятно, я что-то упустил.
EDIT1: я пытался исправить, но все еще не повезло:
<entry path="Dummy"> <display type="constant" value="Value" /> <name type="self" /> </entry>
EDIT2: та же проблема с:
<entry path="Dummy/Value">
<display type="self" />
<name type="self" />
</entry>
1 ответ
У вас есть 2 возможности решить проблему, учитывая, что у вас есть только один атрибут с данными:
1- Изменить <entry path="Dummy/Value">
в <entry path="Dummy">
и оставайся в покое
или же
2- Оставьте запись и измените элемент дисплея на <display type="self" />
Отображение типа константы означает, что он пытается прочитать атрибут этого имени по основному пути, поэтому здесь он пытался прочитать "Пустышка / Значение / Значение", которого не существует.
РЕДАКТИРОВАТЬ: Вот рабочий пример части представления для вашего анализа:
<xyView id="my.test.xy.chart.view">
<head>
<analysis id="org.eclipse.linuxtools.ust.random_chart" />
<label value="Random view" />
</head>
<entry path="Dummy">
<display type="constant" value="Value" />
<name type="self" />
</entry>
</xyView>