Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Referensi skema peristiwa API Telemetri Lambda
Gunakan titik akhir API Telemetri Lambda untuk berlangganan ekstensi ke aliran telemetri. Anda dapat mengambil titik akhir API Telemetri dari variabel AWS_LAMBDA_RUNTIME_API lingkungan. Untuk mengirim permintaan API, tambahkan versi API (2022-07-01/) dantelemetry/. Contoh:
http://${AWS_LAMBDA_RUNTIME_API}/2022-07-01/telemetry/
Untuk definisi OpenAPI Specification (OAS) dari versi respons langganan2025-01-29, lihat berikut ini:
-
TCP — telemetry-api-tcp-schema.zip samples/events_tcp_schema_v2025_01_29.zip
Tabel berikut adalah ringkasan dari semua jenis Event objek yang didukung Telemetri API.
| Kategori | Tipe peristiwa | Deskripsi | Skema catatan acara |
|---|---|---|---|
|
Acara platform |
|
Inisialisasi fungsi dimulai. |
Platform.initStartskema |
|
Acara platform |
|
Inisialisasi fungsi selesai. |
|
|
Acara platform |
|
Laporan inisialisasi fungsi. |
Platform.InitReportskema |
|
Acara platform |
|
Pemanggilan fungsi dimulai. |
platform.startskema |
|
Acara platform |
|
Runtime selesai memproses acara dengan sukses atau gagal. |
platform.runtimeDoneskema |
|
Acara platform |
|
Laporan pemanggilan fungsi. |
platform.reportskema |
|
Acara platform |
|
Pemulihan runtime dimulai. |
|
|
Acara platform |
|
Pemulihan runtime selesai. |
|
|
Acara platform |
|
Laporan pemulihan runtime. |
|
|
Acara platform |
|
Ekstensi berlangganan Telemetri API. |
|
|
Acara platform |
|
Lambda menjatuhkan entri log. |
Platform.LogsDitutupskema |
|
Log fungsi |
|
Baris log dari kode fungsi. |
Fungsiskema |
|
Log ekstensi: |
|
Baris log dari kode ekstensi. |
luasskema |
Daftar Isi
Telemetri API Jenis objek peristiwa
Bagian ini merinci jenis Event objek yang didukung Lambda Telemetry API. Dalam deskripsi acara, tanda tanya (?) menunjukkan bahwa atribut mungkin tidak ada dalam objek.
Platform.initStart
Per platform.initStart istiwa menunjukkan bahwa fase inisialisasi fungsi telah dimulai. Sebuah platform.initStart Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = platform.initStart - record: PlatformInitStart
Ob PlatformInitStart jek memiliki atribut berikut:
Berikut ini adalah contoh Event tipeplatform.initStart:
{ "time": "2022-10-12T00:00:15.064Z", "type": "platform.initStart", "record": { "initializationType": "on-demand", "phase": "init", "runtimeVersion": "nodejs-14.v3", "runtimeVersionArn": "arn", "functionName": "myFunction", "functionVersion": "$LATEST", "instanceId": "82561ce0-53dd-47d1-90e0-c8f5e063e62e", "instanceMaxMemory": 256 } }
platform.init RuntimeDone
Per platform.initRuntimeDone istiwa menunjukkan bahwa fase inisialisasi fungsi telah selesai. Sebuah platform.initRuntimeDone Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = platform.initRuntimeDone - record: PlatformInitRuntimeDone
Ob PlatformInitRuntimeDone jek memiliki atribut berikut:
Berikut ini adalah contoh Event tipeplatform.initRuntimeDone:
{ "time": "2022-10-12T00:01:15.000Z", "type": "platform.initRuntimeDone", "record": { "initializationType": "on-demand" "status": "success", "spans": [ { "name": "someTimeSpan", "start": "2022-06-02T12:02:33.913Z", "durationMs": 70.5 } ] } }
Platform.InitReport
Sebuah platform.initReport peristiwa berisi laporan keseluruhan dari fase inisialisasi fungsi. Sebuah platform.initReport Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = platform.initReport - record: PlatformInitReport
Ob PlatformInitReport jek memiliki atribut berikut:
-
Jenis kesalahan? — tali
-
initializationType — objek
InitType -
fase —
InitPhaseobjek -
metrik —
InitReportMetricsobjek -
bentang? — Daftar
Rentangobjek -
status —
Statusobjek
Berikut ini adalah contoh Event tipeplatform.initReport:
{ "time": "2022-10-12T00:01:15.000Z", "type": "platform.initReport", "record": { "initializationType": "on-demand", "status": "success", "phase": "init", "metrics": { "durationMs": 125.33 }, "spans": [ { "name": "someTimeSpan", "start": "2022-06-02T12:02:33.913Z", "durationMs": 90.1 } ] } }
platform.start
Per platform.start istiwa menunjukkan bahwa fase pemanggilan fungsi telah dimulai. Sebuah platform.start Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = platform.start - record: PlatformStart
Ob PlatformStart jek memiliki atribut berikut:
-
Waktu Permintaan —
String -
versi? --
String -
menelusuri? --
TraceContext
Berikut ini adalah contoh Event tipeplatform.start:
{ "time": "2022-10-12T00:00:15.064Z", "type": "platform.start", "record": { "requestId": "6d68ca91-49c9-448d-89b8-7ca3e6dc66aa", "version": "$LATEST", "tracing": { "spanId": "54565fb41ac79632", "type": "X-Amzn-Trace-Id", "value": "Root=1-62e900b2-710d76f009d6e7785905449a;Parent=0efbd19962d95b05;Sampled=1" } } }
platform.runtimeDone
Per platform.runtimeDone istiwa menunjukkan bahwa fase pemanggilan fungsi telah selesai. Sebuah platform.runtimeDone Event objek memiliki bentuk sebagai berikut:
Instans Terkelola Lambda
A platform.runtimeDone cara ini tidak didukung untuk Instans Terkelola Lambda. Ekstensi yang berjalan pada Instans Terkelola tidak menerima acara ini karena ekstensi tidak dapat berlangganan INVOKE acara di Instans Terkelola. Karena model eksekusi bersamaan di mana beberapa pemanggilan dapat diproses secara bersamaan, ekstensi tidak dapat melakukan pemrosesan pasca-panggilan untuk pemanggilan individu seperti yang mereka lakukan secara tradisional pada fungsi Lambda (default).
Untuk Inst responseDuration ans Terkelola, rentang responseLatency dan yang biasanya disertakan di platform.runtimeDone dalamnya tersedia di platform.report acara tersebut. Lihat platform.report untuk detail.
Event: Object - time: String - type: String = platform.runtimeDone - record: PlatformRuntimeDone
Ob PlatformRuntimeDone jek memiliki atribut berikut:
-
Jenis kesalahan? --
String -
metrik? —
RuntimeDoneMetricsobjek -
Waktu Permintaan —
String -
status —
Statusobjek -
bentang? — Daftar
Rentangobjek -
menelusuri? —
TraceContextobjek
Berikut ini adalah contoh Event tipeplatform.runtimeDone:
{ "time": "2022-10-12T00:01:15.000Z", "type": "platform.runtimeDone", "record": { "requestId": "6d68ca91-49c9-448d-89b8-7ca3e6dc66aa", "status": "success", "tracing": { "spanId": "54565fb41ac79632", "type": "X-Amzn-Trace-Id", "value": "Root=1-62e900b2-710d76f009d6e7785905449a;Parent=0efbd19962d95b05;Sampled=1" }, "spans": [ { "name": "someTimeSpan", "start": "2022-08-02T12:01:23:521Z", "durationMs": 80.0 } ], "metrics": { "durationMs": 140.0, "producedBytes": 16 } } }
platform.report
Sebuah platform.report peristiwa berisi laporan keseluruhan dari fase pemanggilan fungsi. Sebuah platform.report Event objek memiliki bentuk sebagai berikut:
Instans Terkelola Lambda
Per platform.report istiwa untuk Instans Terkelola Lambda memiliki metrik dan rentang yang berbeda dibandingkan dengan fungsi Lambda (default). Untuk Instans Terkelola:
-
Rentang: Berisi
responseLatencydan buresponseDurationkannya.extensionOverheadRentextensionOverheadang tidak tersedia karena ekstensi tidak dapat berlanggananINVOKEacara pada Instans Terkelola karena model eksekusi bersamaan. -
Metrik: Hanya termasuk
durationMs. Metrik berikut tidak termasuk:billedDurationMs,initDurationMs,maxMemoryUsedMB, danmemorySizeMB. Metrik per pemanggilan ini tidak berlaku di lingkungan eksekusi bersamaan. Untuk metrik pemanfaatan sumber daya, gunakan Memantau Instans Terkelola Lambda atau Lambda Insights.
Event: Object - time: String - type: String = platform.report - record: PlatformReport
Ob PlatformReport jek memiliki atribut berikut:
-
metrik —
ReportMetricsobjek -
Waktu Permintaan —
String -
bentang? — Daftar
Rentangobjek -
status —
Statusobjek -
menelusuri? —
TraceContextobjek
Berikut ini adalah contoh Event tipeplatform.report:
{ "time": "2022-10-12T00:01:15.000Z", "type": "platform.report", "record": { "metrics": { "billedDurationMs": 694, "durationMs": 693.92, "initDurationMs": 397.68, "maxMemoryUsedMB": 84, "memorySizeMB": 128 }, "requestId": "6d68ca91-49c9-448d-89b8-7ca3e6dc66aa", } }
Platform.RestoreRestart
Per platform.restoreStart istiwa menunjukkan bahwa peristiwa restorasi lingkungan fungsi dimulai. Dalam peristiwa pemulihan lingkungan, Lambda membuat lingkungan dari snapshot yang di-cache daripada menginisialisasi dari awal. Untuk informasi selengkapnya, lihat SnapStart. Sebuah platform.restoreStart Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = platform.restoreStart - record: PlatformRestoreStart
Ob PlatformRestoreStart jek memiliki atribut berikut:
-
Nama fungsi —
String -
Versi fungsi -
String -
InstanceID? --
String -
contohMaxMemory? --
String -
Versi Runtime? --
String -
waktu pelaksan VersionArn aan? --
String
Berikut ini adalah contoh Event tipeplatform.restoreStart:
{ "time": "2022-10-12T00:00:15.064Z", "type": "platform.restoreStart", "record": { "runtimeVersion": "nodejs-14.v3", "runtimeVersionArn": "arn", "functionName": "myFunction", "functionVersion": "$LATEST", "instanceId": "82561ce0-53dd-47d1-90e0-c8f5e063e62e", "instanceMaxMemory": 256 } }
platform. Restore RuntimeDone
Per platform.restoreRuntimeDone istiwa menunjukkan bahwa peristiwa restorasi lingkungan fungsi selesai. Dalam peristiwa pemulihan lingkungan, Lambda membuat lingkungan dari snapshot yang di-cache daripada menginisialisasi dari awal. Untuk informasi selengkapnya, lihat SnapStart. Sebuah platform.restoreRuntimeDone Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = platform.restoreRuntimeDone - record: PlatformRestoreRuntimeDone
Ob PlatformRestoreRuntimeDone jek memiliki atribut berikut:
Berikut ini adalah contoh Event tipeplatform.restoreRuntimeDone:
{ "time": "2022-10-12T00:00:15.064Z", "type": "platform.restoreRuntimeDone", "record": { "status": "success", "spans": [ { "name": "someTimeSpan", "start": "2022-08-02T12:01:23:521Z", "durationMs": 80.0 } ] } }
Platform.RestoreReport
Per platform.restoreReport istiwa berisi laporan keseluruhan dari peristiwa restorasi fungsi. Sebuah platform.restoreReport Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = platform.restoreReport - record: PlatformRestoreReport
Ob PlatformRestoreReport jek memiliki atribut berikut:
-
Jenis kesalahan? — tali
-
metrik? —
RestoreReportMetricsobjek -
bentang? — Daftar
Rentangobjek -
status —
Statusobjek
Berikut ini adalah contoh Event tipeplatform.restoreReport:
{ "time": "2022-10-12T00:00:15.064Z", "type": "platform.restoreReport", "record": { "status": "success", "metrics": { "durationMs": 15.19 }, "spans": [ { "name": "someTimeSpan", "start": "2022-08-02T12:01:23:521Z", "durationMs": 30.0 } ] } }
ekstensi platform
Per extension istiwa berisi log dari kode ekstensi. Sebuah extension Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = extension - record: {}
Ob PlatformExtension jek memiliki atribut berikut:
-
acara — Daftar
String -
nama —
String -
negara —
String
Berikut ini adalah contoh Event tipeplatform.extension:
{ "time": "2022-10-12T00:02:15.000Z", "type": "platform.extension", "record": { "events": [ "INVOKE", "SHUTDOWN" ], "name": "my-telemetry-extension", "state": "Ready" } }
Platform.TelemetriLangganan
A platform.telemetrySubscription cara berisi informasi tentang langganan ekstensi. Sebuah platform.telemetrySubscription Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = platform.telemetrySubscription - record: PlatformTelemetrySubscription
Ob PlatformTelemetrySubscription jek memiliki atribut berikut:
-
nama —
String -
negara —
String -
jenis — Daftar
String
Berikut ini adalah contoh Event tipeplatform.telemetrySubscription:
{ "time": "2022-10-12T00:02:35.000Z", "type": "platform.telemetrySubscription", "record": { "name": "my-telemetry-extension", "state": "Subscribed", "types": [ "platform", "function" ] } }
Platform.LogsDitutup
A platform.logsDropped cara berisi informasi tentang peristiwa yang dibatalkan. Lambda memancarkan platform.logsDropped peristiwa ketika fungsi mengeluarkan log pada tingkat yang terlalu tinggi bagi Lambda untuk memprosesnya. Ketika Lambda tidak dapat mengirim log ke CloudWatch atau ke ekstensi yang berlangganan Telemetri API pada tingkat yang dihasilkan fungsi, ia menjatuhkan log untuk mencegah eksekusi fungsi melambat. Sebuah platform.logsDropped Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = platform.logsDropped - record: PlatformLogsDropped
Ob PlatformLogsDropped jek memiliki atribut berikut:
-
Bytes yang Diturunkan —
Integer -
Catatan yang Diturunkan -
Integer -
alasan —
String
Berikut ini adalah contoh Event tipeplatform.logsDropped:
{ "time": "2022-10-12T00:02:35.000Z", "type": "platform.logsDropped", "record": { "droppedBytes": 12345, "droppedRecords": 123, "reason": "Some logs were dropped because the downstream consumer is slower than the logs production rate" } }
Fungsi
Sebuah function peristiwa berisi log dari kode fungsi. Sebuah function Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = function - record: {}
Format record bidang tergantung pada apakah log fungsi Anda diformat dalam teks biasa atau format JSON. untuk mempelajari lebih lanjut tentang opsi konfigurasi format log, lihat Mengkonfigurasi JSON dan format log teks biasa
Berikut ini adalah contoh Event tipe function di mana format log adalah teks biasa:
{ "time": "2022-10-12T00:03:50.000Z", "type": "function", "record": "[INFO] Hello world, I am a function!" }
Berikut ini adalah contoh Event tipe function di mana format log adalah JSON:
{ "time": "2022-10-12T00:03:50.000Z", "type": "function", "record": { "timestamp": "2022-10-12T00:03:50.000Z", "level": "INFO", "requestId": "79b4f56e-95b1-4643-9700-2807f4e68189", "message": "Hello world, I am a function!" } }
catatan
Jika versi skema yang Anda gunakan lebih tua dari 2022-12-13 versi, maka versi tersebut selalu "record" dirender sebagai string bahkan ketika format logging fungsi Anda dikonfigurasi sebagai JSON. Untuk Instans Terkelola Lambda, Anda harus menggunakan versi 2025-01-29 skema.
luas
Per extension istiwa berisi log dari kode ekstensi. Sebuah extension Event objek memiliki bentuk sebagai berikut:
Event: Object - time: String - type: String = extension - record: {}
Format record bidang tergantung pada apakah log fungsi Anda diformat dalam teks biasa atau format JSON. untuk mempelajari lebih lanjut tentang opsi konfigurasi format log, lihat Mengkonfigurasi JSON dan format log teks biasa
Berikut ini adalah contoh Event tipe extension di mana format log adalah teks biasa:
{ "time": "2022-10-12T00:03:50.000Z", "type": "extension", "record": "[INFO] Hello world, I am an extension!" }
Berikut ini adalah contoh Event tipe extension di mana format log adalah JSON:
{ "time": "2022-10-12T00:03:50.000Z", "type": "extension", "record": { "timestamp": "2022-10-12T00:03:50.000Z", "level": "INFO", "requestId": "79b4f56e-95b1-4643-9700-2807f4e68189", "message": "Hello world, I am an extension!" } }
catatan
Jika versi skema yang Anda gunakan lebih tua dari 2022-12-13 versi, maka versi tersebut selalu "record" dirender sebagai string bahkan ketika format logging fungsi Anda dikonfigurasi sebagai JSON. Untuk Instans Terkelola Lambda, Anda harus menggunakan versi 2025-01-29 skema.
Jenis objek bersama
Bagian ini merinci jenis objek bersama yang didukung Lambda Telemetry API.
InitPhase
Sebuah enum string yang menggambarkan fase ketika langkah inisialisasi terjadi. Dalam kebanyakan kasus, Lambda menjalankan kode inisialisasi fungsi selama fase. init Namun, dalam beberapa kasus kesalahan, Lambda dapat menjalankan kembali kode inisialisasi fungsi selama fase. invoke (Ini disebut init yang ditekan.)
-
Tipe —
String -
Nilai yang valid -
init|invoke|snap-start
InitReportMetrics
Objek yang berisi metrik tentang fase inisialisasi.
-
Tipe —
Object
Sebuah InitReportMetrics objek memiliki bentuk sebagai berikut:
InitReportMetrics: Object - durationMs: Double
Berikut ini adalah contoh InitReportMetrics objek:
{ "durationMs": 247.88 }
InitType
Sebuah enum string yang menjelaskan bagaimana Lambda menginisialisasi lingkungan.
-
Tipe —
String -
Nilai yang valid -
on-demand|provisioned-concurrency
ReportMetrics
Objek yang berisi metrik tentang fase yang telah selesai.
-
Tipe —
Object
Sebuah ReportMetrics objek memiliki bentuk sebagai berikut:
ReportMetrics: Object - billedDurationMs: Integer - durationMs: Double - initDurationMs?: Double - maxMemoryUsedMB: Integer - memorySizeMB: Integer - restoreDurationMs?: Double
Berikut ini adalah contoh ReportMetrics objek:
{ "billedDurationMs": 694, "durationMs": 693.92, "initDurationMs": 397.68, "maxMemoryUsedMB": 84, "memorySizeMB": 128 }
RestoreReportMetrics
Objek yang berisi metrik tentang fase restorasi yang telah selesai.
-
Tipe —
Object
Sebuah RestoreReportMetrics objek memiliki bentuk sebagai berikut:
RestoreReportMetrics: Object - durationMs: Double
Berikut ini adalah contoh RestoreReportMetrics objek:
{ "durationMs": 15.19 }
RuntimeDoneMetrics
Objek yang berisi metrik tentang fase pemanggilan.
-
Tipe —
Object
Sebuah RuntimeDoneMetrics objek memiliki bentuk sebagai berikut:
RuntimeDoneMetrics: Object - durationMs: Double - producedBytes?: Integer
Berikut ini adalah contoh RuntimeDoneMetrics objek:
{ "durationMs": 200.0, "producedBytes": 15 }
Rentang
Objek yang berisi detail tentang rentang. Rentang mewakili unit kerja atau operasi dalam jejak. Untuk informasi selengkapnya tentang rentang, lihat Span
Lambda mendukung rentang berikut untuk acara tersebut: platform.RuntimeDone
-
Rent
responseLatencyang menjelaskan berapa lama waktu yang dibutuhkan fungsi Lambda Anda untuk mulai mengirim respons. -
Rent
responseDurationang menjelaskan berapa lama waktu yang dibutuhkan fungsi Lambda Anda untuk menyelesaikan pengiriman seluruh respons. -
Rent
runtimeOverheadang menjelaskan berapa lama waktu yang dibutuhkan runtime Lambda untuk memberi sinyal bahwa ia siap memproses pemanggilan fungsi berikutnya. Ini adalah berapa lama waktu yang dibutuhkan runtime untuk memanggil API pemanggilan berikutnya untuk mendapatkan acara berikutnya setelah mengembalikan respons fungsi Anda.
Berikut ini adalah contoh objek responseLatency span:
{ "name": "responseLatency", "start": "2022-08-02T12:01:23.521Z", "durationMs": 23.02 }
Status
Objek yang menggambarkan status fase inisialisasi atau pemanggilan. Jika statusnya salah failure satu atauerror, maka Status objek juga berisi errorType bidang yang menggambarkan kesalahan.
-
Tipe —
Object -
Nilai status yang valid -
success|failure|error|timeout
TraceContext
Objek yang menggambarkan sifat-sifat jejak.
-
Tipe —
Object
Sebuah TraceContext objek memiliki bentuk sebagai berikut:
TraceContext: Object - spanId?: String - type: TracingType enum - value: String
Berikut ini adalah contoh TraceContext objek:
{ "spanId": "073a49012f3c312e", "type": "X-Amzn-Trace-Id", "value": "Root=1-62e900b2-710d76f009d6e7785905449a;Parent=0efbd19962d95b05;Sampled=1" }
TracingType
Sebuah enum string yang menggambarkan jenis penelusuran dalam suatu TraceContext objek.
-
Tipe —
String -
Nilai yang valid —
X-Amzn-Trace-Id