

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 dell'API di `Event` telemetria Lambda in Spans OpenTelemetry
<a name="telemetry-otel-spans"></a>

Lo schema dell'API di AWS Lambda telemetria è semanticamente compatibile con (). OpenTelemetry OTel Ciò significa che puoi convertire gli oggetti dell'API di AWS Lambda telemetria in () Spans. `Event` OpenTelemetry OTel Durante la conversione, non dovreste mappare un singolo `Event` oggetto su un singolo Span. OTel Dovreste invece presentare tutti e tre gli eventi relativi a una fase del ciclo di vita in un unico Span. OTel Ad esempio, gli eventi `start`, `runtimeDone` e `runtimeReport`rappresentano una singola chiamata di funzione. Presentate tutti e tre questi eventi come un unico Span. OTel 

Puoi convertire i tuoi eventi usando Span Events o Child Spans (nidificati). Le tabelle in questa pagina descrivono le mappature tra le proprietà dello schema dell'API di telemetria e OTel le proprietà Span per entrambi gli approcci. **Per ulteriori informazioni su OTel Spans, consulta [Span nella pagina Tracing API del sito Web](https://opentelemetry.io/docs/reference/specification/trace/api/#span) Docs.** OpenTelemetry 

**Topics**
+ [Mappa su Spans with Span OTel Events](#telemetry-otel-span-events)
+ [Mappa su OTel Spans with Child Spans](#telemetry-otel-child-spans)

## Mappa su Spans with Span OTel Events
<a name="telemetry-otel-span-events"></a>

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

**Mappatura degli eventi \$1Start**


| 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/D, perché l'evento non è ancora stato completato.  | 
|  `Span.Kind`  |  Imposta su `Server`.  | 
|  `Span.Status`  |  Imposta su `Unset`.  | 
|  `Span.TraceId`  |  Analizza l' AWS X-Ray intestazione trovata in`e.tracing.value`, quindi usa il valore. `TraceId`  | 
|  `Span.ParentId`  |  Analizza l'intestazione X-Ray trovata in `e.tracing.value`, quindi usa il valore `Parent`.  | 
|  `Span.SpanId`  |  Usa `e.tracing.spanId` se disponibile. Altrimenti, genera un nuovo `SpanId`.  | 
|  `Span.SpanContext.TraceState`  |  N/D per un contesto di traccia X-Ray.  | 
|  `Span.SpanContext.TraceFlags`  |  Analizza l'intestazione X-Ray trovata in `e.tracing.value`, quindi usa il valore `Sampled`.  | 
|  `Span.Attributes`  |  La tua estensione può aggiungere qualsiasi valore personalizzato qui.  | 

**Mappatura degli eventi \$1 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/D, perché l'evento non è ancora stato 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 in`e.tracing.value`, quindi usa il valore. `TraceId`  | 
|  `Span.ParentId`  |  Analizza l'intestazione X-Ray trovata in `e.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/D per un contesto di traccia X-Ray.  | 
|  `Span.SpanContext.TraceFlags`  |  Analizza l'intestazione X-Ray trovata in `e.tracing.value`, quindi usa il valore `Sampled`.  | 
|  `Span.Attributes`  |  La tua estensione può aggiungere qualsiasi valore personalizzato qui.  | 

**Mappatura degli eventi \$1Report**


| 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 in`e.tracing.value`, quindi usa il valore. `TraceId`  | 
|  `Span.ParentId`  |  Analizza l'intestazione X-Ray trovata in `e.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/D per un contesto di traccia X-Ray.  | 
|  `Span.SpanContext.TraceFlags`  |  Analizza l'intestazione X-Ray trovata in `e.tracing.value`, quindi usa il valore `Sampled`.  | 
|  `Span.Attributes`  |  La tua estensione può aggiungere qualsiasi valore personalizzato qui.  | 

## Mappa su OTel Spans with Child Spans
<a name="telemetry-otel-child-spans"></a>

La tabella seguente descrive come convertire gli eventi dell'API Lambda Telemetry in OTel Spans with Child (nested) Spans for Spans. `*RuntimeDone` Per le mappature `*Start` e `*Report`, fai riferimento alle tabelle in [Mappa su Spans with Span OTel Events](#telemetry-otel-span-events), poiché sono le stesse per gli intervalli secondari. In questa tabella, `e` rappresenta l'evento proveniente dall'origine di telemetria.

**Mappatura degli eventi\$1 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/D, perché l'evento non è ancora stato 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 in`e.tracing.value`, quindi usa il valore. `TraceId`  | 
|  `Span.ParentId`  |  Analizza l'intestazione X-Ray trovata in `e.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/D per un contesto di traccia X-Ray.  | 
|  `Span.SpanContext.TraceFlags`  |  Analizza l'intestazione X-Ray trovata in `e.tracing.value`, quindi usa il valore `Sampled`.  | 
|  `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/D per un contesto di traccia X-Ray.  | 
|  `ChildSpan[i].SpanContext.TraceFlags`  |  Uguale all'elemento padre `Span.SpanContext.TraceFlags`.  | 