master
go 82 lines 1.95 KB
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 package boinc
4
5 import (
6 "github.com/netdata/netdata/go/plugins/plugin/framework/collectorapi"
7 )
8
9 const (
10 prioTasks = collectorapi.Priority + iota
11 prioTasksState
12 prioActiveTasksState
13 prioActiveTasksSchedulerState
14 )
15
16 var charts = collectorapi.Charts{
17 tasksChart.Copy(),
18 tasksStateChart.Copy(),
19 activeTasksStateChart.Copy(),
20 activeTasksSchedulerStateChart.Copy(),
21 }
22 var (
23 tasksChart = collectorapi.Chart{
24 ID: "tasks",
25 Title: "Overall Tasks",
26 Units: "tasks",
27 Fam: "tasks",
28 Ctx: "boinc.tasks",
29 Priority: prioTasks,
30 Dims: collectorapi.Dims{
31 {ID: "total"},
32 {ID: "active"},
33 },
34 }
35 tasksStateChart = collectorapi.Chart{
36 ID: "tasks_state",
37 Title: "Tasks per State",
38 Units: "tasks",
39 Fam: "tasks",
40 Ctx: "boinc.tasks_per_state",
41 Priority: prioTasksState,
42 Dims: collectorapi.Dims{
43 {ID: "new"},
44 {ID: "files_downloading", Name: "downloading"},
45 {ID: "files_downloaded", Name: "downloaded"},
46 {ID: "compute_error"},
47 {ID: "files_uploading", Name: "uploading"},
48 {ID: "files_uploaded", Name: "uploaded"},
49 {ID: "aborted"},
50 {ID: "upload_failed"},
51 },
52 }
53 activeTasksStateChart = collectorapi.Chart{
54 ID: "active_tasks_state",
55 Title: "Active Tasks per State",
56 Units: "tasks",
57 Fam: "tasks",
58 Ctx: "boinc.active_tasks_per_state",
59 Priority: prioActiveTasksState,
60 Dims: collectorapi.Dims{
61 {ID: "uninitialized"},
62 {ID: "executing"},
63 {ID: "abort_pending"},
64 {ID: "quit_pending"},
65 {ID: "suspended"},
66 {ID: "copy_pending"},
67 },
68 }
69 activeTasksSchedulerStateChart = collectorapi.Chart{
70 ID: "active_tasks_scheduler_state",
71 Title: "Active Tasks per Scheduler State",
72 Units: "tasks",
73 Fam: "tasks",
74 Ctx: "boinc.active_tasks_per_scheduler_state",
75 Priority: prioActiveTasksSchedulerState,
76 Dims: collectorapi.Dims{
77 {ID: "uninitialized"},
78 {ID: "preempted"},
79 {ID: "scheduled"},
80 },
81 }
82 )