Zum Hauptinhalt springen

Anwendungsfälle

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

Serverlose Funktionen

Abrechnung basierend auf der Ausführungszeit der Funktion und dem Speicherverbrauch.

Containerlaufzeit

Verfolgen Sie die Laufzeit des Containers für eine nutzungsbasierte Abrechnung.

Compute-Instanzen

Überwachen Sie die VM-Laufzeit und berechnen Sie nach Minute oder Stunde.

Hintergrundjobs

Verfolgen Sie die Verarbeitungszeit für Datenexporte, Berichte und Batch-Jobs.
Perfekt für die Abrechnung basierend auf Rechenzeit, Ausführungsdauer von Funktionen, Containerlaufzeit oder jeglicher zeitbasierter Nutzung.

Schnellstart

Verfolgen Sie die Ressourcennutzung nach Zeitdauer:
1

SDK installieren

npm install @dodopayments/ingestion-blueprints
2

Holen Sie sich Ihre API-Schlüssel

3

Erstellen Sie ein Messgerät

Erstellen Sie ein Messgerät in Ihrem Dodo Payments Dashboard:
  • Ereignisname: time_range_usage (oder Ihr bevorzugter Name)
  • Aggregationsart: sum zur Verfolgung der Gesamtdauer
  • Über Eigenschaft: durationSeconds, durationMinutes oder durationMs
4

Zeitnutzung verfolgen

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
required
Ihr Dodo Payments API-Schlüssel aus dem Dashboard.
environment
string
required
Umgebungsmodus: test_mode oder live_mode.
eventName
string
required
Ereignisname, der mit Ihrer Messgerätkonfiguration übereinstimmt.

Zeitbereich-Optionen verfolgen

customerId
string
required
Die Kunden-ID für die Abrechnungszuordnung.
durationMs
number
Dauer in Millisekunden. Verwenden Sie dies für Untersekundenpräzision.
durationSeconds
number
Dauer in Sekunden. Am häufigsten für die Ausführung von Funktionen und kurze Aufgaben.
durationMinutes
number
Dauer in Minuten. Nützlich für länger laufende Ressourcen wie VMs.
metadata
object
Optionale Metadaten über die Ressource wie CPU, Speicher, Region usw.

Best Practices

Wählen Sie die richtige Einheit: Verwenden Sie Millisekunden für kurze Operationen, Sekunden für Funktionen und Minuten für länger laufende Ressourcen.
Genaues Timing: Verwenden Sie Date.now() oder performance.now() für eine genaue Zeitverfolgung, insbesondere für serverlose Funktionen.