View a markdown version of this page

Mengonversi objek Per istiwa API Telemetri Lambda ke Spans 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 Per istiwa API Telemetri Lambda ke Spans OpenTelemetry

Skema API AWS Lambda Telemetri secara semantik kompatibel dengan OpenTelemetry (oTel). Ini berarti Anda dapat mengonversi Event objek API AWS Lambda Telemetri Anda menjadi OpenTelemetry (oTel) Spans. 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, runtimeReport peristiwastart,runtimeDone, dan mewakili pemanggilan fungsi tunggal. Sajikan ketiga acara ini sebagai satu oTel Span.

Anda dapat mengonversi acara menggunakan Span Events atau Child (nested) Spans. Tabel di halaman ini menjelaskan pemetaan antara properti skema API Telemetri dan properti oTel Span untuk kedua pendekatan. Untuk informasi selengkapnya tentang Otel Spans, lihat Span di halaman Tracing API di situs OpenTelemetry Docs.

Peta Rentang Otel dengan Acara Span

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

Memetakan acara *Start

OpenTelemetry Skema API Telemetri Lambda

Span.Name

Ekstensi Anda menghasilkan nilai ini berdasarkan type bidang.

Span.StartTime

Gunakan e.time.

Span.EndTime

N/AKarena acara tersebut belum selesai.

Span.Kind

Setel keServer.

Span.Status

Setel keUnset.

Span.TraceId

Parsis AWS X-Ray header yang ditemukan die.tracing.value, lalu gunakan nil TraceId ainya.

Span.ParentId

Parsis X-Ray header yang ditemukan die.tracing.value, lalu gunakan nil Parent ainya.

Span.SpanId

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

Span.SpanContext.TraceState

N/A untuk konteks X-Ray jejak.

Span.SpanContext.TraceFlags

Parsis X-Ray header yang ditemukan die.tracing.value, lalu gunakan nil Sampled ainya.

Span.Attributes

Ekstensi Anda dapat menambahkan nilai kustom apa pun di sini.

Memetakan * RuntimeDone peristiwa

OpenTelemetry Skema API Telemetri Lambda

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/AKarena acara tersebut belum selesai.

Span.Kind

Setel keServer.

Span.Status

Jika e.status tidak samasuccess, maka setel 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

Parsis AWS X-Ray header yang ditemukan die.tracing.value, lalu gunakan nil TraceId ainya.

Span.ParentId

Parsis X-Ray header yang ditemukan die.tracing.value, lalu gunakan nil Parent ainya.

Span.SpanId

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

Span.SpanContext.TraceState

N/A untuk konteks X-Ray jejak.

Span.SpanContext.TraceFlags

Parsis X-Ray header yang ditemukan die.tracing.value, lalu gunakan nil Sampled ainya.

Span.Attributes

Ekstensi Anda dapat menambahkan nilai kustom apa pun di sini.

Memetakan peristiwa *Laporkan

OpenTelemetry Skema API Telemetri Lambda

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

Parsis AWS X-Ray header yang ditemukan die.tracing.value, lalu gunakan nil TraceId ainya.

Span.ParentId

Parsis X-Ray header yang ditemukan die.tracing.value, lalu gunakan nil Parent ainya.

Span.SpanId

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

Span.SpanContext.TraceState

N/A untuk konteks X-Ray jejak.

Span.SpanContext.TraceFlags

Parsis X-Ray header yang ditemukan die.tracing.value, lalu gunakan nil Sampled ainya.

Span.Attributes

Ekstensi Anda dapat menambahkan nilai kustom apa pun di sini.

Peta Rentang Otel dengan Rentang Anak

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

Memetakan * RuntimeDone peristiwa

OpenTelemetry Skema API Telemetri Lambda

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/AKarena acara tersebut belum selesai.

Span.Kind

Setel keServer.

Span.Status

Jika e.status tidak samasuccess, maka setel keError.

Jika tidak, atur keOk.

Span.TraceId

Parsis AWS X-Ray header yang ditemukan die.tracing.value, lalu gunakan nil TraceId ainya.

Span.ParentId

Parsis X-Ray header yang ditemukan die.tracing.value, lalu gunakan nil Parent ainya.

Span.SpanId

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

Span.SpanContext.TraceState

N/A untuk konteks X-Ray jejak.

Span.SpanContext.TraceFlags

Parsis X-Ray header yang ditemukan die.tracing.value, lalu gunakan nil Sampled ainya.

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 orangtuaSpan.Kind.

ChildSpan[i].Status

Sama seperti orangtuaSpan.Status.

ChildSpan[i].TraceId

Sama seperti orangtuaSpan.TraceId.

ChildSpan[i].ParentId

Gunakan orang tuaSpan.SpanId.

ChildSpan[i].SpanId

Hasilkan yang baruSpanId.

ChildSpan[i].SpanContext.TraceState

N/A untuk konteks X-Ray jejak.

ChildSpan[i].SpanContext.TraceFlags

Sama seperti orangtuaSpan.SpanContext.TraceFlags.