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