

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 \*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/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 \* 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.<br />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`.<br />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 \*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.<br />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\* 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.<br />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`.<br />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`. | 