Skip to content

Commit 9ffc334

Browse files
dashboard: introduce Tarantool 3 dashboard
For now the only difference between Tarantool Cartridge and Tarantool 3 dashboard is that the latter is missing some Cartridge-only panels. Part of #224
1 parent c128b46 commit 9ffc334

26 files changed

+50765
-3303
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## Unreleased
88

9+
### Added
10+
- `cluster_tarantool3` panels section (`cluster` for Tarantool 3) (#224)
11+
- `replication_tarantool3` panels section (`replication` for Tarantool 3) (#224)
12+
913
### Changed
1014
- Renamed build `cluster` panels section to `cluster_cartridge`.
1115
It affects all custom-built dashboards which had used `cluster` (#224)
1216
- Renamed build `replication` panels section to `replication_cartridge`.
1317
It affects all custom-built dashboards which had used `replication` (#224)
1418
- Remove deprecated `build-static-*` targets from `make` (#224)
19+
- Make default template use Tarantool 3 sections (#224)
1520

1621
### Fixed
1722
- Removed extra quotation mark for TDG jobs_average_panel query (#220)

config.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,9 @@ metrics_prefix: ''
5858

5959
# sections are dashboard panels sections to be included
6060
# The list of supported sections:
61+
# - cluster_tarantool3
6162
# - cluster_cartridge
63+
# - replication_tarantool3
6264
# - replication_cartridge
6365
# - http
6466
# - net
@@ -84,10 +86,10 @@ metrics_prefix: ''
8486
# - tdg_iproto
8587
# - tdg_rest_api
8688
# - tdg_tasks
87-
# default is [cluster_cartridge, replication_cartridge, http, net, slab, mvcc, space, vinyl, cpu, runtime, luajit, operations, crud, expirationd]
89+
# default is [cluster_tarantool3, replication_tarantool3, http, net, slab, mvcc, space, vinyl, cpu, runtime, luajit, operations, crud, expirationd]
8890
sections:
89-
- cluster_cartridge
90-
- replication_cartridge
91+
- cluster_tarantool3
92+
- replication_tarantool3
9193
- http
9294
- net
9395
- slab
@@ -131,8 +133,8 @@ sections:
131133
# job: ['=', 'MyJobWithTarantoolMetrics'],
132134
# }
133135
# sections:
134-
# - cluster_cartridge
135-
# - replication_cartridge
136+
# - cluster_tarantool3
137+
# - replication_tarantool3
136138
# - http
137139
# - net
138140
# - slab

dashboard/build/config.libsonnet

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ local variable = import 'dashboard/variable.libsonnet';
2727
filters: {},
2828
metrics_prefix: '',
2929
sections: [
30-
'cluster_cartridge',
31-
'replication_cartridge',
30+
'cluster_tarantool3',
31+
'replication_tarantool3',
3232
'http',
3333
'net',
3434
'slab',
@@ -54,8 +54,8 @@ local variable = import 'dashboard/variable.libsonnet';
5454
filters: {},
5555
metrics_prefix: '',
5656
sections: [
57-
'cluster_cartridge',
58-
'replication_cartridge',
57+
'cluster_tarantool3',
58+
'replication_tarantool3',
5959
'http',
6060
'net',
6161
'slab',

dashboard/panels/cluster.libsonnet

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -402,11 +402,12 @@ local prometheus = grafana.prometheus;
402402
403403
Panel works with `metrics >= 0.11.0` and Grafana 8.x.
404404
|||,
405+
panel_width=12,
405406
):: timeseries.new(
406407
title=title,
407408
description=description,
408409
datasource=cfg.datasource,
409-
panel_width=12,
410+
panel_width=panel_width,
410411
max=1,
411412
min=0,
412413
).addValueMapping(

dashboard/panels/replication.libsonnet

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,12 @@ local prometheus = grafana.prometheus;
1919
2020
Panel works with `metrics >= 0.13.0` and Grafana 8.x.
2121
|||,
22+
panel_width=8,
2223
):: timeseries.new(
2324
title=title,
2425
description=description,
2526
datasource=cfg.datasource,
26-
panel_width=8,
27+
panel_width=panel_width,
2728
max=1,
2829
min=0,
2930
).addValueMapping(
@@ -53,14 +54,15 @@ local prometheus = grafana.prometheus;
5354
5455
Panel works with `metrics >= 0.13.0`.
5556
|||,
57+
panel_width=8,
5658
):: common.default_graph(
5759
cfg,
5860
title=title,
5961
description=description,
6062
format='s',
6163
legend_avg=false,
6264
min=0,
63-
panel_width=8,
65+
panel_width=panel_width,
6466
).addTarget(
6567
common.target(
6668
cfg,

dashboard/section.libsonnet

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,30 @@ local tdg_tuples = import 'dashboard/panels/tdg/tuples.libsonnet';
2727
local vinyl = import 'dashboard/panels/vinyl.libsonnet';
2828

2929
{
30+
cluster_tarantool3(cfg):: if cfg.type == variable.datasource_type.prometheus then [
31+
// Must be used only in the top of a dashboard, overall stat panels use complicated layout
32+
cluster.row,
33+
cluster.health_overview_table(cfg) { gridPos: { w: 12, h: 8, x: 0, y: 1 } },
34+
cluster.health_overview_stat(cfg) { gridPos: { w: 6, h: 3, x: 12, y: 1 } },
35+
cluster.memory_used_stat(cfg) { gridPos: { w: 3, h: 3, x: 18, y: 1 } },
36+
cluster.memory_reserved_stat(cfg) { gridPos: { w: 3, h: 3, x: 21, y: 1 } },
37+
cluster.http_rps_stat(cfg) { gridPos: { w: 4, h: 5, x: 12, y: 4 } },
38+
cluster.net_rps_stat(cfg) { gridPos: { w: 4, h: 5, x: 16, y: 4 } },
39+
cluster.space_ops_stat(cfg) { gridPos: { w: 4, h: 5, x: 20, y: 4 } },
40+
cluster.read_only_status(cfg, panel_width=24),
41+
cluster.election_state(cfg),
42+
cluster.election_vote(cfg),
43+
cluster.election_leader(cfg),
44+
cluster.election_term(cfg),
45+
] else if cfg.type == variable.datasource_type.influxdb then [
46+
cluster.row,
47+
cluster.read_only_status(cfg, panel_width=24),
48+
cluster.election_state(cfg),
49+
cluster.election_vote(cfg),
50+
cluster.election_leader(cfg),
51+
cluster.election_term(cfg),
52+
],
53+
3054
cluster_cartridge(cfg):: if cfg.type == variable.datasource_type.prometheus then [
3155
// Must be used only in the top of a dashboard, overall stat panels use complicated layout
3256
cluster.row,
@@ -57,6 +81,16 @@ local vinyl = import 'dashboard/panels/vinyl.libsonnet';
5781
cluster.election_term(cfg),
5882
],
5983

84+
replication_tarantool3(cfg):: [
85+
replication.row,
86+
replication.replication_status(cfg, panel_width=12),
87+
replication.replication_lag(cfg, panel_width=12),
88+
replication.synchro_queue_owner(cfg),
89+
replication.synchro_queue_term(cfg),
90+
replication.synchro_queue_length(cfg),
91+
replication.synchro_queue_busy(cfg),
92+
],
93+
6094
replication_cartridge(cfg):: [
6195
replication.row,
6296
replication.replication_status(cfg),
2.73 KB
Loading
Loading
Loading

tests/InfluxDB/dashboard.yml renamed to tests/InfluxDB/dashboard_cartridge.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
type: influxdb
2-
title: Tarantool dashboard
3-
description: Dashboard for Tarantool application and database server monitoring, based on grafonnet library.
2+
title: Tarantool Cartridge dashboard
3+
description: Dashboard for Tarantool Cartridge and Tarantool 1.10—2.x application and database server monitoring, based on grafonnet library.
44
grafana_tags: [tarantool]
55
datasource: '$influxdb'
66
policy: '$policy'

0 commit comments

Comments
 (0)