master
go 1,012 lines 65.6 KB
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 package pulsar
4
5 import (
6 "context"
7 "net/http"
8 "net/http/httptest"
9 "os"
10 "strings"
11 "testing"
12
13 "github.com/stretchr/testify/assert"
14 "github.com/stretchr/testify/require"
15
16 "github.com/netdata/netdata/go/plugins/pkg/matcher"
17 "github.com/netdata/netdata/go/plugins/pkg/tlscfg"
18 "github.com/netdata/netdata/go/plugins/pkg/web"
19 "github.com/netdata/netdata/go/plugins/plugin/go.d/pkg/collecttest"
20 )
21
22 var (
23 dataConfigJSON, _ = os.ReadFile("testdata/config.json")
24 dataConfigYAML, _ = os.ReadFile("testdata/config.yaml")
25
26 dataNonPulsarMetrics, _ = os.ReadFile("testdata/non-pulsar.txt")
27 dataVer250Namespaces, _ = os.ReadFile("testdata/standalone-v2.5.0-namespaces.txt")
28 dataVer250Topics, _ = os.ReadFile("testdata/standalone-v2.5.0-topics.txt")
29 dataVer250Topics2, _ = os.ReadFile("testdata/standalone-v2.5.0-topics-2.txt")
30 )
31
32 func Test_testDataIsValid(t *testing.T) {
33 for name, data := range map[string][]byte{
34 "dataConfigJSON": dataConfigJSON,
35 "dataConfigYAML": dataConfigYAML,
36 "dataNonPulsarMetrics": dataNonPulsarMetrics,
37 "dataVer250Namespaces": dataVer250Namespaces,
38 "dataVer250Topics": dataVer250Topics,
39 "dataVer250Topics2": dataVer250Topics2,
40 } {
41 require.NotNil(t, data, name)
42 }
43 }
44
45 func TestCollector_ConfigurationSerialize(t *testing.T) {
46 collecttest.TestConfigurationSerialize(t, &Collector{}, dataConfigJSON, dataConfigYAML)
47 }
48
49 func TestCollector_Init(t *testing.T) {
50 tests := map[string]struct {
51 config Config
52 wantFail bool
53 }{
54 "default": {
55 config: New().Config,
56 },
57 "empty topic filter": {
58 config: Config{HTTPConfig: web.HTTPConfig{RequestConfig: web.RequestConfig{URL: "http://127.0.0.1:8080/metric"}}},
59 },
60 "bad syntax topic filer": {
61 config: Config{
62 HTTPConfig: web.HTTPConfig{RequestConfig: web.RequestConfig{URL: "http://127.0.0.1:8080/metrics"}},
63 TopicFilter: matcher.SimpleExpr{Includes: []string{"+"}}},
64 wantFail: true,
65 },
66 "empty URL": {
67 config: Config{HTTPConfig: web.HTTPConfig{RequestConfig: web.RequestConfig{URL: ""}}},
68 wantFail: true,
69 },
70 "nonexistent TLS CA": {
71 config: Config{HTTPConfig: web.HTTPConfig{
72 RequestConfig: web.RequestConfig{URL: "http://127.0.0.1:8080/metric"},
73 ClientConfig: web.ClientConfig{TLSConfig: tlscfg.TLSConfig{TLSCA: "testdata/tls"}}}},
74 wantFail: true,
75 },
76 }
77
78 for name, test := range tests {
79 t.Run(name, func(t *testing.T) {
80 collr := New()
81 collr.Config = test.config
82
83 if test.wantFail {
84 assert.Error(t, collr.Init(context.Background()))
85 } else {
86 assert.NoError(t, collr.Init(context.Background()))
87 }
88 })
89 }
90 }
91
92 func TestCollector_Cleanup(t *testing.T) {
93 assert.NotPanics(t, func() { New().Cleanup(context.Background()) })
94 }
95
96 func TestCollector_Check(t *testing.T) {
97 tests := map[string]struct {
98 prepare func(*testing.T) (*Collector, *httptest.Server)
99 wantFail bool
100 }{
101 "standalone v2.5.0 namespaces": {prepare: prepareClientServerStdV250Namespaces},
102 "standalone v2.5.0 topics": {prepare: prepareClientServerStdV250Topics},
103 "non pulsar": {prepare: prepareClientServerNonPulsar, wantFail: true},
104 "invalid data": {prepare: prepareClientServerInvalidData, wantFail: true},
105 "404": {prepare: prepareClientServer404, wantFail: true},
106 "connection refused": {prepare: prepareClientServerConnectionRefused, wantFail: true},
107 }
108
109 for name, test := range tests {
110 t.Run(name, func(t *testing.T) {
111 collr, srv := test.prepare(t)
112 defer srv.Close()
113
114 if test.wantFail {
115 assert.Error(t, collr.Check(context.Background()))
116 } else {
117 assert.NoError(t, collr.Check(context.Background()))
118 }
119 })
120 }
121 }
122
123 func TestCollector_Charts(t *testing.T) {
124 assert.NotNil(t, New().Charts())
125
126 }
127
128 func TestCollector_Collect_ReturnsNilOnErrors(t *testing.T) {
129 tests := map[string]struct {
130 prepare func(*testing.T) (*Collector, *httptest.Server)
131 }{
132 "non pulsar": {prepare: prepareClientServerNonPulsar},
133 "invalid data": {prepare: prepareClientServerInvalidData},
134 "404": {prepare: prepareClientServer404},
135 "connection refused": {prepare: prepareClientServerConnectionRefused},
136 }
137
138 for name, test := range tests {
139 t.Run(name, func(t *testing.T) {
140 collr, srv := test.prepare(t)
141 defer srv.Close()
142
143 assert.Nil(t, collr.Collect(context.Background()))
144 })
145 }
146 }
147
148 func TestCollector_Collect(t *testing.T) {
149 tests := map[string]struct {
150 prepare func(*testing.T) (*Collector, *httptest.Server)
151 expected map[string]int64
152 }{
153 "standalone v2.5.0 namespaces": {
154 prepare: prepareClientServerStdV250Namespaces,
155 expected: expectedStandaloneV250Namespaces,
156 },
157 "standalone v2.5.0 topics": {
158 prepare: prepareClientServerStdV250Topics,
159 expected: expectedStandaloneV250Topics,
160 },
161 "standalone v2.5.0 topics filtered": {
162 prepare: prepareClientServerStdV250TopicsFiltered,
163 expected: expectedStandaloneV250TopicsFiltered,
164 },
165 }
166
167 for name, test := range tests {
168 t.Run(name, func(t *testing.T) {
169 collr, srv := test.prepare(t)
170 defer srv.Close()
171
172 for range 10 {
173 _ = collr.Collect(context.Background())
174 }
175 mx := collr.Collect(context.Background())
176
177 require.NotNil(t, mx)
178 require.Equal(t, test.expected, mx)
179 collecttest.TestMetricsHasAllChartsDims(t, collr.Charts(), mx)
180 })
181 }
182 }
183
184 func TestCollector_Collect_RemoveAddNamespacesTopicsInRuntime(t *testing.T) {
185 collr, srv := prepareClientServersDynamicStdV250Topics(t)
186 defer srv.Close()
187
188 oldNsCharts := Charts{}
189
190 require.NotNil(t, collr.Collect(context.Background()))
191 oldLength := len(*collr.Charts())
192
193 for _, chart := range *collr.Charts() {
194 for ns := range collr.cache.namespaces {
195 if ns.name != "public/functions" && chart.Fam == "ns "+ns.name {
196 _ = oldNsCharts.Add(chart)
197 }
198 }
199 }
200
201 require.NotNil(t, collr.Collect(context.Background()))
202
203 l := oldLength + len(*collr.nsCharts)*2 // 2 new namespaces
204 assert.Truef(t, len(*collr.Charts()) == l, "expected %d charts, but got %d", l, len(*collr.Charts()))
205
206 for _, chart := range oldNsCharts {
207 assert.Truef(t, chart.Obsolete, "expected chart '%s' Obsolete flag is set", chart.ID)
208 for _, dim := range chart.Dims {
209 if strings.HasPrefix(chart.ID, "topic_") {
210 assert.Truef(t, dim.Obsolete, "expected chart '%s' dim '%s' Obsolete flag is set", chart.ID, dim.ID)
211 }
212 }
213 }
214 }
215
216 func prepareClientServerStdV250Namespaces(t *testing.T) (*Collector, *httptest.Server) {
217 t.Helper()
218 srv := httptest.NewServer(http.HandlerFunc(
219 func(w http.ResponseWriter, r *http.Request) {
220 _, _ = w.Write(dataVer250Namespaces)
221 }))
222
223 collr := New()
224 collr.URL = srv.URL
225 require.NoError(t, collr.Init(context.Background()))
226
227 return collr, srv
228 }
229
230 func prepareClientServerStdV250Topics(t *testing.T) (*Collector, *httptest.Server) {
231 t.Helper()
232 srv := httptest.NewServer(http.HandlerFunc(
233 func(w http.ResponseWriter, r *http.Request) {
234 _, _ = w.Write(dataVer250Topics)
235 }))
236
237 collr := New()
238 collr.URL = srv.URL
239 require.NoError(t, collr.Init(context.Background()))
240
241 return collr, srv
242 }
243
244 func prepareClientServerStdV250TopicsFiltered(t *testing.T) (*Collector, *httptest.Server) {
245 t.Helper()
246 collr, srv := prepareClientServerStdV250Topics(t)
247 collr.topicFilter = matcher.FALSE()
248
249 return collr, srv
250 }
251
252 func prepareClientServersDynamicStdV250Topics(t *testing.T) (*Collector, *httptest.Server) {
253 t.Helper()
254 var i int
255 srv := httptest.NewServer(http.HandlerFunc(
256 func(w http.ResponseWriter, r *http.Request) {
257 if i%2 == 0 {
258 _, _ = w.Write(dataVer250Topics)
259 } else {
260 _, _ = w.Write(dataVer250Topics2)
261 }
262 i++
263 }))
264
265 collr := New()
266 collr.URL = srv.URL
267 require.NoError(t, collr.Init(context.Background()))
268
269 return collr, srv
270 }
271
272 func prepareClientServerNonPulsar(t *testing.T) (*Collector, *httptest.Server) {
273 t.Helper()
274 srv := httptest.NewServer(http.HandlerFunc(
275 func(w http.ResponseWriter, r *http.Request) {
276 _, _ = w.Write(dataNonPulsarMetrics)
277 }))
278
279 collr := New()
280 collr.URL = srv.URL
281 require.NoError(t, collr.Init(context.Background()))
282
283 return collr, srv
284 }
285
286 func prepareClientServerInvalidData(t *testing.T) (*Collector, *httptest.Server) {
287 t.Helper()
288 srv := httptest.NewServer(http.HandlerFunc(
289 func(w http.ResponseWriter, r *http.Request) {
290 _, _ = w.Write([]byte("hello and\n goodbye"))
291 }))
292
293 collr := New()
294 collr.URL = srv.URL
295 require.NoError(t, collr.Init(context.Background()))
296
297 return collr, srv
298 }
299
300 func prepareClientServer404(t *testing.T) (*Collector, *httptest.Server) {
301 t.Helper()
302 srv := httptest.NewServer(http.HandlerFunc(
303 func(w http.ResponseWriter, r *http.Request) {
304 w.WriteHeader(http.StatusNotFound)
305 }))
306
307 collr := New()
308 collr.URL = srv.URL
309 require.NoError(t, collr.Init(context.Background()))
310
311 return collr, srv
312 }
313
314 func prepareClientServerConnectionRefused(t *testing.T) (*Collector, *httptest.Server) {
315 t.Helper()
316 srv := httptest.NewServer(nil)
317
318 collr := New()
319 collr.URL = "http://127.0.0.1:38001/metrics"
320 require.NoError(t, collr.Init(context.Background()))
321
322 return collr, srv
323 }
324
325 var expectedStandaloneV250Namespaces = map[string]int64{
326 "pulsar_consumers_count": 21,
327 "pulsar_consumers_count_public/functions": 3,
328 "pulsar_consumers_count_sample/dev": 10,
329 "pulsar_consumers_count_sample/prod": 8,
330 "pulsar_entry_size_count": 6013,
331 "pulsar_entry_size_count_public/functions": 0,
332 "pulsar_entry_size_count_sample/dev": 3012,
333 "pulsar_entry_size_count_sample/prod": 3001,
334 "pulsar_entry_size_le_100_kb": 0,
335 "pulsar_entry_size_le_100_kb_public/functions": 0,
336 "pulsar_entry_size_le_100_kb_sample/dev": 0,
337 "pulsar_entry_size_le_100_kb_sample/prod": 0,
338 "pulsar_entry_size_le_128": 6013,
339 "pulsar_entry_size_le_128_public/functions": 0,
340 "pulsar_entry_size_le_128_sample/dev": 3012,
341 "pulsar_entry_size_le_128_sample/prod": 3001,
342 "pulsar_entry_size_le_16_kb": 0,
343 "pulsar_entry_size_le_16_kb_public/functions": 0,
344 "pulsar_entry_size_le_16_kb_sample/dev": 0,
345 "pulsar_entry_size_le_16_kb_sample/prod": 0,
346 "pulsar_entry_size_le_1_kb": 0,
347 "pulsar_entry_size_le_1_kb_public/functions": 0,
348 "pulsar_entry_size_le_1_kb_sample/dev": 0,
349 "pulsar_entry_size_le_1_kb_sample/prod": 0,
350 "pulsar_entry_size_le_1_mb": 0,
351 "pulsar_entry_size_le_1_mb_public/functions": 0,
352 "pulsar_entry_size_le_1_mb_sample/dev": 0,
353 "pulsar_entry_size_le_1_mb_sample/prod": 0,
354 "pulsar_entry_size_le_2_kb": 0,
355 "pulsar_entry_size_le_2_kb_public/functions": 0,
356 "pulsar_entry_size_le_2_kb_sample/dev": 0,
357 "pulsar_entry_size_le_2_kb_sample/prod": 0,
358 "pulsar_entry_size_le_4_kb": 0,
359 "pulsar_entry_size_le_4_kb_public/functions": 0,
360 "pulsar_entry_size_le_4_kb_sample/dev": 0,
361 "pulsar_entry_size_le_4_kb_sample/prod": 0,
362 "pulsar_entry_size_le_512": 0,
363 "pulsar_entry_size_le_512_public/functions": 0,
364 "pulsar_entry_size_le_512_sample/dev": 0,
365 "pulsar_entry_size_le_512_sample/prod": 0,
366 "pulsar_entry_size_le_overflow": 0,
367 "pulsar_entry_size_le_overflow_public/functions": 0,
368 "pulsar_entry_size_le_overflow_sample/dev": 0,
369 "pulsar_entry_size_le_overflow_sample/prod": 0,
370 "pulsar_entry_size_sum": 6013,
371 "pulsar_entry_size_sum_public/functions": 0,
372 "pulsar_entry_size_sum_sample/dev": 3012,
373 "pulsar_entry_size_sum_sample/prod": 3001,
374 "pulsar_msg_backlog": 8,
375 "pulsar_msg_backlog_public/functions": 0,
376 "pulsar_msg_backlog_sample/dev": 8,
377 "pulsar_msg_backlog_sample/prod": 0,
378 "pulsar_namespaces_count": 3,
379 "pulsar_producers_count": 10,
380 "pulsar_producers_count_public/functions": 2,
381 "pulsar_producers_count_sample/dev": 4,
382 "pulsar_producers_count_sample/prod": 4,
383 "pulsar_rate_in": 96023,
384 "pulsar_rate_in_public/functions": 0,
385 "pulsar_rate_in_sample/dev": 48004,
386 "pulsar_rate_in_sample/prod": 48019,
387 "pulsar_rate_out": 242057,
388 "pulsar_rate_out_public/functions": 0,
389 "pulsar_rate_out_sample/dev": 146018,
390 "pulsar_rate_out_sample/prod": 96039,
391 "pulsar_storage_read_rate": 0,
392 "pulsar_storage_read_rate_public/functions": 0,
393 "pulsar_storage_read_rate_sample/dev": 0,
394 "pulsar_storage_read_rate_sample/prod": 0,
395 "pulsar_storage_size": 5468424,
396 "pulsar_storage_size_public/functions": 0,
397 "pulsar_storage_size_sample/dev": 2684208,
398 "pulsar_storage_size_sample/prod": 2784216,
399 "pulsar_storage_write_latency_count": 6012,
400 "pulsar_storage_write_latency_count_public/functions": 0,
401 "pulsar_storage_write_latency_count_sample/dev": 3012,
402 "pulsar_storage_write_latency_count_sample/prod": 3000,
403 "pulsar_storage_write_latency_le_0_5": 0,
404 "pulsar_storage_write_latency_le_0_5_public/functions": 0,
405 "pulsar_storage_write_latency_le_0_5_sample/dev": 0,
406 "pulsar_storage_write_latency_le_0_5_sample/prod": 0,
407 "pulsar_storage_write_latency_le_1": 43,
408 "pulsar_storage_write_latency_le_10": 163,
409 "pulsar_storage_write_latency_le_100": 0,
410 "pulsar_storage_write_latency_le_1000": 0,
411 "pulsar_storage_write_latency_le_1000_public/functions": 0,
412 "pulsar_storage_write_latency_le_1000_sample/dev": 0,
413 "pulsar_storage_write_latency_le_1000_sample/prod": 0,
414 "pulsar_storage_write_latency_le_100_public/functions": 0,
415 "pulsar_storage_write_latency_le_100_sample/dev": 0,
416 "pulsar_storage_write_latency_le_100_sample/prod": 0,
417 "pulsar_storage_write_latency_le_10_public/functions": 0,
418 "pulsar_storage_write_latency_le_10_sample/dev": 82,
419 "pulsar_storage_write_latency_le_10_sample/prod": 81,
420 "pulsar_storage_write_latency_le_1_public/functions": 0,
421 "pulsar_storage_write_latency_le_1_sample/dev": 23,
422 "pulsar_storage_write_latency_le_1_sample/prod": 20,
423 "pulsar_storage_write_latency_le_20": 7,
424 "pulsar_storage_write_latency_le_200": 2,
425 "pulsar_storage_write_latency_le_200_public/functions": 0,
426 "pulsar_storage_write_latency_le_200_sample/dev": 1,
427 "pulsar_storage_write_latency_le_200_sample/prod": 1,
428 "pulsar_storage_write_latency_le_20_public/functions": 0,
429 "pulsar_storage_write_latency_le_20_sample/dev": 6,
430 "pulsar_storage_write_latency_le_20_sample/prod": 1,
431 "pulsar_storage_write_latency_le_5": 5797,
432 "pulsar_storage_write_latency_le_50": 0,
433 "pulsar_storage_write_latency_le_50_public/functions": 0,
434 "pulsar_storage_write_latency_le_50_sample/dev": 0,
435 "pulsar_storage_write_latency_le_50_sample/prod": 0,
436 "pulsar_storage_write_latency_le_5_public/functions": 0,
437 "pulsar_storage_write_latency_le_5_sample/dev": 2900,
438 "pulsar_storage_write_latency_le_5_sample/prod": 2897,
439 "pulsar_storage_write_latency_overflow": 0,
440 "pulsar_storage_write_latency_overflow_public/functions": 0,
441 "pulsar_storage_write_latency_overflow_sample/dev": 0,
442 "pulsar_storage_write_latency_overflow_sample/prod": 0,
443 "pulsar_storage_write_latency_sum": 6012,
444 "pulsar_storage_write_latency_sum_public/functions": 0,
445 "pulsar_storage_write_latency_sum_sample/dev": 3012,
446 "pulsar_storage_write_latency_sum_sample/prod": 3000,
447 "pulsar_storage_write_rate": 100216,
448 "pulsar_storage_write_rate_public/functions": 0,
449 "pulsar_storage_write_rate_sample/dev": 50200,
450 "pulsar_storage_write_rate_sample/prod": 50016,
451 "pulsar_subscription_delayed": 0,
452 "pulsar_subscription_delayed_public/functions": 0,
453 "pulsar_subscription_delayed_sample/dev": 0,
454 "pulsar_subscription_delayed_sample/prod": 0,
455 "pulsar_subscriptions_count": 13,
456 "pulsar_subscriptions_count_public/functions": 3,
457 "pulsar_subscriptions_count_sample/dev": 6,
458 "pulsar_subscriptions_count_sample/prod": 4,
459 "pulsar_throughput_in": 5569401,
460 "pulsar_throughput_in_public/functions": 0,
461 "pulsar_throughput_in_sample/dev": 2736243,
462 "pulsar_throughput_in_sample/prod": 2833158,
463 "pulsar_throughput_out": 13989373,
464 "pulsar_throughput_out_public/functions": 0,
465 "pulsar_throughput_out_sample/dev": 8323043,
466 "pulsar_throughput_out_sample/prod": 5666330,
467 "pulsar_topics_count": 7,
468 "pulsar_topics_count_public/functions": 3,
469 "pulsar_topics_count_sample/dev": 2,
470 "pulsar_topics_count_sample/prod": 2,
471 }
472
473 var expectedStandaloneV250Topics = map[string]int64{
474 "pulsar_consumers_count": 21,
475 "pulsar_consumers_count_persistent://public/functions/assignments": 1,
476 "pulsar_consumers_count_persistent://public/functions/coordinate": 1,
477 "pulsar_consumers_count_persistent://public/functions/metadata": 1,
478 "pulsar_consumers_count_persistent://sample/dev/dev-1": 4,
479 "pulsar_consumers_count_persistent://sample/dev/dev-2": 6,
480 "pulsar_consumers_count_persistent://sample/prod/prod-1": 4,
481 "pulsar_consumers_count_persistent://sample/prod/prod-2": 4,
482 "pulsar_consumers_count_public/functions": 3,
483 "pulsar_consumers_count_sample/dev": 10,
484 "pulsar_consumers_count_sample/prod": 8,
485 "pulsar_entry_size_count": 5867,
486 "pulsar_entry_size_count_persistent://public/functions/assignments": 0,
487 "pulsar_entry_size_count_persistent://public/functions/coordinate": 0,
488 "pulsar_entry_size_count_persistent://public/functions/metadata": 0,
489 "pulsar_entry_size_count_persistent://sample/dev/dev-1": 1448,
490 "pulsar_entry_size_count_persistent://sample/dev/dev-2": 1477,
491 "pulsar_entry_size_count_persistent://sample/prod/prod-1": 1469,
492 "pulsar_entry_size_count_persistent://sample/prod/prod-2": 1473,
493 "pulsar_entry_size_count_public/functions": 0,
494 "pulsar_entry_size_count_sample/dev": 2925,
495 "pulsar_entry_size_count_sample/prod": 2942,
496 "pulsar_entry_size_le_100_kb": 0,
497 "pulsar_entry_size_le_100_kb_persistent://public/functions/assignments": 0,
498 "pulsar_entry_size_le_100_kb_persistent://public/functions/coordinate": 0,
499 "pulsar_entry_size_le_100_kb_persistent://public/functions/metadata": 0,
500 "pulsar_entry_size_le_100_kb_persistent://sample/dev/dev-1": 0,
501 "pulsar_entry_size_le_100_kb_persistent://sample/dev/dev-2": 0,
502 "pulsar_entry_size_le_100_kb_persistent://sample/prod/prod-1": 0,
503 "pulsar_entry_size_le_100_kb_persistent://sample/prod/prod-2": 0,
504 "pulsar_entry_size_le_100_kb_public/functions": 0,
505 "pulsar_entry_size_le_100_kb_sample/dev": 0,
506 "pulsar_entry_size_le_100_kb_sample/prod": 0,
507 "pulsar_entry_size_le_128": 5867,
508 "pulsar_entry_size_le_128_persistent://public/functions/assignments": 0,
509 "pulsar_entry_size_le_128_persistent://public/functions/coordinate": 0,
510 "pulsar_entry_size_le_128_persistent://public/functions/metadata": 0,
511 "pulsar_entry_size_le_128_persistent://sample/dev/dev-1": 1448,
512 "pulsar_entry_size_le_128_persistent://sample/dev/dev-2": 1477,
513 "pulsar_entry_size_le_128_persistent://sample/prod/prod-1": 1469,
514 "pulsar_entry_size_le_128_persistent://sample/prod/prod-2": 1473,
515 "pulsar_entry_size_le_128_public/functions": 0,
516 "pulsar_entry_size_le_128_sample/dev": 2925,
517 "pulsar_entry_size_le_128_sample/prod": 2942,
518 "pulsar_entry_size_le_16_kb": 0,
519 "pulsar_entry_size_le_16_kb_persistent://public/functions/assignments": 0,
520 "pulsar_entry_size_le_16_kb_persistent://public/functions/coordinate": 0,
521 "pulsar_entry_size_le_16_kb_persistent://public/functions/metadata": 0,
522 "pulsar_entry_size_le_16_kb_persistent://sample/dev/dev-1": 0,
523 "pulsar_entry_size_le_16_kb_persistent://sample/dev/dev-2": 0,
524 "pulsar_entry_size_le_16_kb_persistent://sample/prod/prod-1": 0,
525 "pulsar_entry_size_le_16_kb_persistent://sample/prod/prod-2": 0,
526 "pulsar_entry_size_le_16_kb_public/functions": 0,
527 "pulsar_entry_size_le_16_kb_sample/dev": 0,
528 "pulsar_entry_size_le_16_kb_sample/prod": 0,
529 "pulsar_entry_size_le_1_kb": 0,
530 "pulsar_entry_size_le_1_kb_persistent://public/functions/assignments": 0,
531 "pulsar_entry_size_le_1_kb_persistent://public/functions/coordinate": 0,
532 "pulsar_entry_size_le_1_kb_persistent://public/functions/metadata": 0,
533 "pulsar_entry_size_le_1_kb_persistent://sample/dev/dev-1": 0,
534 "pulsar_entry_size_le_1_kb_persistent://sample/dev/dev-2": 0,
535 "pulsar_entry_size_le_1_kb_persistent://sample/prod/prod-1": 0,
536 "pulsar_entry_size_le_1_kb_persistent://sample/prod/prod-2": 0,
537 "pulsar_entry_size_le_1_kb_public/functions": 0,
538 "pulsar_entry_size_le_1_kb_sample/dev": 0,
539 "pulsar_entry_size_le_1_kb_sample/prod": 0,
540 "pulsar_entry_size_le_1_mb": 0,
541 "pulsar_entry_size_le_1_mb_persistent://public/functions/assignments": 0,
542 "pulsar_entry_size_le_1_mb_persistent://public/functions/coordinate": 0,
543 "pulsar_entry_size_le_1_mb_persistent://public/functions/metadata": 0,
544 "pulsar_entry_size_le_1_mb_persistent://sample/dev/dev-1": 0,
545 "pulsar_entry_size_le_1_mb_persistent://sample/dev/dev-2": 0,
546 "pulsar_entry_size_le_1_mb_persistent://sample/prod/prod-1": 0,
547 "pulsar_entry_size_le_1_mb_persistent://sample/prod/prod-2": 0,
548 "pulsar_entry_size_le_1_mb_public/functions": 0,
549 "pulsar_entry_size_le_1_mb_sample/dev": 0,
550 "pulsar_entry_size_le_1_mb_sample/prod": 0,
551 "pulsar_entry_size_le_2_kb": 0,
552 "pulsar_entry_size_le_2_kb_persistent://public/functions/assignments": 0,
553 "pulsar_entry_size_le_2_kb_persistent://public/functions/coordinate": 0,
554 "pulsar_entry_size_le_2_kb_persistent://public/functions/metadata": 0,
555 "pulsar_entry_size_le_2_kb_persistent://sample/dev/dev-1": 0,
556 "pulsar_entry_size_le_2_kb_persistent://sample/dev/dev-2": 0,
557 "pulsar_entry_size_le_2_kb_persistent://sample/prod/prod-1": 0,
558 "pulsar_entry_size_le_2_kb_persistent://sample/prod/prod-2": 0,
559 "pulsar_entry_size_le_2_kb_public/functions": 0,
560 "pulsar_entry_size_le_2_kb_sample/dev": 0,
561 "pulsar_entry_size_le_2_kb_sample/prod": 0,
562 "pulsar_entry_size_le_4_kb": 0,
563 "pulsar_entry_size_le_4_kb_persistent://public/functions/assignments": 0,
564 "pulsar_entry_size_le_4_kb_persistent://public/functions/coordinate": 0,
565 "pulsar_entry_size_le_4_kb_persistent://public/functions/metadata": 0,
566 "pulsar_entry_size_le_4_kb_persistent://sample/dev/dev-1": 0,
567 "pulsar_entry_size_le_4_kb_persistent://sample/dev/dev-2": 0,
568 "pulsar_entry_size_le_4_kb_persistent://sample/prod/prod-1": 0,
569 "pulsar_entry_size_le_4_kb_persistent://sample/prod/prod-2": 0,
570 "pulsar_entry_size_le_4_kb_public/functions": 0,
571 "pulsar_entry_size_le_4_kb_sample/dev": 0,
572 "pulsar_entry_size_le_4_kb_sample/prod": 0,
573 "pulsar_entry_size_le_512": 0,
574 "pulsar_entry_size_le_512_persistent://public/functions/assignments": 0,
575 "pulsar_entry_size_le_512_persistent://public/functions/coordinate": 0,
576 "pulsar_entry_size_le_512_persistent://public/functions/metadata": 0,
577 "pulsar_entry_size_le_512_persistent://sample/dev/dev-1": 0,
578 "pulsar_entry_size_le_512_persistent://sample/dev/dev-2": 0,
579 "pulsar_entry_size_le_512_persistent://sample/prod/prod-1": 0,
580 "pulsar_entry_size_le_512_persistent://sample/prod/prod-2": 0,
581 "pulsar_entry_size_le_512_public/functions": 0,
582 "pulsar_entry_size_le_512_sample/dev": 0,
583 "pulsar_entry_size_le_512_sample/prod": 0,
584 "pulsar_entry_size_le_overflow": 0,
585 "pulsar_entry_size_le_overflow_persistent://public/functions/assignments": 0,
586 "pulsar_entry_size_le_overflow_persistent://public/functions/coordinate": 0,
587 "pulsar_entry_size_le_overflow_persistent://public/functions/metadata": 0,
588 "pulsar_entry_size_le_overflow_persistent://sample/dev/dev-1": 0,
589 "pulsar_entry_size_le_overflow_persistent://sample/dev/dev-2": 0,
590 "pulsar_entry_size_le_overflow_persistent://sample/prod/prod-1": 0,
591 "pulsar_entry_size_le_overflow_persistent://sample/prod/prod-2": 0,
592 "pulsar_entry_size_le_overflow_public/functions": 0,
593 "pulsar_entry_size_le_overflow_sample/dev": 0,
594 "pulsar_entry_size_le_overflow_sample/prod": 0,
595 "pulsar_entry_size_sum": 5867,
596 "pulsar_entry_size_sum_persistent://public/functions/assignments": 0,
597 "pulsar_entry_size_sum_persistent://public/functions/coordinate": 0,
598 "pulsar_entry_size_sum_persistent://public/functions/metadata": 0,
599 "pulsar_entry_size_sum_persistent://sample/dev/dev-1": 1448,
600 "pulsar_entry_size_sum_persistent://sample/dev/dev-2": 1477,
601 "pulsar_entry_size_sum_persistent://sample/prod/prod-1": 1469,
602 "pulsar_entry_size_sum_persistent://sample/prod/prod-2": 1473,
603 "pulsar_entry_size_sum_public/functions": 0,
604 "pulsar_entry_size_sum_sample/dev": 2925,
605 "pulsar_entry_size_sum_sample/prod": 2942,
606 "pulsar_msg_backlog": 0,
607 "pulsar_msg_backlog_persistent://public/functions/assignments": 0,
608 "pulsar_msg_backlog_persistent://public/functions/coordinate": 0,
609 "pulsar_msg_backlog_persistent://public/functions/metadata": 0,
610 "pulsar_msg_backlog_persistent://sample/dev/dev-1": 0,
611 "pulsar_msg_backlog_persistent://sample/dev/dev-2": 0,
612 "pulsar_msg_backlog_persistent://sample/prod/prod-1": 0,
613 "pulsar_msg_backlog_persistent://sample/prod/prod-2": 0,
614 "pulsar_msg_backlog_public/functions": 0,
615 "pulsar_msg_backlog_sample/dev": 0,
616 "pulsar_msg_backlog_sample/prod": 0,
617 "pulsar_namespaces_count": 3,
618 "pulsar_producers_count": 10,
619 "pulsar_producers_count_persistent://public/functions/assignments": 1,
620 "pulsar_producers_count_persistent://public/functions/coordinate": 0,
621 "pulsar_producers_count_persistent://public/functions/metadata": 1,
622 "pulsar_producers_count_persistent://sample/dev/dev-1": 2,
623 "pulsar_producers_count_persistent://sample/dev/dev-2": 2,
624 "pulsar_producers_count_persistent://sample/prod/prod-1": 2,
625 "pulsar_producers_count_persistent://sample/prod/prod-2": 2,
626 "pulsar_producers_count_public/functions": 2,
627 "pulsar_producers_count_sample/dev": 4,
628 "pulsar_producers_count_sample/prod": 4,
629 "pulsar_rate_in": 102064,
630 "pulsar_rate_in_persistent://public/functions/assignments": 0,
631 "pulsar_rate_in_persistent://public/functions/coordinate": 0,
632 "pulsar_rate_in_persistent://public/functions/metadata": 0,
633 "pulsar_rate_in_persistent://sample/dev/dev-1": 25013,
634 "pulsar_rate_in_persistent://sample/dev/dev-2": 25014,
635 "pulsar_rate_in_persistent://sample/prod/prod-1": 26019,
636 "pulsar_rate_in_persistent://sample/prod/prod-2": 26018,
637 "pulsar_rate_in_public/functions": 0,
638 "pulsar_rate_in_sample/dev": 50027,
639 "pulsar_rate_in_sample/prod": 52037,
640 "pulsar_rate_out": 254162,
641 "pulsar_rate_out_persistent://public/functions/assignments": 0,
642 "pulsar_rate_out_persistent://public/functions/coordinate": 0,
643 "pulsar_rate_out_persistent://public/functions/metadata": 0,
644 "pulsar_rate_out_persistent://sample/dev/dev-1": 50027,
645 "pulsar_rate_out_persistent://sample/dev/dev-2": 100060,
646 "pulsar_rate_out_persistent://sample/prod/prod-1": 52038,
647 "pulsar_rate_out_persistent://sample/prod/prod-2": 52037,
648 "pulsar_rate_out_public/functions": 0,
649 "pulsar_rate_out_sample/dev": 150087,
650 "pulsar_rate_out_sample/prod": 104075,
651 "pulsar_storage_size": 8112300,
652 "pulsar_storage_size_persistent://public/functions/assignments": 0,
653 "pulsar_storage_size_persistent://public/functions/coordinate": 0,
654 "pulsar_storage_size_persistent://public/functions/metadata": 0,
655 "pulsar_storage_size_persistent://sample/dev/dev-1": 1951642,
656 "pulsar_storage_size_persistent://sample/dev/dev-2": 2029478,
657 "pulsar_storage_size_persistent://sample/prod/prod-1": 2022420,
658 "pulsar_storage_size_persistent://sample/prod/prod-2": 2108760,
659 "pulsar_storage_size_public/functions": 0,
660 "pulsar_storage_size_sample/dev": 3981120,
661 "pulsar_storage_size_sample/prod": 4131180,
662 "pulsar_storage_write_latency_count": 5867,
663 "pulsar_storage_write_latency_count_persistent://public/functions/assignments": 0,
664 "pulsar_storage_write_latency_count_persistent://public/functions/coordinate": 0,
665 "pulsar_storage_write_latency_count_persistent://public/functions/metadata": 0,
666 "pulsar_storage_write_latency_count_persistent://sample/dev/dev-1": 1448,
667 "pulsar_storage_write_latency_count_persistent://sample/dev/dev-2": 1477,
668 "pulsar_storage_write_latency_count_persistent://sample/prod/prod-1": 1469,
669 "pulsar_storage_write_latency_count_persistent://sample/prod/prod-2": 1473,
670 "pulsar_storage_write_latency_count_public/functions": 0,
671 "pulsar_storage_write_latency_count_sample/dev": 2925,
672 "pulsar_storage_write_latency_count_sample/prod": 2942,
673 "pulsar_storage_write_latency_le_0_5": 0,
674 "pulsar_storage_write_latency_le_0_5_persistent://public/functions/assignments": 0,
675 "pulsar_storage_write_latency_le_0_5_persistent://public/functions/coordinate": 0,
676 "pulsar_storage_write_latency_le_0_5_persistent://public/functions/metadata": 0,
677 "pulsar_storage_write_latency_le_0_5_persistent://sample/dev/dev-1": 0,
678 "pulsar_storage_write_latency_le_0_5_persistent://sample/dev/dev-2": 0,
679 "pulsar_storage_write_latency_le_0_5_persistent://sample/prod/prod-1": 0,
680 "pulsar_storage_write_latency_le_0_5_persistent://sample/prod/prod-2": 0,
681 "pulsar_storage_write_latency_le_0_5_public/functions": 0,
682 "pulsar_storage_write_latency_le_0_5_sample/dev": 0,
683 "pulsar_storage_write_latency_le_0_5_sample/prod": 0,
684 "pulsar_storage_write_latency_le_1": 41,
685 "pulsar_storage_write_latency_le_10": 341,
686 "pulsar_storage_write_latency_le_100": 3,
687 "pulsar_storage_write_latency_le_1000": 0,
688 "pulsar_storage_write_latency_le_1000_persistent://public/functions/assignments": 0,
689 "pulsar_storage_write_latency_le_1000_persistent://public/functions/coordinate": 0,
690 "pulsar_storage_write_latency_le_1000_persistent://public/functions/metadata": 0,
691 "pulsar_storage_write_latency_le_1000_persistent://sample/dev/dev-1": 0,
692 "pulsar_storage_write_latency_le_1000_persistent://sample/dev/dev-2": 0,
693 "pulsar_storage_write_latency_le_1000_persistent://sample/prod/prod-1": 0,
694 "pulsar_storage_write_latency_le_1000_persistent://sample/prod/prod-2": 0,
695 "pulsar_storage_write_latency_le_1000_public/functions": 0,
696 "pulsar_storage_write_latency_le_1000_sample/dev": 0,
697 "pulsar_storage_write_latency_le_1000_sample/prod": 0,
698 "pulsar_storage_write_latency_le_100_persistent://public/functions/assignments": 0,
699 "pulsar_storage_write_latency_le_100_persistent://public/functions/coordinate": 0,
700 "pulsar_storage_write_latency_le_100_persistent://public/functions/metadata": 0,
701 "pulsar_storage_write_latency_le_100_persistent://sample/dev/dev-1": 0,
702 "pulsar_storage_write_latency_le_100_persistent://sample/dev/dev-2": 1,
703 "pulsar_storage_write_latency_le_100_persistent://sample/prod/prod-1": 1,
704 "pulsar_storage_write_latency_le_100_persistent://sample/prod/prod-2": 1,
705 "pulsar_storage_write_latency_le_100_public/functions": 0,
706 "pulsar_storage_write_latency_le_100_sample/dev": 1,
707 "pulsar_storage_write_latency_le_100_sample/prod": 2,
708 "pulsar_storage_write_latency_le_10_persistent://public/functions/assignments": 0,
709 "pulsar_storage_write_latency_le_10_persistent://public/functions/coordinate": 0,
710 "pulsar_storage_write_latency_le_10_persistent://public/functions/metadata": 0,
711 "pulsar_storage_write_latency_le_10_persistent://sample/dev/dev-1": 95,
712 "pulsar_storage_write_latency_le_10_persistent://sample/dev/dev-2": 82,
713 "pulsar_storage_write_latency_le_10_persistent://sample/prod/prod-1": 84,
714 "pulsar_storage_write_latency_le_10_persistent://sample/prod/prod-2": 80,
715 "pulsar_storage_write_latency_le_10_public/functions": 0,
716 "pulsar_storage_write_latency_le_10_sample/dev": 177,
717 "pulsar_storage_write_latency_le_10_sample/prod": 164,
718 "pulsar_storage_write_latency_le_1_persistent://public/functions/assignments": 0,
719 "pulsar_storage_write_latency_le_1_persistent://public/functions/coordinate": 0,
720 "pulsar_storage_write_latency_le_1_persistent://public/functions/metadata": 0,
721 "pulsar_storage_write_latency_le_1_persistent://sample/dev/dev-1": 10,
722 "pulsar_storage_write_latency_le_1_persistent://sample/dev/dev-2": 15,
723 "pulsar_storage_write_latency_le_1_persistent://sample/prod/prod-1": 7,
724 "pulsar_storage_write_latency_le_1_persistent://sample/prod/prod-2": 9,
725 "pulsar_storage_write_latency_le_1_public/functions": 0,
726 "pulsar_storage_write_latency_le_1_sample/dev": 25,
727 "pulsar_storage_write_latency_le_1_sample/prod": 16,
728 "pulsar_storage_write_latency_le_20": 114,
729 "pulsar_storage_write_latency_le_200": 0,
730 "pulsar_storage_write_latency_le_200_persistent://public/functions/assignments": 0,
731 "pulsar_storage_write_latency_le_200_persistent://public/functions/coordinate": 0,
732 "pulsar_storage_write_latency_le_200_persistent://public/functions/metadata": 0,
733 "pulsar_storage_write_latency_le_200_persistent://sample/dev/dev-1": 0,
734 "pulsar_storage_write_latency_le_200_persistent://sample/dev/dev-2": 0,
735 "pulsar_storage_write_latency_le_200_persistent://sample/prod/prod-1": 0,
736 "pulsar_storage_write_latency_le_200_persistent://sample/prod/prod-2": 0,
737 "pulsar_storage_write_latency_le_200_public/functions": 0,
738 "pulsar_storage_write_latency_le_200_sample/dev": 0,
739 "pulsar_storage_write_latency_le_200_sample/prod": 0,
740 "pulsar_storage_write_latency_le_20_persistent://public/functions/assignments": 0,
741 "pulsar_storage_write_latency_le_20_persistent://public/functions/coordinate": 0,
742 "pulsar_storage_write_latency_le_20_persistent://public/functions/metadata": 0,
743 "pulsar_storage_write_latency_le_20_persistent://sample/dev/dev-1": 26,
744 "pulsar_storage_write_latency_le_20_persistent://sample/dev/dev-2": 28,
745 "pulsar_storage_write_latency_le_20_persistent://sample/prod/prod-1": 26,
746 "pulsar_storage_write_latency_le_20_persistent://sample/prod/prod-2": 34,
747 "pulsar_storage_write_latency_le_20_public/functions": 0,
748 "pulsar_storage_write_latency_le_20_sample/dev": 54,
749 "pulsar_storage_write_latency_le_20_sample/prod": 60,
750 "pulsar_storage_write_latency_le_5": 5328,
751 "pulsar_storage_write_latency_le_50": 40,
752 "pulsar_storage_write_latency_le_50_persistent://public/functions/assignments": 0,
753 "pulsar_storage_write_latency_le_50_persistent://public/functions/coordinate": 0,
754 "pulsar_storage_write_latency_le_50_persistent://public/functions/metadata": 0,
755 "pulsar_storage_write_latency_le_50_persistent://sample/dev/dev-1": 9,
756 "pulsar_storage_write_latency_le_50_persistent://sample/dev/dev-2": 9,
757 "pulsar_storage_write_latency_le_50_persistent://sample/prod/prod-1": 12,
758 "pulsar_storage_write_latency_le_50_persistent://sample/prod/prod-2": 10,
759 "pulsar_storage_write_latency_le_50_public/functions": 0,
760 "pulsar_storage_write_latency_le_50_sample/dev": 18,
761 "pulsar_storage_write_latency_le_50_sample/prod": 22,
762 "pulsar_storage_write_latency_le_5_persistent://public/functions/assignments": 0,
763 "pulsar_storage_write_latency_le_5_persistent://public/functions/coordinate": 0,
764 "pulsar_storage_write_latency_le_5_persistent://public/functions/metadata": 0,
765 "pulsar_storage_write_latency_le_5_persistent://sample/dev/dev-1": 1308,
766 "pulsar_storage_write_latency_le_5_persistent://sample/dev/dev-2": 1342,
767 "pulsar_storage_write_latency_le_5_persistent://sample/prod/prod-1": 1339,
768 "pulsar_storage_write_latency_le_5_persistent://sample/prod/prod-2": 1339,
769 "pulsar_storage_write_latency_le_5_public/functions": 0,
770 "pulsar_storage_write_latency_le_5_sample/dev": 2650,
771 "pulsar_storage_write_latency_le_5_sample/prod": 2678,
772 "pulsar_storage_write_latency_overflow": 0,
773 "pulsar_storage_write_latency_overflow_persistent://public/functions/assignments": 0,
774 "pulsar_storage_write_latency_overflow_persistent://public/functions/coordinate": 0,
775 "pulsar_storage_write_latency_overflow_persistent://public/functions/metadata": 0,
776 "pulsar_storage_write_latency_overflow_persistent://sample/dev/dev-1": 0,
777 "pulsar_storage_write_latency_overflow_persistent://sample/dev/dev-2": 0,
778 "pulsar_storage_write_latency_overflow_persistent://sample/prod/prod-1": 0,
779 "pulsar_storage_write_latency_overflow_persistent://sample/prod/prod-2": 0,
780 "pulsar_storage_write_latency_overflow_public/functions": 0,
781 "pulsar_storage_write_latency_overflow_sample/dev": 0,
782 "pulsar_storage_write_latency_overflow_sample/prod": 0,
783 "pulsar_storage_write_latency_sum": 5867,
784 "pulsar_storage_write_latency_sum_persistent://public/functions/assignments": 0,
785 "pulsar_storage_write_latency_sum_persistent://public/functions/coordinate": 0,
786 "pulsar_storage_write_latency_sum_persistent://public/functions/metadata": 0,
787 "pulsar_storage_write_latency_sum_persistent://sample/dev/dev-1": 1448,
788 "pulsar_storage_write_latency_sum_persistent://sample/dev/dev-2": 1477,
789 "pulsar_storage_write_latency_sum_persistent://sample/prod/prod-1": 1469,
790 "pulsar_storage_write_latency_sum_persistent://sample/prod/prod-2": 1473,
791 "pulsar_storage_write_latency_sum_public/functions": 0,
792 "pulsar_storage_write_latency_sum_sample/dev": 2925,
793 "pulsar_storage_write_latency_sum_sample/prod": 2942,
794 "pulsar_subscription_blocked_on_unacked_messages": 0,
795 "pulsar_subscription_blocked_on_unacked_messages_persistent://public/functions/assignments": 0,
796 "pulsar_subscription_blocked_on_unacked_messages_persistent://public/functions/coordinate": 0,
797 "pulsar_subscription_blocked_on_unacked_messages_persistent://public/functions/metadata": 0,
798 "pulsar_subscription_blocked_on_unacked_messages_persistent://sample/dev/dev-1": 0,
799 "pulsar_subscription_blocked_on_unacked_messages_persistent://sample/dev/dev-2": 0,
800 "pulsar_subscription_blocked_on_unacked_messages_persistent://sample/prod/prod-1": 0,
801 "pulsar_subscription_blocked_on_unacked_messages_persistent://sample/prod/prod-2": 0,
802 "pulsar_subscription_blocked_on_unacked_messages_public/functions": 0,
803 "pulsar_subscription_blocked_on_unacked_messages_sample/dev": 0,
804 "pulsar_subscription_blocked_on_unacked_messages_sample/prod": 0,
805 "pulsar_subscription_delayed": 0,
806 "pulsar_subscription_delayed_persistent://public/functions/assignments": 0,
807 "pulsar_subscription_delayed_persistent://public/functions/coordinate": 0,
808 "pulsar_subscription_delayed_persistent://public/functions/metadata": 0,
809 "pulsar_subscription_delayed_persistent://sample/dev/dev-1": 0,
810 "pulsar_subscription_delayed_persistent://sample/dev/dev-2": 0,
811 "pulsar_subscription_delayed_persistent://sample/prod/prod-1": 0,
812 "pulsar_subscription_delayed_persistent://sample/prod/prod-2": 0,
813 "pulsar_subscription_delayed_public/functions": 0,
814 "pulsar_subscription_delayed_sample/dev": 0,
815 "pulsar_subscription_delayed_sample/prod": 0,
816 "pulsar_subscription_msg_rate_redeliver": 0,
817 "pulsar_subscription_msg_rate_redeliver_persistent://public/functions/assignments": 0,
818 "pulsar_subscription_msg_rate_redeliver_persistent://public/functions/coordinate": 0,
819 "pulsar_subscription_msg_rate_redeliver_persistent://public/functions/metadata": 0,
820 "pulsar_subscription_msg_rate_redeliver_persistent://sample/dev/dev-1": 0,
821 "pulsar_subscription_msg_rate_redeliver_persistent://sample/dev/dev-2": 0,
822 "pulsar_subscription_msg_rate_redeliver_persistent://sample/prod/prod-1": 0,
823 "pulsar_subscription_msg_rate_redeliver_persistent://sample/prod/prod-2": 0,
824 "pulsar_subscription_msg_rate_redeliver_public/functions": 0,
825 "pulsar_subscription_msg_rate_redeliver_sample/dev": 0,
826 "pulsar_subscription_msg_rate_redeliver_sample/prod": 0,
827 "pulsar_subscriptions_count": 13,
828 "pulsar_subscriptions_count_persistent://public/functions/assignments": 1,
829 "pulsar_subscriptions_count_persistent://public/functions/coordinate": 1,
830 "pulsar_subscriptions_count_persistent://public/functions/metadata": 1,
831 "pulsar_subscriptions_count_persistent://sample/dev/dev-1": 2,
832 "pulsar_subscriptions_count_persistent://sample/dev/dev-2": 4,
833 "pulsar_subscriptions_count_persistent://sample/prod/prod-1": 2,
834 "pulsar_subscriptions_count_persistent://sample/prod/prod-2": 2,
835 "pulsar_subscriptions_count_public/functions": 3,
836 "pulsar_subscriptions_count_sample/dev": 6,
837 "pulsar_subscriptions_count_sample/prod": 4,
838 "pulsar_throughput_in": 6023912,
839 "pulsar_throughput_in_persistent://public/functions/assignments": 0,
840 "pulsar_throughput_in_persistent://public/functions/coordinate": 0,
841 "pulsar_throughput_in_persistent://public/functions/metadata": 0,
842 "pulsar_throughput_in_persistent://sample/dev/dev-1": 1450789,
843 "pulsar_throughput_in_persistent://sample/dev/dev-2": 1450862,
844 "pulsar_throughput_in_persistent://sample/prod/prod-1": 1561151,
845 "pulsar_throughput_in_persistent://sample/prod/prod-2": 1561110,
846 "pulsar_throughput_in_public/functions": 0,
847 "pulsar_throughput_in_sample/dev": 2901651,
848 "pulsar_throughput_in_sample/prod": 3122261,
849 "pulsar_throughput_out": 14949677,
850 "pulsar_throughput_out_persistent://public/functions/assignments": 0,
851 "pulsar_throughput_out_persistent://public/functions/coordinate": 0,
852 "pulsar_throughput_out_persistent://public/functions/metadata": 0,
853 "pulsar_throughput_out_persistent://sample/dev/dev-1": 2901607,
854 "pulsar_throughput_out_persistent://sample/dev/dev-2": 5803500,
855 "pulsar_throughput_out_persistent://sample/prod/prod-1": 3122322,
856 "pulsar_throughput_out_persistent://sample/prod/prod-2": 3122248,
857 "pulsar_throughput_out_public/functions": 0,
858 "pulsar_throughput_out_sample/dev": 8705107,
859 "pulsar_throughput_out_sample/prod": 6244570,
860 "pulsar_topics_count": 14,
861 "pulsar_topics_count_public/functions": 5,
862 "pulsar_topics_count_sample/dev": 2,
863 "pulsar_topics_count_sample/prod": 7,
864 }
865
866 var expectedStandaloneV250TopicsFiltered = map[string]int64{
867 "pulsar_consumers_count": 21,
868 "pulsar_consumers_count_public/functions": 3,
869 "pulsar_consumers_count_sample/dev": 10,
870 "pulsar_consumers_count_sample/prod": 8,
871 "pulsar_entry_size_count": 5867,
872 "pulsar_entry_size_count_public/functions": 0,
873 "pulsar_entry_size_count_sample/dev": 2925,
874 "pulsar_entry_size_count_sample/prod": 2942,
875 "pulsar_entry_size_le_100_kb": 0,
876 "pulsar_entry_size_le_100_kb_public/functions": 0,
877 "pulsar_entry_size_le_100_kb_sample/dev": 0,
878 "pulsar_entry_size_le_100_kb_sample/prod": 0,
879 "pulsar_entry_size_le_128": 5867,
880 "pulsar_entry_size_le_128_public/functions": 0,
881 "pulsar_entry_size_le_128_sample/dev": 2925,
882 "pulsar_entry_size_le_128_sample/prod": 2942,
883 "pulsar_entry_size_le_16_kb": 0,
884 "pulsar_entry_size_le_16_kb_public/functions": 0,
885 "pulsar_entry_size_le_16_kb_sample/dev": 0,
886 "pulsar_entry_size_le_16_kb_sample/prod": 0,
887 "pulsar_entry_size_le_1_kb": 0,
888 "pulsar_entry_size_le_1_kb_public/functions": 0,
889 "pulsar_entry_size_le_1_kb_sample/dev": 0,
890 "pulsar_entry_size_le_1_kb_sample/prod": 0,
891 "pulsar_entry_size_le_1_mb": 0,
892 "pulsar_entry_size_le_1_mb_public/functions": 0,
893 "pulsar_entry_size_le_1_mb_sample/dev": 0,
894 "pulsar_entry_size_le_1_mb_sample/prod": 0,
895 "pulsar_entry_size_le_2_kb": 0,
896 "pulsar_entry_size_le_2_kb_public/functions": 0,
897 "pulsar_entry_size_le_2_kb_sample/dev": 0,
898 "pulsar_entry_size_le_2_kb_sample/prod": 0,
899 "pulsar_entry_size_le_4_kb": 0,
900 "pulsar_entry_size_le_4_kb_public/functions": 0,
901 "pulsar_entry_size_le_4_kb_sample/dev": 0,
902 "pulsar_entry_size_le_4_kb_sample/prod": 0,
903 "pulsar_entry_size_le_512": 0,
904 "pulsar_entry_size_le_512_public/functions": 0,
905 "pulsar_entry_size_le_512_sample/dev": 0,
906 "pulsar_entry_size_le_512_sample/prod": 0,
907 "pulsar_entry_size_le_overflow": 0,
908 "pulsar_entry_size_le_overflow_public/functions": 0,
909 "pulsar_entry_size_le_overflow_sample/dev": 0,
910 "pulsar_entry_size_le_overflow_sample/prod": 0,
911 "pulsar_entry_size_sum": 5867,
912 "pulsar_entry_size_sum_public/functions": 0,
913 "pulsar_entry_size_sum_sample/dev": 2925,
914 "pulsar_entry_size_sum_sample/prod": 2942,
915 "pulsar_msg_backlog": 0,
916 "pulsar_msg_backlog_public/functions": 0,
917 "pulsar_msg_backlog_sample/dev": 0,
918 "pulsar_msg_backlog_sample/prod": 0,
919 "pulsar_namespaces_count": 3,
920 "pulsar_producers_count": 10,
921 "pulsar_producers_count_public/functions": 2,
922 "pulsar_producers_count_sample/dev": 4,
923 "pulsar_producers_count_sample/prod": 4,
924 "pulsar_rate_in": 102064,
925 "pulsar_rate_in_public/functions": 0,
926 "pulsar_rate_in_sample/dev": 50027,
927 "pulsar_rate_in_sample/prod": 52037,
928 "pulsar_rate_out": 254162,
929 "pulsar_rate_out_public/functions": 0,
930 "pulsar_rate_out_sample/dev": 150087,
931 "pulsar_rate_out_sample/prod": 104075,
932 "pulsar_storage_size": 8112300,
933 "pulsar_storage_size_public/functions": 0,
934 "pulsar_storage_size_sample/dev": 3981120,
935 "pulsar_storage_size_sample/prod": 4131180,
936 "pulsar_storage_write_latency_count": 5867,
937 "pulsar_storage_write_latency_count_public/functions": 0,
938 "pulsar_storage_write_latency_count_sample/dev": 2925,
939 "pulsar_storage_write_latency_count_sample/prod": 2942,
940 "pulsar_storage_write_latency_le_0_5": 0,
941 "pulsar_storage_write_latency_le_0_5_public/functions": 0,
942 "pulsar_storage_write_latency_le_0_5_sample/dev": 0,
943 "pulsar_storage_write_latency_le_0_5_sample/prod": 0,
944 "pulsar_storage_write_latency_le_1": 41,
945 "pulsar_storage_write_latency_le_10": 341,
946 "pulsar_storage_write_latency_le_100": 3,
947 "pulsar_storage_write_latency_le_1000": 0,
948 "pulsar_storage_write_latency_le_1000_public/functions": 0,
949 "pulsar_storage_write_latency_le_1000_sample/dev": 0,
950 "pulsar_storage_write_latency_le_1000_sample/prod": 0,
951 "pulsar_storage_write_latency_le_100_public/functions": 0,
952 "pulsar_storage_write_latency_le_100_sample/dev": 1,
953 "pulsar_storage_write_latency_le_100_sample/prod": 2,
954 "pulsar_storage_write_latency_le_10_public/functions": 0,
955 "pulsar_storage_write_latency_le_10_sample/dev": 177,
956 "pulsar_storage_write_latency_le_10_sample/prod": 164,
957 "pulsar_storage_write_latency_le_1_public/functions": 0,
958 "pulsar_storage_write_latency_le_1_sample/dev": 25,
959 "pulsar_storage_write_latency_le_1_sample/prod": 16,
960 "pulsar_storage_write_latency_le_20": 114,
961 "pulsar_storage_write_latency_le_200": 0,
962 "pulsar_storage_write_latency_le_200_public/functions": 0,
963 "pulsar_storage_write_latency_le_200_sample/dev": 0,
964 "pulsar_storage_write_latency_le_200_sample/prod": 0,
965 "pulsar_storage_write_latency_le_20_public/functions": 0,
966 "pulsar_storage_write_latency_le_20_sample/dev": 54,
967 "pulsar_storage_write_latency_le_20_sample/prod": 60,
968 "pulsar_storage_write_latency_le_5": 5328,
969 "pulsar_storage_write_latency_le_50": 40,
970 "pulsar_storage_write_latency_le_50_public/functions": 0,
971 "pulsar_storage_write_latency_le_50_sample/dev": 18,
972 "pulsar_storage_write_latency_le_50_sample/prod": 22,
973 "pulsar_storage_write_latency_le_5_public/functions": 0,
974 "pulsar_storage_write_latency_le_5_sample/dev": 2650,
975 "pulsar_storage_write_latency_le_5_sample/prod": 2678,
976 "pulsar_storage_write_latency_overflow": 0,
977 "pulsar_storage_write_latency_overflow_public/functions": 0,
978 "pulsar_storage_write_latency_overflow_sample/dev": 0,
979 "pulsar_storage_write_latency_overflow_sample/prod": 0,
980 "pulsar_storage_write_latency_sum": 5867,
981 "pulsar_storage_write_latency_sum_public/functions": 0,
982 "pulsar_storage_write_latency_sum_sample/dev": 2925,
983 "pulsar_storage_write_latency_sum_sample/prod": 2942,
984 "pulsar_subscription_blocked_on_unacked_messages": 0,
985 "pulsar_subscription_blocked_on_unacked_messages_public/functions": 0,
986 "pulsar_subscription_blocked_on_unacked_messages_sample/dev": 0,
987 "pulsar_subscription_blocked_on_unacked_messages_sample/prod": 0,
988 "pulsar_subscription_delayed": 0,
989 "pulsar_subscription_delayed_public/functions": 0,
990 "pulsar_subscription_delayed_sample/dev": 0,
991 "pulsar_subscription_delayed_sample/prod": 0,
992 "pulsar_subscription_msg_rate_redeliver": 0,
993 "pulsar_subscription_msg_rate_redeliver_public/functions": 0,
994 "pulsar_subscription_msg_rate_redeliver_sample/dev": 0,
995 "pulsar_subscription_msg_rate_redeliver_sample/prod": 0,
996 "pulsar_subscriptions_count": 13,
997 "pulsar_subscriptions_count_public/functions": 3,
998 "pulsar_subscriptions_count_sample/dev": 6,
999 "pulsar_subscriptions_count_sample/prod": 4,
1000 "pulsar_throughput_in": 6023912,
1001 "pulsar_throughput_in_public/functions": 0,
1002 "pulsar_throughput_in_sample/dev": 2901651,
1003 "pulsar_throughput_in_sample/prod": 3122261,
1004 "pulsar_throughput_out": 14949677,
1005 "pulsar_throughput_out_public/functions": 0,
1006 "pulsar_throughput_out_sample/dev": 8705107,
1007 "pulsar_throughput_out_sample/prod": 6244570,
1008 "pulsar_topics_count": 14,
1009 "pulsar_topics_count_public/functions": 5,
1010 "pulsar_topics_count_sample/dev": 2,
1011 "pulsar_topics_count_sample/prod": 7,
1012 }