master
go 81 lines 2.38 KB
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 package squid
4
5 import (
6 "github.com/netdata/netdata/go/plugins/plugin/framework/collectorapi"
7 )
8
9 const (
10 prioClientsNet = collectorapi.Priority + iota
11 prioClientsRequests
12 prioServersNet
13 prioServersRequests
14 )
15
16 var charts = collectorapi.Charts{
17 clientsNetChart.Copy(),
18 clientsRequestsChart.Copy(),
19 serversNetChart.Copy(),
20 serversRequestsChart.Copy(),
21 }
22
23 var (
24 clientsNetChart = collectorapi.Chart{
25 ID: "clients_net",
26 Title: "Squid Client Bandwidth",
27 Units: "kilobits/s",
28 Fam: "clients",
29 Ctx: "squid.clients_net",
30 Type: collectorapi.Area,
31 Priority: prioClientsNet,
32 Dims: collectorapi.Dims{
33 {ID: "client_http.kbytes_in", Name: "in", Algo: collectorapi.Incremental, Mul: 8},
34 {ID: "client_http.kbytes_out", Name: "out", Algo: collectorapi.Incremental, Mul: -8},
35 {ID: "client_http.hit_kbytes_out", Name: "hits", Algo: collectorapi.Incremental, Mul: -8},
36 },
37 }
38
39 clientsRequestsChart = collectorapi.Chart{
40 ID: "clients_requests",
41 Title: "Squid Client Requests",
42 Units: "requests/s",
43 Fam: "clients",
44 Ctx: "squid.clients_requests",
45 Type: collectorapi.Line,
46 Priority: prioClientsRequests,
47 Dims: collectorapi.Dims{
48 {ID: "client_http.requests", Name: "requests", Algo: collectorapi.Incremental},
49 {ID: "client_http.hits", Name: "hits", Algo: collectorapi.Incremental},
50 {ID: "client_http.errors", Name: "errors", Algo: collectorapi.Incremental, Mul: -1},
51 },
52 }
53
54 serversNetChart = collectorapi.Chart{
55 ID: "servers_net",
56 Title: "Squid Server Bandwidth",
57 Units: "kilobits/s",
58 Fam: "servers",
59 Ctx: "squid.servers_net",
60 Type: collectorapi.Area,
61 Priority: prioServersNet,
62 Dims: collectorapi.Dims{
63 {ID: "server.all.kbytes_in", Name: "in", Algo: collectorapi.Incremental, Mul: 8},
64 {ID: "server.all.kbytes_out", Name: "out", Algo: collectorapi.Incremental, Mul: -8},
65 },
66 }
67
68 serversRequestsChart = collectorapi.Chart{
69 ID: "servers_requests",
70 Title: "Squid Server Requests",
71 Units: "requests/s",
72 Fam: "servers",
73 Ctx: "squid.servers_requests",
74 Type: collectorapi.Line,
75 Priority: prioServersRequests,
76 Dims: collectorapi.Dims{
77 {ID: "server.all.requests", Name: "requests", Algo: collectorapi.Incremental},
78 {ID: "server.all.errors", Name: "errors", Algo: collectorapi.Incremental, Mul: -1},
79 },
80 }
81 )