Make application SLI panels customizable per component
Given the work started on #2105 (closed), the rails endpoints violations dashboard could be customized in a way that the panels could be dynamically shown given the component as an input, as suggested by @reprazent in this comment (replicated below):
We're super close to having this dashboard work for everything that exists as an application SLI and has these
application_sli_aggregation:*
metrics.Imagine having a selector
component=$component
that gets it's possible values fromgitlab:component:stage_group:execution:ops:rate_1h
and does not allow multiple values. We could then also use that to build the queries belowapplication_sli_aggregation:$component:apdex:success:rate_1h
Then we could also wrap these in a function, so we can decide which SLI we want to render a table for if we want to embed it in a different dashboard. Then we would basically get this for free for the Sidekiq execution work that @marcogreg is doing in &700 (closed).
The top level panels can be refactored to use an SLI given the component variable: application_sli_aggregation:$component
.
A new violations table would be needed for Sidekiq, however, the queries for the apdex and error ratios could be re-used given the $component
variable.