A fast way to see which API routes are failing and how often, without digging through server logs manually.
As a backend contractor, I want to see error rates grouped by API endpoint so that I can find and fix the worst ones first without reading raw logs.
Trace a single user request from the app to the backend and back so she can figure out where things slow down.
As a mobile developer, I want end-to-end request tracing so that I can tell whether a slow response is caused by the network, the API, or the database.
Set up monitors with custom thresholds so he gets paged only when something actually matters, not on every blip.
As an SRE, I want configurable alert thresholds based on error rate and latency so that I only get woken up for real incidents.
Export error and performance data into formats she can pull into her own reports and charts.
As a data analyst, I want to export event data as CSV or JSON so that I can build custom reports outside of WatchTower.
Understand what went wrong in production without needing senior help every time. Needs clear error messages, stack traces, and the deploy version that broke things.
As a junior developer, I want error details with readable stack traces and deploy version tags so that I can debug production issues on my own.
Filtering matters more than volume. Nobody wants 10,000 raw events. They want the 5 that are actually breaking things, grouped and sorted.
Deploy version is the first question everyone asks. When something breaks, the first thing people say is “what changed?” Tying errors to versions answers that instantly.
Export keeps WatchTower useful beyond its own UI. Analysts and PMs will never log into the dashboard daily. If they can pull CSVs, the data still gets used.
How granular should tracing be? Full OpenTelemetry-style spans or just simple request-in/request-out timing? More detail means more storage and complexity.
Alert fatigue vs coverage Too few alerts and you miss things. Too many and people mute them. Where is the default line?
Data retention How long do we keep events? 7 days? 30 days? Do we let users configure it or just pick a default?