All Products
Search
Document Center

Function Compute:Log metrik tingkat permintaan

Last Updated:Mar 15, 2026

Metrik tingkat permintaan memberikan wawasan mengenai setiap pemanggilan fungsi dan status eksekusinya. Gunakan metrik ini untuk mengidentifikasi serta melokalisasi masalah secara cepat atau menganalisis bottleneck aplikasi. Aktifkan metrik tingkat permintaan agar Anda dapat mengelola dan mengoptimalkan aplikasi fungsi dengan lebih baik.

Apa itu metrik tingkat permintaan

Metrik tingkat permintaan merangkum status eksekusi setiap permintaan fungsi. Setelah diaktifkan, sistem akan mengumpulkan metrik performa, pengecualian, dan tracing untuk setiap eksekusi fungsi, lalu mengirimkannya ke Logstore yang ditentukan dalam konfigurasi log Anda.

  • Metrik performa: Penggunaan memori, waktu eksekusi fungsi, waktu inisialisasi, dan informasi cold start.

  • Metrik pengecualian: Status kegagalan eksekusi dan detail error.

  • Metrik tracing: Durasi eksekusi tautan sistem utama, apakah tracing terintegrasi di-sampling, serta path, kode status, dan alamat IP client untuk fungsi HTTP.

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

image

Skenario Penggunaan

  • Lihat detail eksekusi fungsi, metrik performa, dan pesan error berdasarkan metrik permintaan.

    Konsol menyediakan daftar permintaan yang berasal dari metrik tingkat permintaan. Di halaman ini, Anda dapat melihat detail setiap permintaan, termasuk status eksekusi, ID instans terkait, durasi eksekusi, penggunaan memori, dan log permintaan. Gambar berikut menunjukkan contohnya.

    image

    Catatan

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

    • Jika ID permintaan yang sama muncul beberapa kali, Anda tidak dapat melokalisasi log untuk permintaan tertentu. Hal ini sering terjadi selama retry pada pemanggilan asinkron.

    • Pada runtime kustom dan runtime custom image, jika FC Invoke Start RequestId: xxx dan FC Invoke End RequestId: xxx dicetak, satu pemanggilan mungkin muncul dua kali dalam daftar permintaan.

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

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

Catatan

  • Cakupan

    Log metrik tingkat permintaan merupakan item konfigurasi fungsi. Setelah fitur ini diaktifkan, berlaku untuk fungsi saat ini. Satu log direkam untuk setiap eksekusi fungsi.

  • Biaya

    Saat log dikirimkan ke Simple Log Service, biaya penyimpanan akan dikenakan. Untuk informasi selengkapnya mengenai harga Simple Log Service, lihat Harga.

Aktifkan metrik tingkat permintaan

Aktifkan metrik tingkat permintaan di konsol

Prasyarat

Prosedur

  1. Login ke Konsol Function Compute. Di panel navigasi sebelah kiri, pilih Function Management > Function.

  2. Di bilah navigasi atas, pilih wilayah. Di halaman Function, klik fungsi target.

  3. Di halaman detail fungsi, klik tab Configuration.

  4. Temukan Advanced Settings, klik Modify di sebelah kanannya, temukan bagian Log di panel Konfigurasi Lanjutan, aktifkan metrik tingkat permintaan, lalu klik Deploy.

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

    Item Konfigurasi

    Deskripsi

    Contoh

    Fitur Log

    Menentukan apakah log pemanggilan fungsi disimpan di Simple Log Service SLS. Untuk informasi selengkapnya tentang fitur log, lihat Konfigurasikan fitur log.

    Aktifkan

    Proyek Log

    Pilih proyek yang telah dikonfigurasi.

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

    Logstore

    Pilih Logstore yang telah dikonfigurasi.

    function-log

    Aturan Segmentasi Log

    Menentukan apakah aturan segmentasi log diaktifkan. Jika diaktifkan, Function Compute membagi log berdasarkan aturan tersebut dan menulis segmen log ke Simple Log Service satu per satu.

    Aktifkan

    Metrik Tingkat Permintaan

    Menentukan apakah metrik tingkat permintaan ditampilkan. Jika diaktifkan, metrik untuk setiap pemanggilan fungsi dikumpulkan dan dikirimkan ke Logstore yang Anda pilih dalam konfigurasi log.

    Aktifkan

    Metrik Tingkat Instans

    Menentukan apakah metrik tingkat instans diaktifkan. Jika diaktifkan, data metrik instans fungsi dikirimkan ke Logstore yang Anda pilih dalam konfigurasi log.

    Aktifkan

Aktifkan metrik tingkat permintaan menggunakan Serverless Devs

Prasyarat

Instal dan konfigurasikan Serverless Devs

Prosedur

  1. Buat folder kode. Struktur foldernya sebagai berikut.

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

    Kode berikut memberikan contoh file s.yaml.

    Dalam contoh ini, field `enableRequestMetrics` mengonfigurasi fitur metrik tingkat permintaan. Sebelum mengaktifkan metrik tingkat permintaan, Anda harus mengaktifkan fitur log dan mengatur `logstore` serta `project` ke Logstore dan proyek yang sudah ada di akun Anda.

    edition: 3.0.0
    name: hello-world-app
    access: "default"
    vars: # Variabel global
      region: "cn-hangzhou"
    
    resources:
      hello_world:
        component: fc3 # Nama komponen
        props:
          region: ${vars.region}             
          functionName: "start-nodejs-****"
          description: 'hello world by serverless devs'
          runtime: "nodejs16"
          code: ./code
          handler: index.handler
          memorySize: 128
          timeout: 30
          logConfig: # Ubah logstore dan project sesuai konfigurasi aktual Anda. Anda juga dapat mengatur logConfig ke auto untuk membuat proyek dan Logstore secara otomatis.
            enableInstanceMetrics: true 
            enableRequestMetrics:  true  # Saklar untuk metrik tingkat permintaan. Jika diaktifkan, sistem mengumpulkan metrik untuk setiap eksekusi fungsi.
            logBeginRule: DefaultRegex
            logstore: 'your-logstore'
            project: 'your-project'
  2. Jalankan perintah berikut untuk mendeploy aplikasi.

    sudo s deploy -y

    Setelah perintah berhasil dijalankan, Anda dapat login ke Konsol Function Compute untuk memverifikasi bahwa fitur metrik tingkat permintaan telah diaktifkan untuk fungsi yang dideploy.

Kueri log

Format log

Topik log metrik tingkat permintaan memiliki format berikut: FCRequestMetrics:/functionName. Anda dapat menggunakan kondisi kueri __topic__: "FCRequestMetrics:/functionName" di Simple Log Service untuk memfilter semua log metrik tingkat permintaan. Untuk informasi selengkapnya, lihat Panduan cepat kueri dan analisis.

Field metrik

Metrik tingkat permintaan mencatat informasi berikut.

Nama Metrik

Deskripsi

Contoh

Dicatat untuk Setiap Pemanggilan?

functionName

Nama fungsi.

my-function

Ya

versionId

Nama versi.

12

Ya

qualifier

Alias layanan. Nilai default adalah LATEST.

prod

Ya

requestId

ID permintaan.

db72ce53-ccbe-4216-af55-642622e01494

Ya

operation

Nama aksi.

InvokeFunction

Ya

invocationType

Jenis pemanggilan. Nilai yang valid:

Sync: panggilan sinkron

Async: pemanggilan asinkron

Sync

Ya

memoryMB

Batas memori fungsi.

512

Ya

memoryUsageMB

Memori yang dikonsumsi oleh eksekusi fungsi.

410

Ya

durationMs

Durasi eksekusi permintaan.

20,20

Ya

isColdStart

Menunjukkan apakah pemanggilan merupakan cold start.

Catatan

Jika sistem Function Compute tidak memiliki instans yang tersedia untuk memproses permintaan, Function Compute akan membuat instans baru, mengunduh kode, dan memulai lingkungan eksekusi.

Cold start terjadi ketika permintaan tiba dan Function Compute tidak memiliki instans yang sedang berjalan untuk memprosesnya. Sistem kemudian harus membuat instans, mengunduh kode, dan memulai runtime. Permintaan yang melalui proses lengkap ini disebut permintaan cold start.

Untuk mengurangi cold start, Function Compute membuat instans secara proaktif. Jika permintaan diproses oleh instans yang telah dibuat sebelumnya selama proses pembuatan, permintaan tersebut tidak dianggap sebagai cold start.

false

Ya

instanceEvent

Event instans. Saat ini, hanya ColdStart yang dicatat untuk permintaan cold start.

ColdStart

Tidak

hasFunctionError

Menunjukkan apakah terjadi error fungsi selama eksekusi.

false

Ya

errorType

Terdapat tiga jenis error fungsi:

  • FunctionOOMError: Terjadi error kehabisan memori (OOM).

  • FunctionTimeoutError: Eksekusi melebihi batas waktu.

  • FunctionUnhandledError: Terjadi pengecualian yang tidak ditangani.

FunctionUnhandledError

Tidak. Metrik ini hanya dicatat ketika terjadi error fungsi, artinya hasFunctionError:true.

invokeFunctionLatencyMs

Durasi eksekusi fungsi.

99,00

Ya. Metrik ini dicatat untuk setiap pemanggilan.

traceContext

Informasi konteks jejak.

371d3ff242fcee9:371d3ff242fcee9:0:1

Tidak. Metrik ini hanya dicatat ketika Analisis Tracing dikonfigurasi.

isSampled

Menunjukkan apakah permintaan di-sampling oleh Analisis Tracing.

true

Tidak. Metrik ini hanya dicatat ketika Analisis Tracing dikonfigurasi.

resourceMode

Jenis instans yang memproses permintaan. Nilai yang valid:

  • OnDemand: instans sesuai permintaan.

  • Provision: instans yang disediakan.

OnDemand

Ya

instanceID

ID instans.

c-65603d8c-37e1bf7123054a77****

Ya

hostname

Host instans.

c-65603d8c-37e1bf7123054a77****

Ya

ipAddress

Alamat IP instans.

Catatan: Ini adalah alamat IP internal instans yang digunakan untuk membedakan instans. Bukan alamat IP publik.

21.0.XX.XX

Ya

activeInstances

Jumlah instans aktif.

1

Ya

activeInstancesPerFunction

Jumlah instans aktif untuk fungsi saat ini.

1

Ya

scheduleLatencyMs

Durasi penjadwalan. Latensi penjadwalan relatif lama untuk cold start.

10,07

Ya

coldStartStartTimestamp

Timestamp saat cold start dimulai.

1700806029167

Tidak. Metrik ini hanya dicatat untuk cold start.

coldStartLatencyMs

Durasi cold start.

487,65

Tidak. Metrik ini hanya dicatat untuk cold start.

prepareCodeStartTimestamp

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

1700806029167

Tidak. Metrik ini hanya dicatat untuk cold start.

prepareCodeLatencyMs

Durasi pengunduhan kode.

0,18

Tidak. Metrik ini hanya dicatat untuk cold start.

runtimeInitializationStartTimestamp

Timestamp saat inisialisasi runtime dimulai.

1700806029168

Tidak. Metrik ini hanya dicatat untuk cold start.

runtimeInitializationMs

Durasi inisialisasi runtime.

487,37

Tidak. Metrik ini hanya dicatat untuk cold start.

asyncAttemptStartTimestamp

Secara default, pemanggilan asinkron akan diulang tiga kali jika gagal

Parameter ini adalah timestamp awal upaya retry ke-${retryCount}.

1700806028084

Tidak. Metrik ini hanya dicatat untuk pemanggilan asinkron.

asyncAttemptLatencyMs

Secara default, pemanggilan asinkron akan diulang tiga kali jika gagal

Parameter ini adalah durasi upaya retry ke-${retryCount}.

1688,74

Tidak. Metrik ini hanya dicatat untuk pemanggilan asinkron.

asyncMode

Mode pemanggilan asinkron. Nilai yang valid:

  • Stateless: pemanggilan asinkron tanpa status

  • Stateful: pemanggilan asinkron stateful

Stateful

Tidak. Metrik ini hanya dicatat untuk pemanggilan asinkron.

retryCount

Jumlah retry.

0

Tidak. Metrik ini hanya dicatat untuk pemanggilan asinkron.

Mengambil log

Indeks diperlukan untuk melakukan kueri log. Konsol Function Compute secara otomatis mengonfigurasi indeks untuk Anda. Setelah indeks dikonfigurasi, Anda dapat menggunakan pernyataan SQL di Logstore terkait di Konsol Simple Log Service untuk mengambil dan memfilter permintaan. Anda dapat menentukan topik untuk membatasi cakupan pencarian hanya pada log metrik tingkat permintaan.

Sebagai contoh, untuk mengkueri daftar permintaan dengan durasi eksekusi lebih dari 1 detik, gunakan pernyataan SQL berikut.

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

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

Buat dashboard kustom

Jika Anda ingin membuat grafik dengan t sebagai sumbu x dan nilai metrik sebagai sumbu y, Anda dapat menggunakan pernyataan SQL berikut.

__topic__: "FCRequestMetrics:/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 dashboard kustom, lihat Buat dashboard.