|
| 1 | +local g = import 'g.libsonnet'; |
| 2 | + |
| 3 | +local dashboard = g.dashboard; |
| 4 | +local row = g.panel.row; |
| 5 | + |
| 6 | +local panels = import './panels.libsonnet'; |
| 7 | +local variables = import './variables.libsonnet'; |
| 8 | +local queries = import './queries.libsonnet'; |
| 9 | + |
| 10 | +// import config |
| 11 | +local c = import '../config.libsonnet'; |
| 12 | + |
1 | 13 | {
|
2 | 14 | grafanaDashboards+:: {
|
3 |
| - 'postgres-overview.json': (import 'postgres-overview.json'), |
4 |
| - }, |
| 15 | + 'overview.json': |
| 16 | + dashboard.new('%s Overview' % $._config.dashboardNamePrefix) |
| 17 | + + dashboard.withTags($._config.dashboardTags) |
| 18 | + + dashboard.withRefresh('1m') |
| 19 | + + dashboard.time.withFrom(value='now-1h') |
| 20 | + + dashboard.graphTooltip.withSharedCrosshair() |
| 21 | + + dashboard.withVariables([ |
| 22 | + variables.datasource, |
| 23 | + ]) |
| 24 | + + dashboard.withPanels( |
| 25 | + g.util.grid.makeGrid([ |
| 26 | + row.new('Overview') |
| 27 | + + row.withPanels([ |
| 28 | + panels.stat.qps('QPS', queries.qps), |
| 29 | + panels.timeSeries.ratio1('Cache Hit Ratio', queries.cacheHitRatio), |
| 30 | + panels.timeSeries.base('Active Connections', queries.activeConnections) |
| 31 | + ]), |
| 32 | + row.new('server') |
| 33 | + + row.withPanels([ |
| 34 | + panels.timeSeries.base('Conflicts/Deadlocks', [queries.conflicts, queries.deadlocks]), |
| 35 | + panels.timeSeries.base('Buffers', [queries.buffersAlloc, queries.buffersBackendFsync, queries.buffersBackend, queries.buffersClean, queries.buffersCheckpoint]), |
| 36 | + panels.timeSeries.base('Rows', [queries.databaseTupFetched, queries.databaseTupReturned, queries.databaseTupInserted, queries.databaseTupUpdated, queries.databaseTupDeleted]), |
| 37 | + ]), |
| 38 | + ]) |
| 39 | + ) |
| 40 | + } |
5 | 41 | }
|
0 commit comments