Zum Hauptinhalt springen

Anwendungsfälle

Erforschen Sie gängige Szenarien, die vom Zeitbereich-Blueprint unterstützt werden:

Serverless Functions

Abrechnung basierend auf der Ausführungszeit von Funktionen und deren Speichernutzung.

Container Runtime

Verfolgen Sie die Laufzeit von Containern für nutzungsbasierte Abrechnung.

Compute Instances

Überwachen Sie die Laufzeit von VMs und berechnen Sie pro Minute oder Stunde.

Background Jobs

Verfolgen Sie die Verarbeitungszeit für Datenexporte, Berichte und Batch-Jobs.
Perfekt für die Abrechnung nach Rechnerzeit, Funktionsausführungsdauer, Containernutzungszeit oder jeder anderen zeitbasierten Nutzung.

Schnellstart

Verfolgen Sie die Ressourcennutzung nach Zeitdauer:
1

Install the SDK

npm install @dodopayments/ingestion-blueprints
2

Get Your API Keys

3

Create a Meter

Erstellen Sie einen Zähler in Ihrem Dodo Payments Dashboard:
  • Event Name: time_range_usage (oder Ihren bevorzugten Namen)
  • Aggregation Type: sum, um die Gesamtdauer zu verfolgen
  • Over Property: durationSeconds, durationMinutes oder durationMs
4

Track Time Usage

import { Ingestion, trackTimeRange } from '@dodopayments/ingestion-blueprints';

const ingestion = new Ingestion({
  apiKey: process.env.DODO_PAYMENTS_API_KEY,
  environment: 'test_mode',
  eventName: 'function_execution'
});

// Track function execution time
const startTime = Date.now();

// Execute your function (example: image processing)
const result = await yourImageProcessingLogic();

const durationMs = Date.now() - startTime;

await trackTimeRange(ingestion, {
  customerId: 'customer_123',
  durationMs: durationMs
});

Konfiguration

Eingabekonfiguration

apiKey
string
erforderlich
Ihr Dodo Payments API-Schlüssel aus dem Dashboard.
environment
string
erforderlich
Umgebungsmodus: test_mode oder live_mode.
eventName
string
erforderlich
Ereignisname, der mit Ihrer Zählerkonfiguration übereinstimmt.

Zeitbereich-Optionen verfolgen

customerId
string
erforderlich
Die Kunden-ID für die Abrechnungszuordnung.
durationMs
number
Dauer in Millisekunden. Verwenden Sie diese für Unter-Sekunden-Präzision.
durationSeconds
number
Dauer in Sekunden. Am häufigsten für Funktionsausführungen und kurze Aufgaben.
durationMinutes
number
Dauer in Minuten. Nützlich für länger laufende Ressourcen wie VMs.
metadata
object
Optionale Metadaten zur Ressource wie CPU, Speicher, Region usw.

Best Practices

Wählen Sie die richtige Einheit: Verwenden Sie Millisekunden für kurze Vorgänge, Sekunden für Funktionen und Minuten für länger laufende Ressourcen.
Genaues Timing: Verwenden Sie Date.now() oder performance.now() für eine präzise Zeiterfassung, insbesondere bei Serverless-Funktionen.