View a markdown version of this page

Conversione degli oggetti evento dell'API di telemetria Lambda in intervalli OpenTelemetry - AWS Lambda

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Conversione degli oggetti evento dell'API di telemetria Lambda in intervalli OpenTelemetry

Lo schema dell'API di AWS Lambda telemetria è semanticamente compatibile con (Otel). OpenTelemetry Ciò significa che puoi convertire gli oggetti dell'API di AWS Lambda telemetria in intervalli (Otel). Event OpenTelemetry Durante la conversione, non dovresti mappare un singolo oggetto Event a un singolo intervallo OTel.

Dovreste invece presentare tutti e tre gli eventi relativi a una fase del ciclo di vita in un singolo intervallo OTel. Ad esempio, gli eventi start, runtimeDone e runtimeReportrappresentano una singola chiamata di funzione. Presenta tutti e tre questi eventi come un unico intervallo OTel.

Puoi convertire i tuoi eventi usando Span Events o Child Spans (nidificati). Le tabelle di questa pagina descrivono le mappature tra le proprietà dello schema dell'API di telemetria e le proprietà dell'intervallo OTel per entrambi gli approcci. Per ulteriori informazioni su Otel Spans, vedi Span nella pagina Tracing API del sito Web Docs. OpenTelemetry

Mappa a intervalli OTel con eventi di intervallo

Nelle seguenti tabelle, e rappresenta l'evento proveniente dall'origine di telemetria.

Mappatura degli eventi *Start

OpenTelemetry Schema dell'API di telemetria Lambda

Span.Name

La tua estensione genera questo valore in base al campo type.

Span.StartTime

Utilizza e.time.

Span.EndTime

N/A, perché l'evento non è ancora completato.

Span.Kind

Imposta su Server.

Span.Status

Imposta su Unset.

Span.TraceId

Analizza l' AWS X-Ray intestazione trovata ine.tracing.value, quindi usa il TraceId valore.

Span.ParentId

Analizza l' X-Ray intestazione trovata ine.tracing.value, quindi usa il valore. Parent

Span.SpanId

Usa e.tracing.spanId se disponibile. Altrimenti, genera un nuovo SpanId.

Span.SpanContext.TraceState

N/A per un contesto di X-Ray tracciamento.

Span.SpanContext.TraceFlags

Analizza l' X-Ray intestazione trovata ine.tracing.value, quindi usa il Sampled valore.

Span.Attributes

La tua estensione può aggiungere qualsiasi valore personalizzato qui.

Mappatura degli eventi * RuntimeDone

OpenTelemetry Schema dell'API di telemetria Lambda

Span.Name

L'estensione genera il valore in base al campo type.

Span.StartTime

Usa e.time dall'evento *Start corrispondente.

In alternativa, utilizzare e.time - e.metrics.durationMs.

Span.EndTime

N/A, perché l'evento non è ancora completato.

Span.Kind

Imposta su Server.

Span.Status

Se e.status non è uguale a success, imposta su Error.

In caso contrario, imposta il valore su Ok.

Span.Events[]

Utilizza e.spans[].

Span.Events[i].Name

Utilizza e.spans[i].name.

Span.Events[i].Time

Utilizza e.spans[i].start.

Span.TraceId

Analizza l' AWS X-Ray intestazione trovata ine.tracing.value, quindi usa il TraceId valore.

Span.ParentId

Analizza l' X-Ray intestazione trovata ine.tracing.value, quindi usa il valore. Parent

Span.SpanId

Usa lo stesso SpanId dell'evento *Start. Se non disponibile, usa e.tracing.spanId o genera un nuovo SpanId.

Span.SpanContext.TraceState

N/A per un contesto di X-Ray tracciamento.

Span.SpanContext.TraceFlags

Analizza l' X-Ray intestazione trovata ine.tracing.value, quindi usa il Sampled valore.

Span.Attributes

La tua estensione può aggiungere qualsiasi valore personalizzato qui.

Mappatura degli eventi *Report

OpenTelemetry Schema dell'API di telemetria Lambda

Span.Name

L'estensione genera il valore in base al campo type.

Span.StartTime

Usa e.time dall'evento *Start corrispondente.

In alternativa, utilizzare e.time - e.metrics.durationMs.

Span.EndTime

Utilizza e.time.

Span.Kind

Imposta su Server.

Span.Status

Usa lo stesso valore dell'evento *RuntimeDone.

Span.TraceId

Analizza l' AWS X-Ray intestazione trovata ine.tracing.value, quindi usa il valore. TraceId

Span.ParentId

Analizza l' X-Ray intestazione trovata ine.tracing.value, quindi usa il valore. Parent

Span.SpanId

Usa lo stesso SpanId dell'evento *Start. Se non disponibile, usa e.tracing.spanId o genera un nuovo SpanId.

Span.SpanContext.TraceState

N/A per un contesto di X-Ray tracciamento.

Span.SpanContext.TraceFlags

Analizza l' X-Ray intestazione trovata ine.tracing.value, quindi usa il Sampled valore.

Span.Attributes

La tua estensione può aggiungere qualsiasi valore personalizzato qui.

Mappa a intervalli OTel con intervalli secondari

La tabella seguente descrive come convertire gli eventi dell'API di telemetria Lambda in intervalli OTel con intervalli secondari (annidati) per gli intervalli *RuntimeDone. Per le mappature *Start e *Report, fai riferimento alle tabelle in Mappa a intervalli OTel con eventi di intervallo, poiché sono le stesse per gli intervalli secondari. In questa tabella, e rappresenta l'evento proveniente dall'origine di telemetria.

Mappatura degli eventi * RuntimeDone

OpenTelemetry Schema dell'API di telemetria Lambda

Span.Name

L'estensione genera il valore in base al campo type.

Span.StartTime

Usa e.time dall'evento *Start corrispondente.

In alternativa, utilizzare e.time - e.metrics.durationMs.

Span.EndTime

N/A, perché l'evento non è ancora completato.

Span.Kind

Imposta su Server.

Span.Status

Se e.status non è uguale a success, imposta su Error.

In caso contrario, imposta il valore su Ok.

Span.TraceId

Analizza l' AWS X-Ray intestazione trovata ine.tracing.value, quindi usa il TraceId valore.

Span.ParentId

Analizza l' X-Ray intestazione trovata ine.tracing.value, quindi usa il valore. Parent

Span.SpanId

Usa lo stesso SpanId dell'evento *Start. Se non disponibile, usa e.tracing.spanId o genera un nuovo SpanId.

Span.SpanContext.TraceState

N/A per un contesto di X-Ray tracciamento.

Span.SpanContext.TraceFlags

Analizza l' X-Ray intestazione trovata ine.tracing.value, quindi usa il Sampled valore.

Span.Attributes

La tua estensione può aggiungere qualsiasi valore personalizzato qui.

ChildSpan[i].Name

Utilizza e.spans[i].name.

ChildSpan[i].StartTime

Utilizza e.spans[i].start.

ChildSpan[i].EndTime

Utilizza e.spans[i].start + e.spans[i].durations.

ChildSpan[i].Kind

Uguale all'elemento padre Span.Kind.

ChildSpan[i].Status

Uguale all'elemento padre Span.Status.

ChildSpan[i].TraceId

Uguale all'elemento padre Span.TraceId.

ChildSpan[i].ParentId

Usa elemento padre Span.SpanId.

ChildSpan[i].SpanId

Genera un nuovo SpanId.

ChildSpan[i].SpanContext.TraceState

N/A per un contesto di X-Ray tracciamento.

ChildSpan[i].SpanContext.TraceFlags

Uguale all'elemento padre Span.SpanContext.TraceFlags.