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  }