全部产品
Search
文档中心

Function Compute:Log metrik tingkat permintaan

更新时间:Nov 11, 2025

Metrik tingkat permintaan memberikan wawasan mendetail mengenai setiap pemanggilan fungsi dan membantu Anda memantau status eksekusi fungsi. Anda dapat menggunakan metrik ini untuk mengidentifikasi dan melokalisasi masalah secara cepat, menganalisis hambatan aplikasi, serta mengelola dan mengoptimalkan aplikasi fungsi Anda dengan lebih baik.

Apa itu metrik tingkat permintaan

Metrik tingkat permintaan merangkum status eksekusi suatu fungsi pada tingkat permintaan. Saat Anda mengaktifkan fitur ini, sistem akan mengumpulkan metrik untuk setiap eksekusi fungsi—seperti metrik kinerja, pengecualian, dan tracing—lalu mengirimkannya ke Logstore yang Anda tentukan dalam konfigurasi log.

  • Metrik kinerja: penggunaan memori, waktu eksekusi fungsi, waktu inisialisasi, dan informasi cold start.

  • Metrik pengecualian: kegagalan eksekusi dan detail kesalahan.

  • Metrik tracing: waktu eksekusi tautan sistem utama, status pengambilan sampel dari tracing terintegrasi, serta detail untuk fungsi HTTP seperti path, kode status, dan alamat IP klien.

Saat Anda mengaktifkan metrik tingkat permintaan, Function Compute mengirimkan metrik eksekusi untuk setiap permintaan ke Logstore Anda. Gambar berikut menunjukkan contohnya.

image

Skenario

  • Lihat detail eksekusi fungsi, metrik kinerja, dan pesan kesalahan.

    Konsol menampilkan daftar permintaan berdasarkan metrik tingkat permintaan. Pada halaman ini, Anda dapat melihat detail setiap permintaan, termasuk status eksekusi, ID instans, waktu eksekusi, penggunaan memori, dan log permintaan. Gambar berikut menunjukkan contohnya.

    image

    Catatan

    Anda tetap dapat melihat daftar permintaan meskipun metrik tingkat permintaan dinonaktifkan. 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. Masalah ini sering terjadi dalam skenario pengulangan (retry) untuk pemanggilan asinkron.

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

  • Lakukan pencarian kustom dan buat dasbor kustom.

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

Catatan

  • Cakupan

    Pencatatan metrik tingkat permintaan adalah konfigurasi tingkat fungsi. Setelah diaktifkan, konfigurasi ini berlaku hanya untuk fungsi tersebut, dan log dicatat untuk setiap eksekusi fungsi.

  • Harga

    Biaya penyimpanan log dikenakan saat log dikirimkan ke Simple Log Service (SLS). Untuk informasi selengkapnya mengenai harga SLS, lihat Harga.

Mengaktifkan metrik tingkat permintaan

Mengaktifkan metrik tingkat permintaan di konsol

Prasyarat

Prosedur

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

  2. Di bilah navigasi atas, pilih wilayah. Pada halaman Functions, klik fungsi yang ingin dikelola.

  3. Pada halaman detail fungsi, klik tab Configurations.

  4. Temukan Advanced Configuration dan klik Edit. Di panel Advanced Configuration, temukan area Log, aktifkan instance-level metrics, lalu klik Deploy.

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

    Parameter

    Deskripsi

    Contoh

    Logging

    Menentukan apakah log pemanggilan fungsi disimpan di Simple Log Service (SLS). Untuk informasi selengkapnya tentang fitur logging, lihat Mengonfigurasi logging.

    Aktifkan

    Project

    Pilih proyek yang telah dikonfigurasi.

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

    Penyimpanan Log

    Pilih Logstore yang telah dikonfigurasi.

    function-log

    Log Segmentation Rule

    Menentukan apakah aturan segmentasi log diaktifkan. Jika diaktifkan, Function Compute membagi log menjadi beberapa segmen sesuai aturan dan menuliskannya ke Simple Log Service satu per satu.

    Aktifkan

    Request-level Metrics

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

    Aktifkan

    Instance-level Metrics

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

    Aktifkan

Mengaktifkan metrik tingkat permintaan menggunakan Serverless Devs

Prasyarat

Instal dan konfigurasi Serverless Devs

Prosedur

  1. Buat direktori kode. Contoh struktur direktori sebagai berikut:

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

    Kode berikut memberikan contoh file s.yaml:

    Dalam contoh ini, field enableRequestMetrics digunakan untuk mengaktifkan metrik tingkat permintaan. Sebelum mengaktifkan fitur ini, Anda harus mengaktifkan logging dan mengatur field logstore dan 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 nilai logstore dan project menjadi Logstore dan proyek 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. Setelah Anda mengaktifkan fitur ini, sistem akan mengumpulkan metrik untuk setiap eksekusi fungsi.
            logBeginRule: DefaultRegex
            logstore: 'your-logstore'
            project: 'your-project'
  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 fungsi tersebut.

Log kueri

Format log

Topik log metrik tingkat permintaan mengikuti format: FCRequestMetrics:/functionName. Anda dapat menggunakan pernyataan kueri __topic__: "FCRequestMetrics:/functionName" di SLS untuk memfilter semua log metrik tingkat permintaan. Untuk informasi selengkapnya, lihat Panduan cepat untuk kueri dan analisis log.

Bidang metrik

Metrik tingkat permintaan mencakup bidang-bidang berikut.

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

Waktu eksekusi permintaan.

20,20

Ya

isColdStart

Menunjukkan apakah permintaan merupakan cold start.

Catatan

Ketika permintaan tiba di Function Compute, jika tidak tersedia instans fungsi yang sedang berjalan untuk memproses permintaan tersebut, sistem perlu membuat instans, mengunduh kode, dan memulai lingkungan eksekusi.

Permintaan yang melewati proses lengkap pembuatan instans, pengunduhan kode, dan startup lingkungan dalam siklus hidupnya disebut permintaan cold start.

Platform Function Compute memiliki banyak optimasi untuk mengurangi cold start. Untuk menghindari cold start, platform membuat instans terlebih dahulu. Ketika permintaan tiba, permintaan tersebut mungkin diproses oleh instans yang sudah dibuat selama proses pembuatan instans. Permintaan semacam ini tidak dianggap sebagai permintaan cold start.

false

Ya

instanceEvent

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

ColdStart

Tidak

hasFunctionError

Menunjukkan apakah terjadi kesalahan fungsi selama eksekusi fungsi.

false

Ya

errorType

Jenis kesalahan fungsi. Nilai valid:

  • FunctionOOMError: Memori habis.

  • FunctionTimeoutError: Eksekusi waktu habis.

  • FunctionUnhandledError: Pengecualian lain yang tidak ditangani.

FunctionUnhandledError

Tidak. Metrik ini hanya dicatat ketika terjadi kesalahan fungsi, yaitu ketika hasFunctionError:true.

invokeFunctionLatencyMs

Waktu eksekusi fungsi.

99,00

Ya. Metrik ini selalu dicatat.

traceContext

Informasi konteks jejak.

371d3ff242fcee9:371d3ff242fcee9:0:1

Tidak. Metrik ini hanya dicatat ketika tracing dikonfigurasi.

isSampled

Menunjukkan apakah permintaan diambil sampelnya oleh Analisis Tracing.

true

Tidak. Metrik ini hanya dicatat ketika tracing dikonfigurasi.

resourceMode

Jenis instans yang memproses permintaan. Nilai yang valid:

  • OnDemand: instans sesuai permintaan.

  • Provision: instans yang disediakan.

OnDemand

Ya

instanceID

ID instance.

c-65603d8c-37e1bf7123054a77****

Ya

hostname

Host instance.

c-65603d8c-37e1bf7123054a77****

Ya

ipAddress

Alamat IP instance.

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

21.0.XX.XX

Ya

activeInstances

Jumlah instance aktif.

1

Ya

activeInstancesPerFunction

Jumlah instans aktif untuk fungsi saat ini.

1

Ya

scheduleLatencyMs

Latensi penjadwalan. Latensi penjadwalan relatif lama untuk permintaan cold start.

10,07

Ya

coldStartStartTimestamp

Stempel waktu UNIX saat cold start dimulai.

1700806029167

Tidak. Metrik ini hanya dicatat ketika cold start terjadi.

coldStartLatencyMs

Latensi cold start.

487,65

Tidak. Metrik ini hanya dicatat ketika cold start terjadi.

prepareCodeStartTimestamp

Stempel waktu UNIX saat pengunduhan kode dimulai. Ini adalah stempel waktu 13 digit yang akurat hingga milidetik.

1700806029167

Tidak. Metrik ini hanya dicatat ketika cold start terjadi.

prepareCodeLatencyMs

Waktu yang dibutuhkan untuk mengunduh kode.

0,18

Tidak. Metrik ini hanya dicatat ketika cold start terjadi.

runtimeInitializationStartTimestamp

Stempel waktu UNIX saat inisialisasi runtime dimulai.

1700806029168

Tidak. Metrik ini hanya dicatat ketika cold start terjadi.

runtimeInitializationMs

Waktu yang dibutuhkan untuk menginisialisasi runtime.

487,37

Tidak. Metrik ini hanya dicatat ketika cold start terjadi.

asyncAttemptStartTimestamp

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

Parameter ini adalah stempel waktu awal percobaan ulang ke-${retryCount}.

1700806028084

Tidak. Metrik ini hanya dicatat untuk pemanggilan asinkron.

asyncAttemptLatencyMs

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

Parameter ini adalah durasi percobaan ulang 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 percobaan ulang.

0

Tidak. Metrik ini hanya dicatat untuk pemanggilan asinkron.

Mengambil log

Anda harus mengonfigurasi indeks untuk mengambil log. Konsol Function Compute secara otomatis mengonfigurasi indeks yang diperlukan untuk Anda. Setelah indeks dikonfigurasi, Anda dapat menjalankan pernyataan SQL di Logstore yang sesuai di Konsol SLS untuk mengambil dan memfilter log permintaan. Anda dapat menentukan topik untuk membatasi cakupan pencarian hanya pada log metrik tingkat permintaan.

Sebagai contoh, untuk mengkueri permintaan yang waktu eksekusinya melebihi 1 detik, Anda dapat menjalankan pernyataan SQL berikut:

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

Untuk informasi lebih lanjut tentang sintaks kueri kompleks, lihat Panduan kueri dan analisis log.

Buat dasbor kustom

Jika Anda ingin membuat grafik dengan sumbu-x merepresentasikan waktu (t) dan sumbu-y merepresentasikan nilai metrik, Anda dapat menjalankan 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 dasbor kustom, lihat Membuat dasbor.