Skip to main content

Credit usage

This page explains how Dagster+ counts credits for common operations, including the difference between metadata updates and materializations.

What consumes credits

OperationCredit cost
An asset materialization (per partition)1 credit
An observable source asset execution1 credit
Adding a dynamic partition via context.instance.add_dynamic_partitions()0 credits (metadata only)
Asset observations0 credits

Dynamic partitions and observable source assets

Adding new partitions through context.instance.add_dynamic_partitions() is a metadata update. It does not consume credits regardless of how many partitions are added. The materializations of downstream assets that fill in those new partitions are what generate credit usage.

For example, suppose you use an observable source asset to detect new files (e.g., from Snowpipe) and add them as dynamic partitions. If the observable source asset discovers 500 new files:

  • The discovery run costs 1 credit (the observable source asset execution itself).
  • Adding the 500 partitions costs 0 credits.
  • Materializing a downstream asset across all 500 new partitions costs 500 credits (1 per partition).
  • Each additional downstream asset that processes those partitions incurs its own per-partition credit cost.

Reporting events from external systems

If you only need to record metadata about work that happened outside Dagster, report it as an asset observation rather than a materialization. Observations don't count against credit usage.