-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
roachtest: grafana API for annotations #119821
Comments
cc @cockroachdb/test-eng |
One detail that makes things a bit trickier is that grafana annotations can only be applied over the entire org, dashboard, or panel. However, we set up our metrics such that a single roachtest will be split up throughout different dashboards based on the type of metric (i.e SQL/Queues/Storage/).
Actually I had a misunderstanding about how adding to the entire org worked. I thought that it would add it to every dashboard but instead it adds it to no dashboard and you have to query them in. Which is the same amount of work as adding to a dashboard but it doesn't live on a dashboard, which seems better. I think the best way to do it is to add annotations to the The main drawback to this is that we now need to keep track of
|
What if we just rely on tags to filter out irrelevant org-wide annotations? E.g., for roachtest specific annotations, we could filter on
What if we use |
Grafana annotations [1] are typically used to superimpose contextual information onto existing dashboard(s). E.g., a roachtest executing some workload, say TPCC, could create one annotation to denote the range of time during which data is loaded, and another annotation to denote the benchmarking phase. This new contextual information facilitates presentation of the (visual) data; specifically, it delineates unique events which may or may not be correlated. Thus, it makes it easier to find event-local patterns.
There are many other use-cases for annotations. However, our intended primary use-case is to facilitate "chaos" events during failure injection. Note that the DRT team is already using a makeshift script to create such annotations [2].
The centralized grafana instance is behind GCE's identity-aware proxy (IDP). Thus, the internal API will need to generate a fresh identity (oauth2) token; project-wide default limits the expiration time for these tokens to 1 hour. Also note that the internal grafana instance (i.e., one that's optionally provisioned for the duration of a roachtest) doesn't require authentication. Thus, the roachtest grafana API for annotations should support both methods of authentication.
[1] https://grafana.com/docs/grafana/latest/developers/http_api/annotations/#annotations-api
[2] https://gist.github.com/srosenberg/8e2758d3a9f071b72cd55116c2128a9e
Jira issue: CRDB-36333
The text was updated successfully, but these errors were encountered: