Mengonversi objek API Event Telemetri Lambda ke Span OpenTelemetry - AWS Lambda

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengonversi objek API Event Telemetri Lambda ke Span OpenTelemetry

APISkema AWS Lambda Telemetri secara semantik kompatibel dengan (). OpenTelemetry OTel Ini berarti Anda dapat mengonversi API Event objek AWS Lambda Telemetri Anda ke OpenTelemetry (OTel) Rentang. Saat mengonversi, Anda tidak boleh memetakan satu Event objek ke satu OTel Span. Sebagai gantinya, Anda harus menyajikan ketiga peristiwa yang terkait dengan fase siklus hidup dalam satu OTel Span. Misalnya, startruntimeDone, dan runtimeReport peristiwa mewakili pemanggilan fungsi tunggal. Hadirkan ketiga acara ini sebagai OTel Span tunggal.

Anda dapat mengonversi acara menggunakan Span Events atau Child (nested) Span. Tabel pada halaman ini menjelaskan pemetaan antara properti API skema Telemetri dan properti OTel Span untuk kedua pendekatan. Untuk informasi selengkapnya tentang OTel Span, lihat Span di API halaman Penelusuran situs web OpenTelemetry Dokumen.

Peta ke OTel Bentang dengan Acara Span

Dalam tabel berikut, e mewakili peristiwa yang berasal dari sumber telemetri.

Memetakan acara *Mulai

OpenTelemetry Skema Telemetri Lambda API

Span.Name

Ekstensi Anda menghasilkan nilai ini berdasarkan type bidang.

Span.StartTime

Gunakan e.time.

Span.EndTime

N/A, karena acara belum selesai.

Span.Kind

Setel keServer.

Span.Status

Setel keUnset.

Span.TraceId

Parse AWS X-Ray header yang ditemukan die.tracing.value, lalu gunakan TraceId nilainya.

Span.ParentId

Parse header X-Ray yang ditemukan die.tracing.value, lalu gunakan Parent nilainya.

Span.SpanId

Gunakan e.tracing.spanId jika tersedia. Jika tidak, buat yang baruSpanId.

Span.SpanContext.TraceState

N/A untuk konteks jejak X-Ray.

Span.SpanContext.TraceFlags

Parse header X-Ray yang ditemukan die.tracing.value, lalu gunakan Sampled nilainya.

Span.Attributes

Ekstensi Anda dapat menambahkan nilai kustom apa pun di sini.

Memetakan acara* RuntimeDone

OpenTelemetry Skema Telemetri Lambda API

Span.Name

Ekstensi Anda menghasilkan nilai berdasarkan type bidang.

Span.StartTime

Gunakan e.time dari *Start acara yang cocok.

Alternatif lainnya, gunakan e.time - e.metrics.durationMs.

Span.EndTime

N/A, karena acara belum selesai.

Span.Kind

Setel keServer.

Span.Status

Jika e.status tidak samasuccess, maka atur keError.

Jika tidak, atur keOk.

Span.Events[]

Gunakan e.spans[].

Span.Events[i].Name

Gunakan e.spans[i].name.

Span.Events[i].Time

Gunakan e.spans[i].start.

Span.TraceId

Parse AWS X-Ray header yang ditemukan die.tracing.value, lalu gunakan TraceId nilainya.

Span.ParentId

Parse header X-Ray yang ditemukan die.tracing.value, lalu gunakan Parent nilainya.

Span.SpanId

Gunakan hal yang sama SpanId dari *Start acara tersebut. Jika tidak tersedia, maka gunakane.tracing.spanId, atau buat yang baruSpanId.

Span.SpanContext.TraceState

N/A untuk konteks jejak X-Ray.

Span.SpanContext.TraceFlags

Parse header X-Ray yang ditemukan die.tracing.value, lalu gunakan Sampled nilainya.

Span.Attributes

Ekstensi Anda dapat menambahkan nilai kustom apa pun di sini.

Memetakan *Laporkan peristiwa

OpenTelemetry Skema Telemetri Lambda API

Span.Name

Ekstensi Anda menghasilkan nilai berdasarkan type bidang.

Span.StartTime

Gunakan e.time dari *Start acara yang cocok.

Alternatif lainnya, gunakan e.time - e.metrics.durationMs.

Span.EndTime

Gunakan e.time.

Span.Kind

Setel keServer.

Span.Status

Gunakan nilai yang sama dengan *RuntimeDone acara.

Span.TraceId

Parse AWS X-Ray header yang ditemukan die.tracing.value, lalu gunakan TraceId nilainya.

Span.ParentId

Parse header X-Ray yang ditemukan die.tracing.value, lalu gunakan Parent nilainya.

Span.SpanId

Gunakan hal yang sama SpanId dari *Start acara tersebut. Jika tidak tersedia, maka gunakane.tracing.spanId, atau buat yang baruSpanId.

Span.SpanContext.TraceState

N/A untuk konteks jejak X-Ray.

Span.SpanContext.TraceFlags

Parse header X-Ray yang ditemukan die.tracing.value, lalu gunakan Sampled nilainya.

Span.Attributes

Ekstensi Anda dapat menambahkan nilai kustom apa pun di sini.

Peta ke OTel Bentang dengan Rentang Anak

Tabel berikut menjelaskan cara mengonversi API peristiwa Telemetri Lambda menjadi OTel Rentang dengan Rentang Anak (bersarang) untuk Rentang. *RuntimeDone Untuk *Start dan *Report pemetaan, lihat tabel diPeta ke OTel Bentang dengan Acara Span, karena sama untuk Child Spans. Dalam tabel ini, e mewakili peristiwa yang berasal dari sumber telemetri.

Memetakan acara* RuntimeDone

OpenTelemetry Skema Telemetri Lambda API

Span.Name

Ekstensi Anda menghasilkan nilai berdasarkan type bidang.

Span.StartTime

Gunakan e.time dari *Start acara yang cocok.

Alternatif lainnya, gunakan e.time - e.metrics.durationMs.

Span.EndTime

N/A, karena acara belum selesai.

Span.Kind

Setel keServer.

Span.Status

Jika e.status tidak samasuccess, maka atur keError.

Jika tidak, atur keOk.

Span.TraceId

Parse AWS X-Ray header yang ditemukan die.tracing.value, lalu gunakan TraceId nilainya.

Span.ParentId

Parse header X-Ray yang ditemukan die.tracing.value, lalu gunakan Parent nilainya.

Span.SpanId

Gunakan hal yang sama SpanId dari *Start acara tersebut. Jika tidak tersedia, maka gunakane.tracing.spanId, atau buat yang baruSpanId.

Span.SpanContext.TraceState

N/A untuk konteks jejak X-Ray.

Span.SpanContext.TraceFlags

Parse header X-Ray yang ditemukan die.tracing.value, lalu gunakan Sampled nilainya.

Span.Attributes

Ekstensi Anda dapat menambahkan nilai kustom apa pun di sini.

ChildSpan[i].Name

Gunakan e.spans[i].name.

ChildSpan[i].StartTime

Gunakan e.spans[i].start.

ChildSpan[i].EndTime

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

ChildSpan[i].Kind

Sama seperti orang tuaSpan.Kind.

ChildSpan[i].Status

Sama seperti orang tuaSpan.Status.

ChildSpan[i].TraceId

Sama seperti orang tuaSpan.TraceId.

ChildSpan[i].ParentId

Gunakan orang tuaSpan.SpanId.

ChildSpan[i].SpanId

Hasilkan yang baruSpanId.

ChildSpan[i].SpanContext.TraceState

N/A untuk konteks jejak X-Ray.

ChildSpan[i].SpanContext.TraceFlags

Sama seperti orang tuaSpan.SpanContext.TraceFlags.