| 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 | } |