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.
| Method | Credit cost | When to use |
|---|---|---|
| Asset materialization | 1 credit per event | The event represents work performed by Dagster, or you want it to count toward materialization-based metrics. |
| Asset observation | 0 credits | The event represents work performed outside Dagster, and you only need the metadata visible in the UI. |
Both methods surface metadata in the Dagster+ UI, so for pure external-event reporting, observations give you the same visibility 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.
- 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.