master
c 42 lines 1.14 KB
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 #include "plugin_proc.h"
4
5 int do_proc_uptime(int update_every, usec_t dt) {
6 (void)dt;
7
8 static const char *uptime_filename = NULL;
9 if(!uptime_filename) {
10 char filename[FILENAME_MAX + 1];
11 snprintfz(filename, FILENAME_MAX, "%s%s", netdata_configured_host_prefix, "/proc/uptime");
12
13 uptime_filename = inicfg_get(&netdata_config, "plugin:proc:/proc/uptime", "filename to monitor", filename);
14 }
15
16 static RRDSET *st = NULL;
17 static RRDDIM *rd = NULL;
18
19 if(unlikely(!st)) {
20
21 st = rrdset_create_localhost(
22 "system"
23 , "uptime"
24 , NULL
25 , "uptime"
26 , NULL
27 , "System Uptime"
28 , "seconds"
29 , PLUGIN_PROC_NAME
30 , "/proc/uptime"
31 , NETDATA_CHART_PRIO_SYSTEM_UPTIME
32 , update_every
33 , RRDSET_TYPE_LINE
34 );
35
36 rd = rrddim_add(st, "uptime", NULL, 1, 1000, RRD_ALGORITHM_ABSOLUTE);
37 }
38
39 rrddim_set_by_pointer(st, rd, uptime_msec(uptime_filename));
40 rrdset_done(st);
41 return 0;
42 }