summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/df.lua
blob: fb732991baafbf6bd7b812aa9bd35e15d672ac32 (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
84
85
86
87
88
89
90
-- Copyright 2008 Freifunk Leipzig / Jo-Philipp Wich <jow@openwrt.org>
-- Licensed to the public under the Apache License 2.0.

module("luci.statistics.rrdtool.definitions.df", package.seeall)

function item()
	return luci.i18n.translate("Disk Space Usage")
end

function rrdargs( graph, plugin, plugin_instance, dtype )

	local df_complex = {
		title = "%H: Disk space usage on %pi",
		vlabel = "Bytes",
		number_format = "%5.1lf%sB",

		data = {
			instances = {
				df_complex = { "free", "used", "reserved" }
			},

			options = {
				df_complex_free = {
					color = "00ff00",
					overlay = false,
					title = "free"
				},

				df_complex_used = {
					color = "ff0000",
					overlay = false,
					title = "used"
				},

				df_complex_reserved = {
					color = "0000ff",
					overlay = false,
					title = "reserved"
				}
			}
		}
	}

	local percent_bytes = {
		title = "%H: Disk space usage on %pi",
		vlabel = "Percent",
		number_format = "%5.2lf %%",

		data = {
			instances = {
				percent_bytes = { "free", "used", "reserved" }
			},

			options = {
				percent_bytes_free = {
					color = "00ff00",
					overlay = false,
					title = "free"
				},

				percent_bytes_used = {
					color = "ff0000",
					overlay = false,
					title = "used"
				},

				percent_bytes_reserved = {
					color = "0000ff",
					overlay = false,
					title = "reserved"
				}
			}
		}
	}

	local types = graph.tree:data_types( plugin, plugin_instance )

	local p = {}
	for _, t in ipairs(types) do
		if t == "percent_bytes" then
			p[#p+1] = percent_bytes
		end

		if t == "df_complex" then
			p[#p+1] = df_complex
		end
	end

	return p
end