Freigeben über


OpenTelemetry-Tabellenreferenz für Zerobus Ingest

Von Bedeutung

Dieses Feature befindet sich in der Betaversion.

Diese Seite enthält Referenzinformationen für die OpenTelemetry-Tabellenschemas (OTLP) und die Datenzuordnung, die von Zerobus Ingest OTLP verwendet wird.

Tabellenschema

Wenn OTLP-Daten eingehen, konvertiert Zerobus Ingest jeden Datensatz aus der geschachtelten OTLP-Ressourcen-/Bereichs-/Datensatzhierarchie in eine flache, denormalisierte Zeile. Ressourcenattribute und Informationen zum Bereichsbereich werden direkt in jede Zeile eingebettet, sodass die Daten sofort ohne Verknüpfungen abfragt werden können.

Alle Attributfelder (attributes, resource.attributes, instrumentation_scope.attributesbody für Protokolle, metadata für Metriken) werden als VARIANT Spalten gespeichert. VARIANT ist ein halbstrukturierter Typ in Delta Lake, der JSON-Daten speichert und dabei die ursprünglichen Typen bewahrt.

Jeder Datensatz wird mit Datenbricks-spezifischen Feldern erweitert:

Feld Beschreibung Quelle
record_id Eine vom System generierte ID für eindeutige Identifikation und zeitgeordnete Sortierung. Generiert basierend auf der Zeit
time Zeitstempel in Mikrosekunden aus der Unix-Epoche. Zeitstempel (in Mikrosekunden) abgeleitet von start_time_unix_nano (Spans) oder time_unix_nano (Protokolle, Metriken)
date Datumspartitionsspalte zur effizienten Filterung des Zeitbereichs. Abgeleitet von time
service_name Spalte auf oberster Ebene zur effizienten Filterung nach Dienstnamen, wie in der OTel-Semantikkonvention definiert. Extrahiert aus resource.attributes["service.name"]

Schemazuordnung

Zerobus Ingest ordnet OTLP-Daten den Delta-Tabellenspalten zu, wie unten beschrieben.

Denormalisierung

Im OTLP-Protokoll werden Telemetriedaten wie folgt geschachtelt.

ResourceSpans (or ResourceLogs, ResourceMetrics)
  └── Resource (attributes, schema_url)
       └── ScopeSpans (or ScopeLogs, ScopeMetrics)
            └── InstrumentationScope (name, version, attributes)
                 └── Span (or LogRecord, Metric)

Zerobus Ingest vereinfacht diese Hierarchie, sodass jede Zeile den vollständigen Kontext enthält:

  • resource: Eine Struktur mit den Ressourcenattributen (as VARIANT) und dropped_attributes_count.
  • resource_schema_url: Die Schema-URL aus den eingeschlossenen ResourceSpans, ResourceLogs oder ResourceMetrics.
  • instrumentation_scope: Eine Struktur, die den Bereichsnamen, die Version, attribute (as VARIANT) und dropped_attributes_count.
  • span_schema_url / log_schema_url / metric_schema_url: Die Schema-URL aus den eingeschlossenen ScopeSpans, ScopeLogs oder ScopeMetrics.

ID-Codierung

trace_id, span_idund parent_span_id werden als hexadekodierte Zeichenfolgen in Kleinbuchstaben gespeichert:

  • trace_id: 32-stellige Hexzeichenfolge (16 Bytes)
  • span_id: 16-stellige Hexadexzeichenfolge (8 Bytes)

Enumerationscodierung

Enumerationswerte (kind, status.code, aggregation_temporality, severity_number) werden als ihre Zeichenfolgennamen gespeichert, wie in der OTLP-Spezifikation definiert. Beispiel: SPAN_KIND_SERVER, , STATUS_CODE_OKAGGREGATION_TEMPORALITY_DELTA.

Nächste Schritte