Skip to main content
El Time Range Blueprint envía un evento de uso a Dodo Payments con el tiempo que un recurso estuvo ejecutándose para un cliente, en milisegundos, segundos o minutos. Un medidor de tipo Sum sobre esa duración suma el tiempo de ejecución de cada cliente, para que puedas facturar por el tiempo de cómputo. El blueprint se incluye en el paquete npm @dodopayments/ingestion-blueprints como trackTimeRange().

Casos de uso

El Time Range Blueprint se adapta a estos escenarios:

Serverless Functions

Facturar según el tiempo de ejecución y el uso de memoria de las funciones.

Container Runtime

Realizar un seguimiento del tiempo de ejecución de los contenedores para la facturación basada en el uso.

Compute Instances

Supervisar el tiempo de ejecución de las VM y cobrar por minuto o por hora.

Background Jobs

Realizar un seguimiento del tiempo de procesamiento de exportaciones de datos, informes y trabajos por lotes.
Úsalo para facturar por el tiempo de cómputo, la duración de ejecución de funciones, el tiempo de ejecución de contenedores o cualquier otro uso basado en el tiempo.

Inicio rápido

Para realizar un seguimiento del tiempo de ejecución, instala el paquete, crea un medidor y envía la duración cada vez que un recurso termine de ejecutarse.
1

Install the SDK

Instala el paquete Dodo Payments Ingestion Blueprints:
2

Get Your API Keys

Crea una clave de API de Dodo Payments en Developer → API Keys en el panel de Dodo Payments y guárdala en la variable de entorno DODO_PAYMENTS_API_KEY. Usa una clave de modo de prueba mientras desarrollas. Una clave de modo de prueba solo funciona con test_mode.
3

Create a Meter

En el panel de Dodo Payments, ve a Products → Meters y haz clic en Create Meter. Configura estos campos:
  • Meter Name: un nombre descriptivo, como Compute Time.
  • Event Name: time_range_usage o un nombre que elijas. Debe coincidir exactamente con eventName en tu código (distingue entre mayúsculas y minúsculas). Los ejemplos del siguiente paso usan un nombre de evento independiente para cada tipo de recurso, como function_execution, por lo que cada uno necesita su propio medidor.
  • Aggregation Type: Sum, para sumar la duración total.
  • Over Property: la clave de duración que envías: durationSeconds, durationMinutes o durationMs.
  • Measurement Unit: la unidad que se muestra en las facturas, como seconds.
4

Track Time Usage

Mide cuánto tiempo se ejecutó el trabajo y, después, llama a trackTimeRange() con la duración en la unidad que usa tu medidor:

Configuración

Configuración de ingesta

Pasa estas opciones a new Ingestion():
string
requerido
Tu clave de API de Dodo Payments del panel.
string
Modo de entorno: test_mode o live_mode. El valor predeterminado es test_mode. En cambio, los SDK de Dodo Payments usan live_mode de forma predeterminada, por lo que debes establecer live_mode explícitamente en producción.
string
requerido
Nombre del evento que coincide con el Event Name de tu medidor (distingue entre mayúsculas y minúsculas).

Opciones de seguimiento del intervalo de tiempo

Pasa estas opciones a trackTimeRange(). Cada duración que pases se envía como una clave de metadatos con el mismo nombre.
string
requerido
El ID de cliente de Dodo Payments al que se facturará el tiempo de ejecución, por ejemplo, cus_123.
number
Duración en milisegundos. Úsala para obtener precisión inferior a un segundo.
number
Duración en segundos. Es lo más habitual para la ejecución de funciones y las tareas cortas.
number
Duración en minutos. Es útil para recursos de ejecución prolongada, como las VM.
object
Metadatos opcionales sobre el recurso, como CPU, memoria o región. Cada valor debe ser una cadena, un número o un booleano.

Prácticas recomendadas

Elige la unidad adecuada: usa milisegundos para operaciones cortas, segundos para funciones y minutos para recursos de ejecución prolongada.
Un medidor solo suma la clave que se indica en Over Property, por lo que debes enviar la duración siempre en la misma unidad.
Medición precisa del tiempo: usa Date.now() o performance.now() para realizar un seguimiento preciso del tiempo, especialmente en funciones serverless.
Última modificación el 26 de septiembre de 2026