Skip to main content
O Time Range Blueprint envia um evento de uso ao Dodo Payments com o tempo de execução de um recurso para um cliente, em milissegundos, segundos ou minutos. Um medidor Sum sobre essa duração soma o tempo de execução de cada cliente, permitindo cobrar pelo tempo de computação. O blueprint é distribuído no pacote npm @dodopayments/ingestion-blueprints como trackTimeRange().

Casos de uso

O Time Range Blueprint é adequado para estes cenários:

Serverless Functions

Cobre com base no tempo de execução e no uso de memória da função.

Container Runtime

Acompanhe o tempo de execução do contêiner para cobrança baseada em uso.

Compute Instances

Monitore o tempo de execução da VM e cobre por minuto ou hora.

Background Jobs

Acompanhe o tempo de processamento de exportações de dados, relatórios e tarefas em lote.
Use-o para cobrar pelo tempo de computação, pela duração da execução de funções, pelo tempo de execução de contêineres ou por qualquer outro uso baseado em tempo.

Início rápido

Para acompanhar o tempo de execução, instale o pacote, crie um medidor e envie a duração sempre que um recurso terminar de ser executado.
1

Install the SDK

Instale o pacote Dodo Payments Ingestion Blueprints:
2

Get Your API Keys

Crie uma chave de API do Dodo Payments em Developer → API Keys no painel do Dodo Payments e armazene-a na variável de ambiente DODO_PAYMENTS_API_KEY. Use uma chave de modo de teste enquanto estiver desenvolvendo. Uma chave de modo de teste funciona somente com test_mode.
3

Create a Meter

No painel do Dodo Payments, acesse Products → Meters e clique em Create Meter. Defina estes campos:
  • Meter Name: um nome descritivo, como Compute Time.
  • Event Name: time_range_usage ou um nome de sua escolha. Ele deve corresponder exatamente a eventName no seu código (diferencia maiúsculas de minúsculas). Os exemplos na próxima etapa usam um nome de evento separado para cada tipo de recurso, como function_execution, portanto cada um precisa do próprio medidor.
  • Aggregation Type: Sum, para somar a duração total.
  • Over Property: a chave de duração que você envia: durationSeconds, durationMinutes ou durationMs.
  • Measurement Unit: a unidade exibida nas faturas, como seconds.
4

Track Time Usage

Meça por quanto tempo o trabalho foi executado e, em seguida, chame trackTimeRange() com a duração na unidade usada pelo seu medidor:

Configuração

Configuração de ingestão

Passe estas opções para new Ingestion():
string
obrigatório
Sua chave de API do Dodo Payments obtida no painel.
string
Modo de ambiente: test_mode ou live_mode. O padrão é test_mode. Os SDKs do Dodo Payments usam live_mode por padrão; portanto, defina live_mode explicitamente em produção.
string
obrigatório
Nome do evento que corresponde ao Event Name do seu medidor (diferencia maiúsculas de minúsculas).

Opções de acompanhamento do intervalo de tempo

Passe estas opções para trackTimeRange(). Cada duração informada é enviada como uma chave de metadata com o mesmo nome.
string
obrigatório
O ID do cliente do Dodo Payments a ser cobrado pelo tempo de execução, por exemplo, cus_123.
number
Duração em milissegundos. Use para obter precisão inferior a um segundo.
number
Duração em segundos. Mais comum para execução de funções e tarefas curtas.
number
Duração em minutos. Útil para recursos de execução mais longa, como VMs.
object
Metadata opcional sobre o recurso, como CPU, memória ou região. Cada valor deve ser uma string, um número ou um booleano.

Práticas recomendadas

Escolha a unidade correta: use milissegundos para operações curtas, segundos para funções e minutos para recursos de execução mais longa.
Um medidor soma somente a chave indicada por seu Over Property; portanto, envie a duração sempre na mesma unidade.
Medição precisa do tempo: use Date.now() ou performance.now() para acompanhar o tempo com precisão, especialmente em funções serverless.
Última modificação em 26 de setembro de 2026