Skip to main content
Time Range Blueprint mengirimkan usage event ke Dodo Payments yang berisi durasi resource berjalan untuk pelanggan, dalam milidetik, detik, atau menit. Meter Sum atas durasi tersebut menjumlahkan runtime setiap pelanggan, sehingga Anda dapat menagih berdasarkan compute time. Blueprint ini tersedia dalam package npm @dodopayments/ingestion-blueprints sebagai trackTimeRange().

Use Cases

Time Range Blueprint cocok untuk skenario berikut:

Serverless Functions

Tagih berdasarkan waktu eksekusi fungsi dan penggunaan memori.

Container Runtime

Lacak waktu container berjalan untuk penagihan berbasis penggunaan.

Compute Instances

Pantau runtime VM dan kenakan biaya per menit atau jam.

Background Jobs

Lacak waktu pemrosesan untuk ekspor data, laporan, dan batch job.
Gunakan untuk menagih compute time, durasi eksekusi fungsi, runtime container, atau penggunaan berbasis waktu lainnya.

Quick Start

Untuk melacak runtime, instal package, buat meter, dan kirim durasi setiap kali resource selesai berjalan.
1

Install the SDK

Instal package Dodo Payments Ingestion Blueprints:
2

Get Your API Keys

Buat API key Dodo Payments di Developer → API Keys pada dashboard Dodo Payments, lalu simpan di environment variable DODO_PAYMENTS_API_KEY. Gunakan test mode key selama proses pengembangan. Test mode key hanya berfungsi dengan test_mode.
3

Create a Meter

Di dashboard Dodo Payments, buka Products → Meters lalu klik Create Meter. Isi field berikut:
  • Meter Name: nama deskriptif, seperti Compute Time.
  • Event Name: time_range_usage, atau nama yang Anda pilih. Nama ini harus sama persis dengan eventName di code Anda (case-sensitive). Contoh pada langkah berikutnya menggunakan event name terpisah untuk setiap resource type, seperti function_execution, sehingga masing-masing memerlukan meter sendiri.
  • Aggregation Type: Sum, untuk menjumlahkan total durasi.
  • Over Property: key durasi yang Anda kirim: durationSeconds, durationMinutes, atau durationMs.
  • Measurement Unit: unit yang ditampilkan pada invoice, seperti seconds.
4

Track Time Usage

Ukur berapa lama pekerjaan berjalan, lalu panggil trackTimeRange() dengan durasi dalam unit yang digunakan meter Anda:

Configuration

Ingestion Configuration

Teruskan opsi berikut ke new Ingestion():
string
wajib
API key Dodo Payments Anda dari dashboard.
string
Mode environment: test_mode atau live_mode. Default-nya adalah test_mode. Dodo Payments SDKs secara default menggunakan live_mode, jadi tetapkan live_mode secara eksplisit di production.
string
wajib
Event name yang sesuai dengan Event Name pada meter Anda (case-sensitive).

Track Time Range Options

Teruskan opsi berikut ke trackTimeRange(). Setiap durasi yang Anda teruskan dikirim sebagai metadata key dengan nama yang sama.
string
wajib
ID pelanggan Dodo Payments yang akan ditagih untuk runtime, misalnya cus_123.
number
Durasi dalam milidetik. Gunakan untuk presisi di bawah satu detik.
number
Durasi dalam detik. Paling umum digunakan untuk eksekusi fungsi dan tugas singkat.
number
Durasi dalam menit. Berguna untuk resource yang berjalan lebih lama seperti VM.
object
Metadata opsional tentang resource, seperti CPU, memori, atau region. Setiap value harus berupa string, number, atau boolean.

Best Practices

Choose the Right Unit: Gunakan milidetik untuk operasi singkat, detik untuk fungsi, dan menit untuk resource yang berjalan lebih lama.
Meter hanya menjumlahkan key yang disebutkan oleh Over Property, jadi kirim durasi dalam unit yang sama setiap kali.
Accurate Timing: Gunakan Date.now() atau performance.now() untuk pelacakan waktu yang akurat, terutama untuk fungsi serverless.
Terakhir diubah pada 26 September 2026