Skip to main content
Time Range Blueprintは、リソースが顧客向けに実行された時間を、ミリ秒、秒、または分単位でDodo Paymentsにusage eventとして送信します。その時間に対するSumメーターは各顧客の実行時間を合計するため、コンピュート時間に対して請求できます。このblueprintは、@dodopayments/ingestion-blueprints npm packageに含まれており、trackTimeRange()として利用できます。

ユースケース

Time Range Blueprintは、次のシナリオに適しています:

Serverless Functions

function execution timeとmemory usageに基づいて請求します。

Container Runtime

usage-based billingのためにコンテナの実行時間を追跡します。

Compute Instances

VMのruntimeを監視し、分単位または時間単位で請求します。

Background Jobs

data exports、レポート、batch jobsの処理時間を追跡します。
コンピュート時間、function execution duration、コンテナruntime、その他の時間ベースの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と完全に一致する必要があります(大文字と小文字を区別)。次のstepの例では、function_executionなど、resource typeごとに異なるevent nameを使用するため、それぞれに独自のmeterが必要です。
  • Aggregation Type: 合計durationを加算するためのSum。
  • Over Property: 送信するduration key: durationSeconds、durationMinutes、またはdurationMs。
  • Measurement Unit: 請求書に表示するunit。例: seconds。
4

Track Time Usage

処理の実行時間を計測し、meterで使用するunitのdurationを指定してtrackTimeRange()を呼び出します:

設定

Ingestion Configuration

new Ingestion()に次のoptionsを渡します:
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(大文字と小文字を区別)。

Time Range Optionsの追跡

trackTimeRange()に次のoptionsを渡します。渡した各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を送信してください。
正確なタイミング計測: 正確な時間追跡にはDate.now()またはperformance.now()を使用します。特にserverless functionsで有効です。
最終更新日 2026年9月26日