Naslaginformatie over openTelemetry-tabellen voor Zerobus Ingest

Belangrijk

Deze functie bevindt zich in de bètaversie.

Deze pagina bevat naslaginformatie over de OTLP-tabelschema's (OpenTelemetry) en gegevenstoewijzing die worden gebruikt door Zerobus Ingest OTLP.

Tabelschema

Wanneer OTLP-gegevens binnenkomen, converteert Zerobus Ingest elke record van de geneste OTLP-resource/scope/recordhiërarchie naar een platte, gedenormaliseerde rij. Resourcekenmerken en informatie over instrumentatiebereik worden rechtstreeks in elke rij ingesloten, waardoor de gegevens onmiddellijk kunnen worden opgevraagd zonder joins.

Alle kenmerkvelden (attributes, resource.attributes, instrumentation_scope.attributesbody voor logboeken, metadata voor metrische gegevens) worden opgeslagen als VARIANT kolommen. VARIANT is een semi-gestructureerd type in Delta Lake waarin JSON-gegevens worden opgeslagen en de oorspronkelijke typen behouden blijven.

Elke record wordt uitgebreid met databricks-specifieke velden:

Veld Beschrijving bron
record_id Een door het systeem gegenereerde id voor unieke identificatie en op tijd geordende sortering. Gegenereerd op basis van tijd
time Tijdstempel in microseconden uit het Unix-epoch. Tijdstempel (in microseconden) afgeleid van start_time_unix_nano (spans) of time_unix_nano (logboeken, metrische gegevens)
date Datumpartitiekolom, voor efficiënt filteren op tijdsbereik. Afgeleid van time
service_name Kolom op het hoogste niveau voor efficiënt filteren op servicenaam, zoals gedefinieerd in de Semantische OTel-conventie. Uit resource.attributes["service.name"]

Schema-koppeling

Zerobus Ingest wijst OTLP-gegevens toe aan Delta-tabelkolommen, zoals hieronder wordt beschreven.

Denormalisatie

In het OTLP-protocol worden telemetriegegevens als zodanig genest.

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

Zerobus Ingest maakt deze hiërarchie plat, zodat elke rij de volledige context bevat:

  • resource: Een struct met de resourcekenmerken (als VARIANT) en dropped_attributes_count.
  • resource_schema_url: de schema-URL van de insluitende ResourceSpans, ResourceLogs of ResourceMetrics.
  • instrumentation_scope: een struct met de bereiknaam, versie, kenmerken (als VARIANT) en dropped_attributes_count.
  • span_schema_url / log_schema_url / metric_schema_url: de schema-URL van de scopespans, scopelogs of scopemetrics.

Id-codering

trace_id, span_iden parent_span_id worden opgeslagen als hex-gecodeerde tekenreeksen in kleine letters:

  • trace_id: hextekenreeks van 32 tekens (16 bytes)
  • span_id: hextekenreeks van 16 tekens (8 bytes)

Enum-codering

Enum-waarden (kind, status.code, aggregation_temporality, severity_number) worden opgeslagen als tekenreeksnamen zoals gedefinieerd in de OTLP-specificatie. Bijvoorbeeld: SPAN_KIND_SERVER, STATUS_CODE_OK, AGGREGATION_TEMPORALITY_DELTA.

Volgende stappen