Timeline Annotation Support
- Dominant language
- Python
- Stars
- 44.8k
- Forks
- 4.9k
- Avg merge
- 21h 10m
- Merged PRs (30d)
- 635
Description
### Problem Statement
We often encounter issues that have a point-in-time or range-of-time context, but don't tie nicely in with a specific piece of telemetry. It's very useful to add that context to timeline views to better understand why telemetry looks different, or whether it should be scrutinized, etc. Some of these notes would be useful to see globally, some might be project specific. A few examples:
* Incidents - Major livesite events skew telemetry by design, a note around that skew pointing to an incident timeline or summary page providers future readers a lot of useful context
* Upstream Provider Outages - It's not uncommon to monitor key dependency services or platforms for degradation, adding that information to a dashboard view would help reduce time-to-resolution significantly when traffic can be rerouted / features can be disabled / etc.
* Sentry SDK updates - ex. the shift from Sentry 5.* to 6.* ruby gems significantly changed the amount and types of span data being reported. Being able to mark that in a graph view, rather than sorting through old change logs and release notes, helps operators understand the shifts in throughput and alert behavior.
### Solution Brainstorm
I'm mostly thinking of the Grafana implementation of this, annotations: https://grafana.com/docs/grafana/latest/visualizations/dashboards/build-dashboards/annotate-visualizations/
but I would be psyched for something with more Sentry flavor.
Some workflows that would be great to support:
* Users should be able to add annotations to specific points in time from an existing Dashboard view
* Annotations should support a small amount (~1024 characters?) of text for context and links about the timeline event
* Annotations should be groupable by _project_ or _global_
* Dashboard views should support an "Annotations enabled" checkbox to determine whether or not notes are visible on timelines. Global annotations would show up on all dashboards, otherwise only annotations for the selected project would be visible.
* Annotations should be able to be added by API
* Annotations should present as a small icon in dashboards, but expand to show text when clicked on
### Product Area
Dashboards
Contributor guide
Research direction
No repository file, test, or implementation entry point is named. Start by reviewing the existing Dashboard views and API patterns, then compare them with Grafana's annotation workflow. Done requires a scoped design and implementation covering project/global visibility, dashboard controls, text and links, API creation, and timeline display.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- observability
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100