-
Notifications
You must be signed in to change notification settings - Fork 163
/
panels.libsonnet
85 lines (78 loc) · 3.24 KB
/
panels.libsonnet
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
local g = import './g.libsonnet';
local commonlib = import 'common-lib/common/main.libsonnet';
{
new(signals):
{
version: signals.version.asStat(),
goRoutines:
signals.goRoutines.asTimeSeries()
+ commonlib.panels.generic.timeSeries.base.stylize()
+ g.panel.timeSeries.standardOptions.withDecimals(0),
uptime:
signals.uptime.asStat()
+ commonlib.panels.system.stat.uptime.stylize(),
cGo:
signals.cgoCalls.asStat()
+ commonlib.panels.generic.stat.base.stylize()
+ g.panel.timeSeries.standardOptions.withNoValue('0'),
gcDuration:
g.panel.timeSeries.new('GC duration')
+ g.panel.timeSeries.panelOptions.withDescription(
|||
Amount of time in GC stop-the-world pauses.
During a stop-the-world pause, all goroutines are paused and only the garbage collector can run
|||
)
+ signals.gcDurationMax.asPanelMixin()
+ signals.gcDurationMin.asPanelMixin()
+ signals.gcDurationPercentile.asPanelMixin()
+ commonlib.panels.generic.timeSeries.base.stylize(),
goThreads:
signals.goThreads.asStat()
+ commonlib.panels.generic.stat.base.stylize(),
mem:
g.panel.timeSeries.new('Memory')
+ g.panel.timeSeries.panelOptions.withDescription('Memory reserved from system.')
+ signals.memReserved.asPanelMixin()
+ signals.memTotal.asPanelMixin()
+ commonlib.panels.memory.timeSeries.usageBytes.stylize(),
memHeapBytes:
g.panel.timeSeries.new('Memory heap')
+ g.panel.timeSeries.panelOptions.withDescription('Memory used heap.')
+ signals.memHeapReserved.asPanelMixin()
+ signals.memHeapObjBytes.asPanelMixin()
+ signals.memHeapIdleBytes.asPanelMixin()
+ signals.memHeapInUseBytes.asPanelMixin()
+ signals.memHeapReleasedBytes.asPanelMixin()
+ commonlib.panels.memory.timeSeries.usageBytes.stylize(),
memHeapObjects:
g.panel.timeSeries.new('Memory heap objects')
+ g.panel.timeSeries.panelOptions.withDescription(
|||
Number of allocated heap objects.
This changes as GC is performed and new objects are allocated.
|||,
)
+ signals.memHeapAllocatedObjects.asPanelMixin()
// + signals.memHeapLiveObjects.asPanelMixin()
+ commonlib.panels.generic.timeSeries.base.stylize(),
memOffHeap:
g.panel.timeSeries.new('Memory off-heap')
+ signals.memMspan.asPanelMixin()
+ signals.memMcache.asPanelMixin()
+ signals.memBuckHash.asPanelMixin()
+ signals.memGc.asPanelMixin()
+ signals.memOther.asPanelMixin()
+ commonlib.panels.memory.timeSeries.usageBytes.stylize(),
memStack:
g.panel.timeSeries.new('Memory stack')
+ signals.memStack.asPanelMixin()
+ commonlib.panels.memory.timeSeries.usageBytes.stylize(),
// memoryObjectAllocationRate:
// this.signals[type].memoryAllocations.asTimeSeries()
// + commonlib.panels.generic.timeSeries.base.stylize(),
// nextGC:
// this.signals[type].nextGC.asTimeSeries()
// + commonlib.panels.memory.timeSeries.usageBytes.stylize(),
},
}