Track user outcomes, worker health, and delivery cost with a small metric set.
Follow one asset through the system
Give an upload and every downstream job a shared asset ID in logs and traces. Measure time from upload completion to ready state, failure rate by stage, retry count, and queue age. Separate user-caused validation failures from service failures so an increase in rejected files does not look like a broken worker pool.
Watch delivery, not just processing
Track derivative generation requests, cache hit ratio, bytes delivered, and playback or image errors from the client. A queue can be healthy while users still see broken URLs. Sample client telemetry with privacy and cost limits rather than collecting every raw URL.
Put thresholds on decisions
An alert should indicate a response: growing oldest-job age may call for worker capacity; rising corrupt-output failures may require a recipe rollback. Review the cost per processed asset and per delivered gigabyte alongside reliability, then retire metrics that no one uses.
A concrete acceptance test
Trace one upload through processing and delivery, then simulate a corrupt source and a stalled queue. Confirm that dashboards separate user rejection, worker failure, and age of the oldest job. Run this test with a realistic asset and record the observed state, output URL, and failure reason.
Implementation check
- Trace one asset across each processing stage.
- Separate validation rejection from service failure.
- Alert on queue age and delivery errors with clear owners.
Related guides
Primary reference: Official documentation.











