master
go 82 lines 2.09 KB
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 //go:build linux
4
5 package logind
6
7 import "github.com/netdata/netdata/go/plugins/plugin/framework/collectorapi"
8
9 const (
10 prioSessions = collectorapi.Priority + iota
11 prioSessionsType
12 prioSessionsState
13 prioUsersState
14 )
15
16 var charts = collectorapi.Charts{
17 sessionsChart.Copy(),
18 sessionsTypeChart.Copy(),
19 sessionsStateChart.Copy(),
20 usersStateChart.Copy(),
21 }
22
23 var sessionsChart = collectorapi.Chart{
24 ID: "sessions",
25 Title: "Logind Sessions",
26 Units: "sessions",
27 Fam: "sessions",
28 Ctx: "logind.sessions",
29 Priority: prioSessions,
30 Type: collectorapi.Stacked,
31 Dims: collectorapi.Dims{
32 {ID: "sessions_remote", Name: "remote"},
33 {ID: "sessions_local", Name: "local"},
34 },
35 }
36
37 var sessionsTypeChart = collectorapi.Chart{
38 ID: "sessions_type",
39 Title: "Logind Sessions By Type",
40 Units: "sessions",
41 Fam: "sessions",
42 Ctx: "logind.sessions_type",
43 Priority: prioSessionsType,
44 Type: collectorapi.Stacked,
45 Dims: collectorapi.Dims{
46 {ID: "sessions_type_console", Name: "console"},
47 {ID: "sessions_type_graphical", Name: "graphical"},
48 {ID: "sessions_type_other", Name: "other"},
49 },
50 }
51
52 var sessionsStateChart = collectorapi.Chart{
53 ID: "sessions_state",
54 Title: "Logind Sessions By State",
55 Units: "sessions",
56 Fam: "sessions",
57 Ctx: "logind.sessions_state",
58 Priority: prioSessionsState,
59 Type: collectorapi.Stacked,
60 Dims: collectorapi.Dims{
61 {ID: "sessions_state_online", Name: "online"},
62 {ID: "sessions_state_closing", Name: "closing"},
63 {ID: "sessions_state_active", Name: "active"},
64 },
65 }
66
67 var usersStateChart = collectorapi.Chart{
68 ID: "users_state",
69 Title: "Logind Users By State",
70 Units: "users",
71 Fam: "users",
72 Ctx: "logind.users_state",
73 Priority: prioUsersState,
74 Type: collectorapi.Stacked,
75 Dims: collectorapi.Dims{
76 {ID: "users_state_offline", Name: "offline"},
77 {ID: "users_state_closing", Name: "closing"},
78 {ID: "users_state_online", Name: "online"},
79 {ID: "users_state_lingering", Name: "lingering"},
80 {ID: "users_state_active", Name: "active"},
81 },
82 }