Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Zeit-Pivotvisualisierung ist eine interaktive Navigation über die Ereignisse, die auf der Zeitachse pivotieren.
Hinweis
- Diese Visualisierung kann nur im Kontext des Renderoperators verwendet werden.
- Diese Visualisierung kann in Kusto.Explorer verwendet werden, ist aber in der Azure Data Explorer-Webbenutzeroberfläche nicht verfügbar.
Syntax
T|rendertimepivot [with(propertyName=propertyValue [, ...]])
Erfahren Sie mehr über Syntaxkonventionen.
Parameter
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| T | string |
✔️ | Eingabetabellenname. |
| Eigenschaftsname, Eigenschaftswert | string |
Eine durch Trennzeichen getrennte Liste von Schlüsselwert-Eigenschaftspaaren. Siehe unterstützte Eigenschaften. |
Unterstützte Eigenschaften
Alle Eigenschaften sind optional.
| Eigenschaftsname | PropertyValue- |
|---|---|
series |
Durch Trennzeichen getrennte Liste von Spalten, deren kombinierte Werte pro Datensatz die Reihen definieren, zu denen der Datensatz gehört. |
Interaktives Display
Nachdem Sie den Zeitdrehpunkt gerendert haben, können Sie die Daten weiter untersuchen und mit ihnen interagieren, indem Sie Slice-Ebenen hinzufügen und einen Drilldown in bestimmte Zeitintervalle ausführen. Die Daten in der Tabelle werden interaktiv entsprechend den von Ihnen konfigurierten Slice-Optionen aktualisiert. Die verfügbaren Slice-Optionen sind:
- Ändern, Hinzufügen und Entfernen mehrerer Slice-Ebenen
- Erweitern Sie Zeilen, um Details zu jeder Ebene anzuzeigen
- Umschalten zur Anzeige nach Startzeit oder Endzeit
- Wählen Sie bestimmte Zeilen oder bestimmte Zeitintervalle aus, und zeigen Sie deren Daten in der Tabelle an.
Hinweis
- Zeitpivots verfügen über eine integrierte Unterstützung für das OpenTelemetry-Schema, einen plattformübergreifenden, offenen Standard zum Sammeln und Ausgeben von Telemetriedaten. Das standardisierte und strukturierte Format der OpenTelemetry-Daten ermöglicht eine effiziente Datenpivotierung und -analyse. Bei der Interaktion mit der ersten Ebene der Slice-Optionen werden die OpenTelemtry-Spannen und ihre geschachtelte Hierarchie in der Liste angezeigt.
Beispiele
Die Beispiele in diesem Abschnitt zeigen, wie Sie die Syntax verwenden, um Ihnen den Einstieg zu erleichtern.
Visualisieren Sie Hochwasserereignisse pro Bundesstaat
Diese Abfrage gibt eine Visualisierung von Überschwemmungsereignissen in den angegebenen Midwestern-Zuständen aus, die als Zeit-Pivotdiagramm angezeigt werden.
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)
Ausgabe-
Sie können weiter mit dem Zeitdrehpunkt interagieren, z. B.:
Wählen Sie eine neue Slice-Option aus, um die im Zeit-Pivot angezeigten Daten zu ändern. Die Daten in der Tabelle unter dem Zeitdrehpunkt werden aktualisiert, um die neuen Reihen widerzuspiegeln.
Fügen Sie Slice-Optionsebenen hinzu, um die Daten weiter zu untersuchen und mit ihnen zu interagieren. Erweitern Sie jede Zeile, um die hinzugefügten Ebenen anzuzeigen.
Um die für eine bestimmte Scheibe relevanten Daten anzuzeigen, markieren Sie eine oder mehrere Zeitscheiben in einer Zeile des Zeitpivots.
Hierarchische OpenTelemetry-Daten anzeigen und segmentieren
Die Optionen für OpenTelemetry-Datenscheiben spiegeln die geschachtelte Hierarchie wider.
In diesem Beispiel wird ein Zeitpivot entsprechend einer bestimmten TraceID in der Datentabelle gerendert. Die in diesem Beispiel gezeigte Abfrage enthält die ersten beiden Datenzeilen aus einer großen Tabelle.
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":"b61b8875-b9ec-4144-b866-df88b8c6c67c","k8s.pod.name":"opentelemetry-demo-frontend-59bccd8fdb-j9xxf","service.instance.id":"b61b8875-b9ec-4144-b866-df88b8c6c67c","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
Ausgabe-
Im Zeit-Pivot werden die Slice-Optionen automatisch auf SpanKind als Spalte gesetzt, um die pivotiert werden soll.
Sie können die Hierarchie der einzelnen Bereiche in derselben OpenTelemetry-Ablaufverfolgung anzeigen, indem Sie die Slice-Optionen in (SpanID) ändern. Die Hierarchie kann erweitert werden, um die Bereiche anzuzeigen, aus denen die gesamte Ablaufverfolgung besteht. Für jeden Bereich werden die Span-Art, der Span-Name und die Span-ID als Span-Header angezeigt.
Die Kopfzeile in der ersten Zeile lautet [SPAN_KIND_CLIENT/POST]: 3275d2b91035ce2e und wird erweitert, um die Hierarchie anzuzeigen.