master
c 34 lines 887 Bytes
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 #include "windows_plugin.h"
4 #include "windows-internals.h"
5
6 int do_GetSystemUptime(int update_every, usec_t dt __maybe_unused)
7 {
8 ULONGLONG uptime = GetTickCount64(); // in milliseconds
9
10 static RRDSET *st = NULL;
11 static RRDDIM *rd_uptime = NULL;
12 if (!st) {
13 st = rrdset_create_localhost(
14 "system",
15 "uptime",
16 NULL,
17 "uptime",
18 "system.uptime",
19 "System Uptime",
20 "seconds",
21 PLUGIN_WINDOWS_NAME,
22 "GetSystemUptime",
23 NETDATA_CHART_PRIO_SYSTEM_UPTIME,
24 update_every,
25 RRDSET_TYPE_LINE);
26
27 rd_uptime = rrddim_add(st, "uptime", NULL, 1, 1000, RRD_ALGORITHM_ABSOLUTE);
28 }
29
30 rrddim_set_by_pointer(st, rd_uptime, (collected_number)uptime);
31 rrdset_done(st);
32
33 return 0;
34 }