Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Переключайте службы с помощью раскрывающегося списка Версия. Дополнительные сведения о навигации.
Область применения: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
Визуализация сводных данных времени — это интерактивная навигация по осью времени событий.
Примечание.
- Эта визуализация может использоваться только в контексте оператора отрисовки.
- Эту визуализацию можно использовать в Kusto. Обозреватель, но недоступен в веб-интерфейсе Azure Data Explorer.
Синтаксис
T|rendertimepivot [with( propertyName=propertyValue [, ...]])
Дополнительные сведения о соглашениях синтаксиса.
Параметры
| Имя (название) | Тип | Обязательно | Описание |
|---|---|---|---|
| T | string |
✔️ | Имя входной таблицы. |
| propertyName, propertyValue | string |
Разделенный запятыми список пар свойств "ключ-значение". См . поддерживаемые свойства. |
Поддерживаемые свойства
Все свойства являются необязательными.
| PropertyName (ИмяСвойства) | PropertyValue (Значение) |
|---|---|
series |
Разделенный запятыми список столбцов — его объединенные значения отдельных записей определяют ряд, к которому принадлежит запись. |
Интерактивный дисплей
После отрисовки точки привязки по времени можно продолжить исследование данных и взаимодействовать с ними, добавляя уровни среза и детализируя определенные временные срезы. Данные в таблице обновляются в интерактивном режиме в соответствии с настроенными параметрами среза. Доступны следующие варианты срезов:
- Изменение, добавление и удаление нескольких уровней срезов
- Разверните строки, чтобы просмотреть сведения о каждом уровне
- Переключиться на просмотр по времени начала или по времени окончания
- Выберите определенные строки или определенные временные срезы и просмотрите их данные в таблице.
Примечание.
- Временные сводки имеют встроенную поддержку схемы OpenTelemetry, кроссплатформенного открытого стандарта для сбора и передачи данных телеметрии. Стандартизированный и структурированный формат данных OpenTelemetry обеспечивает эффективную сводку и анализ данных. При взаимодействии с первым уровнем параметров среза диапазоны OpenTelemtry и их вложенная иерархия отображаются в списке.
Примеры
В примерах этого раздела показано, как использовать синтаксис для начала работы.
Визуализация событий flood для каждого штата
Этот запрос выводит визуализацию событий наводнения в указанных состояниях Midwestern, отображаемых в виде сводной диаграммы времени.
let midwesternStates = dynamic([
"ILLINOIS", "INDIANA", "IOWA", "KANSAS", "MICHIGAN", "MINNESOTA",
"MISSOURI", "NEBRASKA", "NORTH DAKOTA", "OHIO", "SOUTH DAKOTA", "WISCONSIN"
]);
StormEvents
| where EventType == "Flood" and State in (midwesternStates)
| render timepivot with (series=State)
выходных
Вы можете дополнительно взаимодействовать с временным циклом, например:
Выберите параметр нового среза, чтобы изменить данные, отображаемые в сводке по времени. Данные в таблице под временной привязкой обновляются в соответствии с новым рядом.
Добавьте уровни параметров среза для дальнейшего изучения и взаимодействия с данными. Разверните каждую строку, чтобы увидеть добавленные уровни.
Чтобы отобразить данные, относящиеся к определенному срезу, выберите один или несколько временных срезов в строке точки привязки по времени.
Просмотр и срез иерархических данных OpenTelemetry
Параметры среза данных OpenTelemetry отражают его вложенную иерархию.
В этом примере сводка по времени отображается в соответствии с определенным идентификатором TraceID в таблице данных. Запрос, показанный в этом примере, содержит первые две строки данных из большой таблицы.
datatable(TraceID:string, SpanID:string, ParentID:string, SpanName:string, SpanStatus:string, SpanKind:string, StartTime:datetime, EndTime:datetime, ResourceAttributes:dynamic, TraceAttributes:dynamic, Events:dynamic, Links:dynamic)
[
"c339bbae48eb8426f9a63c4eee55284c", "d1265cecd4c291ee", "", "POST", "STATUS_CODE_UNSET", "SPAN_KIND_CLIENT", datetime(2025-04-07T04:15:52.1657810Z), datetime(2025-04-07T04:16:01.6616919Z), dynamic({"k8s.namespace.name":"otel-demo","k8s.pod.start_time":"2025-04-06T00:19:47.0000000Z","k8s.deployment.name":"opentelemetry-demo-loadgenerator","k8s.node.name":"aks-userpool-31567306-vmss000003","service.name":"loadgenerator","service.version":"1.12.0","k8s.pod.uid":"d2fbaf5d-b5c2-4dac-af08-b92d56573899","k8s.pod.name":"opentelemetry-demo-loadgenerator-6994f5db8-lq4qs","service.instance.id":"d2fbaf5d-b5c2-4dac-af08-b92d56573899","service.namespace":"opentelemetry-demo","k8s.pod.ip":"10.244.0.57","telemetry.sdk.language":"python","telemetry.sdk.version":"1.25.0","telemetry.sdk.name":"opentelemetry"}), dynamic({"http.status_code":200,"http.url":"http://opentelemetry-demo-frontendproxy:8080/api/checkout","http.method":"POST","scope.name":"opentelemetry.instrumentation.requests","scope.version":"0.46b0"}), dynamic([]), dynamic([]),
"c339bbae48eb8426f9a63c4eee55284c", "651aa53d2f583eca", "d488b4a32f60794f", "POST /api/checkout", "STATUS_CODE_UNSET", "SPAN_KIND_SERVER", datetime(2025-04-07T04:15:52.1680000Z), datetime(2025-04-07T04:16:01.4667420Z), dynamic({"k8s.namespace.name":"otel-demo","k8s.pod.start_time":"2025-04-06T00:19:47.0000000Z","k8s.deployment.name":"opentelemetry-demo-frontend","k8s.node.name":"aks-userpool-31567306-vmss000003","service.name":"frontend","service.version":"1.12.0","k8s.pod.uid":"aaaabbbb-0000-cccc-1111-dddd2222eeee","k8s.pod.name":"opentelemetry-demo-frontend-59bccd8fdb-j9xxf","service.instance.id":"aaaabbbb-0000-cccc-1111-dddd2222eeee","service.namespace":"opentelemetry-demo","k8s.pod.ip":"10.244.0.45","process.command_args":["/usr/local/bin/node","--require","./Instrumentation.js","/app/server.js"],"os.type":"linux","telemetry.sdk.language":"nodejs","telemetry.sdk.version":"1.25.1","process.pid":16,"telemetry.sdk.name":"opentelemetry","process.runtime.name":"nodejs","process.runtime.description":"Node.js","process.runtime.version":"20.18.0","host.name":"opentelemetry-demo-frontend-59bccd8fdb-j9xxf","host.arch":"amd64","process.executable.path":"/usr/local/bin/node","container.id":"d1763eedd13fa94f9581d9099ab481e112a8fdf95b6da831b9f01a4b8490fe60","os.version":"5.15.176.3-3.cm2","process.owner":"nextjs","process.command":"/app/server.js","process.executable.name":"node"}), dynamic({"http.status_code":200,"http.method":"POST","scope.name":"next.js","scope.version":"0.0.1","http.target":"/api/checkout","next.span_type":"BaseServer.handleRequest","next.span_name":"POST /api/checkout","next.rsc":false}), dynamic([]), dynamic([]),
...
]
| where TraceID == '081a007d3b7deaf32ca43a554c5058bd'
| render timepivot
выходных
В сводке по времени для параметров среза автоматически устанавливается значение SpanKind в качестве столбца для сводки.
Вы можете отобразить иерархию отдельных диапазонов в одной и той же трассировке OpenTelemetry, изменив параметры среза на (SpanID). Иерархия может быть развернута для отображения диапазонов, составляющих всю трассировку. Для каждого диапазона вы можете увидеть тип диапазона, имя диапазона и идентификатор диапазона в качестве заголовка диапазона.
Заголовок в первой строке — [SPAN_KIND_CLIENT/POST]: 3275d2b91035ce2e и развернут для отображения иерархии.