Skip to main content
Das Time Range Blueprint sendet ein Nutzungsereignis an Dodo Payments mit der Dauer, die eine Ressource für einen Kunden ausgeführt wurde, in Millisekunden, Sekunden oder Minuten. Ein Sum-Meter über diese Dauer addiert die Laufzeit jedes Kunden, sodass du Compute-Zeit abrechnen kannst. Das Blueprint ist im npm-Paket @dodopayments/ingestion-blueprints als trackTimeRange() enthalten.

Anwendungsfälle

Das Time Range Blueprint eignet sich für folgende Szenarien:

Serverless Functions

Abrechnung auf Grundlage der Funktionsausführungszeit und des Speicherverbrauchs.

Container Runtime

Verfolge die Laufzeit von Containern für eine nutzungsbasierte Abrechnung.

Compute Instances

Überwache die Laufzeit von VMs und rechne minutengenau oder stundenweise ab.

Background Jobs

Verfolge die Verarbeitungszeit für Datenexporte, Berichte und Batch-Jobs.
Verwende es, um Compute-Zeit, die Dauer von Funktionsausführungen, die Laufzeit von Containern oder jede andere zeitbasierte Nutzung abzurechnen.

Schnellstart

Um die Laufzeit zu verfolgen, installiere das Paket, erstelle ein Meter und sende die Dauer jedes Mal, wenn die Ausführung einer Ressource abgeschlossen ist.
1

Install the SDK

Installiere das Dodo Payments Ingestion Blueprints-Paket:
2

Get Your API Keys

Erstelle unter Developer → API Keys im Dodo Payments-Dashboard einen Dodo Payments API-Schlüssel und speichere ihn in der Umgebungsvariable DODO_PAYMENTS_API_KEY. Verwende während der Entwicklung einen Testmodus-Schlüssel. Ein Testmodus-Schlüssel funktioniert nur mit test_mode.
3

Create a Meter

Öffne im Dodo Payments-Dashboard Products → Meters und klicke auf Create Meter. Lege diese Felder fest:
  • Meter Name: ein beschreibender Name, zum Beispiel Compute Time.
  • Event Name: time_range_usage oder ein von dir gewählter Name. Er muss in deinem Code exakt mit eventName übereinstimmen (Groß-/Kleinschreibung beachten). Die Beispiele im nächsten Schritt verwenden für jeden Ressourcentyp einen eigenen Ereignisnamen, zum Beispiel function_execution. Daher benötigt jeder einen eigenen Meter.
  • Aggregation Type: Sum, um die Gesamtdauer zu addieren.
  • Over Property: der von dir gesendete Dauer-Schlüssel: durationSeconds, durationMinutes oder durationMs.
  • Measurement Unit: die auf Rechnungen angezeigte Einheit, zum Beispiel seconds.
4

Track Time Usage

Miss, wie lange die Arbeit ausgeführt wurde, und rufe anschließend trackTimeRange() mit der Dauer in der von deinem Meter verwendeten Einheit auf:

Konfiguration

Ingestion-Konfiguration

Übergib diese Optionen an new Ingestion():
string
erforderlich
Dein Dodo Payments API-Schlüssel aus dem Dashboard.
string
Umgebungsmodus: test_mode oder live_mode. Der Standardwert ist test_mode. Die Dodo Payments SDKs verwenden standardmäßig stattdessen live_mode. Lege daher in der Produktion live_mode explizit fest.
string
erforderlich
Ereignisname, der mit dem Event Name deines Meters übereinstimmt (Groß-/Kleinschreibung beachten).

Optionen für Time Range verfolgen

Übergib diese Optionen an trackTimeRange(). Jede übergebene Dauer wird als Metadatenschlüssel mit demselben Namen gesendet.
string
erforderlich
Die Dodo Payments-Kunden-ID, der die Laufzeit in Rechnung gestellt werden soll, zum Beispiel cus_123.
number
Dauer in Millisekunden. Verwende dies für eine Genauigkeit im Subsekundenbereich.
number
Dauer in Sekunden. Dies ist bei Funktionsausführungen und kurzen Aufgaben am üblichsten.
number
Dauer in Minuten. Nützlich für länger laufende Ressourcen wie VMs.
object
Optionale Metadaten zur Ressource, zum Beispiel CPU, Arbeitsspeicher oder Region. Jeder Wert muss ein String, eine Zahl oder ein Boolean sein.

Best Practices

Die richtige Einheit wählen: Verwende Millisekunden für kurze Vorgänge, Sekunden für Funktionen und Minuten für länger laufende Ressourcen.
Ein Meter summiert nur den Schlüssel, den seine Over Property angibt. Sende daher jedes Mal die Dauer in derselben Einheit.
Genaue Zeitmessung: Verwende Date.now() oder performance.now() für eine genaue Zeitverfolgung, insbesondere bei serverlosen Funktionen.
Zuletzt geändert am 26. September 2026