Skip to main content
Time Range Blueprint는 리소스가 고객을 위해 실행된 시간을 밀리초, 초 또는 분 단위로 Dodo Payments에 usage event로 전송합니다. 해당 기간에 대한 Sum meter는 각 고객의 runtime을 합산하므로 compute time에 대해 요금을 청구할 수 있습니다. 이 blueprint는 @dodopayments/ingestion-blueprints npm package에 trackTimeRange()로 제공됩니다.

사용 사례

Time Range Blueprint는 다음 시나리오에 적합합니다:

Serverless Functions

function execution time 및 memory usage를 기준으로 요금을 청구합니다.

Container Runtime

usage-based billing을 위해 container running time을 추적합니다.

Compute Instances

VM runtime을 모니터링하고 분 또는 시간 단위로 요금을 청구합니다.

Background Jobs

data exports, reports 및 batch jobs의 processing time을 추적합니다.
compute time, function execution duration, container runtime 또는 기타 time-based usage에 대해 요금을 청구하는 데 사용하세요.

빠른 시작

runtime을 추적하려면 package를 설치하고 meter를 생성한 다음, 리소스 실행이 완료될 때마다 duration을 전송하세요.
1

Install the SDK

Dodo Payments Ingestion Blueprints package를 설치합니다:
2

Get Your API Keys

Dodo Payments dashboard의 Developer → API Keys에서 Dodo Payments API key를 생성하고 DODO_PAYMENTS_API_KEY environment variable에 저장하세요. 개발하는 동안에는 test mode key를 사용하세요. test mode key는 test_mode에서만 작동합니다.
3

Create a Meter

Dodo Payments dashboard에서 Products → Meters로 이동하고 Create Meter를 클릭하세요. 다음 field를 설정합니다:
  • Meter Name: Compute Time와 같은 설명적인 이름입니다.
  • Event Name: time_range_usage 또는 직접 선택한 이름입니다. 코드의 eventName와 대소문자까지 정확히 일치해야 합니다. 다음 단계의 예제에서는 function_execution와 같이 각 resource type에 별도의 event name을 사용하므로 각각 자체 meter가 필요합니다.
  • Aggregation Type: 총 duration을 합산하는 Sum입니다.
  • Over Property: 전송하는 duration key인 durationSeconds, durationMinutes 또는 durationMs입니다.
  • Measurement Unit: seconds와 같이 invoice에 표시되는 unit입니다.
4

Track Time Usage

작업이 실행된 시간을 측정한 다음, meter가 사용하는 unit으로 duration을 전달하여 trackTimeRange()을 호출하세요:

구성

Ingestion 구성

다음 options를 new Ingestion()에 전달하세요:
string
필수
Dashboard에서 확인한 Dodo Payments API key입니다.
string
Environment mode: test_mode 또는 live_mode입니다. 기본값은 test_mode입니다. 대신 Dodo Payments SDKs의 기본값은 live_mode이므로 production에서는 live_mode을 명시적으로 설정하세요.
string
필수
meter의 Event Name과 일치하는 event name입니다(대소문자 구분).

Track Time Range options

다음 options를 trackTimeRange()에 전달하세요. 전달하는 각 duration은 동일한 이름의 metadata key로 전송됩니다.
string
필수
runtime에 대해 요금을 청구할 Dodo Payments customer ID입니다(예: cus_123).
number
밀리초 단위의 duration입니다. 1초 미만의 정밀도가 필요할 때 사용하세요.
number
초 단위의 duration입니다. function execution 및 짧은 task에 가장 일반적으로 사용됩니다.
number
분 단위의 duration입니다. VM과 같이 오래 실행되는 resource에 유용합니다.
object
CPU, memory 또는 region과 같은 resource에 대한 선택적 metadata입니다. 각 value는 string, number 또는 boolean이어야 합니다.

모범 사례

적절한 unit 선택: 짧은 operation에는 밀리초, function에는 초, 오래 실행되는 resource에는 분을 사용하세요.
meter는 Over Property에 지정된 key만 합산하므로 항상 동일한 unit으로 duration을 전송하세요.
정확한 타이밍 측정: 정확한 time tracking을 위해 Date.now() 또는 performance.now()을 사용하세요. 특히 serverless functions에 유용합니다.
마지막 수정일 2026년 9월 26일