summaryrefslogtreecommitdiff
path: root/cfg/jarmon-mav.js
blob: d0287534d5a04f23c8f2b870d573bc37015a359d (plain)
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
define(['jarmon'], function(jarmon) {
	var srv = 'https://mav.lukeshu.com/collectd/mav.lukeshu.com/'

	var tabRecipes = [
		['Overview', ['load', 'memory']],

		['CPU',      ['load', 'cpu-0']],
		['Net',      ['interface-ens3', 'interface-lo', 'interface-lvpn']],
	];

	var cpu = function(title, baseUrl) {
		return {
			title: title,
			data: [
				[baseUrl+'cpu-steal.rrd', 0, 'Steal', 'jiffy'],
				[baseUrl+'cpu-interrupt.rrd', 0, 'IRQ', 'jiffy'],
				[baseUrl+'cpu-softirq.rrd', 0, 'SoftIRQ', 'jiffy'],
				[baseUrl+'cpu-system.rrd', 0, 'System', 'jiffy'],
				[baseUrl+'cpu-wait.rrd', 0, 'IO', 'jiffy'],
				[baseUrl+'cpu-user.rrd', 0, 'User', 'jiffy'],
				//[baseUrl+'cpu-nice.rrd', 0, 'Nice', 'jiffy'],
				[baseUrl+'cpu-idle.rrd', 0, 'Idle', 'jiffy'],
			],
			options: jQuery.extend(true, {},
					       jarmon.Chart.BASE_OPTIONS,
					       jarmon.Chart.STACKED_OPTIONS,
					       {yaxis: {min: 0, max: 110}})
		};
	};

	var netIface = function(title, baseUrl) {
		return {
			title: title,
			data: [
				[baseUrl+'if_octets.rrd', 'tx', 'Transmit', 'bit/s', function (v) { return -v*8; }],
				[baseUrl+'if_octets.rrd', 'rx', 'Receive', 'bit/s', function (v) { return v*8; }]
			],
			options: jQuery.extend(true, {}, jarmon.Chart.BASE_OPTIONS)
		};
	};

	var chartRecipes = {
		'cpu-0': cpu("CPU-0 Usage", srv+'cpu-0/'),

		'interface-ens3': netIface('ens3 Throughput', srv+'interface-ens3/'),
		'interface-lo': netIface('lo Throughput', srv+'interface-lo/'),
		'interface-lvpn': netIface('lvpn Throughput', srv+'interface-lvpn/'),

		'load': {
			title: 'Load Average',
			data: [
				[srv+'load/load.rrd', 'shortterm', 'Short Term (1m)', ''],
				[srv+'load/load.rrd', 'midterm', 'Medium Term (5m)', ''],
				[srv+'load/load.rrd', 'longterm', 'Long Term (15m)', '']
			],
			options: jQuery.extend(true, {},
					       jarmon.Chart.BASE_OPTIONS,
					       {yaxis: {min: 0}})
		},

		'memory': {
			title: 'Memory',
			data: [
				[srv+'memory/memory-used.rrd', 0, 'Used', 'B'],
				[srv+'memory/memory-slab_unrecl.rrd', 0, 'Slab', 'B'],
				[srv+'memory/memory-slab_recl.rrd', 0, 'Slab (Recl)', 'B'],
				[srv+'memory/memory-cached.rrd', 0, 'Cached', 'B'],
				[srv+'memory/memory-buffered.rrd', 0, 'Buffered', 'B'],
				[srv+'memory/memory-free.rrd', 0, 'Free', 'B']
			],
			options: jQuery.extend(true, {},
					       jarmon.Chart.BASE_OPTIONS,
					       jarmon.Chart.STACKED_OPTIONS)
		},

	};

	return {
		name: 'mav',
		chartRecipes,
		tabRecipes
	};
});