Skip to main content
Time Range Blueprint skickar en usage event till Dodo Payments med hur länge en resurs kördes för en kund, i millisekunder, sekunder eller minuter. En Sum-mätare över denna tidslängd summerar varje kunds runtime, så att du kan debitera för compute-tid. Blueprinten levereras i npm-paketet @dodopayments/ingestion-blueprints som trackTimeRange().

Användningsområden

Time Range Blueprint passar för följande scenarier:

Serverless Functions

Debitera baserat på function execution time och memory usage.

Container Runtime

Spåra containers körtid för usage-based billing.

Compute Instances

Övervaka VM-runtime och debitera per minut eller timme.

Background Jobs

Spåra processing time för dataexporter, rapporter och batchjobb.
Använd den för att debitera för compute-tid, function execution duration, container runtime eller annan tidsbaserad användning.

Snabbstart

För att spåra runtime installerar du paketet, skapar en mätare och skickar tidslängden varje gång en resurs slutar köra.
1

Install the SDK

Installera paketet Dodo Payments Ingestion Blueprints:
2

Get Your API Keys

Skapa en Dodo Payments API key under Developer → API Keys i Dodo Payments dashboard och spara den i miljövariabeln DODO_PAYMENTS_API_KEY. Använd en test mode key medan du bygger. En test mode key fungerar endast med test_mode.
3

Create a Meter

I Dodo Payments dashboard går du till Products → Meters och klickar på Create Meter. Ange följande fält:
  • Meter Name: ett beskrivande namn, till exempel Compute Time.
  • Event Name: time_range_usage eller ett namn du väljer. Det måste exakt matcha eventName i din kod (skiftlägeskänsligt). Exemplen i nästa steg använder ett separat event name för varje resurstyp, till exempel function_execution, så varje resurstyp behöver en egen mätare.
  • Aggregation Type: Sum, för att summera den totala tidslängden.
  • Over Property: den duration key du skickar: durationSeconds, durationMinutes eller durationMs.
  • Measurement Unit: enheten som visas på fakturor, till exempel seconds.
4

Track Time Usage

Mät hur länge arbetet kördes och anropa sedan trackTimeRange() med tidslängden i den enhet som din mätare använder:

Konfiguration

Ingestion-konfiguration

Skicka följande alternativ till new Ingestion():
string
obligatorisk
Din Dodo Payments API key från dashboarden.
string
Environment mode: test_mode eller live_mode. Standardvärdet är test_mode. Dodo Payments SDKs använder däremot som standard live_mode, så ange live_mode explicit i production.
string
obligatorisk
Event name som matchar mätarens Event Name (skiftlägeskänsligt).

Alternativ för Track Time Range

Skicka följande alternativ till trackTimeRange(). Varje duration du skickar skickas som en metadata key med samma namn.
string
obligatorisk
Dodo Payments customer ID som ska debiteras för runtime, till exempel cus_123.
number
Tidslängd i millisekunder. Använd detta för sub-second precision.
number
Tidslängd i sekunder. Vanligast för function execution och korta uppgifter.
number
Tidslängd i minuter. Användbart för resurser som körs längre, till exempel VM:er.
object
Valfri metadata om resursen, till exempel CPU, minne eller region. Varje värde måste vara en sträng, ett tal eller ett booleskt värde.

Bästa praxis

Välj rätt enhet: Använd millisekunder för korta operationer, sekunder för functions och minuter för resurser som körs längre.
En mätare summerar endast den key som anges av dess Over Property, så skicka tidslängden i samma enhet varje gång.
Noggrann tidsmätning: Använd Date.now() eller performance.now() för noggrann tidsspårning, särskilt för serverless functions.
Senast ändrad 26 september 2026