master
go 196 lines 5.31 KB
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 package bind
4
5 import (
6 "github.com/netdata/netdata/go/plugins/plugin/framework/collectorapi"
7 )
8
9 type (
10 // Charts is an alias for collectorapi.Charts.
11 Charts = collectorapi.Charts
12 // Chart is an alias for collectorapi.Chart.
13 Chart = collectorapi.Chart
14 // Dims is an alias for collectorapi.Dims.
15 Dims = collectorapi.Dims
16 // Dim is an alias for collectorapi.Dim.
17 Dim = collectorapi.Dim
18 )
19
20 const (
21 // TODO: add to orchestrator module
22 basePriority = 70000
23
24 keyReceivedRequests = "received_requests"
25 keyQueriesSuccess = "queries_success"
26 keyRecursiveClients = "recursive_clients"
27 keyProtocolsQueries = "protocols_queries"
28 keyQueriesAnalysis = "queries_analysis"
29 keyReceivedUpdates = "received_updates"
30 keyQueryFailures = "query_failures"
31 keyQueryFailuresDetail = "query_failures_detail"
32 keyNSStats = "nsstats"
33 keyInOpCodes = "in_opcodes"
34 keyInQTypes = "in_qtypes"
35 keyInSockStats = "in_sockstats"
36
37 keyResolverStats = "view_resolver_stats_%s"
38 keyResolverRTT = "view_resolver_rtt_%s"
39 keyResolverInQTypes = "view_resolver_qtypes_%s"
40 keyResolverCacheHits = "view_resolver_cachehits_%s"
41 keyResolverNumFetch = "view_resolver_numfetch_%s"
42 )
43
44 var charts = map[string]Chart{
45 keyRecursiveClients: {
46 ID: keyRecursiveClients,
47 Title: "Global Recursive Clients",
48 Units: "clients",
49 Fam: "clients",
50 Ctx: "bind.recursive_clients",
51 Priority: basePriority + 1,
52 },
53 keyReceivedRequests: {
54 ID: keyReceivedRequests,
55 Title: "Global Received Requests by IP version",
56 Units: "requests/s",
57 Fam: "requests",
58 Ctx: "bind.requests",
59 Type: collectorapi.Stacked,
60 Priority: basePriority + 2,
61 },
62 keyQueriesSuccess: {
63 ID: keyQueriesSuccess,
64 Title: "Global Successful Queries",
65 Units: "queries/s",
66 Fam: "queries",
67 Ctx: "bind.queries_success",
68 Priority: basePriority + 3,
69 },
70 keyProtocolsQueries: {
71 ID: keyProtocolsQueries,
72 Title: "Global Queries by IP Protocol",
73 Units: "queries/s",
74 Fam: "queries",
75 Ctx: "bind.protocol_queries",
76 Type: collectorapi.Stacked,
77 Priority: basePriority + 4,
78 },
79 keyQueriesAnalysis: {
80 ID: keyQueriesAnalysis,
81 Title: "Global Queries Analysis",
82 Units: "queries/s",
83 Fam: "queries",
84 Ctx: "bind.global_queries",
85 Type: collectorapi.Stacked,
86 Priority: basePriority + 5,
87 },
88 keyReceivedUpdates: {
89 ID: keyReceivedUpdates,
90 Title: "Global Received Updates",
91 Units: "updates/s",
92 Fam: "updates",
93 Ctx: "bind.global_updates",
94 Type: collectorapi.Stacked,
95 Priority: basePriority + 6,
96 },
97 keyQueryFailures: {
98 ID: keyQueryFailures,
99 Title: "Global Query Failures",
100 Units: "failures/s",
101 Fam: "failures",
102 Ctx: "bind.global_failures",
103 Priority: basePriority + 7,
104 },
105 keyQueryFailuresDetail: {
106 ID: keyQueryFailuresDetail,
107 Title: "Global Query Failures Analysis",
108 Units: "failures/s",
109 Fam: "failures",
110 Ctx: "bind.global_failures_detail",
111 Type: collectorapi.Stacked,
112 Priority: basePriority + 8,
113 },
114 keyNSStats: {
115 ID: keyNSStats,
116 Title: "Global Server Statistics",
117 Units: "operations/s",
118 Fam: "other",
119 Ctx: "bind.nsstats",
120 Priority: basePriority + 9,
121 },
122 keyInOpCodes: {
123 ID: keyInOpCodes,
124 Title: "Incoming Requests by OpCode",
125 Units: "requests/s",
126 Fam: "requests",
127 Ctx: "bind.in_opcodes",
128 Type: collectorapi.Stacked,
129 Priority: basePriority + 10,
130 },
131 keyInQTypes: {
132 ID: keyInQTypes,
133 Title: "Incoming Requests by Query Type",
134 Units: "requests/s",
135 Fam: "requests",
136 Ctx: "bind.in_qtypes",
137 Type: collectorapi.Stacked,
138 Priority: basePriority + 11,
139 },
140 keyInSockStats: {
141 ID: keyInSockStats,
142 Title: "Socket Statistics",
143 Units: "operations/s",
144 Fam: "sockets",
145 Ctx: "bind.in_sockstats",
146 Priority: basePriority + 12,
147 },
148
149 keyResolverRTT: {
150 ID: keyResolverRTT,
151 Title: "Resolver Round Trip Time",
152 Units: "queries/s",
153 Fam: "view %s",
154 Ctx: "bind.resolver_rtt",
155 Type: collectorapi.Stacked,
156 Priority: basePriority + 22,
157 },
158 keyResolverStats: {
159 ID: keyResolverStats,
160 Title: "Resolver Statistics",
161 Units: "operations/s",
162 Fam: "view %s",
163 Ctx: "bind.resolver_stats",
164 Priority: basePriority + 23,
165 },
166 keyResolverInQTypes: {
167 ID: keyResolverInQTypes,
168 Title: "Resolver Requests by Query Type",
169 Units: "requests/s",
170 Fam: "view %s",
171 Ctx: "bind.resolver_qtypes",
172 Type: collectorapi.Stacked,
173 Priority: basePriority + 24,
174 },
175 keyResolverNumFetch: {
176 ID: keyResolverNumFetch,
177 Title: "Resolver Active Queries",
178 Units: "queries",
179 Fam: "view %s",
180 Ctx: "bind.resolver_active_queries",
181 Priority: basePriority + 25,
182 },
183 keyResolverCacheHits: {
184 ID: keyResolverCacheHits,
185 Title: "Resolver Cache Hits",
186 Units: "operations/s",
187 Fam: "view %s",
188 Ctx: "bind.resolver_cachehits",
189 Type: collectorapi.Area,
190 Priority: basePriority + 26,
191 Dims: Dims{
192 {ID: "%s_CacheHits", Name: "hits", Algo: collectorapi.Incremental},
193 {ID: "%s_CacheMisses", Name: "misses", Algo: collectorapi.Incremental, Mul: -1},
194 },
195 },
196 }