Skip to main content

Reporting external system events without consuming credits

When you set up sensors or assets that report events from external systems (for example, recording that an upstream pipeline finished, or that a third-party warehouse loaded a table), you can choose how Dagster+ counts that work.

MethodCredit costWhen to use
Asset materialization with step execution1 credit per eventThe event represents work performed by Dagster, or you want it to count toward materialization-based metrics.
Asset materialization reported from a sensor (no step execution)0 creditsYou want to record that an asset was materialized externally and surface it in the asset graph.
Asset observation0 creditsThe event represents work performed outside Dagster, and you only need the metadata visible in the UI.

Sensor evaluations themselves never consume credits. Both materialization reports and observations from sensors surface metadata in the Dagster+ UI, so for pure external-event reporting you can track asset state without driving up credit usage.

When to prefer observations

Use observations whenever:

  • A sensor watches an external system (e.g., Snowflake table updates, S3 object arrivals, third-party job completions) and only needs to record that something happened. Note that sensor evaluations themselves never consume credits.
  • You want to attach metadata (timestamps, row counts, file URIs) to an asset without claiming Dagster materialized it.
  • High-frequency external events would otherwise generate unexpected credit consumption.

For details on implementing them, see the Asset observations guide.