Freigeben über


Time Pivot

Gilt für: ✅Microsoft Fabric

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-

Screenshot des Zeit-Pivots in Kusto.Explorer.

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.

    Screenshot der Optionen für Zeitpivot-Scheiben in Kusto.Explorer.

  • 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.

    Screenshot des Zeitdrehpunkts mit mehreren Ebenen, die in Kusto.Explorer erweitert wurden.

  • Um die für eine bestimmte Scheibe relevanten Daten anzuzeigen, markieren Sie eine oder mehrere Zeitscheiben in einer Zeile des Zeitpivots.

    Screenshot eines bestimmten Zeitintervalls in Kusto.Explorer.

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.

Screenshot des Zeitpivots, der mit einer OpenTelemetry-Datenquelle gerendert wurde.

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.

Screenshot des Zeitpivots, der mit den angezeigten Optionen für den Telemetrieslice gerendert wurde.

Die Kopfzeile in der ersten Zeile lautet [SPAN_KIND_CLIENT/POST]: 3275d2b91035ce2e und wird erweitert, um die Hierarchie anzuzeigen.

Screenshot des Zeitschwenks mit erweiterter Hierarchie.