Passer au contenu principal

Cas d’Utilisation

Explorez les scénarios courants pris en charge par le Modèle de Plage Horaire :

Serverless Functions

Facturez en fonction du temps d’exécution des fonctions et de l’utilisation de la mémoire.

Container Runtime

Suivez le temps d’exécution des conteneurs pour la facturation à l’utilisation.

Compute Instances

Surveillez le temps d’exécution des VM et facturez à la minute ou à l’heure.

Background Jobs

Suivez le temps de traitement des exportations de données, rapports et tâches par lots.
Parfait pour la facturation basée sur le temps de calcul, la durée d’exécution des fonctions, le temps d’exécution des conteneurs ou toute utilisation basée sur la durée.

Démarrage Rapide

Suivez l’utilisation des ressources par durée :
1

Install the SDK

npm install @dodopayments/ingestion-blueprints
2

Get Your API Keys

3

Create a Meter

Créez un compteur dans votre Dodo Payments Dashboard:
  • Event Name : time_range_usage (ou le nom de votre choix)
  • Aggregation Type : sum pour suivre la durée totale
  • Over Property : durationSeconds, durationMinutes ou 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
});

Configuration

Configuration d’Ingestion

apiKey
string
requis
Votre clé API Dodo Payments depuis le tableau de bord.
environment
string
requis
Mode d’environnement : test_mode ou live_mode.
eventName
string
requis
Nom de l’événement correspondant à la configuration de votre compteur.

Options de Suivi de Plage Horaire

customerId
string
requis
L’ID client pour l’attribution de facturation.
durationMs
number
Durée en millisecondes. À utiliser pour une précision sub-seconde.
durationSeconds
number
Durée en secondes. Le plus courant pour l’exécution de fonctions et les tâches courtes.
durationMinutes
number
Durée en minutes. Utile pour les ressources de longue durée comme les VM.
metadata
object
Métadonnées facultatives sur la ressource telles que CPU, mémoire, région, etc.

Meilleures Pratiques

Choisissez la bonne unité : utilisez les millisecondes pour les opérations courtes, les secondes pour les fonctions et les minutes pour les ressources de longue durée.
Chronométrage précis : utilisez Date.now() ou performance.now() pour un suivi temporel précis, en particulier pour les fonctions serverless.