Referensi skema API Event Telemetri Lambda - AWS Lambda

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

Referensi skema API Event Telemetri Lambda

Gunakan API titik akhir Telemetri Lambda untuk berlangganan ekstensi ke aliran telemetri. Anda dapat mengambil API titik akhir Telemetri dari variabel lingkungan. AWS_LAMBDA_RUNTIME_API Untuk mengirim API permintaan, tambahkan API versi (2022-07-01/) dantelemetry/. Sebagai contoh:

http://${AWS_LAMBDA_RUNTIME_API}/2022-07-01/telemetry/

Untuk definisi Open API Specification (OAS) dari versi tanggapan langganan2022-12-13, lihat berikut ini:

Tabel berikut adalah ringkasan dari semua jenis Event objek yang didukung TelemetriAPI.

Kategori Jenis peristiwa Deskripsi Skema catatan acara

Acara platform

platform.initStart

Inisialisasi fungsi dimulai.

platform.initStartskema

Acara platform

platform.initRuntimeDone

Inisialisasi fungsi selesai.

platform.initRuntimeDoneskema

Acara platform

platform.initReport

Laporan inisialisasi fungsi.

platform.initReportskema

Acara platform

platform.start

Pemanggilan fungsi dimulai.

platform.startskema

Acara platform

platform.runtimeDone

Runtime selesai memproses acara dengan keberhasilan atau kegagalan.

platform.runtimeDoneskema

Acara platform

platform.report

Laporan pemanggilan fungsi.

platform.reportskema

Acara platform

platform.restoreStart

Pemulihan runtime dimulai.

platform.restoreStartskema

Acara platform

platform.restoreRuntimeDone

Pemulihan runtime selesai.

platform.restoreRuntimeDoneskema

Acara platform

platform.restoreReport

Laporan pemulihan runtime.

platform.restoreReportskema

Acara platform

platform.telemetrySubscription

Ekstensi berlangganan API Telemetri.

platform.telemetrySubscriptionskema

Acara platform

platform.logsDropped

Lambda menjatuhkan entri log.

platform.logsDroppedskema

Log fungsi

function

Sebuah baris log dari kode fungsi.

functionskema

Log ekstensi:

extension

Sebuah baris log dari kode ekstensi.

extensionskema

Jenis objek telemetri API Event

Bagian ini merinci jenis Event objek yang didukung API Telemetri Lambda. Dalam deskripsi peristiwa, tanda tanya (?) menunjukkan bahwa atribut mungkin tidak ada dalam objek.

platform.initStart

Sebuah platform.initStart peristiwa 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

PlatformInitStartObjek memiliki atribut berikut:

  • functionNameString

  • functionVersionString

  • initializationTypeInitType objek

  • instanceId?String

  • instanceMaxMemory?Integer

  • faseInitPhase objek

  • runtimeVersion?String

  • runtimeVersionArn?String

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.initRuntimeDone

Sebuah platform.initRuntimeDone peristiwa 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

PlatformInitRuntimeDoneObjek 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

PlatformInitReportObjek memiliki atribut berikut:

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

Sebuah platform.start peristiwa 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

PlatformStartObjek memiliki atribut berikut:

  • requestIdString

  • 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

Sebuah platform.runtimeDone peristiwa menunjukkan bahwa fase pemanggilan fungsi telah selesai. Sebuah platform.runtimeDone Event objek memiliki bentuk sebagai berikut:

Event: Object - time: String - type: String = platform.runtimeDone - record: PlatformRuntimeDone

PlatformRuntimeDoneObjek memiliki atribut berikut:

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:

Event: Object - time: String - type: String = platform.report - record: PlatformReport

PlatformReportObjek memiliki atribut berikut:

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.restoreStart

Sebuah platform.restoreStart peristiwa menunjukkan bahwa acara restorasi lingkungan fungsi dimulai. Dalam acara restorasi lingkungan, Lambda menciptakan lingkungan dari snapshot yang di-cache daripada menginisialisasi dari awal. Untuk informasi selengkapnya, lihat Lambda SnapStart. Sebuah platform.restoreStart Event objek memiliki bentuk sebagai berikut:

Event: Object - time: String - type: String = platform.restoreStart - record: PlatformRestoreStart

PlatformRestoreStartObjek memiliki atribut berikut:

  • functionNameString

  • functionVersionString

  • instanceId?String

  • instanceMaxMemory?String

  • runtimeVersion?String

  • runtimeVersionArn?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.restoreRuntimeDone

Sebuah platform.restoreRuntimeDone peristiwa menunjukkan bahwa acara restorasi lingkungan fungsi selesai. Dalam acara restorasi lingkungan, Lambda menciptakan lingkungan dari snapshot yang di-cache daripada menginisialisasi dari awal. Untuk informasi selengkapnya, lihat Lambda SnapStart. Sebuah platform.restoreRuntimeDone Event objek memiliki bentuk sebagai berikut:

Event: Object - time: String - type: String = platform.restoreRuntimeDone - record: PlatformRestoreRuntimeDone

PlatformRestoreRuntimeDoneObjek memiliki atribut berikut:

  • errorType?String

  • bentang? — Daftar Span objek

  • status - Status objek

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

Sebuah platform.restoreReport peristiwa berisi laporan keseluruhan dari acara restorasi fungsi. Sebuah platform.restoreReport Event objek memiliki bentuk sebagai berikut:

Event: Object - time: String - type: String = platform.restoreReport - record: PlatformRestoreReport

PlatformRestoreReportObjek memiliki atribut berikut:

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 } ] } }

platform.extension

Sebuah extension peristiwa berisi log dari kode ekstensi. Sebuah extension Event objek memiliki bentuk sebagai berikut:

Event: Object - time: String - type: String = extension - record: {}

PlatformExtensionObjek memiliki atribut berikut:

  • event — Daftar String

  • namaString

  • negaraString

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.telemetrySubscription

Sebuah platform.telemetrySubscription acara berisi informasi tentang langganan ekstensi. Sebuah platform.telemetrySubscription Event objek memiliki bentuk sebagai berikut:

Event: Object - time: String - type: String = platform.telemetrySubscription - record: PlatformTelemetrySubscription

PlatformTelemetrySubscriptionObjek memiliki atribut berikut:

  • namaString

  • negaraString

  • 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.logsDropped

Sebuah platform.logsDropped acara berisi informasi tentang peristiwa yang dijatuhkan. Lambda memancarkan platform.logsDropped peristiwa ketika suatu 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 dengan kecepatan yang dihasilkannya, Lambda akan 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

PlatformLogsDroppedObjek memiliki atribut berikut:

  • droppedBytesInteger

  • droppedRecordsInteger

  • alasanString

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" } }

function

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 JSON format. untuk mempelajari lebih lanjut tentang opsi konfigurasi format log, lihat Mengkonfigurasi JSON dan format log teks biasa

Berikut ini adalah contoh Event jenis 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 jenis function di mana format log adalahJSON:

{ "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 lama dari 2022-12-13 versi, maka versi selalu "record" dirender sebagai string bahkan ketika format logging fungsi Anda dikonfigurasi sebagai. JSON

extension

Sebuah extension peristiwa 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 JSON format. untuk mempelajari lebih lanjut tentang opsi konfigurasi format log, lihat Mengkonfigurasi JSON dan format log teks biasa

Berikut ini adalah contoh Event jenis 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 jenis extension di mana format log adalahJSON:

{ "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 lama dari 2022-12-13 versi, maka versi selalu "record" dirender sebagai string bahkan ketika format logging fungsi Anda dikonfigurasi sebagai. JSON

Jenis objek bersama

Bagian ini merinci jenis objek bersama yang didukung API Telemetri Lambda.

InitPhase

Sebuah string enum 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.)

  • Jenis - String

  • Nilai yang valid - init | invoke | snap-start

InitReportMetrics

Objek yang berisi metrik tentang fase inisialisasi.

  • Jenis - Object

Sebuah InitReportMetrics objek memiliki bentuk sebagai berikut:

InitReportMetrics: Object - durationMs: Double

Berikut ini adalah contoh InitReportMetrics objek:

{ "durationMs": 247.88 }

InitType

Sebuah string enum yang menjelaskan bagaimana Lambda menginisialisasi lingkungan.

  • Jenis - String

  • Nilai yang valid - on-demand | provisioned-concurrency

ReportMetrics

Objek yang berisi metrik tentang fase selesai.

  • Jenis - 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 selesai.

  • Jenis - 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.

  • Jenis - 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 }

Span

Objek yang berisi detail tentang rentang. Rentang mewakili unit kerja atau operasi dalam jejak. Untuk informasi selengkapnya tentang rentang, lihat Span di API halaman Penelusuran situs web OpenTelemetry Dokumen.

Lambda mendukung rentang berikut untuk acara tersebut: platform.RuntimeDone

  • responseLatencyRentang menjelaskan berapa lama waktu yang dibutuhkan fungsi Lambda Anda untuk mulai mengirim respons.

  • responseDurationRentang menjelaskan berapa lama waktu yang dibutuhkan fungsi Lambda Anda untuk menyelesaikan pengiriman seluruh respons.

  • runtimeOverheadRentang menjelaskan berapa lama waktu yang dibutuhkan runtime Lambda untuk memberi sinyal bahwa ia siap untuk memproses pemanggilan fungsi berikutnya. Ini adalah berapa lama waktu yang dibutuhkan untuk memanggil pemanggilan berikutnya API 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 satu failure atauerror, maka Status objek juga berisi errorType bidang yang menjelaskan kesalahan.

  • Jenis - Object

  • Nilai status yang valid - success | failure | error | timeout

TraceContext

Objek yang menggambarkan sifat-sifat jejak.

  • Jenis - 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 string enum yang menggambarkan jenis tracing dalam suatu TraceContext objek.

  • Jenis - String

  • Nilai yang valid - X-Amzn-Trace-Id