Fix escaping quotes in Insights queries (#4442)

# What this PR does

Use backticks to correctly escape quotes in queries

## Which issue(s) this PR closes

Closes https://github.com/grafana/oncall/issues/4439

<!--
*Note*: if you have more than one GitHub issue that this PR closes, be
sure to preface
each issue link with a [closing
keyword](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests#linking-a-pull-request-to-an-issue).
This ensures that the issue(s) are auto-closed once the PR has been
merged.
-->

## Checklist

- [ ] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] Added the relevant release notes label (see labels prefixed w/
`release:`). These labels dictate how your PR will
    show up in the autogenerated release notes.
This commit is contained in:
Dominik Broj 2024-06-03 16:14:16 +02:00 committed by GitHub
parent 3566de38b9
commit 66f807a671
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 34 additions and 34 deletions

View file

@ -182,7 +182,7 @@
"editorMode": "code",
"excludeNullMetadata": false,
"exemplar": false,
"expr": "round(delta(sum($alert_groups_total{slug=~\"$instance\", team=~\"$team\", integration=~\"$integration\", service_name=~\"$service_name\"})[$__range:])) >= 0",
"expr": "round(delta(sum($alert_groups_total{slug=~`$instance`, team=~`$team`, integration=~`$integration`, service_name=~`$service_name`})[$__range:])) >= 0",
"format": "time_series",
"fullMetaSearch": false,
"includeNullMetadata": true,
@ -266,7 +266,7 @@
},
"editorMode": "code",
"exemplar": false,
"expr": "avg_over_time((sum($alert_groups_response_time_seconds_sum{slug=~\"$instance\", team=~\"$team\", integration=~\"$integration\", service_name=~\"$service_name\"}) / sum($alert_groups_response_time_seconds_count{slug=~\"$instance\", team=~\"$team\", integration=~\"$integration\", service_name=~\"$service_name\"}))[$__range:])",
"expr": "avg_over_time((sum($alert_groups_response_time_seconds_sum{slug=~`$instance`, team=~`$team`, integration=~`$integration`, service_name=~`$service_name`}) / sum($alert_groups_response_time_seconds_count{slug=~`$instance`, team=~`$team`, integration=~`$integration`, service_name=~`$service_name`}))[$__range:])",
"instant": true,
"legendFormat": "__auto",
"range": false,
@ -389,7 +389,7 @@
"editorMode": "code",
"excludeNullMetadata": false,
"exemplar": false,
"expr": "round(delta(sum by (integration) ($alert_groups_total{slug=~\"$instance\", team=~\"$team\", integration=~\"$integration\", service_name=~\"$service_name\"})[$__interval:])) >= 0",
"expr": "round(delta(sum by (integration) ($alert_groups_total{slug=~`$instance`, team=~`$team`, integration=~`$integration`, service_name=~`$service_name`})[$__interval:])) >= 0",
"fullMetaSearch": false,
"hide": false,
"instant": false,
@ -507,7 +507,7 @@
},
"editorMode": "code",
"exemplar": false,
"expr": "avg(sum($alert_groups_response_time_seconds_sum{slug=~\"$instance\", team=~\"$team\", integration=~\"$integration\", service_name=~\"$service_name\"}) / sum($alert_groups_response_time_seconds_count{slug=~\"$instance\", team=~\"$team\", integration=~\"$integration\", service_name=~\"$service_name\"}))",
"expr": "avg(sum($alert_groups_response_time_seconds_sum{slug=~`$instance`, team=~`$team`, integration=~`$integration`, service_name=~`$service_name`}) / sum($alert_groups_response_time_seconds_count{slug=~`$instance`, team=~`$team`, integration=~`$integration`, service_name=~`$service_name`}))",
"instant": false,
"legendFormat": "__auto",
"range": true,
@ -613,7 +613,7 @@
},
"editorMode": "code",
"exemplar": false,
"expr": "sort_desc(round(delta(sum by (integration)($alert_groups_total{slug=~\"$instance\", team=~\"$team\", integration=~\"$integration\", service_name=~\"$service_name\"})[$__range:])) >= 0)",
"expr": "sort_desc(round(delta(sum by (integration)($alert_groups_total{slug=~`$instance`, team=~`$team`, integration=~`$integration`, service_name=~`$service_name`})[$__range:])) >= 0)",
"format": "table",
"instant": true,
"legendFormat": "__auto",
@ -729,7 +729,7 @@
},
"editorMode": "code",
"exemplar": false,
"expr": "sort_desc(avg_over_time((sum by (integration)($alert_groups_response_time_seconds_sum{slug=~\"$instance\", team=~\"$team\", integration=~\"$integration\", service_name=~\"$service_name\"}) / sum by (integration)($alert_groups_response_time_seconds_count{slug=~\"$instance\", team=~\"$team\", integration=~\"$integration\", service_name=~\"$service_name\"}))[$__range:]))",
"expr": "sort_desc(avg_over_time((sum by (integration)($alert_groups_response_time_seconds_sum{slug=~`$instance`, team=~`$team`, integration=~`$integration`, service_name=~`$service_name`}) / sum by (integration)($alert_groups_response_time_seconds_count{slug=~`$instance`, team=~`$team`, integration=~`$integration`, service_name=~`$service_name`}))[$__range:]))",
"format": "table",
"instant": true,
"legendFormat": "__auto",
@ -862,7 +862,7 @@
},
"editorMode": "code",
"exemplar": false,
"expr": "sort_desc(round(delta(sum by (team)($alert_groups_total{slug=~\"$instance\", team=~\"$team\", integration=~\"$integration\", service_name=~\"$service_name\"})[$__range:])) >= 0)",
"expr": "sort_desc(round(delta(sum by (team)($alert_groups_total{slug=~`$instance`, team=~`$team`, integration=~`$integration`, service_name=~`$service_name`})[$__range:])) >= 0)",
"format": "table",
"instant": true,
"legendFormat": "__auto",
@ -979,7 +979,7 @@
},
"editorMode": "code",
"exemplar": false,
"expr": "sort_desc(avg_over_time((sum by(team) ($alert_groups_response_time_seconds_sum{slug=~\"$instance\", team=~\"$team\", integration=~\"$integration\", service_name=~\"$service_name\"}) / sum by(team)($alert_groups_response_time_seconds_count{slug=~\"$instance\", team=~\"$team\", integration=~\"$integration\", service_name=~\"$service_name\"}))[$__range:]))",
"expr": "sort_desc(avg_over_time((sum by(team) ($alert_groups_response_time_seconds_sum{slug=~`$instance`, team=~`$team`, integration=~`$integration`, service_name=~`$service_name`}) / sum by(team)($alert_groups_response_time_seconds_count{slug=~`$instance`, team=~`$team`, integration=~`$integration`, service_name=~`$service_name`}))[$__range:]))",
"format": "table",
"instant": true,
"legendFormat": "__auto",
@ -1129,7 +1129,7 @@
"editorMode": "code",
"excludeNullMetadata": false,
"exemplar": false,
"expr": "round(delta(sum by (username)($user_was_notified_of_alert_groups_total{slug=~\"$instance\"})[$__interval:])) >= 0",
"expr": "round(delta(sum by (username)($user_was_notified_of_alert_groups_total{slug=~`$instance`})[$__interval:])) >= 0",
"fullMetaSearch": false,
"instant": false,
"legendFormat": "__auto",
@ -1222,7 +1222,7 @@
},
"editorMode": "code",
"exemplar": false,
"expr": "sort_desc(round(delta(sum by (username)($user_was_notified_of_alert_groups_total{slug=~\"$instance\"})[$__range:])) >= 0)",
"expr": "sort_desc(round(delta(sum by (username)($user_was_notified_of_alert_groups_total{slug=~`$instance`})[$__range:])) >= 0)",
"format": "table",
"instant": true,
"legendFormat": "__auto",
@ -1430,7 +1430,7 @@
"type": "prometheus",
"uid": "${datasource}"
},
"definition": "label_values(${alert_groups_total}{slug=~\"$instance\"},team)",
"definition": "label_values(${alert_groups_total}{slug=~`$instance`},team)",
"hide": 0,
"includeAll": true,
"label": "Team",
@ -1438,7 +1438,7 @@
"name": "team",
"options": [],
"query": {
"query": "label_values(${alert_groups_total}{slug=~\"$instance\"},team)",
"query": "label_values(${alert_groups_total}{slug=~`$instance`},team)",
"refId": "PrometheusVariableQueryEditor-VariableQuery"
},
"refresh": 2,
@ -1458,7 +1458,7 @@
"type": "prometheus",
"uid": "${datasource}"
},
"definition": "label_values(${alert_groups_total}{team=~\"$team\",slug=~\"$instance\"},integration)",
"definition": "label_values(${alert_groups_total}{team=~`$team`,slug=~`$instance`},integration)",
"hide": 0,
"includeAll": true,
"label": "Integration",
@ -1466,7 +1466,7 @@
"name": "integration",
"options": [],
"query": {
"query": "label_values(${alert_groups_total}{team=~\"$team\",slug=~\"$instance\"},integration)",
"query": "label_values(${alert_groups_total}{team=~`$team`,slug=~`$instance`},integration)",
"refId": "PrometheusVariableQueryEditor-VariableQuery"
},
"refresh": 2,
@ -1486,7 +1486,7 @@
"type": "prometheus",
"uid": "${datasource}"
},
"definition": "label_values(${alert_groups_total}{slug=~\"$instance\", team=~\"$team\"},service_name)",
"definition": "label_values(${alert_groups_total}{slug=~`$instance`, team=~`$team`},service_name)",
"hide": 0,
"includeAll": true,
"label": "Service name",
@ -1495,7 +1495,7 @@
"options": [],
"query": {
"qryType": 1,
"query": "label_values(${alert_groups_total}{slug=~\"$instance\", team=~\"$team\"},service_name)",
"query": "label_values(${alert_groups_total}{slug=~`$instance`, team=~`$team`},service_name)",
"refId": "PrometheusVariableQueryEditor-VariableQuery"
},
"refresh": 2,
@ -1516,7 +1516,7 @@
},
"timezone": "browser",
"title": "OnCall Insights",
"version": 3,
"revision": 3,
"version": 4,
"revision": 4,
"weekStart": ""
}

View file

@ -10,7 +10,7 @@ export function getAlertGroupsByIntegrationScene({ datasource, stack }: Insights
{
editorMode: 'code',
exemplar: false,
expr: `sort_desc(round(delta(sum by (integration)($alert_groups_total{slug=~"${stack}", team=~"$team", integration=~"$integration", service_name=~"$service_name"})[$__range:])) >= 0)`,
expr: `sort_desc(round(delta(sum by (integration)($alert_groups_total{slug=~\`${stack}\`, team=~\`$team\`, integration=~\`$integration\`, service_name=~\`$service_name\`})[$__range:])) >= 0)`,
format: 'table',
instant: true,
legendFormat: '__auto',

View file

@ -10,7 +10,7 @@ export function getAlertGroupsByTeamScene({ datasource, stack }: InsightsConfig)
{
editorMode: 'code',
exemplar: false,
expr: `sort_desc(round(delta(sum by (team)($alert_groups_total{slug=~"${stack}", team=~"$team", integration=~"$integration", service_name=~"$service_name"})[$__range:])) >= 0)`,
expr: `sort_desc(round(delta(sum by (team)($alert_groups_total{slug=~\`${stack}\`, team=~\`$team\`, integration=~\`$integration\`, service_name=~\`$service_name\`})[$__range:])) >= 0)`,
format: 'table',
instant: true,
legendFormat: '__auto',

View file

@ -10,7 +10,7 @@ export function getMTTRAverage({ datasource, stack }: InsightsConfig) {
{
editorMode: 'code',
exemplar: false,
expr: `avg_over_time((sum($alert_groups_response_time_seconds_sum{slug=~"${stack}", team=~"$team", integration=~"$integration", service_name=~"$service_name"}) / sum($alert_groups_response_time_seconds_count{slug=~"${stack}", team=~"$team", integration=~"$integration", service_name=~"$service_name"}))[$__range:])`,
expr: `avg_over_time((sum($alert_groups_response_time_seconds_sum{slug=~\`${stack}\`, team=~\`$team\`, integration=~\`$integration\`, service_name=~\`$service_name\`}) / sum($alert_groups_response_time_seconds_count{slug=~\`${stack}\`, team=~\`$team\`, integration=~\`$integration\`, service_name=~\`$service_name\`}))[$__range:])`,
instant: true,
legendFormat: '__auto',
range: false,

View file

@ -10,7 +10,7 @@ export function getMTTRByIntegrationScene({ datasource, stack }: InsightsConfig)
{
editorMode: 'code',
exemplar: false,
expr: `sort_desc(avg_over_time((sum by (integration)($alert_groups_response_time_seconds_sum{slug=~"${stack}", team=~"$team", integration=~"$integration", service_name=~"$service_name"}) / sum by (integration)($alert_groups_response_time_seconds_count{slug=~"${stack}", team=~"$team", integration=~"$integration", service_name=~"$service_name"}))[$__range:]))`,
expr: `sort_desc(avg_over_time((sum by (integration)($alert_groups_response_time_seconds_sum{slug=~\`${stack}\`, team=~\`$team\`, integration=~\`$integration\`, service_name=~\`$service_name\`}) / sum by (integration)($alert_groups_response_time_seconds_count{slug=~\`${stack}\`, team=~\`$team\`, integration=~\`$integration\`, service_name=~\`$service_name\`}))[$__range:]))`,
format: 'table',
instant: true,
legendFormat: '__auto',

View file

@ -10,7 +10,7 @@ export function getMTTRByTeamScene({ datasource, stack }: InsightsConfig) {
{
editorMode: 'code',
exemplar: false,
expr: `sort_desc(avg_over_time((sum by(team) ($alert_groups_response_time_seconds_sum{slug=~"${stack}", team=~"$team", integration=~"$integration", service_name=~"$service_name"}) / sum by(team)($alert_groups_response_time_seconds_count{slug=~"${stack}", team=~"$team", integration=~"$integration", service_name=~"$service_name"}))[$__range:]))`,
expr: `sort_desc(avg_over_time((sum by(team) ($alert_groups_response_time_seconds_sum{slug=~\`${stack}\`, team=~\`$team\`, integration=~\`$integration\`, service_name=~\`$service_name\`}) / sum by(team)($alert_groups_response_time_seconds_count{slug=~\`${stack}\`, team=~\`$team\`, integration=~\`$integration\`, service_name=~\`$service_name\`}))[$__range:]))`,
format: 'table',
instant: true,
legendFormat: '__auto',

View file

@ -10,7 +10,7 @@ export function getMTTRChangedTimeseriesScene({ datasource, stack }: InsightsCon
{
editorMode: 'code',
exemplar: false,
expr: `avg(sum($alert_groups_response_time_seconds_sum{slug=~"${stack}", team=~"$team", integration=~"$integration", service_name=~"$service_name"}) / sum($alert_groups_response_time_seconds_count{slug=~"${stack}", team=~"$team", integration=~"$integration", service_name=~"$service_name"}))`,
expr: `avg(sum($alert_groups_response_time_seconds_sum{slug=~\`${stack}\`, team=~\`$team\`, integration=~\`$integration\`, service_name=~\`$service_name\`}) / sum($alert_groups_response_time_seconds_count{slug=~\`${stack}\`, team=~\`$team\`, integration=~\`$integration\`, service_name=~\`$service_name\`}))`,
instant: false,
legendFormat: '__auto',
range: true,

View file

@ -12,7 +12,7 @@ export function getNewAlertGroupsScene({ datasource, stack }: InsightsConfig) {
editorMode: 'code',
excludeNullMetadata: false,
exemplar: false,
expr: `round(delta(sum($alert_groups_total{slug=~"${stack}", team=~"$team", integration=~"$integration", service_name=~"$service_name"})[$__range:])) >= 0`,
expr: `round(delta(sum($alert_groups_total{slug=~\`${stack}\`, team=~\`$team\`, integration=~\`$integration\`, service_name=~\`$service_name\`})[$__range:])) >= 0`,
format: 'time_series',
fullMetaSearch: false,
includeNullMetadata: true,

View file

@ -10,7 +10,7 @@ export function getNewAlertGroupsNotificationsTableScene({ datasource, stack }:
{
editorMode: 'code',
exemplar: false,
expr: `sort_desc(round(delta(sum by (username)($user_was_notified_of_alert_groups_total{slug=~"${stack}"})[$__range:])) >= 0)`,
expr: `sort_desc(round(delta(sum by (username)($user_was_notified_of_alert_groups_total{slug=~\`${stack}\`})[$__range:])) >= 0)`,
format: 'table',
instant: true,
legendFormat: '__auto',

View file

@ -13,7 +13,7 @@ export function getNewAlertGroupsNotificationsTimeseriesScene({ datasource, stac
editorMode: 'code',
excludeNullMetadata: false,
exemplar: false,
expr: `round(delta(sum by (username)($user_was_notified_of_alert_groups_total{slug=~"${stack}"})[$__interval:])) >= 0`,
expr: `round(delta(sum by (username)($user_was_notified_of_alert_groups_total{slug=~\`${stack}\`})[$__interval:])) >= 0`,
fullMetaSearch: false,
instant: false,
legendFormat: '__auto',

View file

@ -13,7 +13,7 @@ export function getNewAlertGroupsTimeseriesScene({ datasource, stack }: Insights
editorMode: 'code',
excludeNullMetadata: false,
exemplar: false,
expr: `round(delta(sum by (integration)($alert_groups_total{slug=~"${stack}", team=~"$team", integration=~"$integration", service_name=~"$service_name"})[$__interval:])) >= 0`,
expr: `round(delta(sum by (integration)($alert_groups_total{slug=~\`${stack}\`, team=~\`$team\`, integration=~\`$integration\`, service_name=~\`$service_name\`})[$__interval:])) >= 0`,
fullMetaSearch: false,
instant: false,
legendFormat: '__auto',

View file

@ -34,9 +34,9 @@ const getVariables = ({ isOpenSource, datasource, stack }: InsightsConfig) => ({
text: ['All'],
value: ['$__all'],
datasource,
definition: `label_values(\${alert_groups_total}{slug=~"${stack}"},team)`,
definition: `label_values(\${alert_groups_total}{slug=~\`${stack}\`},team)`,
query: {
query: `label_values(\${alert_groups_total}{slug=~"${stack}"},team)`,
query: `label_values(\${alert_groups_total}{slug=~\`${stack}\`},team)`,
refId: 'PrometheusVariableQueryEditor-VariableQuery',
},
refresh: 2,
@ -48,9 +48,9 @@ const getVariables = ({ isOpenSource, datasource, stack }: InsightsConfig) => ({
text: ['All'],
value: ['$__all'],
datasource,
definition: `label_values(\${alert_groups_total}{team=~"$team",slug=~"${stack}"},integration)`,
definition: `label_values(\${alert_groups_total}{team=~\`$team\`,slug=~\`${stack}\`},integration)`,
query: {
query: `label_values(\${alert_groups_total}{team=~"$team",slug=~"${stack}"},integration)`,
query: `label_values(\${alert_groups_total}{team=~\`$team\`,slug=~\`${stack}\`},integration)`,
refId: 'PrometheusVariableQueryEditor-VariableQuery',
},
refresh: 2,
@ -63,9 +63,9 @@ const getVariables = ({ isOpenSource, datasource, stack }: InsightsConfig) => ({
value: ['$__all'],
allValue: '($^)|(.+)',
datasource,
definition: `label_values(\${alert_groups_total}{slug=~"${stack}",team=~"$team"},service_name)`,
definition: `label_values(\${alert_groups_total}{slug=~\`${stack}\`,team=~\`$team\`},service_name)`,
query: {
query: `label_values(\${alert_groups_total}{slug=~"${stack}",team=~"$team"},service_name)`,
query: `label_values(\${alert_groups_total}{slug=~\`${stack}\`,team=~\`$team\`},service_name)`,
refId: 'PrometheusVariableQueryEditor-VariableQuery',
},
refresh: 2,