Skip to content

Commit c7a8a72

Browse files
parametize influxdb queries
1 parent d1d8047 commit c7a8a72

12 files changed

+216
-152
lines changed

dashboard/panels/cpu.libsonnet

Lines changed: 53 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -90,13 +90,21 @@ local prometheus = grafana.prometheus;
9090
else if cfg.type == variable.datasource_type.influxdb then
9191
influxdb.target(
9292
rawQuery=true,
93-
query=|||
94-
SELECT non_negative_derivative(sum("value"), 1s)
95-
FROM "$policy"."$measurement"
96-
WHERE (("metric_name" = 'tnt_cpu_user_time' OR "metric_name" = 'tnt_cpu_system_time') AND "label_pairs_alias" =~ /^$alias$/)
93+
query=std.format(|||
94+
SELECT non_negative_derivative(SUM("value"), 1s)
95+
FROM %(measurement_with_policy)s
96+
WHERE (("metric_name" = '%(metric_user_time)s' OR "metric_name" = '%(metric_system_time)s') AND %(filters)s)
9797
AND $timeFilter
9898
GROUP BY time($__interval), "label_pairs_alias" fill(none)
99-
|||,
99+
|||, {
100+
measurement_with_policy: std.format('%(policy_prefix)s"%(measurement)s"', {
101+
policy_prefix: if cfg.policy == 'default' then '' else std.format('"%(policy)s".', cfg.policy),
102+
measurement: cfg.measurement,
103+
}),
104+
metric_user_time: cfg.metrics_prefix + 'tnt_cpu_user_time',
105+
metric_system_time: cfg.metrics_prefix + 'tnt_cpu_system_time',
106+
filters: common.influxdb_query_filters(cfg.filters),
107+
}),
100108
alias='$tag_label_pairs_alias',
101109
)
102110
),
@@ -171,13 +179,23 @@ local prometheus = grafana.prometheus;
171179
}
172180
),
173181
prometheus_legend=title,
174-
influx_query=|||
175-
SELECT non_negative_derivative(SUM("value"), 1s) AS total_cpu_time_per_cluster
176-
FROM "$policy"."$measurement"
177-
WHERE ("metric_name" = 'tnt_cpu_user_time' OR "metric_name" = 'tnt_cpu_system_time')
182+
influx_query=std.format(|||
183+
SELECT non_negative_derivative(SUM("value"), 1s)
184+
FROM %(measurement_with_policy)s
185+
WHERE (("metric_name" = '%(metric_user_time)s' OR "metric_name" = '%(metric_system_time)s') AND %(filters)s)
178186
AND $timeFilter
179187
GROUP BY time($__interval)
180-
|||,
188+
|||, {
189+
measurement_with_policy: std.format('%(policy_prefix)s"%(measurement)s"', {
190+
policy_prefix: if cfg.policy == 'default' then '' else std.format('"%(policy)s".', cfg.policy),
191+
measurement: cfg.measurement,
192+
}),
193+
metric_user_time: cfg.metrics_prefix + 'tnt_cpu_user_time',
194+
metric_system_time: cfg.metrics_prefix + 'tnt_cpu_system_time',
195+
filters: if common.influxdb_query_filters(common.remove_field(cfg.filters, 'label_pairs_alias')) != ''
196+
then common.influxdb_query_filters(common.remove_field(cfg.filters, 'label_pairs_alias'))
197+
else 'true',
198+
}),
181199
influx_alias=title
182200
),
183201

@@ -204,13 +222,20 @@ local prometheus = grafana.prometheus;
204222
}
205223
),
206224
prometheus_legend=title,
207-
influx_query=|||
208-
SELECT non_negative_derivative(SUM("value"), 1s) AS total_cpu_user_time
209-
FROM "$policy"."$measurement"
210-
WHERE "metric_name" = 'tnt_cpu_user_time' AND "label_pairs_alias" =~ /^$alias$/
225+
influx_query=std.format(|||
226+
SELECT non_negative_derivative(SUM("value"), 1s)
227+
FROM %(measurement_with_policy)s
228+
WHERE "metric_name" = '%(metric_user_time)s' AND %(filters)s
211229
AND $timeFilter
212230
GROUP BY time($__interval)
213-
|||,
231+
|||, {
232+
measurement_with_policy: std.format('%(policy_prefix)s"%(measurement)s"', {
233+
policy_prefix: if cfg.policy == 'default' then '' else std.format('"%(policy)s".', cfg.policy),
234+
measurement: cfg.measurement,
235+
}),
236+
metric_user_time: cfg.metrics_prefix + 'tnt_cpu_user_time',
237+
filters: common.influxdb_query_filters(cfg.filters),
238+
}),
214239
influx_alias=title
215240
),
216241

@@ -237,13 +262,20 @@ local prometheus = grafana.prometheus;
237262
}
238263
),
239264
prometheus_legend=title,
240-
influx_query=|||
241-
SELECT non_negative_derivative(SUM("value"), 1s) AS total_cpu_system_time
242-
FROM "$policy"."$measurement"
243-
WHERE ("metric_name" = 'tnt_cpu_system_time' AND "label_pairs_alias" =~ /^$alias$/)
244-
AND $timeFilter
265+
influx_query=std.format(|||
266+
SELECT non_negative_derivative(SUM("value"), 1s)
267+
FROM %(measurement_with_policy)s
268+
WHERE "metric_name" = '%(metric_system_time)s' AND %(filters)s
269+
AND $timeFilter
245270
GROUP BY time($__interval)
246-
|||,
271+
|||, {
272+
measurement_with_policy: std.format('%(policy_prefix)s"%(measurement)s"', {
273+
policy_prefix: if cfg.policy == 'default' then '' else std.format('"%(policy)s".', cfg.policy),
274+
measurement: cfg.measurement,
275+
}),
276+
metric_system_time: cfg.metrics_prefix + 'tnt_cpu_system_time',
277+
filters: common.influxdb_query_filters(cfg.filters),
278+
}),
247279
influx_alias=title
248280
),
249281

dashboard/panels/runtime.libsonnet

Lines changed: 57 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,21 @@ local variable = import 'dashboard/variable.libsonnet';
5656
else if cfg.type == variable.datasource_type.influxdb then
5757
influxdb.target(
5858
rawQuery=true,
59-
query=|||
60-
SELECT sum("value")
61-
FROM "$policy"."$measurement"
62-
WHERE (("metric_name" = 'tnt_memory' OR "metric_name" = 'tnt_memory_virt') AND "label_pairs_alias" =~ /^$alias$/)
59+
query=std.format(|||
60+
SELECT SUM("value")
61+
FROM %(measurement_with_policy)s
62+
WHERE (("metric_name" = '%(tnt_memory)s' OR "metric_name" = '%(tnt_memory_virt)s') AND %(filters)s)
6363
AND $timeFilter
6464
GROUP BY time($__interval), "label_pairs_alias" fill(none)
65-
|||,
65+
|||, {
66+
measurement_with_policy: std.format('%(policy_prefix)s"%(measurement)s"', {
67+
policy_prefix: if cfg.policy == 'default' then '' else std.format('"%(policy)s".', cfg.policy),
68+
measurement: cfg.measurement,
69+
}),
70+
tnt_memory: cfg.metrics_prefix + 'tnt_memory',
71+
tnt_memory_virt: cfg.metrics_prefix + 'tnt_memory_virt',
72+
filters: common.influxdb_query_filters(cfg.filters),
73+
}),
6674
alias='$tag_label_pairs_alias',
6775
)
6876
),
@@ -104,7 +112,7 @@ local variable = import 'dashboard/variable.libsonnet';
104112

105113
total_memory(
106114
cfg,
107-
title='Total memory usage',
115+
title='Total memory per cluster',
108116
description=|||
109117
Total memory used by Tarantool.
110118
|||,
@@ -130,20 +138,30 @@ local variable = import 'dashboard/variable.libsonnet';
130138
else if cfg.type == variable.datasource_type.influxdb then
131139
influxdb.target(
132140
rawQuery=true,
133-
query=|||
134-
SELECT SUM("value") AS total_memory_per_cluster
135-
FROM "$policy"."$measurement"
136-
WHERE ("metric_name" = 'tnt_memory' OR "metric_name" = 'tnt_memory_virt')
141+
query=std.format(|||
142+
SELECT SUM("value")
143+
FROM %(measurement_with_policy)s
144+
WHERE (("metric_name" = '%(metric_memory)s' OR "metric_name" = '%(metric_memory_virt)s') AND %(filters)s)
137145
AND $timeFilter
138146
GROUP BY time($__interval)
139-
|||,
147+
|||, {
148+
measurement_with_policy: std.format('%(policy_prefix)s"%(measurement)s"', {
149+
policy_prefix: if cfg.policy == 'default' then '' else std.format('"%(policy)s".', cfg.policy),
150+
measurement: cfg.measurement,
151+
}),
152+
metric_memory: cfg.metrics_prefix + 'tnt_memory',
153+
metric_memory_virt: cfg.metrics_prefix + 'tnt_memory_virt',
154+
filters: if common.influxdb_query_filters(common.remove_field(cfg.filters, 'label_pairs_alias')) != ''
155+
then common.influxdb_query_filters(common.remove_field(cfg.filters, 'label_pairs_alias'))
156+
else 'true',
157+
}),
140158
alias=title,
141159
)
142160
),
143161

144162
total_resident_memory(
145163
cfg,
146-
title='Total resident memory usage',
164+
title='Total resident memory per cluster',
147165
description=|||
148166
Resident memory used by Tarantool instance.
149167
|||,
@@ -160,20 +178,27 @@ local variable = import 'dashboard/variable.libsonnet';
160178
else if cfg.type == variable.datasource_type.influxdb then
161179
influxdb.target(
162180
rawQuery=true,
163-
query=|||
164-
SELECT SUM("value") AS total_resident_memory
165-
FROM "$policy"."$measurement"
166-
WHERE "metric_name" = 'tnt_memory' AND "label_pairs_alias" =~ /^$alias$/
181+
query=std.format(|||
182+
SELECT SUM("value")
183+
FROM %(measurement_with_policy)s
184+
WHERE "metric_name" = '%(metric_memory)s' AND %(filters)s
167185
AND $timeFilter
168186
GROUP BY time($__interval)
169-
|||,
187+
|||, {
188+
measurement_with_policy: std.format('%(policy_prefix)s"%(measurement)s"', {
189+
policy_prefix: if cfg.policy == 'default' then '' else std.format('"%(policy)s".', cfg.policy),
190+
measurement: cfg.measurement,
191+
}),
192+
metric_memory: cfg.metrics_prefix + 'tnt_memory',
193+
filters: common.influxdb_query_filters(cfg.filters),
194+
}),
170195
alias=title,
171196
)
172197
),
173198

174199
total_virtual_memory(
175200
cfg,
176-
title='Total virtual memory usage',
201+
title='Total virtual memory per cluster',
177202
description=|||
178203
Virtual memory used by Tarantool instance.
179204
|||,
@@ -190,13 +215,20 @@ local variable = import 'dashboard/variable.libsonnet';
190215
else if cfg.type == variable.datasource_type.influxdb then
191216
influxdb.target(
192217
rawQuery=true,
193-
query=|||
194-
SELECT SUM("value") AS total_virt_memory
195-
FROM "$policy"."$measurement"
196-
WHERE "metric_name" = 'tnt_memory_virt' AND "label_pairs_alias" =~ /^$alias$/
218+
query=std.format(|||
219+
SELECT SUM("value")
220+
FROM %(measurement_with_policy)s
221+
WHERE "metric_name" = '%(metric_memory_virt)s' AND %(filters)s
197222
AND $timeFilter
198-
GROUP BY time($__interval)
199-
|||,
223+
GROUP BY time($__interval) // fill(previous)
224+
|||, {
225+
measurement_with_policy: std.format('%(policy_prefix)s"%(measurement)s"', {
226+
policy_prefix: if cfg.policy == 'default' then '' else std.format('"%(policy)s".', cfg.policy),
227+
measurement: cfg.measurement,
228+
}),
229+
metric_memory_virt: cfg.metrics_prefix + 'tnt_memory_virt',
230+
filters: common.influxdb_query_filters(cfg.filters),
231+
}),
200232
alias=title,
201233
)
202234
),
@@ -207,7 +239,7 @@ local variable = import 'dashboard/variable.libsonnet';
207239
description=|||
208240
Memory used for objects allocated with Lua
209241
by using its internal mechanisms.
210-
Lua memory is bounded by 2 GB per instance.
242+
Lua memory is bounded by 2 GB per instance.
211243
|||,
212244
):: common.default_graph(
213245
cfg,

tests/InfluxDB/dashboard_cartridge_compiled.json

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14911,7 +14911,7 @@
1491114911
}
1491214912
],
1491314913
"policy": "default",
14914-
"query": "SELECT non_negative_derivative(sum(\"value\"), 1s)\nFROM \"$policy\".\"$measurement\"\nWHERE ((\"metric_name\" = 'tnt_cpu_user_time' OR \"metric_name\" = 'tnt_cpu_system_time') AND \"label_pairs_alias\" =~ /^$alias$/)\nAND $timeFilter\nGROUP BY time($__interval), \"label_pairs_alias\" fill(none)\n",
14914+
"query": "SELECT non_negative_derivative(SUM(\"value\"), 1s)\nFROM \"$policy\".\"$measurement\"\nWHERE ((\"metric_name\" = 'tnt_cpu_user_time' OR \"metric_name\" = 'tnt_cpu_system_time') AND \"label_pairs_alias\" =~ /^$alias$/)\nAND $timeFilter\nGROUP BY time($__interval), \"label_pairs_alias\" fill(none)\n",
1491514915
"rawQuery": true,
1491614916
"refId": "A",
1491714917
"resultFormat": "time_series",
@@ -15298,7 +15298,7 @@
1529815298
}
1529915299
],
1530015300
"policy": "default",
15301-
"query": "SELECT non_negative_derivative(SUM(\"value\"), 1s) AS total_cpu_time_per_cluster\nFROM \"$policy\".\"$measurement\"\nWHERE (\"metric_name\" = 'tnt_cpu_user_time' OR \"metric_name\" = 'tnt_cpu_system_time')\nAND $timeFilter\nGROUP BY time($__interval)\n",
15301+
"query": "SELECT non_negative_derivative(SUM(\"value\"), 1s)\nFROM \"$policy\".\"$measurement\"\nWHERE ((\"metric_name\" = 'tnt_cpu_user_time' OR \"metric_name\" = 'tnt_cpu_system_time') AND true)\nAND $timeFilter\nGROUP BY time($__interval)\n",
1530215302
"rawQuery": true,
1530315303
"refId": "A",
1530415304
"resultFormat": "time_series",
@@ -15403,7 +15403,7 @@
1540315403
}
1540415404
],
1540515405
"policy": "default",
15406-
"query": "SELECT non_negative_derivative(SUM(\"value\"), 1s) AS total_cpu_user_time\nFROM \"$policy\".\"$measurement\"\nWHERE \"metric_name\" = 'tnt_cpu_user_time' AND \"label_pairs_alias\" =~ /^$alias$/\nAND $timeFilter\nGROUP BY time($__interval)\n",
15406+
"query": "SELECT non_negative_derivative(SUM(\"value\"), 1s)\nFROM \"$policy\".\"$measurement\"\nWHERE \"metric_name\" = 'tnt_cpu_user_time' AND \"label_pairs_alias\" =~ /^$alias$/\nAND $timeFilter\nGROUP BY time($__interval)\n",
1540715407
"rawQuery": true,
1540815408
"refId": "A",
1540915409
"resultFormat": "time_series",
@@ -15508,7 +15508,7 @@
1550815508
}
1550915509
],
1551015510
"policy": "default",
15511-
"query": "SELECT non_negative_derivative(SUM(\"value\"), 1s) AS total_cpu_system_time\nFROM \"$policy\".\"$measurement\"\nWHERE (\"metric_name\" = 'tnt_cpu_system_time' AND \"label_pairs_alias\" =~ /^$alias$/)\nAND $timeFilter\nGROUP BY time($__interval)\n",
15511+
"query": "SELECT non_negative_derivative(SUM(\"value\"), 1s)\nFROM \"$policy\".\"$measurement\"\nWHERE \"metric_name\" = 'tnt_cpu_system_time' AND \"label_pairs_alias\" =~ /^$alias$/\nAND $timeFilter\nGROUP BY time($__interval)\n",
1551215512
"rawQuery": true,
1551315513
"refId": "A",
1551415514
"resultFormat": "time_series",
@@ -15633,7 +15633,7 @@
1563315633
}
1563415634
],
1563515635
"policy": "default",
15636-
"query": "SELECT sum(\"value\")\nFROM \"$policy\".\"$measurement\"\nWHERE ((\"metric_name\" = 'tnt_memory' OR \"metric_name\" = 'tnt_memory_virt') AND \"label_pairs_alias\" =~ /^$alias$/) \nAND $timeFilter\nGROUP BY time($__interval), \"label_pairs_alias\" fill(none)\n",
15636+
"query": "SELECT SUM(\"value\")\nFROM \"$policy\".\"$measurement\"\nWHERE ((\"metric_name\" = 'tnt_memory' OR \"metric_name\" = 'tnt_memory_virt') AND \"label_pairs_alias\" =~ /^$alias$/)\nAND $timeFilter\nGROUP BY time($__interval), \"label_pairs_alias\" fill(none)\n",
1563715637
"rawQuery": true,
1563815638
"refId": "A",
1563915639
"resultFormat": "time_series",
@@ -15989,7 +15989,7 @@
1598915989
"steppedLine": false,
1599015990
"targets": [
1599115991
{
15992-
"alias": "Total memory usage",
15992+
"alias": "Total memory per cluster",
1599315993
"groupBy": [
1599415994
{
1599515995
"params": [
@@ -16005,7 +16005,7 @@
1600516005
}
1600616006
],
1600716007
"policy": "default",
16008-
"query": "SELECT SUM(\"value\") AS total_memory_per_cluster\nFROM \"$policy\".\"$measurement\"\nWHERE (\"metric_name\" = 'tnt_memory' OR \"metric_name\" = 'tnt_memory_virt')\nAND $timeFilter\nGROUP BY time($__interval)\n",
16008+
"query": "SELECT SUM(\"value\")\nFROM \"$policy\".\"$measurement\"\nWHERE ((\"metric_name\" = 'tnt_memory' OR \"metric_name\" = 'tnt_memory_virt') AND true)\nAND $timeFilter\nGROUP BY time($__interval)\n",
1600916009
"rawQuery": true,
1601016010
"refId": "A",
1601116011
"resultFormat": "time_series",
@@ -16016,7 +16016,7 @@
1601616016
"thresholds": [ ],
1601716017
"timeFrom": null,
1601816018
"timeShift": null,
16019-
"title": "Total memory usage",
16019+
"title": "Total memory per cluster",
1602016020
"tooltip": {
1602116021
"shared": true,
1602216022
"sort": 2,
@@ -16093,7 +16093,7 @@
1609316093
"steppedLine": false,
1609416094
"targets": [
1609516095
{
16096-
"alias": "Total resident memory usage",
16096+
"alias": "Total resident memory per cluster",
1609716097
"groupBy": [
1609816098
{
1609916099
"params": [
@@ -16109,7 +16109,7 @@
1610916109
}
1611016110
],
1611116111
"policy": "default",
16112-
"query": "SELECT SUM(\"value\") AS total_resident_memory\nFROM \"$policy\".\"$measurement\"\nWHERE \"metric_name\" = 'tnt_memory' AND \"label_pairs_alias\" =~ /^$alias$/\nAND $timeFilter\nGROUP BY time($__interval)\n",
16112+
"query": "SELECT SUM(\"value\")\nFROM \"$policy\".\"$measurement\"\nWHERE \"metric_name\" = 'tnt_memory' AND \"label_pairs_alias\" =~ /^$alias$/\nAND $timeFilter\nGROUP BY time($__interval)\n",
1611316113
"rawQuery": true,
1611416114
"refId": "A",
1611516115
"resultFormat": "time_series",
@@ -16120,7 +16120,7 @@
1612016120
"thresholds": [ ],
1612116121
"timeFrom": null,
1612216122
"timeShift": null,
16123-
"title": "Total resident memory usage",
16123+
"title": "Total resident memory per cluster",
1612416124
"tooltip": {
1612516125
"shared": true,
1612616126
"sort": 2,
@@ -16197,7 +16197,7 @@
1619716197
"steppedLine": false,
1619816198
"targets": [
1619916199
{
16200-
"alias": "Total virtual memory usage",
16200+
"alias": "Total virtual memory per cluster",
1620116201
"groupBy": [
1620216202
{
1620316203
"params": [
@@ -16213,7 +16213,7 @@
1621316213
}
1621416214
],
1621516215
"policy": "default",
16216-
"query": "SELECT SUM(\"value\") AS total_virt_memory\nFROM \"$policy\".\"$measurement\"\nWHERE \"metric_name\" = 'tnt_memory_virt' AND \"label_pairs_alias\" =~ /^$alias$/\nAND $timeFilter\nGROUP BY time($__interval)\n",
16216+
"query": "SELECT SUM(\"value\")\nFROM \"$policy\".\"$measurement\"\nWHERE \"metric_name\" = 'tnt_memory_virt' AND \"label_pairs_alias\" =~ /^$alias$/\nAND $timeFilter\nGROUP BY time($__interval) // fill(previous)\n",
1621716217
"rawQuery": true,
1621816218
"refId": "A",
1621916219
"resultFormat": "time_series",
@@ -16224,7 +16224,7 @@
1622416224
"thresholds": [ ],
1622516225
"timeFrom": null,
1622616226
"timeShift": null,
16227-
"title": "Total virtual memory usage",
16227+
"title": "Total virtual memory per cluster",
1622816228
"tooltip": {
1622916229
"shared": true,
1623016230
"sort": 2,
@@ -16263,7 +16263,7 @@
1626316263
"dashLength": 10,
1626416264
"dashes": false,
1626516265
"datasource": "$influxdb",
16266-
"description": "Memory used for objects allocated with Lua\nby using its internal mechanisms.\nLua memory is bounded by 2 GB per instance. \n",
16266+
"description": "Memory used for objects allocated with Lua\nby using its internal mechanisms.\nLua memory is bounded by 2 GB per instance.\n",
1626716267
"fill": 0,
1626816268
"gridPos": {
1626916269
"h": 8,

0 commit comments

Comments
 (0)