All Products
Search
Document Center

:Log metrik tingkat permintaan

Last Updated:Jun 21, 2026

Metrik tingkat permintaan menyediakan data terperinci untuk setiap pemanggilan fungsi. Gunakan metrik ini untuk dengan cepat mengidentifikasi dan memecahkan masalah, menganalisis hambatan aplikasi, serta mengoptimalkan fungsi Anda.

Apa itu metrik tingkat permintaan

Metrik tingkat permintaan merangkum status eksekusi setiap pemanggilan fungsi. Saat diaktifkan, sistem mengumpulkan data performa, error, dan tracing untuk setiap eksekusi, lalu mengirimkannya ke Logstore yang ditentukan dalam pengaturan log Anda.

  • Metrik performa: Meliputi penggunaan memori, waktu eksekusi fungsi, durasi inisialisasi, dan informasi cold start.

  • Metrik error: Meliputi kegagalan eksekusi dan detail error.

  • Metrik tracing: Meliputi waktu eksekusi operasi sistem utama, apakah tracing terintegrasi di-sampling, serta untuk fungsi yang dipicu HTTP, mencakup path, kode status, dan alamat IP client.

Setelah Anda mengaktifkan metrik tingkat permintaan, Function Compute mengirimkan metrik eksekusi untuk setiap permintaan ke Logstore Anda sebagai berikut.

functionName: hello-world
instanceID: c-6555d93e-454b5d0cbd9e45xxx
qualifier: LATEST
serviceName: cici-test
versionId:
requestId: 1-6555d93e-b51d5f9f6040a7c32a4de6b7
activeInstances: 0
activeInstancesPerFunction: 0
coldStartLatencyMs: 157.48
coldStartStartTimestamp: 1700124992484
durationMs: 3.20
hasFunctionError: false
hostname: sr-6555cc30-0e3437ce9a9443cxxx
instanceEvent: ColdStart
invocationStartTimestamp: 1700124992930
invocationType: Sync
invokeFunctionLatencyMs: 2523.46
invokeFunctionStartTimestamp: 1700124990410
ipAddress: 21.0.xxx
isColdStart: true
isSampled: true

Kasus penggunaan

  • Lihat informasi performa dan error terperinci untuk setiap pemanggilan.

    Konsol menggunakan metrik tingkat permintaan untuk menyediakan daftar permintaan terperinci. Dari daftar ini, Anda dapat menyelidiki lebih dalam status eksekusi, ID instans, durasi, penggunaan memori, dan log untuk setiap permintaan.

    Catatan

    Anda tetap dapat melihat daftar permintaan meskipun metrik tingkat permintaan dinonaktifkan. Namun, daftar tersebut mungkin tidak akurat dalam skenario berikut:

    • Jika RequestId yang sama muncul berulang kali, Anda tidak dapat menemukan log untuk permintaan tertentu. Hal ini sering terjadi selama retry pemanggilan asinkron.

    • Jika runtime kustom atau kontainer kustom mencetak kedua baris berikut: FC Invoke Start RequestId: xxx dan FC Invoke End RequestId: xxx, satu pemanggilan bisa muncul dua kali dalam daftar permintaan.

  • Lakukan pencarian kustom dan buat dasbor kustom berdasarkan metrik permintaan.

    Metrik tingkat permintaan dikirim ke Logstore Anda dalam format key:value. Anda dapat membuat dasbor kustom sesuai kebutuhan bisnis Anda. Untuk informasi selengkapnya, lihat Buat dasbor.

Catatan penggunaan

  • Ruang lingkup

    Metrik tingkat permintaan dikonfigurasi di tingkat layanan. Saat diaktifkan, fitur ini berlaku untuk semua fungsi dalam layanan tersebut, dan entri log dicatat untuk setiap pemanggilan fungsi.

  • Penagihan

    Penyimpanan log di Simple Log Service dikenai biaya. Untuk informasi selengkapnya mengenai harga Simple Log Service, lihat Harga.

Aktifkan metrik tingkat permintaan

Konsol

Prasyarat

Prosedur

  1. Masuk ke Konsol Function Compute. Di panel navigasi sebelah kiri, klik Services & Functions.

  2. Di bilah navigasi atas, pilih wilayah. Pada halaman Services, temukan layanan yang diinginkan lalu klik Configure di kolom Actions.

  3. Pada halaman Edit Service, di bagian Log Settings, konfigurasikan parameter lalu klik Save.

    Tabel berikut menjelaskan parameter utama. Anda dapat mempertahankan nilai default untuk parameter lainnya.

    Parameter

    Deskripsi

    Contoh

    Logging

    Aktifkan untuk menyimpan log eksekusi fungsi di Simple Log Service. Untuk informasi selengkapnya, lihat Konfigurasi log.

    Enable

    Log project

    Pilih proyek log yang telah dikonfigurasi.

    aliyun-fc-hangzhou-2238f0df-a742-524f-9f90-976ba*******

    Logstore

    Pilih Logstore yang telah dikonfigurasi.

    function-log

    Request-level metrics

    Aktifkan untuk mengumpulkan metrik setiap pemanggilan fungsi. Metrik ini dikirim ke Logstore yang ditentukan dalam konfigurasi log Anda.

    Enable

Serverless Devs

Prasyarat

Prosedur

  1. Buat direktori kode dengan struktur berikut.

    .
    ├── code
    │   └── index.js
    └── s.yaml

    Field enableRequestMetrics pada contoh berikut mengonfigurasi metrik tingkat permintaan. Sebelum mengaktifkan fitur ini, Anda harus terlebih dahulu mengaktifkan logging dan mengatur logstore serta project ke Logstore dan proyek log yang sudah ada.

    edition: 1.0.0
    name: hello-world-app
    access: "default"
    vars: 
      region: "cn-hangzhou"
      service:
        name: "hello-world-service"
        description: 'hello world by serverless devs'
        logConfig: # Ganti project dan logstore dengan yang sudah ada di akun Anda. Anda juga dapat mengatur logConfig ke auto untuk secara otomatis membuat proyek log dan Logstore.
          project: 'your-project'
          logstore: 'your-logstore'
          enableRequestMetrics: true  # Saklar untuk metrik tingkat permintaan. Jika diaktifkan, sistem mengumpulkan metrik untuk setiap pemanggilan fungsi.
          enableInstanceMetrics: true
        role: 'acs:ram::<accountID>:role/aliyunfcdefaultrole' # Ganti <accountID> dengan ID akun Alibaba Cloud Anda.
    services:
      helloworld:
        component: fc 
        props:
          region: ${vars.region} 
          service: ${vars.service}
          function:
            name: "hello-world"
            description: 'hello world by serverless devs'
            runtime: nodejs14
            codeUri: ./code
            handler: index.handler
            memorySize: 128
            timeout: 60
  2. Jalankan perintah berikut untuk menerapkan aplikasi.

    sudo s deploy -y

    Setelah penerapan berhasil, Anda dapat masuk ke Konsol Function Compute untuk memverifikasi bahwa metrik tingkat permintaan telah diaktifkan untuk layanan tersebut.

Kueri log

Format log

Log metrik tingkat permintaan memiliki topik dalam format: FCRequestMetrics:serviceName/functionName. Anda dapat menggunakan kondisi kueri __topic__: "FCRequestMetrics:serviceName/functionName" di Simple Log Service untuk memfilter log tersebut. Untuk informasi selengkapnya, lihat Memulai kueri dan analisis.

Field metrik

Metrik tingkat permintaan mencatat informasi berikut.

Field

Deskripsi

Contoh

Selalu direkam?

serviceName

Nama layanan.

my-service

Ya

functionName

Nama fungsi.

my-function

Ya

versionId

ID versi.

12

Ya

qualifier

Alias layanan. Nilai default adalah LATEST.

prod

Ya

requestId

ID permintaan.

db72ce53-ccbe-4216-af55-642622e01494

Ya

operation

Nama operasi.

InvokeFunction

Ya

invocationType

Jenis pemanggilan. Nilai yang valid:

Sync: Pemanggilan sinkron

Async: Pemanggilan asinkron

Sync

Ya

memoryMB

Batas memori untuk fungsi dalam MB.

512

Ya

memoryUsageMB

Memori yang dikonsumsi oleh eksekusi fungsi dalam MB.

410

Ya

durationMs

Durasi eksekusi kode fungsi, dalam milidetik.

20.20

Ya

isColdStart

Menunjukkan apakah pemanggilan tersebut merupakan cold start.

Catatan

Cold start terjadi ketika Function Compute menerima permintaan tetapi tidak memiliki instans yang tersedia untuk melayaninya. Sistem kemudian harus membuat instans baru, mengunduh kode fungsi, dan memulai runtime.

Seluruh proses ini—membuat instans, mengunduh kode, dan memulai runtime—mendefinisikan cold start.

Function Compute meminimalkan cold start dengan melakukan pre-warming instans. Oleh karena itu, permintaan yang dilayani oleh instans yang telah di-pre-warm bukanlah cold start.

false

Ya

instanceEvent

Event instans. Saat ini, satu-satunya nilai adalah ColdStart, yang direkam untuk permintaan cold start.

ColdStart

Tidak

hasFunctionError

Menunjukkan apakah terjadi error fungsi selama eksekusi.

false

Ya

errorType

Jenis error fungsi. Nilai yang valid:

  • FunctionOOMError: Fungsi kehabisan memori.

  • FunctionTimeoutError: Eksekusi melebihi timeout.

  • FunctionUnhandledError: Terjadi exception yang tidak ditangani.

FunctionUnhandledError

Tidak. Hanya direkam saat terjadi error selama eksekusi fungsi, yang ditunjukkan oleh hasFunctionError:true.

invokeFunctionLatencyMs

Latensi total pemanggilan fungsi, diukur dalam milidetik.

99.00

Ya. Ini direkam untuk setiap pemanggilan.

traceContext

Informasi konteks tracing.

371d3ff242fcee9:371d3ff242fcee9:0:1

Tidak. Hanya direkam saat tracing dikonfigurasi.

isSampled

Menunjukkan apakah permintaan di-sampling untuk tracing.

true

Tidak. Hanya direkam saat tracing dikonfigurasi.

resourceMode

Jenis instans yang mengeksekusi permintaan. Nilai yang valid:

  • OnDemand: Instans sesuai permintaan.

  • Provision: Instans yang disediakan.

OnDemand

Ya

instanceID

ID instans.

c-65603d8c-37e1bf7123054a77****

Ya

hostname

Host dari instans.

c-65603d8c-37e1bf7123054a77****

Ya

ipAddress

Alamat IP instans.

Ini adalah alamat IP internal instans, digunakan untuk identifikasi, dan tidak dapat diakses publik.

21.0.XX.XX

Ya

activeInstances

Jumlah instans aktif.

1

Ya

activeInstancesPerFunction

Jumlah instans aktif untuk fungsi saat ini.

1

Ya

scheduleLatencyMs

Latensi penjadwalan dalam milidetik. Latensi penjadwalan relatif panjang untuk permintaan cold start.

10.07

Ya

coldStartStartTimestamp

Timestamp saat cold start dimulai.

1700806029167

Tidak, hanya direkam untuk cold start.

coldStartLatencyMs

Latensi cold start dalam milidetik.

487.65

Tidak, hanya direkam untuk cold start.

prepareCodeStartTimestamp

Timestamp saat pengunduhan kode dimulai. Ini adalah timestamp 13 digit, akurat hingga milidetik.

1700806029167

Tidak, hanya direkam untuk cold start.

prepareCodeLatencyMs

Durasi pengunduhan kode dalam milidetik.

0.18

Tidak, hanya direkam untuk cold start.

runtimeInitializationStartTimestamp

Timestamp saat inisialisasi runtime dimulai.

1700806029168

Tidak, hanya direkam untuk cold start.

runtimeInitializationMs

Durasi inisialisasi runtime dalam milidetik.

487.37

Tidak, hanya direkam untuk cold start.

asyncAttemptStartTimestamp

Secara default, pemanggilan fungsi asinkron yang gagal akan diulang hingga 3 kali.

Parameter ini adalah timestamp awal untuk upaya retry ke-N, di mana N ditentukan oleh ${retryCount}.

1700806028084

Tidak, hanya direkam untuk pemanggilan asinkron.

asyncAttemptLatencyMs

Secara default, pemanggilan fungsi asinkron yang gagal akan diulang hingga 3 kali.

Parameter ini menunjukkan latensi upaya ke-${retryCount}.

1688.74

Tidak, hanya direkam untuk pemanggilan asinkron.

asyncMode

Mode pemanggilan asinkron. Nilai yang valid:

  • Stateless: Pemanggilan asinkron tanpa status

  • Stateful: Pemanggilan asinkron berstatus

Stateful

Tidak, hanya direkam untuk pemanggilan asinkron.

retryCount

Jumlah upaya retry.

0

Tidak, hanya direkam untuk pemanggilan asinkron.

Cari log

Function Compute secara otomatis mengonfigurasi indeks yang diperlukan di Simple Log Service saat Anda mengaktifkan fitur ini. Anda kemudian dapat menggunakan pernyataan SQL di Logstore yang sesuai dalam Konsol Simple Log Service untuk mengkueri dan memfilter permintaan. Anda dapat menentukan topik untuk mempersempit pencarian ke log metrik tingkat permintaan.

Sebagai contoh, untuk mengkueri permintaan yang memerlukan waktu eksekusi lebih dari 1.000 ms, gunakan pernyataan SQL berikut.

__topic__: "FCRequestMetrics:s1/f1" AND qualifier: q1 and operation: InvokeFunction and durationMs>1000

Untuk informasi selengkapnya mengenai sintaks kueri kompleks, lihat Memulai kueri dan analisis.

Buat dasbor kustom

Untuk membuat grafik deret waktu suatu metrik, gunakan pernyataan SQL seperti berikut:

__topic__: "FCRequestMetrics:s1/f1" AND qualifier: q1 and operation: InvokeFunction | select __time__ - __time__ % 60 as t, count(*) as invocations, avg(durationMs) as avgDurationMs group by t order by t 

Untuk informasi selengkapnya mengenai cara membuat dasbor kustom, lihat Buat dasbor.