summaryrefslogtreecommitdiffstats
path: root/src/go/collectors/go.d.plugin/modules/pulsar
diff options
context:
space:
mode:
Diffstat (limited to '')
l---------src/go/collectors/go.d.plugin/modules/pulsar/README.md1
-rw-r--r--src/go/collectors/go.d.plugin/modules/pulsar/cache.go19
-rw-r--r--src/go/collectors/go.d.plugin/modules/pulsar/charts.go664
-rw-r--r--src/go/collectors/go.d.plugin/modules/pulsar/collect.go138
-rw-r--r--src/go/collectors/go.d.plugin/modules/pulsar/config_schema.json177
-rw-r--r--src/go/collectors/go.d.plugin/modules/pulsar/init.go34
-rw-r--r--src/go/collectors/go.d.plugin/modules/pulsar/integrations/apache_pulsar.md279
-rw-r--r--src/go/collectors/go.d.plugin/modules/pulsar/metadata.yaml519
-rw-r--r--src/go/collectors/go.d.plugin/modules/pulsar/metrics.go116
-rw-r--r--src/go/collectors/go.d.plugin/modules/pulsar/pulsar.go137
-rw-r--r--src/go/collectors/go.d.plugin/modules/pulsar/pulsar_test.go1024
-rw-r--r--src/go/collectors/go.d.plugin/modules/pulsar/testdata/config.json28
-rw-r--r--src/go/collectors/go.d.plugin/modules/pulsar/testdata/config.yaml22
-rw-r--r--src/go/collectors/go.d.plugin/modules/pulsar/testdata/non-pulsar.txt27
-rw-r--r--src/go/collectors/go.d.plugin/modules/pulsar/testdata/standalone-v2.5.0-namespaces.txt500
-rw-r--r--src/go/collectors/go.d.plugin/modules/pulsar/testdata/standalone-v2.5.0-topics-2.txt748
-rw-r--r--src/go/collectors/go.d.plugin/modules/pulsar/testdata/standalone-v2.5.0-topics.txt748
17 files changed, 5181 insertions, 0 deletions
diff --git a/src/go/collectors/go.d.plugin/modules/pulsar/README.md b/src/go/collectors/go.d.plugin/modules/pulsar/README.md
new file mode 120000
index 000000000..dfa55301c
--- /dev/null
+++ b/src/go/collectors/go.d.plugin/modules/pulsar/README.md
@@ -0,0 +1 @@
+integrations/apache_pulsar.md \ No newline at end of file
diff --git a/src/go/collectors/go.d.plugin/modules/pulsar/cache.go b/src/go/collectors/go.d.plugin/modules/pulsar/cache.go
new file mode 100644
index 000000000..7f113bf86
--- /dev/null
+++ b/src/go/collectors/go.d.plugin/modules/pulsar/cache.go
@@ -0,0 +1,19 @@
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+package pulsar
+
+func newCache() *cache {
+ return &cache{
+ namespaces: make(map[namespace]bool),
+ topics: make(map[topic]bool),
+ }
+}
+
+type (
+ namespace struct{ name string }
+ topic struct{ namespace, name string }
+ cache struct {
+ namespaces map[namespace]bool
+ topics map[topic]bool
+ }
+)
diff --git a/src/go/collectors/go.d.plugin/modules/pulsar/charts.go b/src/go/collectors/go.d.plugin/modules/pulsar/charts.go
new file mode 100644
index 000000000..3ddff66f6
--- /dev/null
+++ b/src/go/collectors/go.d.plugin/modules/pulsar/charts.go
@@ -0,0 +1,664 @@
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+package pulsar
+
+import (
+ "fmt"
+ "strings"
+
+ "github.com/netdata/netdata/go/go.d.plugin/pkg/prometheus"
+
+ "github.com/netdata/netdata/go/go.d.plugin/agent/module"
+)
+
+type (
+ Charts = module.Charts
+ Chart = module.Chart
+ Dims = module.Dims
+ Dim = module.Dim
+ Opts = module.Opts
+)
+
+var summaryCharts = Charts{
+ sumBrokerComponentsChart.Copy(),
+
+ sumMessagesRateChart.Copy(),
+ sumThroughputRateChart.Copy(),
+
+ sumStorageSizeChart.Copy(),
+ sumStorageOperationsRateChart.Copy(), // optional
+ sumMsgBacklogSizeChart.Copy(),
+ sumStorageWriteLatencyChart.Copy(),
+ sumEntrySizeChart.Copy(),
+
+ sumSubsDelayedChart.Copy(),
+ sumSubsMsgRateRedeliverChart.Copy(), // optional
+ sumSubsBlockedOnUnackedMsgChart.Copy(), // optional
+
+ sumReplicationRateChart.Copy(), // optional
+ sumReplicationThroughputRateChart.Copy(), // optional
+ sumReplicationBacklogChart.Copy(), // optional
+}
+
+var (
+ sumBrokerComponentsChart = Chart{
+ ID: "broker_components",
+ Title: "Broker Components",
+ Units: "components",
+ Fam: "ns summary",
+ Ctx: "pulsar.broker_components",
+ Type: module.Stacked,
+ Opts: Opts{StoreFirst: true},
+ Dims: Dims{
+ {ID: "pulsar_namespaces_count", Name: "namespaces"},
+ {ID: metricPulsarTopicsCount, Name: "topics"},
+ {ID: metricPulsarSubscriptionsCount, Name: "subscriptions"},
+ {ID: metricPulsarProducersCount, Name: "producers"},
+ {ID: metricPulsarConsumersCount, Name: "consumers"},
+ },
+ }
+ sumMessagesRateChart = Chart{
+ ID: "messages_rate",
+ Title: "Messages Rate",
+ Units: "messages/s",
+ Fam: "ns summary",
+ Ctx: "pulsar.messages_rate",
+ Opts: Opts{StoreFirst: true},
+ Dims: Dims{
+ {ID: metricPulsarRateIn, Name: "publish", Div: 1000},
+ {ID: metricPulsarRateOut, Name: "dispatch", Mul: -1, Div: 1000},
+ },
+ }
+ sumThroughputRateChart = Chart{
+ ID: "throughput_rate",
+ Title: "Throughput Rate",
+ Units: "KiB/s",
+ Fam: "ns summary",
+ Ctx: "pulsar.throughput_rate",
+ Type: module.Area,
+ Opts: Opts{StoreFirst: true},
+ Dims: Dims{
+ {ID: metricPulsarThroughputIn, Name: "publish", Div: 1024 * 1000},
+ {ID: metricPulsarThroughputOut, Name: "dispatch", Mul: -1, Div: 1024 * 1000},
+ },
+ }
+ sumStorageSizeChart = Chart{
+ ID: "storage_size",
+ Title: "Storage Size",
+ Units: "KiB",
+ Fam: "ns summary",
+ Ctx: "pulsar.storage_size",
+ Opts: Opts{StoreFirst: true},
+ Dims: Dims{
+ {ID: metricPulsarStorageSize, Name: "used", Div: 1024},
+ },
+ }
+ sumStorageOperationsRateChart = Chart{
+ ID: "storage_operations_rate",
+ Title: "Storage Read/Write Operations Rate",
+ Units: "message batches/s",
+ Fam: "ns summary",
+ Ctx: "pulsar.storage_operations_rate",
+ Type: module.Area,
+ Opts: Opts{StoreFirst: true},
+ Dims: Dims{
+ {ID: metricPulsarStorageReadRate, Name: "read", Div: 1000},
+ {ID: metricPulsarStorageWriteRate, Name: "write", Mul: -1, Div: 1000},
+ },
+ }
+ sumMsgBacklogSizeChart = Chart{
+ ID: "msg_backlog",
+ Title: "Messages Backlog Size",
+ Units: "messages",
+ Fam: "ns summary",
+ Ctx: "pulsar.msg_backlog",
+ Opts: Opts{StoreFirst: true},
+ Dims: Dims{
+ {ID: metricPulsarMsgBacklog, Name: "backlog"},
+ },
+ }
+ sumStorageWriteLatencyChart = Chart{
+ ID: "storage_write_latency",
+ Title: "Storage Write Latency",
+ Units: "entries/s",
+ Fam: "ns summary",
+ Ctx: "pulsar.storage_write_latency",
+ Type: module.Stacked,
+ Opts: Opts{StoreFirst: true},
+ Dims: Dims{
+ {ID: "pulsar_storage_write_latency_le_0_5", Name: "<=0.5ms", Div: 60},
+ {ID: "pulsar_storage_write_latency_le_1", Name: "<=1ms", Div: 60},
+ {ID: "pulsar_storage_write_latency_le_5", Name: "<=5ms", Div: 60},
+ {ID: "pulsar_storage_write_latency_le_10", Name: "<=10ms", Div: 60},
+ {ID: "pulsar_storage_write_latency_le_20", Name: "<=20ms", Div: 60},
+ {ID: "pulsar_storage_write_latency_le_50", Name: "<=50ms", Div: 60},
+ {ID: "pulsar_storage_write_latency_le_100", Name: "<=100ms", Div: 60},
+ {ID: "pulsar_storage_write_latency_le_200", Name: "<=200ms", Div: 60},
+ {ID: "pulsar_storage_write_latency_le_1000", Name: "<=1s", Div: 60},
+ {ID: "pulsar_storage_write_latency_overflow", Name: ">1s", Div: 60},
+ },
+ }
+ sumEntrySizeChart = Chart{
+ ID: "entry_size",
+ Title: "Entry Size",
+ Units: "entries/s",
+ Fam: "ns summary",
+ Ctx: "pulsar.entry_size",
+ Type: module.Stacked,
+ Opts: Opts{StoreFirst: true},
+ Dims: Dims{
+ {ID: "pulsar_entry_size_le_128", Name: "<=128B", Div: 60},
+ {ID: "pulsar_entry_size_le_512", Name: "<=512B", Div: 60},
+ {ID: "pulsar_entry_size_le_1_kb", Name: "<=1KB", Div: 60},
+ {ID: "pulsar_entry_size_le_2_kb", Name: "<=2KB", Div: 60},
+ {ID: "pulsar_entry_size_le_4_kb", Name: "<=4KB", Div: 60},
+ {ID: "pulsar_entry_size_le_16_kb", Name: "<=16KB", Div: 60},
+ {ID: "pulsar_entry_size_le_100_kb", Name: "<=100KB", Div: 60},
+ {ID: "pulsar_entry_size_le_1_mb", Name: "<=1MB", Div: 60},
+ {ID: "pulsar_entry_size_le_overflow", Name: ">1MB", Div: 60},
+ },
+ }
+ sumSubsDelayedChart = Chart{
+ ID: "subscription_delayed",
+ Title: "Subscriptions Delayed for Dispatching",
+ Units: "message batches",
+ Fam: "ns summary",
+ Ctx: "pulsar.subscription_delayed",
+ Opts: Opts{StoreFirst: true},
+ Dims: Dims{
+ {ID: metricPulsarSubscriptionDelayed, Name: "delayed"},
+ },
+ }
+ sumSubsMsgRateRedeliverChart = Chart{
+ ID: "subscription_msg_rate_redeliver",
+ Title: "Subscriptions Redelivered Message Rate",
+ Units: "messages/s",
+ Fam: "ns summary",
+ Ctx: "pulsar.subscription_msg_rate_redeliver",
+ Opts: Opts{StoreFirst: true},
+ Dims: Dims{
+ {ID: metricPulsarSubscriptionMsgRateRedeliver, Name: "redelivered", Div: 1000},
+ },
+ }
+ sumSubsBlockedOnUnackedMsgChart = Chart{
+ ID: "subscription_blocked_on_unacked_messages",
+ Title: "Subscriptions Blocked On Unacked Messages",
+ Units: "subscriptions",
+ Fam: "ns summary",
+ Ctx: "pulsar.subscription_blocked_on_unacked_messages",
+ Opts: Opts{StoreFirst: true},
+ Dims: Dims{
+ {ID: metricPulsarSubscriptionBlockedOnUnackedMessages, Name: "blocked"},
+ },
+ }
+ sumReplicationRateChart = Chart{
+ ID: "replication_rate",
+ Title: "Replication Rate",
+ Units: "messages/s",
+ Fam: "ns summary",
+ Ctx: "pulsar.replication_rate",
+ Opts: Opts{StoreFirst: true},
+ Dims: Dims{
+ {ID: metricPulsarReplicationRateIn, Name: "in", Div: 1000},
+ {ID: metricPulsarReplicationRateOut, Name: "out", Mul: -1, Div: 1000},
+ },
+ }
+ sumReplicationThroughputRateChart = Chart{
+ ID: "replication_throughput_rate",
+ Title: "Replication Throughput Rate",
+ Units: "KiB/s",
+ Fam: "ns summary",
+ Ctx: "pulsar.replication_throughput_rate",
+ Opts: Opts{StoreFirst: true},
+ Dims: Dims{
+ {ID: metricPulsarReplicationThroughputIn, Name: "in", Div: 1024 * 1000},
+ {ID: metricPulsarReplicationThroughputOut, Name: "out", Mul: -1, Div: 1024 * 1000},
+ },
+ }
+ sumReplicationBacklogChart = Chart{
+ ID: "replication_backlog",
+ Title: "Replication Backlog",
+ Units: "messages",
+ Fam: "ns summary",
+ Ctx: "pulsar.replication_backlog",
+ Opts: Opts{StoreFirst: true},
+ Dims: Dims{
+ {ID: metricPulsarReplicationBacklog, Name: "backlog"},
+ },
+ }
+)
+
+var namespaceCharts = Charts{
+ nsBrokerComponentsChart.Copy(),
+ topicProducersChart.Copy(),
+ topicSubscriptionsChart.Copy(),
+ topicConsumersChart.Copy(),
+
+ nsMessagesRateChart.Copy(),
+ topicMessagesRateInChart.Copy(),
+ topicMessagesRateOutChart.Copy(),
+ nsThroughputRateCharts.Copy(),
+ topicThroughputRateInChart.Copy(),
+ topicThroughputRateOutChart.Copy(),
+
+ nsStorageSizeChart.Copy(),
+ topicStorageSizeChart.Copy(),
+ nsStorageOperationsChart.Copy(), // optional
+ topicStorageReadRateChart.Copy(), // optional
+ topicStorageWriteRateChart.Copy(), // optional
+ nsMsgBacklogSizeChart.Copy(),
+ topicMsgBacklogSizeChart.Copy(),
+ nsStorageWriteLatencyChart.Copy(),
+ nsEntrySizeChart.Copy(),
+
+ nsSubsDelayedChart.Copy(),
+ topicSubsDelayedChart.Copy(),
+ nsSubsMsgRateRedeliverChart.Copy(), // optional
+ topicSubsMsgRateRedeliverChart.Copy(), // optional
+ nsSubsBlockedOnUnackedMsgChart.Copy(), // optional
+ topicSubsBlockedOnUnackedMsgChart.Copy(), // optional
+
+ nsReplicationRateChart.Copy(), // optional
+ topicReplicationRateInChart.Copy(), // optional
+ topicReplicationRateOutChart.Copy(), // optional
+ nsReplicationThroughputChart.Copy(), // optional
+ topicReplicationThroughputRateInChart.Copy(), // optional
+ topicReplicationThroughputRateOutChart.Copy(), // optional
+ nsReplicationBacklogChart.Copy(), // optional
+ topicReplicationBacklogChart.Copy(), // optional
+}
+
+func toNamespaceChart(chart Chart) Chart {
+ chart = *chart.Copy()
+ if chart.ID == sumBrokerComponentsChart.ID {
+ _ = chart.RemoveDim("pulsar_namespaces_count")
+ }
+ chart.ID += "_namespace_%s"
+ chart.Fam = "ns %s"
+ if idx := strings.IndexByte(chart.Ctx, '.'); idx > 0 {
+ // pulsar.messages_rate => pulsar.namespace_messages_rate
+ chart.Ctx = chart.Ctx[:idx+1] + "namespace_" + chart.Ctx[idx+1:]
+ }
+ for _, dim := range chart.Dims {
+ dim.ID += "_%s"
+ }
+ return chart
+}
+
+var (
+ nsBrokerComponentsChart = toNamespaceChart(sumBrokerComponentsChart)
+ nsMessagesRateChart = toNamespaceChart(sumMessagesRateChart)
+ nsThroughputRateCharts = toNamespaceChart(sumThroughputRateChart)
+ nsStorageSizeChart = toNamespaceChart(sumStorageSizeChart)
+ nsStorageOperationsChart = toNamespaceChart(sumStorageOperationsRateChart)
+ nsMsgBacklogSizeChart = toNamespaceChart(sumMsgBacklogSizeChart)
+ nsStorageWriteLatencyChart = toNamespaceChart(sumStorageWriteLatencyChart)
+ nsEntrySizeChart = toNamespaceChart(sumEntrySizeChart)
+ nsSubsDelayedChart = toNamespaceChart(sumSubsDelayedChart)
+ nsSubsMsgRateRedeliverChart = toNamespaceChart(sumSubsMsgRateRedeliverChart)
+ nsSubsBlockedOnUnackedMsgChart = toNamespaceChart(sumSubsBlockedOnUnackedMsgChart)
+ nsReplicationRateChart = toNamespaceChart(sumReplicationRateChart)
+ nsReplicationThroughputChart = toNamespaceChart(sumReplicationThroughputRateChart)
+ nsReplicationBacklogChart = toNamespaceChart(sumReplicationBacklogChart)
+
+ topicProducersChart = Chart{
+ ID: "topic_producers_namespace_%s",
+ Title: "Topic Producers",
+ Units: "producers",
+ Fam: "ns %s",
+ Ctx: "pulsar.topic_producers",
+ Type: module.Stacked,
+ Opts: Opts{StoreFirst: true},
+ }
+ topicSubscriptionsChart = Chart{
+ ID: "topic_subscriptions_namespace_%s",
+ Title: "Topic Subscriptions",
+ Units: "subscriptions",
+ Fam: "ns %s",
+ Ctx: "pulsar.topic_subscriptions",
+ Type: module.Stacked,
+ Opts: Opts{StoreFirst: true},
+ }
+ topicConsumersChart = Chart{
+ ID: "topic_consumers_namespace_%s",
+ Title: "Topic Consumers",
+ Units: "consumers",
+ Fam: "ns %s",
+ Ctx: "pulsar.topic_consumers",
+ Type: module.Stacked,
+ Opts: Opts{StoreFirst: true},
+ }
+ topicMessagesRateInChart = Chart{
+ ID: "topic_messages_rate_in_namespace_%s",
+ Title: "Topic Publish Messages Rate",
+ Units: "publishes/s",
+ Fam: "ns %s",
+ Ctx: "pulsar.topic_messages_rate_in",
+ Type: module.Stacked,
+ Opts: Opts{StoreFirst: true},
+ }
+ topicMessagesRateOutChart = Chart{
+ ID: "topic_messages_rate_out_namespace_%s",
+ Title: "Topic Dispatch Messages Rate",
+ Units: "dispatches/s",
+ Fam: "ns %s",
+ Ctx: "pulsar.topic_messages_rate_out",
+ Type: module.Stacked,
+ Opts: Opts{StoreFirst: true},
+ }
+ topicThroughputRateInChart = Chart{
+ ID: "topic_throughput_rate_in_namespace_%s",
+ Title: "Topic Publish Throughput Rate",
+ Units: "KiB/s",
+ Fam: "ns %s",
+ Ctx: "pulsar.topic_throughput_rate_in",
+ Type: module.Stacked,
+ Opts: Opts{StoreFirst: true},
+ }
+ topicThroughputRateOutChart = Chart{
+ ID: "topic_throughput_rate_out_namespace_%s",
+ Title: "Topic Dispatch Throughput Rate",
+ Units: "KiB/s",
+ Fam: "ns %s",
+ Ctx: "pulsar.topic_throughput_rate_out",
+ Type: module.Stacked,
+ Opts: Opts{StoreFirst: true},
+ }
+ topicStorageSizeChart = Chart{
+ ID: "topic_storage_size_namespace_%s",
+ Title: "Topic Storage Size",
+ Units: "KiB",
+ Fam: "ns %s",
+ Ctx: "pulsar.topic_storage_size",
+ Type: module.Stacked,
+ Opts: Opts{StoreFirst: true},
+ }
+ topicStorageReadRateChart = Chart{
+ ID: "topic_storage_read_rate_namespace_%s",
+ Title: "Topic Storage Read Rate",
+ Units: "message batches/s",
+ Fam: "ns %s",
+ Ctx: "pulsar.topic_storage_read_rate",
+ Type: module.Stacked,
+ Opts: Opts{StoreFirst: true},
+ }
+ topicStorageWriteRateChart = Chart{
+ ID: "topic_storage_write_rate_namespace_%s",
+ Title: "Topic Storage Write Rate",
+ Units: "message batches/s",
+ Fam: "ns %s",
+ Ctx: "pulsar.topic_storage_write_rate",
+ Type: module.Stacked,
+ Opts: Opts{StoreFirst: true},
+ }
+ topicMsgBacklogSizeChart = Chart{
+ ID: "topic_msg_backlog_namespace_%s",
+ Title: "Topic Messages Backlog Size",
+ Units: "messages",
+ Fam: "ns %s",
+ Ctx: "pulsar.topic_msg_backlog",
+ Type: module.Stacked,
+ Opts: Opts{StoreFirst: true},
+ }
+ topicSubsDelayedChart = Chart{
+ ID: "topic_subscription_delayed_namespace_%s",
+ Title: "Topic Subscriptions Delayed for Dispatching",
+ Units: "message batches",
+ Fam: "ns %s",
+ Ctx: "pulsar.topic_subscription_delayed",
+ Type: module.Stacked,
+ Opts: Opts{StoreFirst: true},
+ }
+ topicSubsMsgRateRedeliverChart = Chart{
+ ID: "topic_subscription_msg_rate_redeliver_namespace_%s",
+ Title: "Topic Subscriptions Redelivered Message Rate",
+ Units: "messages/s",
+ Fam: "ns %s",
+ Ctx: "pulsar.topic_subscription_msg_rate_redeliver",
+ Type: module.Stacked,
+ Opts: Opts{StoreFirst: true},
+ }
+ topicSubsBlockedOnUnackedMsgChart = Chart{
+ ID: "topic_subscription_blocked_on_unacked_messages_namespace_%s",
+ Title: "Topic Subscriptions Blocked On Unacked Messages",
+ Units: "blocked subscriptions",
+ Fam: "ns %s",
+ Ctx: "pulsar.topic_subscription_blocked_on_unacked_messages",
+ Type: module.Stacked,
+ Opts: Opts{StoreFirst: true},
+ }
+ topicReplicationRateInChart = Chart{
+ ID: "topic_replication_rate_in_namespace_%s",
+ Title: "Topic Replication Rate From Remote Cluster",
+ Units: "messages/s",
+ Fam: "ns %s",
+ Ctx: "pulsar.topic_replication_rate_in",
+ Type: module.Stacked,
+ Opts: Opts{StoreFirst: true},
+ }
+ topicReplicationRateOutChart = Chart{
+ ID: "replication_rate_out_namespace_%s",
+ Title: "Topic Replication Rate To Remote Cluster",
+ Units: "messages/s",
+ Fam: "ns %s",
+ Ctx: "pulsar.topic_replication_rate_out",
+ Type: module.Stacked,
+ Opts: Opts{StoreFirst: true},
+ }
+ topicReplicationThroughputRateInChart = Chart{
+ ID: "topic_replication_throughput_rate_in_namespace_%s",
+ Title: "Topic Replication Throughput Rate From Remote Cluster",
+ Units: "KiB/s",
+ Fam: "ns %s",
+ Ctx: "pulsar.topic_replication_throughput_rate_in",
+ Type: module.Stacked,
+ Opts: Opts{StoreFirst: true},
+ }
+ topicReplicationThroughputRateOutChart = Chart{
+ ID: "topic_replication_throughput_rate_out_namespace_%s",
+ Title: "Topic Replication Throughput Rate To Remote Cluster",
+ Units: "KiB/s",
+ Fam: "ns %s",
+ Ctx: "pulsar.topic_replication_throughput_rate_out",
+ Type: module.Stacked,
+ Opts: Opts{StoreFirst: true},
+ }
+ topicReplicationBacklogChart = Chart{
+ ID: "topic_replication_backlog_namespace_%s",
+ Title: "Topic Replication Backlog",
+ Units: "messages",
+ Fam: "ns %s",
+ Ctx: "pulsar.topic_replication_backlog",
+ Type: module.Stacked,
+ Opts: Opts{StoreFirst: true},
+ }
+)
+
+func (p *Pulsar) adjustCharts(pms prometheus.Series) {
+ if pms := pms.FindByName(metricPulsarStorageReadRate); pms.Len() == 0 || pms[0].Labels.Get("namespace") == "" {
+ p.removeSummaryChart(sumStorageOperationsRateChart.ID)
+ p.removeNamespaceChart(nsStorageOperationsChart.ID)
+ p.removeNamespaceChart(topicStorageReadRateChart.ID)
+ p.removeNamespaceChart(topicStorageWriteRateChart.ID)
+ delete(p.topicChartsMapping, topicStorageReadRateChart.ID)
+ delete(p.topicChartsMapping, topicStorageWriteRateChart.ID)
+ }
+ if pms.FindByName(metricPulsarSubscriptionMsgRateRedeliver).Len() == 0 {
+ p.removeSummaryChart(sumSubsMsgRateRedeliverChart.ID)
+ p.removeSummaryChart(sumSubsBlockedOnUnackedMsgChart.ID)
+ p.removeNamespaceChart(nsSubsMsgRateRedeliverChart.ID)
+ p.removeNamespaceChart(nsSubsBlockedOnUnackedMsgChart.ID)
+ p.removeNamespaceChart(topicSubsMsgRateRedeliverChart.ID)
+ p.removeNamespaceChart(topicSubsBlockedOnUnackedMsgChart.ID)
+ delete(p.topicChartsMapping, topicSubsMsgRateRedeliverChart.ID)
+ delete(p.topicChartsMapping, topicSubsBlockedOnUnackedMsgChart.ID)
+ }
+ if pms.FindByName(metricPulsarReplicationBacklog).Len() == 0 {
+ p.removeSummaryChart(sumReplicationRateChart.ID)
+ p.removeSummaryChart(sumReplicationThroughputRateChart.ID)
+ p.removeSummaryChart(sumReplicationBacklogChart.ID)
+ p.removeNamespaceChart(nsReplicationRateChart.ID)
+ p.removeNamespaceChart(nsReplicationThroughputChart.ID)
+ p.removeNamespaceChart(nsReplicationBacklogChart.ID)
+ p.removeNamespaceChart(topicReplicationRateInChart.ID)
+ p.removeNamespaceChart(topicReplicationRateOutChart.ID)
+ p.removeNamespaceChart(topicReplicationThroughputRateInChart.ID)
+ p.removeNamespaceChart(topicReplicationThroughputRateOutChart.ID)
+ p.removeNamespaceChart(topicReplicationBacklogChart.ID)
+ delete(p.topicChartsMapping, topicReplicationRateInChart.ID)
+ delete(p.topicChartsMapping, topicReplicationRateOutChart.ID)
+ delete(p.topicChartsMapping, topicReplicationThroughputRateInChart.ID)
+ delete(p.topicChartsMapping, topicReplicationThroughputRateOutChart.ID)
+ delete(p.topicChartsMapping, topicReplicationBacklogChart.ID)
+ }
+}
+
+func (p *Pulsar) removeSummaryChart(chartID string) {
+ if err := p.Charts().Remove(chartID); err != nil {
+ p.Warning(err)
+ }
+}
+
+func (p *Pulsar) removeNamespaceChart(chartID string) {
+ if err := p.nsCharts.Remove(chartID); err != nil {
+ p.Warning(err)
+ }
+}
+
+func (p *Pulsar) updateCharts() {
+ // NOTE: order is important
+ for ns := range p.curCache.namespaces {
+ if !p.cache.namespaces[ns] {
+ p.cache.namespaces[ns] = true
+ p.addNamespaceCharts(ns)
+ }
+ }
+ for top := range p.curCache.topics {
+ if !p.cache.topics[top] {
+ p.cache.topics[top] = true
+ p.addTopicToCharts(top)
+ }
+ }
+ for top := range p.cache.topics {
+ if p.curCache.topics[top] {
+ continue
+ }
+ delete(p.cache.topics, top)
+ p.removeTopicFromCharts(top)
+ }
+ for ns := range p.cache.namespaces {
+ if p.curCache.namespaces[ns] {
+ continue
+ }
+ delete(p.cache.namespaces, ns)
+ p.removeNamespaceFromCharts(ns)
+ }
+}
+
+func (p *Pulsar) addNamespaceCharts(ns namespace) {
+ charts := p.nsCharts.Copy()
+ for _, chart := range *charts {
+ chart.ID = fmt.Sprintf(chart.ID, ns.name)
+ chart.Fam = fmt.Sprintf(chart.Fam, ns.name)
+ for _, dim := range chart.Dims {
+ dim.ID = fmt.Sprintf(dim.ID, ns.name)
+ }
+ }
+ if err := p.Charts().Add(*charts...); err != nil {
+ p.Warning(err)
+ }
+}
+
+func (p *Pulsar) removeNamespaceFromCharts(ns namespace) {
+ for _, chart := range *p.nsCharts {
+ id := fmt.Sprintf(chart.ID, ns.name)
+ if chart = p.Charts().Get(id); chart != nil {
+ chart.MarkRemove()
+ } else {
+ p.Warningf("could not remove namespace chart '%s'", id)
+ }
+ }
+}
+
+func (p *Pulsar) addTopicToCharts(top topic) {
+ for id, metric := range p.topicChartsMapping {
+ id = fmt.Sprintf(id, top.namespace)
+ chart := p.Charts().Get(id)
+ if chart == nil {
+ p.Warningf("could not add topic '%s' to chart '%s': chart not found", top.name, id)
+ continue
+ }
+
+ dim := Dim{ID: metric + "_" + top.name, Name: extractTopicName(top)}
+ switch metric {
+ case metricPulsarThroughputIn,
+ metricPulsarThroughputOut,
+ metricPulsarReplicationThroughputIn,
+ metricPulsarReplicationThroughputOut:
+ dim.Div = 1024 * 1000
+ case metricPulsarRateIn,
+ metricPulsarRateOut,
+ metricPulsarStorageWriteRate,
+ metricPulsarStorageReadRate,
+ metricPulsarSubscriptionMsgRateRedeliver,
+ metricPulsarReplicationRateIn,
+ metricPulsarReplicationRateOut:
+ dim.Div = 1000
+ case metricPulsarStorageSize:
+ dim.Div = 1024
+ }
+
+ if err := chart.AddDim(&dim); err != nil {
+ p.Warning(err)
+ }
+ chart.MarkNotCreated()
+ }
+}
+
+func (p *Pulsar) removeTopicFromCharts(top topic) {
+ for id, metric := range p.topicChartsMapping {
+ id = fmt.Sprintf(id, top.namespace)
+ chart := p.Charts().Get(id)
+ if chart == nil {
+ p.Warningf("could not remove topic '%s' from chart '%s': chart not found", top.name, id)
+ continue
+ }
+
+ if err := chart.MarkDimRemove(metric+"_"+top.name, true); err != nil {
+ p.Warning(err)
+ }
+ chart.MarkNotCreated()
+ }
+}
+
+func topicChartsMapping() map[string]string {
+ return map[string]string{
+ topicSubscriptionsChart.ID: metricPulsarSubscriptionsCount,
+ topicProducersChart.ID: metricPulsarProducersCount,
+ topicConsumersChart.ID: metricPulsarConsumersCount,
+ topicMessagesRateInChart.ID: metricPulsarRateIn,
+ topicMessagesRateOutChart.ID: metricPulsarRateOut,
+ topicThroughputRateInChart.ID: metricPulsarThroughputIn,
+ topicThroughputRateOutChart.ID: metricPulsarThroughputOut,
+ topicStorageSizeChart.ID: metricPulsarStorageSize,
+ topicStorageReadRateChart.ID: metricPulsarStorageReadRate,
+ topicStorageWriteRateChart.ID: metricPulsarStorageWriteRate,
+ topicMsgBacklogSizeChart.ID: metricPulsarMsgBacklog,
+ topicSubsDelayedChart.ID: metricPulsarSubscriptionDelayed,
+ topicSubsMsgRateRedeliverChart.ID: metricPulsarSubscriptionMsgRateRedeliver,
+ topicSubsBlockedOnUnackedMsgChart.ID: metricPulsarSubscriptionBlockedOnUnackedMessages,
+ topicReplicationRateInChart.ID: metricPulsarReplicationRateIn,
+ topicReplicationRateOutChart.ID: metricPulsarReplicationRateOut,
+ topicReplicationThroughputRateInChart.ID: metricPulsarReplicationThroughputIn,
+ topicReplicationThroughputRateOutChart.ID: metricPulsarReplicationThroughputOut,
+ topicReplicationBacklogChart.ID: metricPulsarReplicationBacklog,
+ }
+}
+
+func extractTopicName(top topic) string {
+ // persistent://sample/ns1/demo-1 => p:demo-1
+ if idx := strings.LastIndexByte(top.name, '/'); idx > 0 {
+ return top.name[:1] + ":" + top.name[idx+1:]
+ }
+ return top.name
+}
diff --git a/src/go/collectors/go.d.plugin/modules/pulsar/collect.go b/src/go/collectors/go.d.plugin/modules/pulsar/collect.go
new file mode 100644
index 000000000..f28e6cb2c
--- /dev/null
+++ b/src/go/collectors/go.d.plugin/modules/pulsar/collect.go
@@ -0,0 +1,138 @@
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+package pulsar
+
+import (
+ "errors"
+ "strings"
+
+ "github.com/netdata/netdata/go/go.d.plugin/pkg/prometheus"
+ "github.com/netdata/netdata/go/go.d.plugin/pkg/stm"
+)
+
+func isValidPulsarMetrics(pms prometheus.Series) bool {
+ return pms.FindByName(metricPulsarTopicsCount).Len() > 0
+}
+
+func (p *Pulsar) resetCurCache() {
+ for ns := range p.curCache.namespaces {
+ delete(p.curCache.namespaces, ns)
+ }
+ for top := range p.curCache.topics {
+ delete(p.curCache.topics, top)
+ }
+}
+
+func (p *Pulsar) collect() (map[string]int64, error) {
+ pms, err := p.prom.ScrapeSeries()
+ if err != nil {
+ return nil, err
+ }
+
+ if !isValidPulsarMetrics(pms) {
+ return nil, errors.New("returned metrics aren't Apache Pulsar metrics")
+ }
+
+ p.once.Do(func() {
+ p.adjustCharts(pms)
+ })
+
+ mx := p.collectMetrics(pms)
+ p.updateCharts()
+ p.resetCurCache()
+
+ return stm.ToMap(mx), nil
+}
+
+func (p *Pulsar) collectMetrics(pms prometheus.Series) map[string]float64 {
+ mx := make(map[string]float64)
+ p.collectBroker(mx, pms)
+ return mx
+}
+
+func (p *Pulsar) collectBroker(mx map[string]float64, pms prometheus.Series) {
+ pms = findPulsarMetrics(pms)
+ for _, pm := range pms {
+ ns, top := newNamespace(pm), newTopic(pm)
+ if ns.name == "" {
+ continue
+ }
+
+ p.curCache.namespaces[ns] = true
+
+ value := pm.Value * precision(pm.Name())
+ mx[pm.Name()] += value
+ mx[pm.Name()+"_"+ns.name] += value
+
+ if top.name == "" || !p.topicFilter.MatchString(top.name) {
+ continue
+ }
+
+ p.curCache.topics[top] = true
+ mx[pm.Name()+"_"+top.name] += value
+ }
+ mx["pulsar_namespaces_count"] = float64(len(p.curCache.namespaces))
+}
+
+func newNamespace(pm prometheus.SeriesSample) namespace {
+ return namespace{
+ name: pm.Labels.Get("namespace"),
+ }
+}
+
+func newTopic(pm prometheus.SeriesSample) topic {
+ return topic{
+ namespace: pm.Labels.Get("namespace"),
+ name: pm.Labels.Get("topic"),
+ }
+}
+
+func findPulsarMetrics(pms prometheus.Series) prometheus.Series {
+ var ms prometheus.Series
+ for _, pm := range pms {
+ if isPulsarHistogram(pm) {
+ ms = append(ms, pm)
+ }
+ }
+ pms = pms.FindByNames(
+ metricPulsarTopicsCount,
+ metricPulsarSubscriptionDelayed,
+ metricPulsarSubscriptionsCount,
+ metricPulsarProducersCount,
+ metricPulsarConsumersCount,
+ metricPulsarRateIn,
+ metricPulsarRateOut,
+ metricPulsarThroughputIn,
+ metricPulsarThroughputOut,
+ metricPulsarStorageSize,
+ metricPulsarStorageWriteRate,
+ metricPulsarStorageReadRate,
+ metricPulsarMsgBacklog,
+ metricPulsarSubscriptionMsgRateRedeliver,
+ metricPulsarSubscriptionBlockedOnUnackedMessages,
+ )
+ return append(ms, pms...)
+}
+
+func isPulsarHistogram(pm prometheus.SeriesSample) bool {
+ s := pm.Name()
+ return strings.HasPrefix(s, "pulsar_storage_write_latency") || strings.HasPrefix(s, "pulsar_entry_size")
+}
+
+func precision(metric string) float64 {
+ switch metric {
+ case metricPulsarRateIn,
+ metricPulsarRateOut,
+ metricPulsarThroughputIn,
+ metricPulsarThroughputOut,
+ metricPulsarStorageWriteRate,
+ metricPulsarStorageReadRate,
+ metricPulsarSubscriptionMsgRateRedeliver,
+ metricPulsarReplicationRateIn,
+ metricPulsarReplicationRateOut,
+ metricPulsarReplicationThroughputIn,
+ metricPulsarReplicationThroughputOut:
+ return 1000
+ }
+ return 1
+}
diff --git a/src/go/collectors/go.d.plugin/modules/pulsar/config_schema.json b/src/go/collectors/go.d.plugin/modules/pulsar/config_schema.json
new file mode 100644
index 000000000..0336255ce
--- /dev/null
+++ b/src/go/collectors/go.d.plugin/modules/pulsar/config_schema.json
@@ -0,0 +1,177 @@
+{
+ "jsonSchema": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Pulsar collector configuration.",
+ "type": "object",
+ "properties": {
+ "update_every": {
+ "title": "Update every",
+ "description": "Data collection interval, measured in seconds.",
+ "type": "integer",
+ "minimum": 1,
+ "default": 60
+ },
+ "url": {
+ "title": "URL",
+ "description": "The URL of the Pulsar metrics endpoint.",
+ "type": "string",
+ "default": "http://127.0.0.1:8080/metrics",
+ "format": "uri"
+ },
+ "timeout": {
+ "title": "Timeout",
+ "description": "The timeout in seconds for the HTTP request.",
+ "type": "number",
+ "minimum": 0.5,
+ "default": 5
+ },
+ "not_follow_redirects": {
+ "title": "Not follow redirects",
+ "description": "If set, the client will not follow HTTP redirects automatically.",
+ "type": "boolean"
+ },
+ "username": {
+ "title": "Username",
+ "description": "The username for basic authentication.",
+ "type": "string",
+ "sensitive": true
+ },
+ "password": {
+ "title": "Password",
+ "description": "The password for basic authentication.",
+ "type": "string",
+ "sensitive": true
+ },
+ "proxy_url": {
+ "title": "Proxy URL",
+ "description": "The URL of the proxy server.",
+ "type": "string"
+ },
+ "proxy_username": {
+ "title": "Proxy username",
+ "description": "The username for proxy authentication.",
+ "type": "string",
+ "sensitive": true
+ },
+ "proxy_password": {
+ "title": "Proxy password",
+ "description": "The password for proxy authentication.",
+ "type": "string",
+ "sensitive": true
+ },
+ "headers": {
+ "title": "Headers",
+ "description": "Additional HTTP headers to include in the request.",
+ "type": [
+ "object",
+ "null"
+ ],
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "tls_skip_verify": {
+ "title": "Skip TLS verification",
+ "description": "If set, TLS certificate verification will be skipped.",
+ "type": "boolean"
+ },
+ "tls_ca": {
+ "title": "TLS CA",
+ "description": "The path to the CA certificate file for TLS verification.",
+ "type": "string",
+ "pattern": "^$|^/"
+ },
+ "tls_cert": {
+ "title": "TLS certificate",
+ "description": "The path to the client certificate file for TLS authentication.",
+ "type": "string",
+ "pattern": "^$|^/"
+ },
+ "tls_key": {
+ "title": "TLS key",
+ "description": "The path to the client key file for TLS authentication.",
+ "type": "string",
+ "pattern": "^$|^/"
+ },
+ "body": {
+ "title": "Body",
+ "type": "string"
+ },
+ "method": {
+ "title": "Method",
+ "type": "string"
+ }
+ },
+ "required": [
+ "url"
+ ],
+ "additionalProperties": false,
+ "patternProperties": {
+ "^name$": {}
+ }
+ },
+ "uiSchema": {
+ "ui:flavour": "tabs",
+ "ui:options": {
+ "tabs": [
+ {
+ "title": "Base",
+ "fields": [
+ "update_every",
+ "url",
+ "timeout",
+ "not_follow_redirects"
+ ]
+ },
+ {
+ "title": "Auth",
+ "fields": [
+ "username",
+ "password"
+ ]
+ },
+ {
+ "title": "TLS",
+ "fields": [
+ "tls_skip_verify",
+ "tls_ca",
+ "tls_cert",
+ "tls_key"
+ ]
+ },
+ {
+ "title": "Proxy",
+ "fields": [
+ "proxy_url",
+ "proxy_username",
+ "proxy_password"
+ ]
+ },
+ {
+ "title": "Headers",
+ "fields": [
+ "headers"
+ ]
+ }
+ ]
+ },
+ "uiOptions": {
+ "fullPage": true
+ },
+ "body": {
+ "ui:widget": "hidden"
+ },
+ "method": {
+ "ui:widget": "hidden"
+ },
+ "timeout": {
+ "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
+ },
+ "password": {
+ "ui:widget": "password"
+ },
+ "proxy_password": {
+ "ui:widget": "password"
+ }
+ }
+}
diff --git a/src/go/collectors/go.d.plugin/modules/pulsar/init.go b/src/go/collectors/go.d.plugin/modules/pulsar/init.go
new file mode 100644
index 000000000..2b17b5dfd
--- /dev/null
+++ b/src/go/collectors/go.d.plugin/modules/pulsar/init.go
@@ -0,0 +1,34 @@
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+package pulsar
+
+import (
+ "errors"
+
+ "github.com/netdata/netdata/go/go.d.plugin/pkg/matcher"
+ "github.com/netdata/netdata/go/go.d.plugin/pkg/prometheus"
+ "github.com/netdata/netdata/go/go.d.plugin/pkg/web"
+)
+
+func (p *Pulsar) validateConfig() error {
+ if p.URL == "" {
+ return errors.New("url not set")
+ }
+ return nil
+}
+
+func (p *Pulsar) initPrometheusClient() (prometheus.Prometheus, error) {
+ client, err := web.NewHTTPClient(p.Client)
+ if err != nil {
+ return nil, err
+ }
+
+ return prometheus.New(client, p.Request), nil
+}
+
+func (p *Pulsar) initTopicFilerMatcher() (matcher.Matcher, error) {
+ if p.TopicFilter.Empty() {
+ return matcher.FALSE(), nil
+ }
+ return p.TopicFilter.Parse()
+}
diff --git a/src/go/collectors/go.d.plugin/modules/pulsar/integrations/apache_pulsar.md b/src/go/collectors/go.d.plugin/modules/pulsar/integrations/apache_pulsar.md
new file mode 100644
index 000000000..b23e03d5e
--- /dev/null
+++ b/src/go/collectors/go.d.plugin/modules/pulsar/integrations/apache_pulsar.md
@@ -0,0 +1,279 @@
+<!--startmeta
+custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/pulsar/README.md"
+meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/collectors/go.d.plugin/modules/pulsar/metadata.yaml"
+sidebar_label: "Apache Pulsar"
+learn_status: "Published"
+learn_rel_path: "Collecting Metrics/Message Brokers"
+most_popular: True
+message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
+endmeta-->
+
+# Apache Pulsar
+
+
+<img src="https://netdata.cloud/img/pulsar.svg" width="150"/>
+
+
+Plugin: go.d.plugin
+Module: pulsar
+
+<img src="https://img.shields.io/badge/maintained%20by-Netdata-%2300ab44" />
+
+## Overview
+
+This collector monitors Pulsar servers.
+
+
+It collects broker statistics using Pulsar's [Prometheus endpoint](https://pulsar.apache.org/docs/en/deploy-monitoring/#broker-stats).
+
+
+This collector is supported on all platforms.
+
+This collector supports collecting metrics from multiple instances of this integration, including remote instances.
+
+
+### Default Behavior
+
+#### Auto-Detection
+
+By default, it detects Pulsar instances running on localhost.
+
+
+#### Limits
+
+The default configuration for this integration does not impose any limits on data collection.
+
+#### Performance Impact
+
+The default configuration for this integration is not expected to impose a significant performance impact on the system.
+
+
+## Metrics
+
+Metrics grouped by *scope*.
+
+The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.
+
+- topic_* metrics are available when `exposeTopicLevelMetricsInPrometheus` is set to true.
+- subscription_* and namespace_subscription metrics are available when `exposeTopicLevelMetricsInPrometheus` si set to true.
+- replication_* and namespace_replication_* metrics are available when replication is configured and `replicationMetricsEnabled` is set to true.
+
+
+### Per Apache Pulsar instance
+
+These metrics refer to the entire monitored application.
+
+This scope has no labels.
+
+Metrics:
+
+| Metric | Dimensions | Unit |
+|:------|:----------|:----|
+| pulsar.broker_components | namespaces, topics, subscriptions, producers, consumers | components |
+| pulsar.messages_rate | publish, dispatch | messages/s |
+| pulsar.throughput_rate | publish, dispatch | KiB/s |
+| pulsar.storage_size | used | KiB |
+| pulsar.storage_operations_rate | read, write | message batches/s |
+| pulsar.msg_backlog | backlog | messages |
+| pulsar.storage_write_latency | <=0.5ms, <=1ms, <=5ms, =10ms, <=20ms, <=50ms, <=100ms, <=200ms, <=1s, >1s | entries/s |
+| pulsar.entry_size | <=128B, <=512B, <=1KB, <=2KB, <=4KB, <=16KB, <=100KB, <=1MB, >1MB | entries/s |
+| pulsar.subscription_delayed | delayed | message batches |
+| pulsar.subscription_msg_rate_redeliver | redelivered | messages/s |
+| pulsar.subscription_blocked_on_unacked_messages | blocked | subscriptions |
+| pulsar.replication_rate | in, out | messages/s |
+| pulsar.replication_throughput_rate | in, out | KiB/s |
+| pulsar.replication_backlog | backlog | messages |
+
+### Per namespace
+
+TBD
+
+This scope has no labels.
+
+Metrics:
+
+| Metric | Dimensions | Unit |
+|:------|:----------|:----|
+| pulsar.namespace_broker_components | topics, subscriptions, producers, consumers | components |
+| pulsar.namespace_messages_rate | publish, dispatch | messages/s |
+| pulsar.namespace_throughput_rate | publish, dispatch | KiB/s |
+| pulsar.namespace_storage_size | used | KiB |
+| pulsar.namespace_storage_operations_rate | read, write | message batches/s |
+| pulsar.namespace_msg_backlog | backlog | messages |
+| pulsar.namespace_storage_write_latency | <=0.5ms, <=1ms, <=5ms, =10ms, <=20ms, <=50ms, <=100ms, <=200ms, <=1s, >1s | entries/s |
+| pulsar.namespace_entry_size | <=128B, <=512B, <=1KB, <=2KB, <=4KB, <=16KB, <=100KB, <=1MB, >1MB | entries/s |
+| pulsar.namespace_subscription_delayed | delayed | message batches |
+| pulsar.namespace_subscription_msg_rate_redeliver | redelivered | messages/s |
+| pulsar.namespace_subscription_blocked_on_unacked_messages | blocked | subscriptions |
+| pulsar.namespace_replication_rate | in, out | messages/s |
+| pulsar.namespace_replication_throughput_rate | in, out | KiB/s |
+| pulsar.namespace_replication_backlog | backlog | messages |
+| pulsar.topic_producers | a dimension per topic | producers |
+| pulsar.topic_subscriptions | a dimension per topic | subscriptions |
+| pulsar.topic_consumers | a dimension per topic | consumers |
+| pulsar.topic_messages_rate_in | a dimension per topic | publishes/s |
+| pulsar.topic_messages_rate_out | a dimension per topic | dispatches/s |
+| pulsar.topic_throughput_rate_in | a dimension per topic | KiB/s |
+| pulsar.topic_throughput_rate_out | a dimension per topic | KiB/s |
+| pulsar.topic_storage_size | a dimension per topic | KiB |
+| pulsar.topic_storage_read_rate | a dimension per topic | message batches/s |
+| pulsar.topic_storage_write_rate | a dimension per topic | message batches/s |
+| pulsar.topic_msg_backlog | a dimension per topic | messages |
+| pulsar.topic_subscription_delayed | a dimension per topic | message batches |
+| pulsar.topic_subscription_msg_rate_redeliver | a dimension per topic | messages/s |
+| pulsar.topic_subscription_blocked_on_unacked_messages | a dimension per topic | blocked subscriptions |
+| pulsar.topic_replication_rate_in | a dimension per topic | messages/s |
+| pulsar.topic_replication_rate_out | a dimension per topic | messages/s |
+| pulsar.topic_replication_throughput_rate_in | a dimension per topic | messages/s |
+| pulsar.topic_replication_throughput_rate_out | a dimension per topic | messages/s |
+| pulsar.topic_replication_backlog | a dimension per topic | messages |
+
+
+
+## Alerts
+
+There are no alerts configured by default for this integration.
+
+
+## Setup
+
+### Prerequisites
+
+No action required.
+
+### Configuration
+
+#### File
+
+The configuration file name for this integration is `go.d/pulsar.conf`.
+
+
+You can edit the configuration file using the `edit-config` script from the
+Netdata [config directory](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory).
+
+```bash
+cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
+sudo ./edit-config go.d/pulsar.conf
+```
+#### Options
+
+The following options can be defined globally: update_every, autodetection_retry.
+
+
+<details open><summary>Config options</summary>
+
+| Name | Description | Default | Required |
+|:----|:-----------|:-------|:--------:|
+| update_every | Data collection frequency. | 1 | no |
+| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no |
+| url | Server URL. | http://127.0.0.1:8080/metrics | yes |
+| timeout | HTTP request timeout. | 1 | no |
+| username | Username for basic HTTP authentication. | | no |
+| password | Password for basic HTTP authentication. | | no |
+| proxy_url | Proxy URL. | | no |
+| proxy_username | Username for proxy basic HTTP authentication. | | no |
+| proxy_password | Password for proxy basic HTTP authentication. | | no |
+| method | HTTP request method. | GET | no |
+| body | HTTP request body. | | no |
+| headers | HTTP request headers. | | no |
+| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no |
+| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no |
+| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no |
+| tls_cert | Client TLS certificate. | | no |
+| tls_key | Client TLS key. | | no |
+
+</details>
+
+#### Examples
+
+##### Basic
+
+A basic example configuration.
+
+```yaml
+jobs:
+ - name: local
+ url: http://127.0.0.1:8080/metrics
+
+```
+##### HTTP authentication
+
+Basic HTTP authentication.
+
+<details open><summary>Config</summary>
+
+```yaml
+jobs:
+ - name: local
+ url: http://127.0.0.1:8080/metrics
+ username: username
+ password: password
+
+```
+</details>
+
+##### HTTPS with self-signed certificate
+
+Do not validate server certificate chain and hostname.
+
+
+<details open><summary>Config</summary>
+
+```yaml
+jobs:
+ - name: local
+ url: https://127.0.0.1:8080/metrics
+ tls_skip_verify: yes
+
+```
+</details>
+
+##### Multi-instance
+
+> **Note**: When you define multiple jobs, their names must be unique.
+
+Collecting metrics from local and remote instances.
+
+
+<details open><summary>Config</summary>
+
+```yaml
+jobs:
+ - name: local
+ url: http://127.0.0.1:8080/metrics
+
+ - name: remote
+ url: http://192.0.2.1:8080/metrics
+
+```
+</details>
+
+
+
+## Troubleshooting
+
+### Debug Mode
+
+To troubleshoot issues with the `pulsar` collector, run the `go.d.plugin` with the debug option enabled. The output
+should give you clues as to why the collector isn't working.
+
+- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on
+ your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`.
+
+ ```bash
+ cd /usr/libexec/netdata/plugins.d/
+ ```
+
+- Switch to the `netdata` user.
+
+ ```bash
+ sudo -u netdata -s
+ ```
+
+- Run the `go.d.plugin` to debug the collector:
+
+ ```bash
+ ./go.d.plugin -d -m pulsar
+ ```
+
+
diff --git a/src/go/collectors/go.d.plugin/modules/pulsar/metadata.yaml b/src/go/collectors/go.d.plugin/modules/pulsar/metadata.yaml
new file mode 100644
index 000000000..f21389fd2
--- /dev/null
+++ b/src/go/collectors/go.d.plugin/modules/pulsar/metadata.yaml
@@ -0,0 +1,519 @@
+plugin_name: go.d.plugin
+modules:
+ - meta:
+ id: collector-go.d.plugin-pulsar
+ plugin_name: go.d.plugin
+ module_name: pulsar
+ monitored_instance:
+ name: Apache Pulsar
+ link: https://pulsar.apache.org/
+ icon_filename: pulsar.svg
+ categories:
+ - data-collection.message-brokers
+ keywords:
+ - pulsar
+ related_resources:
+ integrations:
+ list:
+ - plugin_name: apps.plugin
+ module_name: apps
+ info_provided_to_referring_integrations:
+ description: ""
+ most_popular: true
+ overview:
+ data_collection:
+ metrics_description: |
+ This collector monitors Pulsar servers.
+ method_description: |
+ It collects broker statistics using Pulsar's [Prometheus endpoint](https://pulsar.apache.org/docs/en/deploy-monitoring/#broker-stats).
+ supported_platforms:
+ include: []
+ exclude: []
+ multi_instance: true
+ additional_permissions:
+ description: ""
+ default_behavior:
+ auto_detection:
+ description: |
+ By default, it detects Pulsar instances running on localhost.
+ limits:
+ description: ""
+ performance_impact:
+ description: ""
+ setup:
+ prerequisites:
+ list: []
+ configuration:
+ file:
+ name: go.d/pulsar.conf
+ options:
+ description: |
+ The following options can be defined globally: update_every, autodetection_retry.
+ folding:
+ title: Config options
+ enabled: true
+ list:
+ - name: update_every
+ description: Data collection frequency.
+ default_value: 1
+ required: false
+ - name: autodetection_retry
+ description: Recheck interval in seconds. Zero means no recheck will be scheduled.
+ default_value: 0
+ required: false
+ - name: url
+ description: Server URL.
+ default_value: http://127.0.0.1:8080/metrics
+ required: true
+ - name: timeout
+ description: HTTP request timeout.
+ default_value: 1
+ required: false
+ - name: username
+ description: Username for basic HTTP authentication.
+ default_value: ""
+ required: false
+ - name: password
+ description: Password for basic HTTP authentication.
+ default_value: ""
+ required: false
+ - name: proxy_url
+ description: Proxy URL.
+ default_value: ""
+ required: false
+ - name: proxy_username
+ description: Username for proxy basic HTTP authentication.
+ default_value: ""
+ required: false
+ - name: proxy_password
+ description: Password for proxy basic HTTP authentication.
+ default_value: ""
+ required: false
+ - name: method
+ description: HTTP request method.
+ default_value: GET
+ required: false
+ - name: body
+ description: HTTP request body.
+ default_value: ""
+ required: false
+ - name: headers
+ description: HTTP request headers.
+ default_value: ""
+ required: false
+ - name: not_follow_redirects
+ description: Redirect handling policy. Controls whether the client follows redirects.
+ default_value: no
+ required: false
+ - name: tls_skip_verify
+ description: Server certificate chain and hostname validation policy. Controls whether the client performs this check.
+ default_value: no
+ required: false
+ - name: tls_ca
+ description: Certification authority that the client uses when verifying the server's certificates.
+ default_value: ""
+ required: false
+ - name: tls_cert
+ description: Client TLS certificate.
+ default_value: ""
+ required: false
+ - name: tls_key
+ description: Client TLS key.
+ default_value: ""
+ required: false
+ examples:
+ folding:
+ title: Config
+ enabled: true
+ list:
+ - name: Basic
+ folding:
+ enabled: false
+ description: A basic example configuration.
+ config: |
+ jobs:
+ - name: local
+ url: http://127.0.0.1:8080/metrics
+ - name: HTTP authentication
+ description: Basic HTTP authentication.
+ config: |
+ jobs:
+ - name: local
+ url: http://127.0.0.1:8080/metrics
+ username: username
+ password: password
+ - name: HTTPS with self-signed certificate
+ description: |
+ Do not validate server certificate chain and hostname.
+ config: |
+ jobs:
+ - name: local
+ url: https://127.0.0.1:8080/metrics
+ tls_skip_verify: yes
+ - name: Multi-instance
+ description: |
+ > **Note**: When you define multiple jobs, their names must be unique.
+
+ Collecting metrics from local and remote instances.
+ config: |
+ jobs:
+ - name: local
+ url: http://127.0.0.1:8080/metrics
+
+ - name: remote
+ url: http://192.0.2.1:8080/metrics
+ troubleshooting:
+ problems:
+ list: []
+ alerts: []
+ metrics:
+ folding:
+ title: Metrics
+ enabled: false
+ description: |
+ - topic_* metrics are available when `exposeTopicLevelMetricsInPrometheus` is set to true.
+ - subscription_* and namespace_subscription metrics are available when `exposeTopicLevelMetricsInPrometheus` si set to true.
+ - replication_* and namespace_replication_* metrics are available when replication is configured and `replicationMetricsEnabled` is set to true.
+ availability: []
+ scopes:
+ - name: global
+ description: These metrics refer to the entire monitored application.
+ labels: []
+ metrics:
+ - name: pulsar.broker_components
+ description: Broker Components
+ unit: components
+ chart_type: line
+ dimensions:
+ - name: namespaces
+ - name: topics
+ - name: subscriptions
+ - name: producers
+ - name: consumers
+ - name: pulsar.messages_rate
+ description: Messages Rate
+ unit: messages/s
+ chart_type: line
+ dimensions:
+ - name: publish
+ - name: dispatch
+ - name: pulsar.throughput_rate
+ description: Throughput Rate
+ unit: KiB/s
+ chart_type: area
+ dimensions:
+ - name: publish
+ - name: dispatch
+ - name: pulsar.storage_size
+ description: Storage Size
+ unit: KiB
+ chart_type: line
+ dimensions:
+ - name: used
+ - name: pulsar.storage_operations_rate
+ description: Storage Read/Write Operations Rate
+ unit: message batches/s
+ chart_type: area
+ dimensions:
+ - name: read
+ - name: write
+ - name: pulsar.msg_backlog
+ description: Messages Backlog Size
+ unit: messages
+ chart_type: line
+ dimensions:
+ - name: backlog
+ - name: pulsar.storage_write_latency
+ description: Storage Write Latency
+ unit: entries/s
+ chart_type: stacked
+ dimensions:
+ - name: <=0.5ms
+ - name: <=1ms
+ - name: <=5ms
+ - name: =10ms
+ - name: <=20ms
+ - name: <=50ms
+ - name: <=100ms
+ - name: <=200ms
+ - name: <=1s
+ - name: '>1s'
+ - name: pulsar.entry_size
+ description: Entry Size
+ unit: entries/s
+ chart_type: stacked
+ dimensions:
+ - name: <=128B
+ - name: <=512B
+ - name: <=1KB
+ - name: <=2KB
+ - name: <=4KB
+ - name: <=16KB
+ - name: <=100KB
+ - name: <=1MB
+ - name: '>1MB'
+ - name: pulsar.subscription_delayed
+ description: Subscriptions Delayed for Dispatching
+ unit: message batches
+ chart_type: line
+ dimensions:
+ - name: delayed
+ - name: pulsar.subscription_msg_rate_redeliver
+ description: Subscriptions Redelivered Message Rate
+ unit: messages/s
+ chart_type: line
+ dimensions:
+ - name: redelivered
+ - name: pulsar.subscription_blocked_on_unacked_messages
+ description: Subscriptions Blocked On Unacked Messages
+ unit: subscriptions
+ chart_type: line
+ dimensions:
+ - name: blocked
+ - name: pulsar.replication_rate
+ description: Replication Rate
+ unit: messages/s
+ chart_type: line
+ dimensions:
+ - name: in
+ - name: out
+ - name: pulsar.replication_throughput_rate
+ description: Replication Throughput Rate
+ unit: KiB/s
+ chart_type: line
+ dimensions:
+ - name: in
+ - name: out
+ - name: pulsar.replication_backlog
+ description: Replication Backlog
+ unit: messages
+ chart_type: line
+ dimensions:
+ - name: backlog
+ - name: namespace
+ description: TBD
+ labels: []
+ metrics:
+ - name: pulsar.namespace_broker_components
+ description: Broker Components
+ unit: components
+ chart_type: line
+ dimensions:
+ - name: topics
+ - name: subscriptions
+ - name: producers
+ - name: consumers
+ - name: pulsar.namespace_messages_rate
+ description: Messages Rate
+ unit: messages/s
+ chart_type: line
+ dimensions:
+ - name: publish
+ - name: dispatch
+ - name: pulsar.namespace_throughput_rate
+ description: Throughput Rate
+ unit: KiB/s
+ chart_type: area
+ dimensions:
+ - name: publish
+ - name: dispatch
+ - name: pulsar.namespace_storage_size
+ description: Storage Size
+ unit: KiB
+ chart_type: line
+ dimensions:
+ - name: used
+ - name: pulsar.namespace_storage_operations_rate
+ description: Storage Read/Write Operations Rate
+ unit: message batches/s
+ chart_type: area
+ dimensions:
+ - name: read
+ - name: write
+ - name: pulsar.namespace_msg_backlog
+ description: Messages Backlog Size
+ unit: messages
+ chart_type: line
+ dimensions:
+ - name: backlog
+ - name: pulsar.namespace_storage_write_latency
+ description: Storage Write Latency
+ unit: entries/s
+ chart_type: stacked
+ dimensions:
+ - name: <=0.5ms
+ - name: <=1ms
+ - name: <=5ms
+ - name: =10ms
+ - name: <=20ms
+ - name: <=50ms
+ - name: <=100ms
+ - name: <=200ms
+ - name: <=1s
+ - name: '>1s'
+ - name: pulsar.namespace_entry_size
+ description: Entry Size
+ unit: entries/s
+ chart_type: stacked
+ dimensions:
+ - name: <=128B
+ - name: <=512B
+ - name: <=1KB
+ - name: <=2KB
+ - name: <=4KB
+ - name: <=16KB
+ - name: <=100KB
+ - name: <=1MB
+ - name: '>1MB'
+ - name: pulsar.namespace_subscription_delayed
+ description: Subscriptions Delayed for Dispatching
+ unit: message batches
+ chart_type: line
+ dimensions:
+ - name: delayed
+ - name: pulsar.namespace_subscription_msg_rate_redeliver
+ description: Subscriptions Redelivered Message Rate
+ unit: messages/s
+ chart_type: line
+ dimensions:
+ - name: redelivered
+ - name: pulsar.namespace_subscription_blocked_on_unacked_messages
+ description: Subscriptions Blocked On Unacked Messages
+ unit: subscriptions
+ chart_type: line
+ dimensions:
+ - name: blocked
+ - name: pulsar.namespace_replication_rate
+ description: Replication Rate
+ unit: messages/s
+ chart_type: line
+ dimensions:
+ - name: in
+ - name: out
+ - name: pulsar.namespace_replication_throughput_rate
+ description: Replication Throughput Rate
+ unit: KiB/s
+ chart_type: line
+ dimensions:
+ - name: in
+ - name: out
+ - name: pulsar.namespace_replication_backlog
+ description: Replication Backlog
+ unit: messages
+ chart_type: line
+ dimensions:
+ - name: backlog
+ - name: pulsar.topic_producers
+ description: Topic Producers
+ unit: producers
+ chart_type: stacked
+ dimensions:
+ - name: a dimension per topic
+ - name: pulsar.topic_subscriptions
+ description: Topic Subscriptions
+ unit: subscriptions
+ chart_type: stacked
+ dimensions:
+ - name: a dimension per topic
+ - name: pulsar.topic_consumers
+ description: Topic Consumers
+ unit: consumers
+ chart_type: stacked
+ dimensions:
+ - name: a dimension per topic
+ - name: pulsar.topic_messages_rate_in
+ description: Topic Publish Messages Rate
+ unit: publishes/s
+ chart_type: stacked
+ dimensions:
+ - name: a dimension per topic
+ - name: pulsar.topic_messages_rate_out
+ description: Topic Dispatch Messages Rate
+ unit: dispatches/s
+ chart_type: stacked
+ dimensions:
+ - name: a dimension per topic
+ - name: pulsar.topic_throughput_rate_in
+ description: Topic Publish Throughput Rate
+ unit: KiB/s
+ chart_type: stacked
+ dimensions:
+ - name: a dimension per topic
+ - name: pulsar.topic_throughput_rate_out
+ description: Topic Dispatch Throughput Rate
+ unit: KiB/s
+ chart_type: stacked
+ dimensions:
+ - name: a dimension per topic
+ - name: pulsar.topic_storage_size
+ description: Topic Storage Size
+ unit: KiB
+ chart_type: stacked
+ dimensions:
+ - name: a dimension per topic
+ - name: pulsar.topic_storage_read_rate
+ description: Topic Storage Read Rate
+ unit: message batches/s
+ chart_type: stacked
+ dimensions:
+ - name: a dimension per topic
+ - name: pulsar.topic_storage_write_rate
+ description: Topic Storage Write Rate
+ unit: message batches/s
+ chart_type: stacked
+ dimensions:
+ - name: a dimension per topic
+ - name: pulsar.topic_msg_backlog
+ description: Topic Messages Backlog Size
+ unit: messages
+ chart_type: stacked
+ dimensions:
+ - name: a dimension per topic
+ - name: pulsar.topic_subscription_delayed
+ description: Topic Subscriptions Delayed for Dispatching
+ unit: message batches
+ chart_type: stacked
+ dimensions:
+ - name: a dimension per topic
+ - name: pulsar.topic_subscription_msg_rate_redeliver
+ description: Topic Subscriptions Redelivered Message Rate
+ unit: messages/s
+ chart_type: stacked
+ dimensions:
+ - name: a dimension per topic
+ - name: pulsar.topic_subscription_blocked_on_unacked_messages
+ description: Topic Subscriptions Blocked On Unacked Messages
+ unit: blocked subscriptions
+ chart_type: stacked
+ dimensions:
+ - name: a dimension per topic
+ - name: pulsar.topic_replication_rate_in
+ description: Topic Replication Rate From Remote Cluster
+ unit: messages/s
+ chart_type: stacked
+ dimensions:
+ - name: a dimension per topic
+ - name: pulsar.topic_replication_rate_out
+ description: Topic Replication Rate To Remote Cluster
+ unit: messages/s
+ chart_type: stacked
+ dimensions:
+ - name: a dimension per topic
+ - name: pulsar.topic_replication_throughput_rate_in
+ description: Topic Replication Throughput Rate From Remote Cluster
+ unit: messages/s
+ chart_type: stacked
+ dimensions:
+ - name: a dimension per topic
+ - name: pulsar.topic_replication_throughput_rate_out
+ description: Topic Replication Throughput Rate To Remote Cluster
+ unit: messages/s
+ chart_type: stacked
+ dimensions:
+ - name: a dimension per topic
+ - name: pulsar.topic_replication_backlog
+ description: Topic Replication Backlog
+ unit: messages
+ chart_type: stacked
+ dimensions:
+ - name: a dimension per topic
diff --git a/src/go/collectors/go.d.plugin/modules/pulsar/metrics.go b/src/go/collectors/go.d.plugin/modules/pulsar/metrics.go
new file mode 100644
index 000000000..9e38e5b9a
--- /dev/null
+++ b/src/go/collectors/go.d.plugin/modules/pulsar/metrics.go
@@ -0,0 +1,116 @@
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+package pulsar
+
+/*
+Architecture:
+ - https://pulsar.apache.org/docs/en/concepts-overview/
+
+Terminology:
+ - https://pulsar.apache.org/docs/en/reference-terminology/
+
+Deploy Monitoring:
+ - http://pulsar.apache.org/docs/en/deploy-monitoring/
+
+Metrics Reference:
+ - https://github.com/apache/pulsar/blob/master/site2/docs/reference-metrics.md
+
+REST API
+ - http://pulsar.apache.org/admin-rest-api/?version=master
+
+Grafana Dashboards:
+ - https://github.com/apache/pulsar/tree/master/docker/grafana/dashboards
+
+Stats in the source code:
+ - https://github.com/apache/pulsar/blob/master/pulsar-common/src/main/java/org/apache/pulsar/common/policies/data/
+ - https://github.com/apache/pulsar/tree/master/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus
+
+If !'exposeTopicLevelMetricsInPrometheus:
+ - https://github.com/apache/pulsar/blob/master/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/NamespaceStatsAggregator.java
+else:
+ - https://github.com/apache/pulsar/blob/master/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/TopicStats.java
+
+Metrics updates parameters:
+ - statsUpdateFrequencyInSecs=60
+ - statsUpdateInitialDelayInSecs=60
+
+Metrics Exposing:
+ - Namespace : 'exposeTopicLevelMetricsInPrometheus' is set to false.
+ - Replication : 'replicationMetricsEnabled' is enabled.
+ - Topic : 'exposeTopicLevelMetricsInPrometheus' is set to true.
+ - Subscription: 'exposeTopicLevelMetricsInPrometheus' is set to true
+ - Consumer : 'exposeTopicLevelMetricsInPrometheus' and 'exposeConsumerLevelMetricsInPrometheus' are set to true.
+ - Publisher : 'exposePublisherStats' is set to true. RESP API option. (/admin/v2/broker-stats/topics)
+*/
+
+/*
+TODO:
+Unused broker metrics:
+ - "pulsar_storage_backlog_size" : ?? is estimated total unconsumed or backlog size in bytes for the managed ledger, without accounting for replicas.
+ - "pulsar_storage_offloaded_size" : ?? is the size of all ledgers offloaded to 2nd tier storage.
+ - "pulsar_storage_backlog_quota_limit" : ?? is the total amount of the data in this topic that limit the backlog quota.
+ - "pulsar_in_bytes_total" : use "pulsar_throughput_in" for the same data.
+ - "pulsar_in_messages_total" : use "pulsar_rate_in" for the same data.
+ - "pulsar_subscription_unacked_messages" : negative values (https://github.com/apache/pulsar/issues/6510)
+ - "pulsar_subscription_back_log" : to detailed, we have summary per topic. Part of "pulsar_msg_backlog" (msgBacklog).
+ - "pulsar_subscription_msg_rate_out" : to detailed, we have summary per topic. Part of "pulsar_rate_out".
+ - "pulsar_subscription_msg_throughput_out": to detailed, we have summary per topic. Part of "pulsar_throughput_out".
+
+ + All Consumer metrics (for each namespace, topic, subscription).
+ + JVM metrics.
+ + Zookeeper metrics.
+ + Bookkeeper metrics.
+
+Hardcoded update interval? (60)
+ - pulsar_storage_write_latency_le_*
+ - pulsar_entry_size_le_*
+*/
+
+/*
+https://github.com/apache/pulsar/blob/master/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/NamespaceStatsAggregator.java
+Zero metrics which always present (labels: cluster):
+ - "pulsar_topics_count"
+ - "pulsar_subscriptions_count"
+ - "pulsar_producers_count"
+ - "pulsar_consumers_count"
+ - "pulsar_rate_in"
+ - "pulsar_rate_out"
+ - "pulsar_throughput_in"
+ - "pulsar_throughput_out"
+ - "pulsar_storage_size"
+ - "pulsar_storage_write_rate"
+ - "pulsar_storage_read_rate"
+ - "pulsar_msg_backlog"
+*/
+
+const (
+ // Namespace metrics (labels: namespace)
+ metricPulsarTopicsCount = "pulsar_topics_count"
+ // Namespace, Topic metrics (labels: namespace || namespace, topic)
+ metricPulsarSubscriptionsCount = "pulsar_subscriptions_count"
+ metricPulsarProducersCount = "pulsar_producers_count"
+ metricPulsarConsumersCount = "pulsar_consumers_count"
+ metricPulsarRateIn = "pulsar_rate_in"
+ metricPulsarRateOut = "pulsar_rate_out"
+ metricPulsarThroughputIn = "pulsar_throughput_in"
+ metricPulsarThroughputOut = "pulsar_throughput_out"
+ metricPulsarStorageSize = "pulsar_storage_size"
+ metricPulsarStorageWriteRate = "pulsar_storage_write_rate" // exposed with labels only if there is Bookie
+ metricPulsarStorageReadRate = "pulsar_storage_read_rate" // exposed with labels only if there is Bookie
+ metricPulsarMsgBacklog = "pulsar_msg_backlog" // has 'remote_cluster' label if no topic stats
+ // pulsar_storage_write_latency_le_*
+ // pulsar_entry_size_le_*
+
+ // Subscriptions metrics (labels: namespace, topic, subscription)
+ metricPulsarSubscriptionDelayed = "pulsar_subscription_delayed" // Number of delayed messages currently being tracked
+ metricPulsarSubscriptionMsgRateRedeliver = "pulsar_subscription_msg_rate_redeliver"
+ metricPulsarSubscriptionBlockedOnUnackedMessages = "pulsar_subscription_blocked_on_unacked_messages"
+
+ // Replication metrics (labels: namespace, remote_cluster || namespace, topic, remote_cluster)
+ // Exposed only when replication is enabled.
+ metricPulsarReplicationRateIn = "pulsar_replication_rate_in"
+ metricPulsarReplicationRateOut = "pulsar_replication_rate_out"
+ metricPulsarReplicationThroughputIn = "pulsar_replication_throughput_in"
+ metricPulsarReplicationThroughputOut = "pulsar_replication_throughput_out"
+ metricPulsarReplicationBacklog = "pulsar_replication_backlog"
+)
diff --git a/src/go/collectors/go.d.plugin/modules/pulsar/pulsar.go b/src/go/collectors/go.d.plugin/modules/pulsar/pulsar.go
new file mode 100644
index 000000000..507b1235e
--- /dev/null
+++ b/src/go/collectors/go.d.plugin/modules/pulsar/pulsar.go
@@ -0,0 +1,137 @@
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+package pulsar
+
+import (
+ _ "embed"
+ "errors"
+ "sync"
+ "time"
+
+ "github.com/netdata/netdata/go/go.d.plugin/agent/module"
+ "github.com/netdata/netdata/go/go.d.plugin/pkg/matcher"
+ "github.com/netdata/netdata/go/go.d.plugin/pkg/prometheus"
+ "github.com/netdata/netdata/go/go.d.plugin/pkg/web"
+)
+
+//go:embed "config_schema.json"
+var configSchema string
+
+func init() {
+ module.Register("pulsar", module.Creator{
+ JobConfigSchema: configSchema,
+ Defaults: module.Defaults{
+ UpdateEvery: 60,
+ },
+ Create: func() module.Module { return New() },
+ Config: func() any { return &Config{} },
+ })
+}
+
+func New() *Pulsar {
+ return &Pulsar{
+ Config: Config{
+ HTTP: web.HTTP{
+ Request: web.Request{
+ URL: "http://127.0.0.1:8080/metrics",
+ },
+ Client: web.Client{
+ Timeout: web.Duration(time.Second * 5),
+ },
+ },
+ TopicFilter: matcher.SimpleExpr{
+ Includes: nil,
+ Excludes: []string{"*"},
+ },
+ },
+ once: &sync.Once{},
+ charts: summaryCharts.Copy(),
+ nsCharts: namespaceCharts.Copy(),
+ topicChartsMapping: topicChartsMapping(),
+ cache: newCache(),
+ curCache: newCache(),
+ }
+}
+
+type Config struct {
+ UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
+ web.HTTP `yaml:",inline" json:""`
+ TopicFilter matcher.SimpleExpr `yaml:"topic_filter,omitempty" json:"topic_filter"`
+}
+
+type Pulsar struct {
+ module.Base
+ Config `yaml:",inline" json:""`
+
+ charts *Charts
+ nsCharts *Charts
+
+ prom prometheus.Prometheus
+
+ topicFilter matcher.Matcher
+ cache *cache
+ curCache *cache
+ once *sync.Once
+ topicChartsMapping map[string]string
+}
+
+func (p *Pulsar) Configuration() any {
+ return p.Config
+}
+
+func (p *Pulsar) Init() error {
+ if err := p.validateConfig(); err != nil {
+ p.Errorf("config validation: %v", err)
+ return err
+ }
+
+ prom, err := p.initPrometheusClient()
+ if err != nil {
+ p.Error(err)
+ return err
+ }
+ p.prom = prom
+
+ m, err := p.initTopicFilerMatcher()
+ if err != nil {
+ p.Error(err)
+ return err
+ }
+ p.topicFilter = m
+
+ return nil
+}
+
+func (p *Pulsar) Check() error {
+ mx, err := p.collect()
+ if err != nil {
+ p.Error(err)
+ return err
+ }
+ if len(mx) == 0 {
+ return errors.New("no metrics collected")
+ }
+ return nil
+}
+
+func (p *Pulsar) Charts() *Charts {
+ return p.charts
+}
+
+func (p *Pulsar) Collect() map[string]int64 {
+ mx, err := p.collect()
+ if err != nil {
+ p.Error(err)
+ }
+
+ if len(mx) == 0 {
+ return nil
+ }
+ return mx
+}
+
+func (p *Pulsar) Cleanup() {
+ if p.prom != nil && p.prom.HTTPClient() != nil {
+ p.prom.HTTPClient().CloseIdleConnections()
+ }
+}
diff --git a/src/go/collectors/go.d.plugin/modules/pulsar/pulsar_test.go b/src/go/collectors/go.d.plugin/modules/pulsar/pulsar_test.go
new file mode 100644
index 000000000..d6b5376d8
--- /dev/null
+++ b/src/go/collectors/go.d.plugin/modules/pulsar/pulsar_test.go
@@ -0,0 +1,1024 @@
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+package pulsar
+
+import (
+ "net/http"
+ "net/http/httptest"
+ "os"
+ "strings"
+ "testing"
+
+ "github.com/netdata/netdata/go/go.d.plugin/agent/module"
+ "github.com/netdata/netdata/go/go.d.plugin/pkg/matcher"
+ "github.com/netdata/netdata/go/go.d.plugin/pkg/tlscfg"
+ "github.com/netdata/netdata/go/go.d.plugin/pkg/web"
+
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+)
+
+var (
+ dataConfigJSON, _ = os.ReadFile("testdata/config.json")
+ dataConfigYAML, _ = os.ReadFile("testdata/config.yaml")
+
+ dataNonPulsarMetrics, _ = os.ReadFile("testdata/non-pulsar.txt")
+ dataVer250Namespaces, _ = os.ReadFile("testdata/standalone-v2.5.0-namespaces.txt")
+ dataVer250Topics, _ = os.ReadFile("testdata/standalone-v2.5.0-topics.txt")
+ dataVer250Topics2, _ = os.ReadFile("testdata/standalone-v2.5.0-topics-2.txt")
+)
+
+func Test_testDataIsValid(t *testing.T) {
+ for name, data := range map[string][]byte{
+ "dataConfigJSON": dataConfigJSON,
+ "dataConfigYAML": dataConfigYAML,
+ "dataNonPulsarMetrics": dataNonPulsarMetrics,
+ "dataVer250Namespaces": dataVer250Namespaces,
+ "dataVer250Topics": dataVer250Topics,
+ "dataVer250Topics2": dataVer250Topics2,
+ } {
+ require.NotNil(t, data, name)
+ }
+}
+
+func TestPulsar_ConfigurationSerialize(t *testing.T) {
+ module.TestConfigurationSerialize(t, &Pulsar{}, dataConfigJSON, dataConfigYAML)
+}
+
+func TestPulsar_Init(t *testing.T) {
+ tests := map[string]struct {
+ config Config
+ wantFail bool
+ }{
+ "default": {
+ config: New().Config,
+ },
+ "empty topic filter": {
+ config: Config{HTTP: web.HTTP{Request: web.Request{URL: "http://127.0.0.1:8080/metric"}}},
+ },
+ "bad syntax topic filer": {
+ config: Config{
+ HTTP: web.HTTP{Request: web.Request{URL: "http://127.0.0.1:8080/metrics"}},
+ TopicFilter: matcher.SimpleExpr{Includes: []string{"+"}}},
+ wantFail: true,
+ },
+ "empty URL": {
+ config: Config{HTTP: web.HTTP{Request: web.Request{URL: ""}}},
+ wantFail: true,
+ },
+ "nonexistent TLS CA": {
+ config: Config{HTTP: web.HTTP{
+ Request: web.Request{URL: "http://127.0.0.1:8080/metric"},
+ Client: web.Client{TLSConfig: tlscfg.TLSConfig{TLSCA: "testdata/tls"}}}},
+ wantFail: true,
+ },
+ }
+
+ for name, test := range tests {
+ t.Run(name, func(t *testing.T) {
+ pulsar := New()
+ pulsar.Config = test.config
+
+ if test.wantFail {
+ assert.Error(t, pulsar.Init())
+ } else {
+ assert.NoError(t, pulsar.Init())
+ }
+ })
+ }
+}
+
+func TestPulsar_Cleanup(t *testing.T) {
+ assert.NotPanics(t, New().Cleanup)
+}
+
+func TestPulsar_Check(t *testing.T) {
+ tests := map[string]struct {
+ prepare func(*testing.T) (*Pulsar, *httptest.Server)
+ wantFail bool
+ }{
+ "standalone v2.5.0 namespaces": {prepare: prepareClientServerStdV250Namespaces},
+ "standalone v2.5.0 topics": {prepare: prepareClientServerStdV250Topics},
+ "non pulsar": {prepare: prepareClientServerNonPulsar, wantFail: true},
+ "invalid data": {prepare: prepareClientServerInvalidData, wantFail: true},
+ "404": {prepare: prepareClientServer404, wantFail: true},
+ "connection refused": {prepare: prepareClientServerConnectionRefused, wantFail: true},
+ }
+
+ for name, test := range tests {
+ t.Run(name, func(t *testing.T) {
+ pulsar, srv := test.prepare(t)
+ defer srv.Close()
+
+ if test.wantFail {
+ assert.Error(t, pulsar.Check())
+ } else {
+ assert.NoError(t, pulsar.Check())
+ }
+ })
+ }
+}
+
+func TestPulsar_Charts(t *testing.T) {
+ assert.NotNil(t, New().Charts())
+
+}
+
+func TestPulsar_Collect_ReturnsNilOnErrors(t *testing.T) {
+ tests := map[string]struct {
+ prepare func(*testing.T) (*Pulsar, *httptest.Server)
+ }{
+ "non pulsar": {prepare: prepareClientServerNonPulsar},
+ "invalid data": {prepare: prepareClientServerInvalidData},
+ "404": {prepare: prepareClientServer404},
+ "connection refused": {prepare: prepareClientServerConnectionRefused},
+ }
+
+ for name, test := range tests {
+ t.Run(name, func(t *testing.T) {
+ pulsar, srv := test.prepare(t)
+ defer srv.Close()
+
+ assert.Nil(t, pulsar.Collect())
+ })
+ }
+}
+
+func TestPulsar_Collect(t *testing.T) {
+ tests := map[string]struct {
+ prepare func(*testing.T) (*Pulsar, *httptest.Server)
+ expected map[string]int64
+ }{
+ "standalone v2.5.0 namespaces": {
+ prepare: prepareClientServerStdV250Namespaces,
+ expected: expectedStandaloneV250Namespaces,
+ },
+ "standalone v2.5.0 topics": {
+ prepare: prepareClientServerStdV250Topics,
+ expected: expectedStandaloneV250Topics,
+ },
+ "standalone v2.5.0 topics filtered": {
+ prepare: prepareClientServerStdV250TopicsFiltered,
+ expected: expectedStandaloneV250TopicsFiltered,
+ },
+ }
+
+ for name, test := range tests {
+ t.Run(name, func(t *testing.T) {
+ pulsar, srv := test.prepare(t)
+ defer srv.Close()
+
+ for i := 0; i < 10; i++ {
+ _ = pulsar.Collect()
+ }
+ collected := pulsar.Collect()
+
+ require.NotNil(t, collected)
+ require.Equal(t, test.expected, collected)
+ ensureCollectedHasAllChartsDimsVarsIDs(t, pulsar, collected)
+ })
+ }
+}
+
+func TestPulsar_Collect_RemoveAddNamespacesTopicsInRuntime(t *testing.T) {
+ pulsar, srv := prepareClientServersDynamicStdV250Topics(t)
+ defer srv.Close()
+
+ oldNsCharts := Charts{}
+
+ require.NotNil(t, pulsar.Collect())
+ oldLength := len(*pulsar.Charts())
+
+ for _, chart := range *pulsar.Charts() {
+ for ns := range pulsar.cache.namespaces {
+ if ns.name != "public/functions" && chart.Fam == "ns "+ns.name {
+ _ = oldNsCharts.Add(chart)
+ }
+ }
+ }
+
+ require.NotNil(t, pulsar.Collect())
+
+ l := oldLength + len(*pulsar.nsCharts)*2 // 2 new namespaces
+ assert.Truef(t, len(*pulsar.Charts()) == l, "expected %d charts, but got %d", l, len(*pulsar.Charts()))
+
+ for _, chart := range oldNsCharts {
+ assert.Truef(t, chart.Obsolete, "expected chart '%s' Obsolete flag is set", chart.ID)
+ for _, dim := range chart.Dims {
+ if strings.HasPrefix(chart.ID, "topic_") {
+ assert.Truef(t, dim.Obsolete, "expected chart '%s' dim '%s' Obsolete flag is set", chart.ID, dim.ID)
+ }
+ }
+ }
+}
+
+func ensureCollectedHasAllChartsDimsVarsIDs(t *testing.T, pulsar *Pulsar, collected map[string]int64) {
+ for _, chart := range *pulsar.Charts() {
+ for _, dim := range chart.Dims {
+ _, ok := collected[dim.ID]
+ assert.Truef(t, ok, "collected metrics has no data for dim '%s' chart '%s'", dim.ID, chart.ID)
+ }
+ for _, v := range chart.Vars {
+ _, ok := collected[v.ID]
+ assert.Truef(t, ok, "collected metrics has no data for var '%s' chart '%s'", v.ID, chart.ID)
+ }
+ }
+}
+
+func prepareClientServerStdV250Namespaces(t *testing.T) (*Pulsar, *httptest.Server) {
+ t.Helper()
+ srv := httptest.NewServer(http.HandlerFunc(
+ func(w http.ResponseWriter, r *http.Request) {
+ _, _ = w.Write(dataVer250Namespaces)
+ }))
+
+ pulsar := New()
+ pulsar.URL = srv.URL
+ require.NoError(t, pulsar.Init())
+
+ return pulsar, srv
+}
+
+func prepareClientServerStdV250Topics(t *testing.T) (*Pulsar, *httptest.Server) {
+ t.Helper()
+ srv := httptest.NewServer(http.HandlerFunc(
+ func(w http.ResponseWriter, r *http.Request) {
+ _, _ = w.Write(dataVer250Topics)
+ }))
+
+ pulsar := New()
+ pulsar.URL = srv.URL
+ require.NoError(t, pulsar.Init())
+
+ return pulsar, srv
+}
+
+func prepareClientServerStdV250TopicsFiltered(t *testing.T) (*Pulsar, *httptest.Server) {
+ t.Helper()
+ pulsar, srv := prepareClientServerStdV250Topics(t)
+ pulsar.topicFilter = matcher.FALSE()
+
+ return pulsar, srv
+}
+
+func prepareClientServersDynamicStdV250Topics(t *testing.T) (*Pulsar, *httptest.Server) {
+ t.Helper()
+ var i int
+ srv := httptest.NewServer(http.HandlerFunc(
+ func(w http.ResponseWriter, r *http.Request) {
+ if i%2 == 0 {
+ _, _ = w.Write(dataVer250Topics)
+ } else {
+ _, _ = w.Write(dataVer250Topics2)
+ }
+ i++
+ }))
+
+ pulsar := New()
+ pulsar.URL = srv.URL
+ require.NoError(t, pulsar.Init())
+
+ return pulsar, srv
+}
+
+func prepareClientServerNonPulsar(t *testing.T) (*Pulsar, *httptest.Server) {
+ t.Helper()
+ srv := httptest.NewServer(http.HandlerFunc(
+ func(w http.ResponseWriter, r *http.Request) {
+ _, _ = w.Write(dataNonPulsarMetrics)
+ }))
+
+ pulsar := New()
+ pulsar.URL = srv.URL
+ require.NoError(t, pulsar.Init())
+
+ return pulsar, srv
+}
+
+func prepareClientServerInvalidData(t *testing.T) (*Pulsar, *httptest.Server) {
+ t.Helper()
+ srv := httptest.NewServer(http.HandlerFunc(
+ func(w http.ResponseWriter, r *http.Request) {
+ _, _ = w.Write([]byte("hello and\n goodbye"))
+ }))
+
+ pulsar := New()
+ pulsar.URL = srv.URL
+ require.NoError(t, pulsar.Init())
+
+ return pulsar, srv
+}
+
+func prepareClientServer404(t *testing.T) (*Pulsar, *httptest.Server) {
+ t.Helper()
+ srv := httptest.NewServer(http.HandlerFunc(
+ func(w http.ResponseWriter, r *http.Request) {
+ w.WriteHeader(http.StatusNotFound)
+ }))
+
+ pulsar := New()
+ pulsar.URL = srv.URL
+ require.NoError(t, pulsar.Init())
+
+ return pulsar, srv
+}
+
+func prepareClientServerConnectionRefused(t *testing.T) (*Pulsar, *httptest.Server) {
+ t.Helper()
+ srv := httptest.NewServer(nil)
+
+ pulsar := New()
+ pulsar.URL = "http://127.0.0.1:38001/metrics"
+ require.NoError(t, pulsar.Init())
+
+ return pulsar, srv
+}
+
+var expectedStandaloneV250Namespaces = map[string]int64{
+ "pulsar_consumers_count": 21,
+ "pulsar_consumers_count_public/functions": 3,
+ "pulsar_consumers_count_sample/dev": 10,
+ "pulsar_consumers_count_sample/prod": 8,
+ "pulsar_entry_size_count": 6013,
+ "pulsar_entry_size_count_public/functions": 0,
+ "pulsar_entry_size_count_sample/dev": 3012,
+ "pulsar_entry_size_count_sample/prod": 3001,
+ "pulsar_entry_size_le_100_kb": 0,
+ "pulsar_entry_size_le_100_kb_public/functions": 0,
+ "pulsar_entry_size_le_100_kb_sample/dev": 0,
+ "pulsar_entry_size_le_100_kb_sample/prod": 0,
+ "pulsar_entry_size_le_128": 6013,
+ "pulsar_entry_size_le_128_public/functions": 0,
+ "pulsar_entry_size_le_128_sample/dev": 3012,
+ "pulsar_entry_size_le_128_sample/prod": 3001,
+ "pulsar_entry_size_le_16_kb": 0,
+ "pulsar_entry_size_le_16_kb_public/functions": 0,
+ "pulsar_entry_size_le_16_kb_sample/dev": 0,
+ "pulsar_entry_size_le_16_kb_sample/prod": 0,
+ "pulsar_entry_size_le_1_kb": 0,
+ "pulsar_entry_size_le_1_kb_public/functions": 0,
+ "pulsar_entry_size_le_1_kb_sample/dev": 0,
+ "pulsar_entry_size_le_1_kb_sample/prod": 0,
+ "pulsar_entry_size_le_1_mb": 0,
+ "pulsar_entry_size_le_1_mb_public/functions": 0,
+ "pulsar_entry_size_le_1_mb_sample/dev": 0,
+ "pulsar_entry_size_le_1_mb_sample/prod": 0,
+ "pulsar_entry_size_le_2_kb": 0,
+ "pulsar_entry_size_le_2_kb_public/functions": 0,
+ "pulsar_entry_size_le_2_kb_sample/dev": 0,
+ "pulsar_entry_size_le_2_kb_sample/prod": 0,
+ "pulsar_entry_size_le_4_kb": 0,
+ "pulsar_entry_size_le_4_kb_public/functions": 0,
+ "pulsar_entry_size_le_4_kb_sample/dev": 0,
+ "pulsar_entry_size_le_4_kb_sample/prod": 0,
+ "pulsar_entry_size_le_512": 0,
+ "pulsar_entry_size_le_512_public/functions": 0,
+ "pulsar_entry_size_le_512_sample/dev": 0,
+ "pulsar_entry_size_le_512_sample/prod": 0,
+ "pulsar_entry_size_le_overflow": 0,
+ "pulsar_entry_size_le_overflow_public/functions": 0,
+ "pulsar_entry_size_le_overflow_sample/dev": 0,
+ "pulsar_entry_size_le_overflow_sample/prod": 0,
+ "pulsar_entry_size_sum": 6013,
+ "pulsar_entry_size_sum_public/functions": 0,
+ "pulsar_entry_size_sum_sample/dev": 3012,
+ "pulsar_entry_size_sum_sample/prod": 3001,
+ "pulsar_msg_backlog": 8,
+ "pulsar_msg_backlog_public/functions": 0,
+ "pulsar_msg_backlog_sample/dev": 8,
+ "pulsar_msg_backlog_sample/prod": 0,
+ "pulsar_namespaces_count": 3,
+ "pulsar_producers_count": 10,
+ "pulsar_producers_count_public/functions": 2,
+ "pulsar_producers_count_sample/dev": 4,
+ "pulsar_producers_count_sample/prod": 4,
+ "pulsar_rate_in": 96023,
+ "pulsar_rate_in_public/functions": 0,
+ "pulsar_rate_in_sample/dev": 48004,
+ "pulsar_rate_in_sample/prod": 48019,
+ "pulsar_rate_out": 242057,
+ "pulsar_rate_out_public/functions": 0,
+ "pulsar_rate_out_sample/dev": 146018,
+ "pulsar_rate_out_sample/prod": 96039,
+ "pulsar_storage_read_rate": 0,
+ "pulsar_storage_read_rate_public/functions": 0,
+ "pulsar_storage_read_rate_sample/dev": 0,
+ "pulsar_storage_read_rate_sample/prod": 0,
+ "pulsar_storage_size": 5468424,
+ "pulsar_storage_size_public/functions": 0,
+ "pulsar_storage_size_sample/dev": 2684208,
+ "pulsar_storage_size_sample/prod": 2784216,
+ "pulsar_storage_write_latency_count": 6012,
+ "pulsar_storage_write_latency_count_public/functions": 0,
+ "pulsar_storage_write_latency_count_sample/dev": 3012,
+ "pulsar_storage_write_latency_count_sample/prod": 3000,
+ "pulsar_storage_write_latency_le_0_5": 0,
+ "pulsar_storage_write_latency_le_0_5_public/functions": 0,
+ "pulsar_storage_write_latency_le_0_5_sample/dev": 0,
+ "pulsar_storage_write_latency_le_0_5_sample/prod": 0,
+ "pulsar_storage_write_latency_le_1": 43,
+ "pulsar_storage_write_latency_le_10": 163,
+ "pulsar_storage_write_latency_le_100": 0,
+ "pulsar_storage_write_latency_le_1000": 0,
+ "pulsar_storage_write_latency_le_1000_public/functions": 0,
+ "pulsar_storage_write_latency_le_1000_sample/dev": 0,
+ "pulsar_storage_write_latency_le_1000_sample/prod": 0,
+ "pulsar_storage_write_latency_le_100_public/functions": 0,
+ "pulsar_storage_write_latency_le_100_sample/dev": 0,
+ "pulsar_storage_write_latency_le_100_sample/prod": 0,
+ "pulsar_storage_write_latency_le_10_public/functions": 0,
+ "pulsar_storage_write_latency_le_10_sample/dev": 82,
+ "pulsar_storage_write_latency_le_10_sample/prod": 81,
+ "pulsar_storage_write_latency_le_1_public/functions": 0,
+ "pulsar_storage_write_latency_le_1_sample/dev": 23,
+ "pulsar_storage_write_latency_le_1_sample/prod": 20,
+ "pulsar_storage_write_latency_le_20": 7,
+ "pulsar_storage_write_latency_le_200": 2,
+ "pulsar_storage_write_latency_le_200_public/functions": 0,
+ "pulsar_storage_write_latency_le_200_sample/dev": 1,
+ "pulsar_storage_write_latency_le_200_sample/prod": 1,
+ "pulsar_storage_write_latency_le_20_public/functions": 0,
+ "pulsar_storage_write_latency_le_20_sample/dev": 6,
+ "pulsar_storage_write_latency_le_20_sample/prod": 1,
+ "pulsar_storage_write_latency_le_5": 5797,
+ "pulsar_storage_write_latency_le_50": 0,
+ "pulsar_storage_write_latency_le_50_public/functions": 0,
+ "pulsar_storage_write_latency_le_50_sample/dev": 0,
+ "pulsar_storage_write_latency_le_50_sample/prod": 0,
+ "pulsar_storage_write_latency_le_5_public/functions": 0,
+ "pulsar_storage_write_latency_le_5_sample/dev": 2900,
+ "pulsar_storage_write_latency_le_5_sample/prod": 2897,
+ "pulsar_storage_write_latency_overflow": 0,
+ "pulsar_storage_write_latency_overflow_public/functions": 0,
+ "pulsar_storage_write_latency_overflow_sample/dev": 0,
+ "pulsar_storage_write_latency_overflow_sample/prod": 0,
+ "pulsar_storage_write_latency_sum": 6012,
+ "pulsar_storage_write_latency_sum_public/functions": 0,
+ "pulsar_storage_write_latency_sum_sample/dev": 3012,
+ "pulsar_storage_write_latency_sum_sample/prod": 3000,
+ "pulsar_storage_write_rate": 100216,
+ "pulsar_storage_write_rate_public/functions": 0,
+ "pulsar_storage_write_rate_sample/dev": 50200,
+ "pulsar_storage_write_rate_sample/prod": 50016,
+ "pulsar_subscription_delayed": 0,
+ "pulsar_subscription_delayed_public/functions": 0,
+ "pulsar_subscription_delayed_sample/dev": 0,
+ "pulsar_subscription_delayed_sample/prod": 0,
+ "pulsar_subscriptions_count": 13,
+ "pulsar_subscriptions_count_public/functions": 3,
+ "pulsar_subscriptions_count_sample/dev": 6,
+ "pulsar_subscriptions_count_sample/prod": 4,
+ "pulsar_throughput_in": 5569401,
+ "pulsar_throughput_in_public/functions": 0,
+ "pulsar_throughput_in_sample/dev": 2736243,
+ "pulsar_throughput_in_sample/prod": 2833158,
+ "pulsar_throughput_out": 13989373,
+ "pulsar_throughput_out_public/functions": 0,
+ "pulsar_throughput_out_sample/dev": 8323043,
+ "pulsar_throughput_out_sample/prod": 5666330,
+ "pulsar_topics_count": 7,
+ "pulsar_topics_count_public/functions": 3,
+ "pulsar_topics_count_sample/dev": 2,
+ "pulsar_topics_count_sample/prod": 2,
+}
+
+var expectedStandaloneV250Topics = map[string]int64{
+ "pulsar_consumers_count": 21,
+ "pulsar_consumers_count_persistent://public/functions/assignments": 1,
+ "pulsar_consumers_count_persistent://public/functions/coordinate": 1,
+ "pulsar_consumers_count_persistent://public/functions/metadata": 1,
+ "pulsar_consumers_count_persistent://sample/dev/dev-1": 4,
+ "pulsar_consumers_count_persistent://sample/dev/dev-2": 6,
+ "pulsar_consumers_count_persistent://sample/prod/prod-1": 4,
+ "pulsar_consumers_count_persistent://sample/prod/prod-2": 4,
+ "pulsar_consumers_count_public/functions": 3,
+ "pulsar_consumers_count_sample/dev": 10,
+ "pulsar_consumers_count_sample/prod": 8,
+ "pulsar_entry_size_count": 5867,
+ "pulsar_entry_size_count_persistent://public/functions/assignments": 0,
+ "pulsar_entry_size_count_persistent://public/functions/coordinate": 0,
+ "pulsar_entry_size_count_persistent://public/functions/metadata": 0,
+ "pulsar_entry_size_count_persistent://sample/dev/dev-1": 1448,
+ "pulsar_entry_size_count_persistent://sample/dev/dev-2": 1477,
+ "pulsar_entry_size_count_persistent://sample/prod/prod-1": 1469,
+ "pulsar_entry_size_count_persistent://sample/prod/prod-2": 1473,
+ "pulsar_entry_size_count_public/functions": 0,
+ "pulsar_entry_size_count_sample/dev": 2925,
+ "pulsar_entry_size_count_sample/prod": 2942,
+ "pulsar_entry_size_le_100_kb": 0,
+ "pulsar_entry_size_le_100_kb_persistent://public/functions/assignments": 0,
+ "pulsar_entry_size_le_100_kb_persistent://public/functions/coordinate": 0,
+ "pulsar_entry_size_le_100_kb_persistent://public/functions/metadata": 0,
+ "pulsar_entry_size_le_100_kb_persistent://sample/dev/dev-1": 0,
+ "pulsar_entry_size_le_100_kb_persistent://sample/dev/dev-2": 0,
+ "pulsar_entry_size_le_100_kb_persistent://sample/prod/prod-1": 0,
+ "pulsar_entry_size_le_100_kb_persistent://sample/prod/prod-2": 0,
+ "pulsar_entry_size_le_100_kb_public/functions": 0,
+ "pulsar_entry_size_le_100_kb_sample/dev": 0,
+ "pulsar_entry_size_le_100_kb_sample/prod": 0,
+ "pulsar_entry_size_le_128": 5867,
+ "pulsar_entry_size_le_128_persistent://public/functions/assignments": 0,
+ "pulsar_entry_size_le_128_persistent://public/functions/coordinate": 0,
+ "pulsar_entry_size_le_128_persistent://public/functions/metadata": 0,
+ "pulsar_entry_size_le_128_persistent://sample/dev/dev-1": 1448,
+ "pulsar_entry_size_le_128_persistent://sample/dev/dev-2": 1477,
+ "pulsar_entry_size_le_128_persistent://sample/prod/prod-1": 1469,
+ "pulsar_entry_size_le_128_persistent://sample/prod/prod-2": 1473,
+ "pulsar_entry_size_le_128_public/functions": 0,
+ "pulsar_entry_size_le_128_sample/dev": 2925,
+ "pulsar_entry_size_le_128_sample/prod": 2942,
+ "pulsar_entry_size_le_16_kb": 0,
+ "pulsar_entry_size_le_16_kb_persistent://public/functions/assignments": 0,
+ "pulsar_entry_size_le_16_kb_persistent://public/functions/coordinate": 0,
+ "pulsar_entry_size_le_16_kb_persistent://public/functions/metadata": 0,
+ "pulsar_entry_size_le_16_kb_persistent://sample/dev/dev-1": 0,
+ "pulsar_entry_size_le_16_kb_persistent://sample/dev/dev-2": 0,
+ "pulsar_entry_size_le_16_kb_persistent://sample/prod/prod-1": 0,
+ "pulsar_entry_size_le_16_kb_persistent://sample/prod/prod-2": 0,
+ "pulsar_entry_size_le_16_kb_public/functions": 0,
+ "pulsar_entry_size_le_16_kb_sample/dev": 0,
+ "pulsar_entry_size_le_16_kb_sample/prod": 0,
+ "pulsar_entry_size_le_1_kb": 0,
+ "pulsar_entry_size_le_1_kb_persistent://public/functions/assignments": 0,
+ "pulsar_entry_size_le_1_kb_persistent://public/functions/coordinate": 0,
+ "pulsar_entry_size_le_1_kb_persistent://public/functions/metadata": 0,
+ "pulsar_entry_size_le_1_kb_persistent://sample/dev/dev-1": 0,
+ "pulsar_entry_size_le_1_kb_persistent://sample/dev/dev-2": 0,
+ "pulsar_entry_size_le_1_kb_persistent://sample/prod/prod-1": 0,
+ "pulsar_entry_size_le_1_kb_persistent://sample/prod/prod-2": 0,
+ "pulsar_entry_size_le_1_kb_public/functions": 0,
+ "pulsar_entry_size_le_1_kb_sample/dev": 0,
+ "pulsar_entry_size_le_1_kb_sample/prod": 0,
+ "pulsar_entry_size_le_1_mb": 0,
+ "pulsar_entry_size_le_1_mb_persistent://public/functions/assignments": 0,
+ "pulsar_entry_size_le_1_mb_persistent://public/functions/coordinate": 0,
+ "pulsar_entry_size_le_1_mb_persistent://public/functions/metadata": 0,
+ "pulsar_entry_size_le_1_mb_persistent://sample/dev/dev-1": 0,
+ "pulsar_entry_size_le_1_mb_persistent://sample/dev/dev-2": 0,
+ "pulsar_entry_size_le_1_mb_persistent://sample/prod/prod-1": 0,
+ "pulsar_entry_size_le_1_mb_persistent://sample/prod/prod-2": 0,
+ "pulsar_entry_size_le_1_mb_public/functions": 0,
+ "pulsar_entry_size_le_1_mb_sample/dev": 0,
+ "pulsar_entry_size_le_1_mb_sample/prod": 0,
+ "pulsar_entry_size_le_2_kb": 0,
+ "pulsar_entry_size_le_2_kb_persistent://public/functions/assignments": 0,
+ "pulsar_entry_size_le_2_kb_persistent://public/functions/coordinate": 0,
+ "pulsar_entry_size_le_2_kb_persistent://public/functions/metadata": 0,
+ "pulsar_entry_size_le_2_kb_persistent://sample/dev/dev-1": 0,
+ "pulsar_entry_size_le_2_kb_persistent://sample/dev/dev-2": 0,
+ "pulsar_entry_size_le_2_kb_persistent://sample/prod/prod-1": 0,
+ "pulsar_entry_size_le_2_kb_persistent://sample/prod/prod-2": 0,
+ "pulsar_entry_size_le_2_kb_public/functions": 0,
+ "pulsar_entry_size_le_2_kb_sample/dev": 0,
+ "pulsar_entry_size_le_2_kb_sample/prod": 0,
+ "pulsar_entry_size_le_4_kb": 0,
+ "pulsar_entry_size_le_4_kb_persistent://public/functions/assignments": 0,
+ "pulsar_entry_size_le_4_kb_persistent://public/functions/coordinate": 0,
+ "pulsar_entry_size_le_4_kb_persistent://public/functions/metadata": 0,
+ "pulsar_entry_size_le_4_kb_persistent://sample/dev/dev-1": 0,
+ "pulsar_entry_size_le_4_kb_persistent://sample/dev/dev-2": 0,
+ "pulsar_entry_size_le_4_kb_persistent://sample/prod/prod-1": 0,
+ "pulsar_entry_size_le_4_kb_persistent://sample/prod/prod-2": 0,
+ "pulsar_entry_size_le_4_kb_public/functions": 0,
+ "pulsar_entry_size_le_4_kb_sample/dev": 0,
+ "pulsar_entry_size_le_4_kb_sample/prod": 0,
+ "pulsar_entry_size_le_512": 0,
+ "pulsar_entry_size_le_512_persistent://public/functions/assignments": 0,
+ "pulsar_entry_size_le_512_persistent://public/functions/coordinate": 0,
+ "pulsar_entry_size_le_512_persistent://public/functions/metadata": 0,
+ "pulsar_entry_size_le_512_persistent://sample/dev/dev-1": 0,
+ "pulsar_entry_size_le_512_persistent://sample/dev/dev-2": 0,
+ "pulsar_entry_size_le_512_persistent://sample/prod/prod-1": 0,
+ "pulsar_entry_size_le_512_persistent://sample/prod/prod-2": 0,
+ "pulsar_entry_size_le_512_public/functions": 0,
+ "pulsar_entry_size_le_512_sample/dev": 0,
+ "pulsar_entry_size_le_512_sample/prod": 0,
+ "pulsar_entry_size_le_overflow": 0,
+ "pulsar_entry_size_le_overflow_persistent://public/functions/assignments": 0,
+ "pulsar_entry_size_le_overflow_persistent://public/functions/coordinate": 0,
+ "pulsar_entry_size_le_overflow_persistent://public/functions/metadata": 0,
+ "pulsar_entry_size_le_overflow_persistent://sample/dev/dev-1": 0,
+ "pulsar_entry_size_le_overflow_persistent://sample/dev/dev-2": 0,
+ "pulsar_entry_size_le_overflow_persistent://sample/prod/prod-1": 0,
+ "pulsar_entry_size_le_overflow_persistent://sample/prod/prod-2": 0,
+ "pulsar_entry_size_le_overflow_public/functions": 0,
+ "pulsar_entry_size_le_overflow_sample/dev": 0,
+ "pulsar_entry_size_le_overflow_sample/prod": 0,
+ "pulsar_entry_size_sum": 5867,
+ "pulsar_entry_size_sum_persistent://public/functions/assignments": 0,
+ "pulsar_entry_size_sum_persistent://public/functions/coordinate": 0,
+ "pulsar_entry_size_sum_persistent://public/functions/metadata": 0,
+ "pulsar_entry_size_sum_persistent://sample/dev/dev-1": 1448,
+ "pulsar_entry_size_sum_persistent://sample/dev/dev-2": 1477,
+ "pulsar_entry_size_sum_persistent://sample/prod/prod-1": 1469,
+ "pulsar_entry_size_sum_persistent://sample/prod/prod-2": 1473,
+ "pulsar_entry_size_sum_public/functions": 0,
+ "pulsar_entry_size_sum_sample/dev": 2925,
+ "pulsar_entry_size_sum_sample/prod": 2942,
+ "pulsar_msg_backlog": 0,
+ "pulsar_msg_backlog_persistent://public/functions/assignments": 0,
+ "pulsar_msg_backlog_persistent://public/functions/coordinate": 0,
+ "pulsar_msg_backlog_persistent://public/functions/metadata": 0,
+ "pulsar_msg_backlog_persistent://sample/dev/dev-1": 0,
+ "pulsar_msg_backlog_persistent://sample/dev/dev-2": 0,
+ "pulsar_msg_backlog_persistent://sample/prod/prod-1": 0,
+ "pulsar_msg_backlog_persistent://sample/prod/prod-2": 0,
+ "pulsar_msg_backlog_public/functions": 0,
+ "pulsar_msg_backlog_sample/dev": 0,
+ "pulsar_msg_backlog_sample/prod": 0,
+ "pulsar_namespaces_count": 3,
+ "pulsar_producers_count": 10,
+ "pulsar_producers_count_persistent://public/functions/assignments": 1,
+ "pulsar_producers_count_persistent://public/functions/coordinate": 0,
+ "pulsar_producers_count_persistent://public/functions/metadata": 1,
+ "pulsar_producers_count_persistent://sample/dev/dev-1": 2,
+ "pulsar_producers_count_persistent://sample/dev/dev-2": 2,
+ "pulsar_producers_count_persistent://sample/prod/prod-1": 2,
+ "pulsar_producers_count_persistent://sample/prod/prod-2": 2,
+ "pulsar_producers_count_public/functions": 2,
+ "pulsar_producers_count_sample/dev": 4,
+ "pulsar_producers_count_sample/prod": 4,
+ "pulsar_rate_in": 102064,
+ "pulsar_rate_in_persistent://public/functions/assignments": 0,
+ "pulsar_rate_in_persistent://public/functions/coordinate": 0,
+ "pulsar_rate_in_persistent://public/functions/metadata": 0,
+ "pulsar_rate_in_persistent://sample/dev/dev-1": 25013,
+ "pulsar_rate_in_persistent://sample/dev/dev-2": 25014,
+ "pulsar_rate_in_persistent://sample/prod/prod-1": 26019,
+ "pulsar_rate_in_persistent://sample/prod/prod-2": 26018,
+ "pulsar_rate_in_public/functions": 0,
+ "pulsar_rate_in_sample/dev": 50027,
+ "pulsar_rate_in_sample/prod": 52037,
+ "pulsar_rate_out": 254162,
+ "pulsar_rate_out_persistent://public/functions/assignments": 0,
+ "pulsar_rate_out_persistent://public/functions/coordinate": 0,
+ "pulsar_rate_out_persistent://public/functions/metadata": 0,
+ "pulsar_rate_out_persistent://sample/dev/dev-1": 50027,
+ "pulsar_rate_out_persistent://sample/dev/dev-2": 100060,
+ "pulsar_rate_out_persistent://sample/prod/prod-1": 52038,
+ "pulsar_rate_out_persistent://sample/prod/prod-2": 52037,
+ "pulsar_rate_out_public/functions": 0,
+ "pulsar_rate_out_sample/dev": 150087,
+ "pulsar_rate_out_sample/prod": 104075,
+ "pulsar_storage_size": 8112300,
+ "pulsar_storage_size_persistent://public/functions/assignments": 0,
+ "pulsar_storage_size_persistent://public/functions/coordinate": 0,
+ "pulsar_storage_size_persistent://public/functions/metadata": 0,
+ "pulsar_storage_size_persistent://sample/dev/dev-1": 1951642,
+ "pulsar_storage_size_persistent://sample/dev/dev-2": 2029478,
+ "pulsar_storage_size_persistent://sample/prod/prod-1": 2022420,
+ "pulsar_storage_size_persistent://sample/prod/prod-2": 2108760,
+ "pulsar_storage_size_public/functions": 0,
+ "pulsar_storage_size_sample/dev": 3981120,
+ "pulsar_storage_size_sample/prod": 4131180,
+ "pulsar_storage_write_latency_count": 5867,
+ "pulsar_storage_write_latency_count_persistent://public/functions/assignments": 0,
+ "pulsar_storage_write_latency_count_persistent://public/functions/coordinate": 0,
+ "pulsar_storage_write_latency_count_persistent://public/functions/metadata": 0,
+ "pulsar_storage_write_latency_count_persistent://sample/dev/dev-1": 1448,
+ "pulsar_storage_write_latency_count_persistent://sample/dev/dev-2": 1477,
+ "pulsar_storage_write_latency_count_persistent://sample/prod/prod-1": 1469,
+ "pulsar_storage_write_latency_count_persistent://sample/prod/prod-2": 1473,
+ "pulsar_storage_write_latency_count_public/functions": 0,
+ "pulsar_storage_write_latency_count_sample/dev": 2925,
+ "pulsar_storage_write_latency_count_sample/prod": 2942,
+ "pulsar_storage_write_latency_le_0_5": 0,
+ "pulsar_storage_write_latency_le_0_5_persistent://public/functions/assignments": 0,
+ "pulsar_storage_write_latency_le_0_5_persistent://public/functions/coordinate": 0,
+ "pulsar_storage_write_latency_le_0_5_persistent://public/functions/metadata": 0,
+ "pulsar_storage_write_latency_le_0_5_persistent://sample/dev/dev-1": 0,
+ "pulsar_storage_write_latency_le_0_5_persistent://sample/dev/dev-2": 0,
+ "pulsar_storage_write_latency_le_0_5_persistent://sample/prod/prod-1": 0,
+ "pulsar_storage_write_latency_le_0_5_persistent://sample/prod/prod-2": 0,
+ "pulsar_storage_write_latency_le_0_5_public/functions": 0,
+ "pulsar_storage_write_latency_le_0_5_sample/dev": 0,
+ "pulsar_storage_write_latency_le_0_5_sample/prod": 0,
+ "pulsar_storage_write_latency_le_1": 41,
+ "pulsar_storage_write_latency_le_10": 341,
+ "pulsar_storage_write_latency_le_100": 3,
+ "pulsar_storage_write_latency_le_1000": 0,
+ "pulsar_storage_write_latency_le_1000_persistent://public/functions/assignments": 0,
+ "pulsar_storage_write_latency_le_1000_persistent://public/functions/coordinate": 0,
+ "pulsar_storage_write_latency_le_1000_persistent://public/functions/metadata": 0,
+ "pulsar_storage_write_latency_le_1000_persistent://sample/dev/dev-1": 0,
+ "pulsar_storage_write_latency_le_1000_persistent://sample/dev/dev-2": 0,
+ "pulsar_storage_write_latency_le_1000_persistent://sample/prod/prod-1": 0,
+ "pulsar_storage_write_latency_le_1000_persistent://sample/prod/prod-2": 0,
+ "pulsar_storage_write_latency_le_1000_public/functions": 0,
+ "pulsar_storage_write_latency_le_1000_sample/dev": 0,
+ "pulsar_storage_write_latency_le_1000_sample/prod": 0,
+ "pulsar_storage_write_latency_le_100_persistent://public/functions/assignments": 0,
+ "pulsar_storage_write_latency_le_100_persistent://public/functions/coordinate": 0,
+ "pulsar_storage_write_latency_le_100_persistent://public/functions/metadata": 0,
+ "pulsar_storage_write_latency_le_100_persistent://sample/dev/dev-1": 0,
+ "pulsar_storage_write_latency_le_100_persistent://sample/dev/dev-2": 1,
+ "pulsar_storage_write_latency_le_100_persistent://sample/prod/prod-1": 1,
+ "pulsar_storage_write_latency_le_100_persistent://sample/prod/prod-2": 1,
+ "pulsar_storage_write_latency_le_100_public/functions": 0,
+ "pulsar_storage_write_latency_le_100_sample/dev": 1,
+ "pulsar_storage_write_latency_le_100_sample/prod": 2,
+ "pulsar_storage_write_latency_le_10_persistent://public/functions/assignments": 0,
+ "pulsar_storage_write_latency_le_10_persistent://public/functions/coordinate": 0,
+ "pulsar_storage_write_latency_le_10_persistent://public/functions/metadata": 0,
+ "pulsar_storage_write_latency_le_10_persistent://sample/dev/dev-1": 95,
+ "pulsar_storage_write_latency_le_10_persistent://sample/dev/dev-2": 82,
+ "pulsar_storage_write_latency_le_10_persistent://sample/prod/prod-1": 84,
+ "pulsar_storage_write_latency_le_10_persistent://sample/prod/prod-2": 80,
+ "pulsar_storage_write_latency_le_10_public/functions": 0,
+ "pulsar_storage_write_latency_le_10_sample/dev": 177,
+ "pulsar_storage_write_latency_le_10_sample/prod": 164,
+ "pulsar_storage_write_latency_le_1_persistent://public/functions/assignments": 0,
+ "pulsar_storage_write_latency_le_1_persistent://public/functions/coordinate": 0,
+ "pulsar_storage_write_latency_le_1_persistent://public/functions/metadata": 0,
+ "pulsar_storage_write_latency_le_1_persistent://sample/dev/dev-1": 10,
+ "pulsar_storage_write_latency_le_1_persistent://sample/dev/dev-2": 15,
+ "pulsar_storage_write_latency_le_1_persistent://sample/prod/prod-1": 7,
+ "pulsar_storage_write_latency_le_1_persistent://sample/prod/prod-2": 9,
+ "pulsar_storage_write_latency_le_1_public/functions": 0,
+ "pulsar_storage_write_latency_le_1_sample/dev": 25,
+ "pulsar_storage_write_latency_le_1_sample/prod": 16,
+ "pulsar_storage_write_latency_le_20": 114,
+ "pulsar_storage_write_latency_le_200": 0,
+ "pulsar_storage_write_latency_le_200_persistent://public/functions/assignments": 0,
+ "pulsar_storage_write_latency_le_200_persistent://public/functions/coordinate": 0,
+ "pulsar_storage_write_latency_le_200_persistent://public/functions/metadata": 0,
+ "pulsar_storage_write_latency_le_200_persistent://sample/dev/dev-1": 0,
+ "pulsar_storage_write_latency_le_200_persistent://sample/dev/dev-2": 0,
+ "pulsar_storage_write_latency_le_200_persistent://sample/prod/prod-1": 0,
+ "pulsar_storage_write_latency_le_200_persistent://sample/prod/prod-2": 0,
+ "pulsar_storage_write_latency_le_200_public/functions": 0,
+ "pulsar_storage_write_latency_le_200_sample/dev": 0,
+ "pulsar_storage_write_latency_le_200_sample/prod": 0,
+ "pulsar_storage_write_latency_le_20_persistent://public/functions/assignments": 0,
+ "pulsar_storage_write_latency_le_20_persistent://public/functions/coordinate": 0,
+ "pulsar_storage_write_latency_le_20_persistent://public/functions/metadata": 0,
+ "pulsar_storage_write_latency_le_20_persistent://sample/dev/dev-1": 26,
+ "pulsar_storage_write_latency_le_20_persistent://sample/dev/dev-2": 28,
+ "pulsar_storage_write_latency_le_20_persistent://sample/prod/prod-1": 26,
+ "pulsar_storage_write_latency_le_20_persistent://sample/prod/prod-2": 34,
+ "pulsar_storage_write_latency_le_20_public/functions": 0,
+ "pulsar_storage_write_latency_le_20_sample/dev": 54,
+ "pulsar_storage_write_latency_le_20_sample/prod": 60,
+ "pulsar_storage_write_latency_le_5": 5328,
+ "pulsar_storage_write_latency_le_50": 40,
+ "pulsar_storage_write_latency_le_50_persistent://public/functions/assignments": 0,
+ "pulsar_storage_write_latency_le_50_persistent://public/functions/coordinate": 0,
+ "pulsar_storage_write_latency_le_50_persistent://public/functions/metadata": 0,
+ "pulsar_storage_write_latency_le_50_persistent://sample/dev/dev-1": 9,
+ "pulsar_storage_write_latency_le_50_persistent://sample/dev/dev-2": 9,
+ "pulsar_storage_write_latency_le_50_persistent://sample/prod/prod-1": 12,
+ "pulsar_storage_write_latency_le_50_persistent://sample/prod/prod-2": 10,
+ "pulsar_storage_write_latency_le_50_public/functions": 0,
+ "pulsar_storage_write_latency_le_50_sample/dev": 18,
+ "pulsar_storage_write_latency_le_50_sample/prod": 22,
+ "pulsar_storage_write_latency_le_5_persistent://public/functions/assignments": 0,
+ "pulsar_storage_write_latency_le_5_persistent://public/functions/coordinate": 0,
+ "pulsar_storage_write_latency_le_5_persistent://public/functions/metadata": 0,
+ "pulsar_storage_write_latency_le_5_persistent://sample/dev/dev-1": 1308,
+ "pulsar_storage_write_latency_le_5_persistent://sample/dev/dev-2": 1342,
+ "pulsar_storage_write_latency_le_5_persistent://sample/prod/prod-1": 1339,
+ "pulsar_storage_write_latency_le_5_persistent://sample/prod/prod-2": 1339,
+ "pulsar_storage_write_latency_le_5_public/functions": 0,
+ "pulsar_storage_write_latency_le_5_sample/dev": 2650,
+ "pulsar_storage_write_latency_le_5_sample/prod": 2678,
+ "pulsar_storage_write_latency_overflow": 0,
+ "pulsar_storage_write_latency_overflow_persistent://public/functions/assignments": 0,
+ "pulsar_storage_write_latency_overflow_persistent://public/functions/coordinate": 0,
+ "pulsar_storage_write_latency_overflow_persistent://public/functions/metadata": 0,
+ "pulsar_storage_write_latency_overflow_persistent://sample/dev/dev-1": 0,
+ "pulsar_storage_write_latency_overflow_persistent://sample/dev/dev-2": 0,
+ "pulsar_storage_write_latency_overflow_persistent://sample/prod/prod-1": 0,
+ "pulsar_storage_write_latency_overflow_persistent://sample/prod/prod-2": 0,
+ "pulsar_storage_write_latency_overflow_public/functions": 0,
+ "pulsar_storage_write_latency_overflow_sample/dev": 0,
+ "pulsar_storage_write_latency_overflow_sample/prod": 0,
+ "pulsar_storage_write_latency_sum": 5867,
+ "pulsar_storage_write_latency_sum_persistent://public/functions/assignments": 0,
+ "pulsar_storage_write_latency_sum_persistent://public/functions/coordinate": 0,
+ "pulsar_storage_write_latency_sum_persistent://public/functions/metadata": 0,
+ "pulsar_storage_write_latency_sum_persistent://sample/dev/dev-1": 1448,
+ "pulsar_storage_write_latency_sum_persistent://sample/dev/dev-2": 1477,
+ "pulsar_storage_write_latency_sum_persistent://sample/prod/prod-1": 1469,
+ "pulsar_storage_write_latency_sum_persistent://sample/prod/prod-2": 1473,
+ "pulsar_storage_write_latency_sum_public/functions": 0,
+ "pulsar_storage_write_latency_sum_sample/dev": 2925,
+ "pulsar_storage_write_latency_sum_sample/prod": 2942,
+ "pulsar_subscription_blocked_on_unacked_messages": 0,
+ "pulsar_subscription_blocked_on_unacked_messages_persistent://public/functions/assignments": 0,
+ "pulsar_subscription_blocked_on_unacked_messages_persistent://public/functions/coordinate": 0,
+ "pulsar_subscription_blocked_on_unacked_messages_persistent://public/functions/metadata": 0,
+ "pulsar_subscription_blocked_on_unacked_messages_persistent://sample/dev/dev-1": 0,
+ "pulsar_subscription_blocked_on_unacked_messages_persistent://sample/dev/dev-2": 0,
+ "pulsar_subscription_blocked_on_unacked_messages_persistent://sample/prod/prod-1": 0,
+ "pulsar_subscription_blocked_on_unacked_messages_persistent://sample/prod/prod-2": 0,
+ "pulsar_subscription_blocked_on_unacked_messages_public/functions": 0,
+ "pulsar_subscription_blocked_on_unacked_messages_sample/dev": 0,
+ "pulsar_subscription_blocked_on_unacked_messages_sample/prod": 0,
+ "pulsar_subscription_delayed": 0,
+ "pulsar_subscription_delayed_persistent://public/functions/assignments": 0,
+ "pulsar_subscription_delayed_persistent://public/functions/coordinate": 0,
+ "pulsar_subscription_delayed_persistent://public/functions/metadata": 0,
+ "pulsar_subscription_delayed_persistent://sample/dev/dev-1": 0,
+ "pulsar_subscription_delayed_persistent://sample/dev/dev-2": 0,
+ "pulsar_subscription_delayed_persistent://sample/prod/prod-1": 0,
+ "pulsar_subscription_delayed_persistent://sample/prod/prod-2": 0,
+ "pulsar_subscription_delayed_public/functions": 0,
+ "pulsar_subscription_delayed_sample/dev": 0,
+ "pulsar_subscription_delayed_sample/prod": 0,
+ "pulsar_subscription_msg_rate_redeliver": 0,
+ "pulsar_subscription_msg_rate_redeliver_persistent://public/functions/assignments": 0,
+ "pulsar_subscription_msg_rate_redeliver_persistent://public/functions/coordinate": 0,
+ "pulsar_subscription_msg_rate_redeliver_persistent://public/functions/metadata": 0,
+ "pulsar_subscription_msg_rate_redeliver_persistent://sample/dev/dev-1": 0,
+ "pulsar_subscription_msg_rate_redeliver_persistent://sample/dev/dev-2": 0,
+ "pulsar_subscription_msg_rate_redeliver_persistent://sample/prod/prod-1": 0,
+ "pulsar_subscription_msg_rate_redeliver_persistent://sample/prod/prod-2": 0,
+ "pulsar_subscription_msg_rate_redeliver_public/functions": 0,
+ "pulsar_subscription_msg_rate_redeliver_sample/dev": 0,
+ "pulsar_subscription_msg_rate_redeliver_sample/prod": 0,
+ "pulsar_subscriptions_count": 13,
+ "pulsar_subscriptions_count_persistent://public/functions/assignments": 1,
+ "pulsar_subscriptions_count_persistent://public/functions/coordinate": 1,
+ "pulsar_subscriptions_count_persistent://public/functions/metadata": 1,
+ "pulsar_subscriptions_count_persistent://sample/dev/dev-1": 2,
+ "pulsar_subscriptions_count_persistent://sample/dev/dev-2": 4,
+ "pulsar_subscriptions_count_persistent://sample/prod/prod-1": 2,
+ "pulsar_subscriptions_count_persistent://sample/prod/prod-2": 2,
+ "pulsar_subscriptions_count_public/functions": 3,
+ "pulsar_subscriptions_count_sample/dev": 6,
+ "pulsar_subscriptions_count_sample/prod": 4,
+ "pulsar_throughput_in": 6023912,
+ "pulsar_throughput_in_persistent://public/functions/assignments": 0,
+ "pulsar_throughput_in_persistent://public/functions/coordinate": 0,
+ "pulsar_throughput_in_persistent://public/functions/metadata": 0,
+ "pulsar_throughput_in_persistent://sample/dev/dev-1": 1450789,
+ "pulsar_throughput_in_persistent://sample/dev/dev-2": 1450862,
+ "pulsar_throughput_in_persistent://sample/prod/prod-1": 1561151,
+ "pulsar_throughput_in_persistent://sample/prod/prod-2": 1561110,
+ "pulsar_throughput_in_public/functions": 0,
+ "pulsar_throughput_in_sample/dev": 2901651,
+ "pulsar_throughput_in_sample/prod": 3122261,
+ "pulsar_throughput_out": 14949677,
+ "pulsar_throughput_out_persistent://public/functions/assignments": 0,
+ "pulsar_throughput_out_persistent://public/functions/coordinate": 0,
+ "pulsar_throughput_out_persistent://public/functions/metadata": 0,
+ "pulsar_throughput_out_persistent://sample/dev/dev-1": 2901607,
+ "pulsar_throughput_out_persistent://sample/dev/dev-2": 5803500,
+ "pulsar_throughput_out_persistent://sample/prod/prod-1": 3122322,
+ "pulsar_throughput_out_persistent://sample/prod/prod-2": 3122248,
+ "pulsar_throughput_out_public/functions": 0,
+ "pulsar_throughput_out_sample/dev": 8705107,
+ "pulsar_throughput_out_sample/prod": 6244570,
+ "pulsar_topics_count": 14,
+ "pulsar_topics_count_public/functions": 5,
+ "pulsar_topics_count_sample/dev": 2,
+ "pulsar_topics_count_sample/prod": 7,
+}
+
+var expectedStandaloneV250TopicsFiltered = map[string]int64{
+ "pulsar_consumers_count": 21,
+ "pulsar_consumers_count_public/functions": 3,
+ "pulsar_consumers_count_sample/dev": 10,
+ "pulsar_consumers_count_sample/prod": 8,
+ "pulsar_entry_size_count": 5867,
+ "pulsar_entry_size_count_public/functions": 0,
+ "pulsar_entry_size_count_sample/dev": 2925,
+ "pulsar_entry_size_count_sample/prod": 2942,
+ "pulsar_entry_size_le_100_kb": 0,
+ "pulsar_entry_size_le_100_kb_public/functions": 0,
+ "pulsar_entry_size_le_100_kb_sample/dev": 0,
+ "pulsar_entry_size_le_100_kb_sample/prod": 0,
+ "pulsar_entry_size_le_128": 5867,
+ "pulsar_entry_size_le_128_public/functions": 0,
+ "pulsar_entry_size_le_128_sample/dev": 2925,
+ "pulsar_entry_size_le_128_sample/prod": 2942,
+ "pulsar_entry_size_le_16_kb": 0,
+ "pulsar_entry_size_le_16_kb_public/functions": 0,
+ "pulsar_entry_size_le_16_kb_sample/dev": 0,
+ "pulsar_entry_size_le_16_kb_sample/prod": 0,
+ "pulsar_entry_size_le_1_kb": 0,
+ "pulsar_entry_size_le_1_kb_public/functions": 0,
+ "pulsar_entry_size_le_1_kb_sample/dev": 0,
+ "pulsar_entry_size_le_1_kb_sample/prod": 0,
+ "pulsar_entry_size_le_1_mb": 0,
+ "pulsar_entry_size_le_1_mb_public/functions": 0,
+ "pulsar_entry_size_le_1_mb_sample/dev": 0,
+ "pulsar_entry_size_le_1_mb_sample/prod": 0,
+ "pulsar_entry_size_le_2_kb": 0,
+ "pulsar_entry_size_le_2_kb_public/functions": 0,
+ "pulsar_entry_size_le_2_kb_sample/dev": 0,
+ "pulsar_entry_size_le_2_kb_sample/prod": 0,
+ "pulsar_entry_size_le_4_kb": 0,
+ "pulsar_entry_size_le_4_kb_public/functions": 0,
+ "pulsar_entry_size_le_4_kb_sample/dev": 0,
+ "pulsar_entry_size_le_4_kb_sample/prod": 0,
+ "pulsar_entry_size_le_512": 0,
+ "pulsar_entry_size_le_512_public/functions": 0,
+ "pulsar_entry_size_le_512_sample/dev": 0,
+ "pulsar_entry_size_le_512_sample/prod": 0,
+ "pulsar_entry_size_le_overflow": 0,
+ "pulsar_entry_size_le_overflow_public/functions": 0,
+ "pulsar_entry_size_le_overflow_sample/dev": 0,
+ "pulsar_entry_size_le_overflow_sample/prod": 0,
+ "pulsar_entry_size_sum": 5867,
+ "pulsar_entry_size_sum_public/functions": 0,
+ "pulsar_entry_size_sum_sample/dev": 2925,
+ "pulsar_entry_size_sum_sample/prod": 2942,
+ "pulsar_msg_backlog": 0,
+ "pulsar_msg_backlog_public/functions": 0,
+ "pulsar_msg_backlog_sample/dev": 0,
+ "pulsar_msg_backlog_sample/prod": 0,
+ "pulsar_namespaces_count": 3,
+ "pulsar_producers_count": 10,
+ "pulsar_producers_count_public/functions": 2,
+ "pulsar_producers_count_sample/dev": 4,
+ "pulsar_producers_count_sample/prod": 4,
+ "pulsar_rate_in": 102064,
+ "pulsar_rate_in_public/functions": 0,
+ "pulsar_rate_in_sample/dev": 50027,
+ "pulsar_rate_in_sample/prod": 52037,
+ "pulsar_rate_out": 254162,
+ "pulsar_rate_out_public/functions": 0,
+ "pulsar_rate_out_sample/dev": 150087,
+ "pulsar_rate_out_sample/prod": 104075,
+ "pulsar_storage_size": 8112300,
+ "pulsar_storage_size_public/functions": 0,
+ "pulsar_storage_size_sample/dev": 3981120,
+ "pulsar_storage_size_sample/prod": 4131180,
+ "pulsar_storage_write_latency_count": 5867,
+ "pulsar_storage_write_latency_count_public/functions": 0,
+ "pulsar_storage_write_latency_count_sample/dev": 2925,
+ "pulsar_storage_write_latency_count_sample/prod": 2942,
+ "pulsar_storage_write_latency_le_0_5": 0,
+ "pulsar_storage_write_latency_le_0_5_public/functions": 0,
+ "pulsar_storage_write_latency_le_0_5_sample/dev": 0,
+ "pulsar_storage_write_latency_le_0_5_sample/prod": 0,
+ "pulsar_storage_write_latency_le_1": 41,
+ "pulsar_storage_write_latency_le_10": 341,
+ "pulsar_storage_write_latency_le_100": 3,
+ "pulsar_storage_write_latency_le_1000": 0,
+ "pulsar_storage_write_latency_le_1000_public/functions": 0,
+ "pulsar_storage_write_latency_le_1000_sample/dev": 0,
+ "pulsar_storage_write_latency_le_1000_sample/prod": 0,
+ "pulsar_storage_write_latency_le_100_public/functions": 0,
+ "pulsar_storage_write_latency_le_100_sample/dev": 1,
+ "pulsar_storage_write_latency_le_100_sample/prod": 2,
+ "pulsar_storage_write_latency_le_10_public/functions": 0,
+ "pulsar_storage_write_latency_le_10_sample/dev": 177,
+ "pulsar_storage_write_latency_le_10_sample/prod": 164,
+ "pulsar_storage_write_latency_le_1_public/functions": 0,
+ "pulsar_storage_write_latency_le_1_sample/dev": 25,
+ "pulsar_storage_write_latency_le_1_sample/prod": 16,
+ "pulsar_storage_write_latency_le_20": 114,
+ "pulsar_storage_write_latency_le_200": 0,
+ "pulsar_storage_write_latency_le_200_public/functions": 0,
+ "pulsar_storage_write_latency_le_200_sample/dev": 0,
+ "pulsar_storage_write_latency_le_200_sample/prod": 0,
+ "pulsar_storage_write_latency_le_20_public/functions": 0,
+ "pulsar_storage_write_latency_le_20_sample/dev": 54,
+ "pulsar_storage_write_latency_le_20_sample/prod": 60,
+ "pulsar_storage_write_latency_le_5": 5328,
+ "pulsar_storage_write_latency_le_50": 40,
+ "pulsar_storage_write_latency_le_50_public/functions": 0,
+ "pulsar_storage_write_latency_le_50_sample/dev": 18,
+ "pulsar_storage_write_latency_le_50_sample/prod": 22,
+ "pulsar_storage_write_latency_le_5_public/functions": 0,
+ "pulsar_storage_write_latency_le_5_sample/dev": 2650,
+ "pulsar_storage_write_latency_le_5_sample/prod": 2678,
+ "pulsar_storage_write_latency_overflow": 0,
+ "pulsar_storage_write_latency_overflow_public/functions": 0,
+ "pulsar_storage_write_latency_overflow_sample/dev": 0,
+ "pulsar_storage_write_latency_overflow_sample/prod": 0,
+ "pulsar_storage_write_latency_sum": 5867,
+ "pulsar_storage_write_latency_sum_public/functions": 0,
+ "pulsar_storage_write_latency_sum_sample/dev": 2925,
+ "pulsar_storage_write_latency_sum_sample/prod": 2942,
+ "pulsar_subscription_blocked_on_unacked_messages": 0,
+ "pulsar_subscription_blocked_on_unacked_messages_public/functions": 0,
+ "pulsar_subscription_blocked_on_unacked_messages_sample/dev": 0,
+ "pulsar_subscription_blocked_on_unacked_messages_sample/prod": 0,
+ "pulsar_subscription_delayed": 0,
+ "pulsar_subscription_delayed_public/functions": 0,
+ "pulsar_subscription_delayed_sample/dev": 0,
+ "pulsar_subscription_delayed_sample/prod": 0,
+ "pulsar_subscription_msg_rate_redeliver": 0,
+ "pulsar_subscription_msg_rate_redeliver_public/functions": 0,
+ "pulsar_subscription_msg_rate_redeliver_sample/dev": 0,
+ "pulsar_subscription_msg_rate_redeliver_sample/prod": 0,
+ "pulsar_subscriptions_count": 13,
+ "pulsar_subscriptions_count_public/functions": 3,
+ "pulsar_subscriptions_count_sample/dev": 6,
+ "pulsar_subscriptions_count_sample/prod": 4,
+ "pulsar_throughput_in": 6023912,
+ "pulsar_throughput_in_public/functions": 0,
+ "pulsar_throughput_in_sample/dev": 2901651,
+ "pulsar_throughput_in_sample/prod": 3122261,
+ "pulsar_throughput_out": 14949677,
+ "pulsar_throughput_out_public/functions": 0,
+ "pulsar_throughput_out_sample/dev": 8705107,
+ "pulsar_throughput_out_sample/prod": 6244570,
+ "pulsar_topics_count": 14,
+ "pulsar_topics_count_public/functions": 5,
+ "pulsar_topics_count_sample/dev": 2,
+ "pulsar_topics_count_sample/prod": 7,
+}
diff --git a/src/go/collectors/go.d.plugin/modules/pulsar/testdata/config.json b/src/go/collectors/go.d.plugin/modules/pulsar/testdata/config.json
new file mode 100644
index 000000000..ab4f38fe0
--- /dev/null
+++ b/src/go/collectors/go.d.plugin/modules/pulsar/testdata/config.json
@@ -0,0 +1,28 @@
+{
+ "update_every": 123,
+ "url": "ok",
+ "body": "ok",
+ "method": "ok",
+ "headers": {
+ "ok": "ok"
+ },
+ "username": "ok",
+ "password": "ok",
+ "proxy_url": "ok",
+ "proxy_username": "ok",
+ "proxy_password": "ok",
+ "timeout": 123.123,
+ "not_follow_redirects": true,
+ "tls_ca": "ok",
+ "tls_cert": "ok",
+ "tls_key": "ok",
+ "tls_skip_verify": true,
+ "topic_filter": {
+ "includes": [
+ "ok"
+ ],
+ "excludes": [
+ "ok"
+ ]
+ }
+}
diff --git a/src/go/collectors/go.d.plugin/modules/pulsar/testdata/config.yaml b/src/go/collectors/go.d.plugin/modules/pulsar/testdata/config.yaml
new file mode 100644
index 000000000..f2645d9e9
--- /dev/null
+++ b/src/go/collectors/go.d.plugin/modules/pulsar/testdata/config.yaml
@@ -0,0 +1,22 @@
+update_every: 123
+url: "ok"
+body: "ok"
+method: "ok"
+headers:
+ ok: "ok"
+username: "ok"
+password: "ok"
+proxy_url: "ok"
+proxy_username: "ok"
+proxy_password: "ok"
+timeout: 123.123
+not_follow_redirects: yes
+tls_ca: "ok"
+tls_cert: "ok"
+tls_key: "ok"
+tls_skip_verify: yes
+topic_filter:
+ includes:
+ - "ok"
+ excludes:
+ - "ok"
diff --git a/src/go/collectors/go.d.plugin/modules/pulsar/testdata/non-pulsar.txt b/src/go/collectors/go.d.plugin/modules/pulsar/testdata/non-pulsar.txt
new file mode 100644
index 000000000..f5f0ae082
--- /dev/null
+++ b/src/go/collectors/go.d.plugin/modules/pulsar/testdata/non-pulsar.txt
@@ -0,0 +1,27 @@
+# HELP wmi_os_process_memory_limix_bytes OperatingSystem.MaxProcessMemorySize
+# TYPE wmi_os_process_memory_limix_bytes gauge
+wmi_os_process_memory_limix_bytes 1.40737488224256e+14
+# HELP wmi_os_processes OperatingSystem.NumberOfProcesses
+# TYPE wmi_os_processes gauge
+wmi_os_processes 124
+# HELP wmi_os_processes_limit OperatingSystem.MaxNumberOfProcesses
+# TYPE wmi_os_processes_limit gauge
+wmi_os_processes_limit 4.294967295e+09
+# HELP wmi_os_time OperatingSystem.LocalDateTime
+# TYPE wmi_os_time gauge
+wmi_os_time 1.57804974e+09
+# HELP wmi_os_timezone OperatingSystem.LocalDateTime
+# TYPE wmi_os_timezone gauge
+wmi_os_timezone{timezone="MSK"} 1
+# HELP wmi_os_users OperatingSystem.NumberOfUsers
+# TYPE wmi_os_users gauge
+wmi_os_users 2
+# HELP wmi_os_virtual_memory_bytes OperatingSystem.TotalVirtualMemorySize
+# TYPE wmi_os_virtual_memory_bytes gauge
+wmi_os_virtual_memory_bytes 5.770891264e+09
+# HELP wmi_os_virtual_memory_free_bytes OperatingSystem.FreeVirtualMemory
+# TYPE wmi_os_virtual_memory_free_bytes gauge
+wmi_os_virtual_memory_free_bytes 3.76489984e+09
+# HELP wmi_os_visible_memory_bytes OperatingSystem.TotalVisibleMemorySize
+# TYPE wmi_os_visible_memory_bytes gauge
+wmi_os_visible_memory_bytes 4.294496256e+09 \ No newline at end of file
diff --git a/src/go/collectors/go.d.plugin/modules/pulsar/testdata/standalone-v2.5.0-namespaces.txt b/src/go/collectors/go.d.plugin/modules/pulsar/testdata/standalone-v2.5.0-namespaces.txt
new file mode 100644
index 000000000..bbc3de4a0
--- /dev/null
+++ b/src/go/collectors/go.d.plugin/modules/pulsar/testdata/standalone-v2.5.0-namespaces.txt
@@ -0,0 +1,500 @@
+# TYPE zk_read_latency summary
+zk_read_latency{cluster="standalone",quantile="0.5"} NaN
+zk_read_latency{cluster="standalone",quantile="0.75"} NaN
+zk_read_latency{cluster="standalone",quantile="0.95"} NaN
+zk_read_latency{cluster="standalone",quantile="0.99"} NaN
+zk_read_latency{cluster="standalone",quantile="0.999"} NaN
+zk_read_latency{cluster="standalone",quantile="0.9999"} NaN
+zk_read_latency_count{cluster="standalone"} 0.0
+zk_read_latency_sum{cluster="standalone"} 0.0
+# TYPE zk_write_latency summary
+zk_write_latency{cluster="standalone",quantile="0.5"} NaN
+zk_write_latency{cluster="standalone",quantile="0.75"} NaN
+zk_write_latency{cluster="standalone",quantile="0.95"} NaN
+zk_write_latency{cluster="standalone",quantile="0.99"} NaN
+zk_write_latency{cluster="standalone",quantile="0.999"} NaN
+zk_write_latency{cluster="standalone",quantile="0.9999"} NaN
+zk_write_latency_count{cluster="standalone"} 0.0
+zk_write_latency_sum{cluster="standalone"} 0.0
+# TYPE jvm_memory_direct_bytes_max gauge
+jvm_memory_direct_bytes_max{cluster="standalone"} 4.294967296E9
+# TYPE log4j2_appender_total counter
+log4j2_appender_total{cluster="standalone",level="debug"} 0.0
+log4j2_appender_total{cluster="standalone",level="warn"} 68.0
+log4j2_appender_total{cluster="standalone",level="trace"} 0.0
+log4j2_appender_total{cluster="standalone",level="error"} 0.0
+log4j2_appender_total{cluster="standalone",level="fatal"} 0.0
+log4j2_appender_total{cluster="standalone",level="info"} 3773.0
+# TYPE jvm_threads_current gauge
+jvm_threads_current{cluster="standalone"} 293.0
+# TYPE jvm_threads_daemon gauge
+jvm_threads_daemon{cluster="standalone"} 49.0
+# TYPE jvm_threads_peak gauge
+jvm_threads_peak{cluster="standalone"} 295.0
+# TYPE jvm_threads_started_total counter
+jvm_threads_started_total{cluster="standalone"} 343.0
+# TYPE jvm_threads_deadlocked gauge
+jvm_threads_deadlocked{cluster="standalone"} 0.0
+# TYPE jvm_threads_deadlocked_monitor gauge
+jvm_threads_deadlocked_monitor{cluster="standalone"} 0.0
+# TYPE zookeeper_server_requests counter
+zookeeper_server_requests{cluster="standalone",type="getData"} 1091.0
+zookeeper_server_requests{cluster="standalone",type="setData"} 56.0
+zookeeper_server_requests{cluster="standalone",type="ping"} 1673.0
+zookeeper_server_requests{cluster="standalone",type="unknown"} 2.0
+zookeeper_server_requests{cluster="standalone",type="sync"} 53.0
+zookeeper_server_requests{cluster="standalone",type="delete"} 189.0
+zookeeper_server_requests{cluster="standalone",type="createSession"} 14.0
+zookeeper_server_requests{cluster="standalone",type="multi"} 54.0
+zookeeper_server_requests{cluster="standalone",type="getChildren"} 172.0
+zookeeper_server_requests{cluster="standalone",type="getChildren2"} 250.0
+zookeeper_server_requests{cluster="standalone",type="closeSession"} 5.0
+zookeeper_server_requests{cluster="standalone",type="create"} 119.0
+zookeeper_server_requests{cluster="standalone",type="exists"} 577.0
+# TYPE jetty_requests_total counter
+jetty_requests_total{cluster="standalone"} 2182.0
+# TYPE jetty_requests_active gauge
+jetty_requests_active{cluster="standalone"} 1.0
+# TYPE jetty_requests_active_max gauge
+jetty_requests_active_max{cluster="standalone"} 2.0
+# TYPE jetty_request_time_max_seconds gauge
+jetty_request_time_max_seconds{cluster="standalone"} 0.539
+# TYPE jetty_request_time_seconds_total counter
+jetty_request_time_seconds_total{cluster="standalone"} 10.786
+# TYPE jetty_dispatched_total counter
+jetty_dispatched_total{cluster="standalone"} 2182.0
+# TYPE jetty_dispatched_active gauge
+jetty_dispatched_active{cluster="standalone"} 0.0
+# TYPE jetty_dispatched_active_max gauge
+jetty_dispatched_active_max{cluster="standalone"} 2.0
+# TYPE jetty_dispatched_time_max gauge
+jetty_dispatched_time_max{cluster="standalone"} 539.0
+# TYPE jetty_dispatched_time_seconds_total counter
+jetty_dispatched_time_seconds_total{cluster="standalone"} 1.745
+# TYPE jetty_async_requests_total counter
+jetty_async_requests_total{cluster="standalone"} 1070.0
+# TYPE jetty_async_requests_waiting gauge
+jetty_async_requests_waiting{cluster="standalone"} 1.0
+# TYPE jetty_async_requests_waiting_max gauge
+jetty_async_requests_waiting_max{cluster="standalone"} 1.0
+# TYPE jetty_async_dispatches_total counter
+jetty_async_dispatches_total{cluster="standalone"} 0.0
+# TYPE jetty_expires_total counter
+jetty_expires_total{cluster="standalone"} 0.0
+# TYPE jetty_responses_total counter
+jetty_responses_total{cluster="standalone",code="1xx"} 0.0
+jetty_responses_total{cluster="standalone",code="2xx"} 1113.0
+jetty_responses_total{cluster="standalone",code="3xx"} 1067.0
+jetty_responses_total{cluster="standalone",code="4xx"} 1.0
+jetty_responses_total{cluster="standalone",code="5xx"} 0.0
+# TYPE jetty_stats_seconds gauge
+jetty_stats_seconds{cluster="standalone"} 1001.006
+# TYPE jetty_responses_bytes_total counter
+jetty_responses_bytes_total{cluster="standalone"} 3.7698452E7
+# TYPE pulsar_broker_publish_latency summary
+pulsar_broker_publish_latency{cluster="standalone",quantile="0.0"} 1.821
+pulsar_broker_publish_latency{cluster="standalone",quantile="0.5"} 2.559
+pulsar_broker_publish_latency{cluster="standalone",quantile="0.95"} 6.8
+pulsar_broker_publish_latency{cluster="standalone",quantile="0.99"} 10.992
+pulsar_broker_publish_latency{cluster="standalone",quantile="0.999"} 10.992
+pulsar_broker_publish_latency{cluster="standalone",quantile="0.9999"} 10.992
+pulsar_broker_publish_latency{cluster="standalone",quantile="1.0"} 10.992
+pulsar_broker_publish_latency_count{cluster="standalone"} 95832.0
+pulsar_broker_publish_latency_sum{cluster="standalone"} 234677.0
+# TYPE zookeeper_server_connections gauge
+zookeeper_server_connections{cluster="standalone"} 10.0
+# TYPE jvm_info gauge
+jvm_info{cluster="standalone",version="1.8.0_232-b09",vendor="Oracle Corporation",runtime="OpenJDK Runtime Environment"} 1.0
+# TYPE topic_load_times summary
+topic_load_times{cluster="standalone",quantile="0.5"} NaN
+topic_load_times{cluster="standalone",quantile="0.75"} NaN
+topic_load_times{cluster="standalone",quantile="0.95"} NaN
+topic_load_times{cluster="standalone",quantile="0.99"} NaN
+topic_load_times{cluster="standalone",quantile="0.999"} NaN
+topic_load_times{cluster="standalone",quantile="0.9999"} NaN
+topic_load_times_count{cluster="standalone"} 0.0
+topic_load_times_sum{cluster="standalone"} 0.0
+# TYPE process_cpu_seconds_total counter
+process_cpu_seconds_total{cluster="standalone"} 492.64
+# TYPE process_start_time_seconds gauge
+process_start_time_seconds{cluster="standalone"} 1.583774770759E9
+# TYPE process_open_fds gauge
+process_open_fds{cluster="standalone"} 676.0
+# TYPE process_max_fds gauge
+process_max_fds{cluster="standalone"} 1048576.0
+# TYPE process_virtual_memory_bytes gauge
+process_virtual_memory_bytes{cluster="standalone"} 8.727437312E9
+# TYPE process_resident_memory_bytes gauge
+process_resident_memory_bytes{cluster="standalone"} 1.642012672E9
+# TYPE jvm_classes_loaded gauge
+jvm_classes_loaded{cluster="standalone"} 14402.0
+# TYPE jvm_classes_loaded_total counter
+jvm_classes_loaded_total{cluster="standalone"} 14402.0
+# TYPE jvm_classes_unloaded_total counter
+jvm_classes_unloaded_total{cluster="standalone"} 0.0
+# TYPE zookeeper_server_requests_latency_ms summary
+zookeeper_server_requests_latency_ms{cluster="standalone",type="read",quantile="0.5"} 0.0
+zookeeper_server_requests_latency_ms{cluster="standalone",type="read",quantile="0.75"} 0.0
+zookeeper_server_requests_latency_ms{cluster="standalone",type="read",quantile="0.95"} 1.0
+zookeeper_server_requests_latency_ms{cluster="standalone",type="read",quantile="0.99"} 1.0
+zookeeper_server_requests_latency_ms{cluster="standalone",type="read",quantile="0.999"} 2.0
+zookeeper_server_requests_latency_ms{cluster="standalone",type="read",quantile="0.9999"} 2.0
+zookeeper_server_requests_latency_ms{cluster="standalone",type="read",quantile="1.0"} 2.0
+zookeeper_server_requests_latency_ms_count{cluster="standalone",type="read"} 3819.0
+zookeeper_server_requests_latency_ms_sum{cluster="standalone",type="read"} 2033.0
+zookeeper_server_requests_latency_ms{cluster="standalone",type="write",quantile="0.5"} NaN
+zookeeper_server_requests_latency_ms{cluster="standalone",type="write",quantile="0.75"} NaN
+zookeeper_server_requests_latency_ms{cluster="standalone",type="write",quantile="0.95"} NaN
+zookeeper_server_requests_latency_ms{cluster="standalone",type="write",quantile="0.99"} NaN
+zookeeper_server_requests_latency_ms{cluster="standalone",type="write",quantile="0.999"} NaN
+zookeeper_server_requests_latency_ms{cluster="standalone",type="write",quantile="0.9999"} NaN
+zookeeper_server_requests_latency_ms{cluster="standalone",type="write",quantile="1.0"} NaN
+zookeeper_server_requests_latency_ms_count{cluster="standalone",type="write"} 436.0
+zookeeper_server_requests_latency_ms_sum{cluster="standalone",type="write"} 832.0
+# TYPE zookeeper_server_watches_count gauge
+zookeeper_server_watches_count{cluster="standalone"} 37.0
+# TYPE zookeeper_server_ephemerals_count gauge
+zookeeper_server_ephemerals_count{cluster="standalone"} 12.0
+# TYPE caffeine_cache_hit_total counter
+caffeine_cache_hit_total{cluster="standalone",cache="owned-bundles"} 143.0
+caffeine_cache_hit_total{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_hit_total{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_hit_total{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_hit_total{cluster="standalone",cache="local-zk-exists"} 2.0
+caffeine_cache_hit_total{cluster="standalone",cache="local-zk-children"} 2.0
+caffeine_cache_hit_total{cluster="standalone",cache="bundles"} 156.0
+caffeine_cache_hit_total{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_hit_total{cluster="standalone",cache="local-zk-data"} 7.0
+caffeine_cache_hit_total{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_hit_total{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE caffeine_cache_miss_total counter
+caffeine_cache_miss_total{cluster="standalone",cache="owned-bundles"} 11.0
+caffeine_cache_miss_total{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_miss_total{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_miss_total{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_miss_total{cluster="standalone",cache="local-zk-exists"} 7.0
+caffeine_cache_miss_total{cluster="standalone",cache="local-zk-children"} 4.0
+caffeine_cache_miss_total{cluster="standalone",cache="bundles"} 4.0
+caffeine_cache_miss_total{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_miss_total{cluster="standalone",cache="local-zk-data"} 22.0
+caffeine_cache_miss_total{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_miss_total{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE caffeine_cache_requests_total counter
+caffeine_cache_requests_total{cluster="standalone",cache="owned-bundles"} 154.0
+caffeine_cache_requests_total{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_requests_total{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_requests_total{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_requests_total{cluster="standalone",cache="local-zk-exists"} 9.0
+caffeine_cache_requests_total{cluster="standalone",cache="local-zk-children"} 6.0
+caffeine_cache_requests_total{cluster="standalone",cache="bundles"} 160.0
+caffeine_cache_requests_total{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_requests_total{cluster="standalone",cache="local-zk-data"} 29.0
+caffeine_cache_requests_total{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_requests_total{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE caffeine_cache_eviction_total counter
+caffeine_cache_eviction_total{cluster="standalone",cache="owned-bundles"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="local-zk-exists"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="local-zk-children"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="bundles"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="local-zk-data"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE caffeine_cache_eviction_weight gauge
+caffeine_cache_eviction_weight{cluster="standalone",cache="owned-bundles"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="local-zk-exists"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="local-zk-children"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="bundles"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="local-zk-data"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE caffeine_cache_load_failure_total counter
+caffeine_cache_load_failure_total{cluster="standalone",cache="owned-bundles"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="local-zk-exists"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="local-zk-children"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="bundles"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="local-zk-data"} 17.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE caffeine_cache_loads_total counter
+caffeine_cache_loads_total{cluster="standalone",cache="owned-bundles"} 6.0
+caffeine_cache_loads_total{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_loads_total{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_loads_total{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_loads_total{cluster="standalone",cache="local-zk-exists"} 7.0
+caffeine_cache_loads_total{cluster="standalone",cache="local-zk-children"} 4.0
+caffeine_cache_loads_total{cluster="standalone",cache="bundles"} 4.0
+caffeine_cache_loads_total{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_loads_total{cluster="standalone",cache="local-zk-data"} 22.0
+caffeine_cache_loads_total{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_loads_total{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE caffeine_cache_estimated_size gauge
+caffeine_cache_estimated_size{cluster="standalone",cache="owned-bundles"} 6.0
+caffeine_cache_estimated_size{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_estimated_size{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_estimated_size{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_estimated_size{cluster="standalone",cache="local-zk-exists"} 7.0
+caffeine_cache_estimated_size{cluster="standalone",cache="local-zk-children"} 4.0
+caffeine_cache_estimated_size{cluster="standalone",cache="bundles"} 4.0
+caffeine_cache_estimated_size{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_estimated_size{cluster="standalone",cache="local-zk-data"} 5.0
+caffeine_cache_estimated_size{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_estimated_size{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE caffeine_cache_load_duration_seconds summary
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="owned-bundles"} 6.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="owned-bundles"} 0.05334063
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="local-zk-exists"} 7.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="local-zk-exists"} 0.039758752
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="local-zk-children"} 4.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="local-zk-children"} 0.027705247
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="bundles"} 4.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="bundles"} 0.076995851
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="local-zk-data"} 22.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="local-zk-data"} 0.156849343
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="global-zk-exists"} 0.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE jvm_memory_direct_bytes_used gauge
+jvm_memory_direct_bytes_used{cluster="standalone"} 2.28189827E9
+# TYPE jvm_memory_bytes_used gauge
+jvm_memory_bytes_used{cluster="standalone",area="heap"} 3.01123632E8
+jvm_memory_bytes_used{cluster="standalone",area="nonheap"} 1.27959784E8
+# TYPE jvm_memory_bytes_committed gauge
+jvm_memory_bytes_committed{cluster="standalone",area="heap"} 2.147483648E9
+jvm_memory_bytes_committed{cluster="standalone",area="nonheap"} 1.33287936E8
+# TYPE jvm_memory_bytes_max gauge
+jvm_memory_bytes_max{cluster="standalone",area="heap"} 2.147483648E9
+jvm_memory_bytes_max{cluster="standalone",area="nonheap"} -1.0
+# TYPE jvm_memory_bytes_init gauge
+jvm_memory_bytes_init{cluster="standalone",area="heap"} 2.147483648E9
+jvm_memory_bytes_init{cluster="standalone",area="nonheap"} 2555904.0
+# TYPE jvm_memory_pool_bytes_used gauge
+jvm_memory_pool_bytes_used{cluster="standalone",pool="Code Cache"} 3.5528384E7
+jvm_memory_pool_bytes_used{cluster="standalone",pool="Metaspace"} 8.2704856E7
+jvm_memory_pool_bytes_used{cluster="standalone",pool="Compressed Class Space"} 9726544.0
+jvm_memory_pool_bytes_used{cluster="standalone",pool="G1 Eden Space"} 1.75112192E8
+jvm_memory_pool_bytes_used{cluster="standalone",pool="G1 Survivor Space"} 6.3963136E7
+jvm_memory_pool_bytes_used{cluster="standalone",pool="G1 Old Gen"} 6.2048304E7
+# TYPE jvm_memory_pool_bytes_committed gauge
+jvm_memory_pool_bytes_committed{cluster="standalone",pool="Code Cache"} 3.5782656E7
+jvm_memory_pool_bytes_committed{cluster="standalone",pool="Metaspace"} 8.6863872E7
+jvm_memory_pool_bytes_committed{cluster="standalone",pool="Compressed Class Space"} 1.0641408E7
+jvm_memory_pool_bytes_committed{cluster="standalone",pool="G1 Eden Space"} 1.06430464E9
+jvm_memory_pool_bytes_committed{cluster="standalone",pool="G1 Survivor Space"} 6.3963136E7
+jvm_memory_pool_bytes_committed{cluster="standalone",pool="G1 Old Gen"} 1.019215872E9
+# TYPE jvm_memory_pool_bytes_max gauge
+jvm_memory_pool_bytes_max{cluster="standalone",pool="Code Cache"} 2.5165824E8
+jvm_memory_pool_bytes_max{cluster="standalone",pool="Metaspace"} -1.0
+jvm_memory_pool_bytes_max{cluster="standalone",pool="Compressed Class Space"} 1.073741824E9
+jvm_memory_pool_bytes_max{cluster="standalone",pool="G1 Eden Space"} -1.0
+jvm_memory_pool_bytes_max{cluster="standalone",pool="G1 Survivor Space"} -1.0
+jvm_memory_pool_bytes_max{cluster="standalone",pool="G1 Old Gen"} 2.147483648E9
+# TYPE jvm_memory_pool_bytes_init gauge
+jvm_memory_pool_bytes_init{cluster="standalone",pool="Code Cache"} 2555904.0
+jvm_memory_pool_bytes_init{cluster="standalone",pool="Metaspace"} 0.0
+jvm_memory_pool_bytes_init{cluster="standalone",pool="Compressed Class Space"} 0.0
+jvm_memory_pool_bytes_init{cluster="standalone",pool="G1 Eden Space"} 1.128267776E9
+jvm_memory_pool_bytes_init{cluster="standalone",pool="G1 Survivor Space"} 0.0
+jvm_memory_pool_bytes_init{cluster="standalone",pool="G1 Old Gen"} 1.019215872E9
+# TYPE jvm_buffer_pool_used_bytes gauge
+jvm_buffer_pool_used_bytes{cluster="standalone",pool="direct"} 697534.0
+jvm_buffer_pool_used_bytes{cluster="standalone",pool="mapped"} 0.0
+# TYPE jvm_buffer_pool_capacity_bytes gauge
+jvm_buffer_pool_capacity_bytes{cluster="standalone",pool="direct"} 697533.0
+jvm_buffer_pool_capacity_bytes{cluster="standalone",pool="mapped"} 0.0
+# TYPE jvm_buffer_pool_used_buffers gauge
+jvm_buffer_pool_used_buffers{cluster="standalone",pool="direct"} 82.0
+jvm_buffer_pool_used_buffers{cluster="standalone",pool="mapped"} 0.0
+# TYPE zookeeper_server_znode_count gauge
+zookeeper_server_znode_count{cluster="standalone"} 4175.0
+# TYPE zookeeper_server_data_size_bytes gauge
+zookeeper_server_data_size_bytes{cluster="standalone"} 459126.0
+# TYPE jvm_gc_collection_seconds summary
+jvm_gc_collection_seconds_count{cluster="standalone",gc="G1 Young Generation"} 14.0
+jvm_gc_collection_seconds_sum{cluster="standalone",gc="G1 Young Generation"} 3.13
+jvm_gc_collection_seconds_count{cluster="standalone",gc="G1 Old Generation"} 0.0
+jvm_gc_collection_seconds_sum{cluster="standalone",gc="G1 Old Generation"} 0.0
+# TYPE pulsar_topics_count gauge
+pulsar_topics_count{cluster="standalone"} 0 1583775788853
+# TYPE pulsar_subscriptions_count gauge
+pulsar_subscriptions_count{cluster="standalone"} 0 1583775788853
+# TYPE pulsar_producers_count gauge
+pulsar_producers_count{cluster="standalone"} 0 1583775788853
+# TYPE pulsar_consumers_count gauge
+pulsar_consumers_count{cluster="standalone"} 0 1583775788853
+# TYPE pulsar_rate_in gauge
+pulsar_rate_in{cluster="standalone"} 0 1583775788853
+# TYPE pulsar_rate_out gauge
+pulsar_rate_out{cluster="standalone"} 0 1583775788853
+# TYPE pulsar_throughput_in gauge
+pulsar_throughput_in{cluster="standalone"} 0 1583775788853
+# TYPE pulsar_throughput_out gauge
+pulsar_throughput_out{cluster="standalone"} 0 1583775788853
+# TYPE pulsar_storage_size gauge
+pulsar_storage_size{cluster="standalone"} 0 1583775788853
+# TYPE pulsar_storage_write_rate gauge
+pulsar_storage_write_rate{cluster="standalone"} 0 1583775788853
+# TYPE pulsar_storage_read_rate gauge
+pulsar_storage_read_rate{cluster="standalone"} 0 1583775788853
+# TYPE pulsar_msg_backlog gauge
+pulsar_msg_backlog{cluster="standalone"} 0 1583775788853
+pulsar_topics_count{cluster="standalone",namespace="sample/dev"} 2 1583775788853
+pulsar_subscriptions_count{cluster="standalone",namespace="sample/dev"} 6 1583775788853
+pulsar_producers_count{cluster="standalone",namespace="sample/dev"} 4 1583775788853
+pulsar_consumers_count{cluster="standalone",namespace="sample/dev"} 10 1583775788853
+pulsar_rate_in{cluster="standalone",namespace="sample/dev"} 48.004 1583775788853
+pulsar_rate_out{cluster="standalone",namespace="sample/dev"} 146.018 1583775788853
+pulsar_throughput_in{cluster="standalone",namespace="sample/dev"} 2736.243 1583775788853
+pulsar_throughput_out{cluster="standalone",namespace="sample/dev"} 8323.043 1583775788853
+pulsar_storage_size{cluster="standalone",namespace="sample/dev"} 2684208 1583775788853
+# TYPE pulsar_storage_backlog_size gauge
+pulsar_storage_backlog_size{cluster="standalone",namespace="sample/dev"} 35452322 1583775788853
+# TYPE pulsar_storage_offloaded_size gauge
+pulsar_storage_offloaded_size{cluster="standalone",namespace="sample/dev"} 0 1583775788853
+pulsar_storage_write_rate{cluster="standalone",namespace="sample/dev"} 50.200 1583775788853
+pulsar_storage_read_rate{cluster="standalone",namespace="sample/dev"} 0.0 1583775788853
+# TYPE pulsar_subscription_delayed gauge
+pulsar_subscription_delayed{cluster="standalone",namespace="sample/dev"} 0 1583775788853
+pulsar_msg_backlog{cluster="standalone",namespace="sample/dev",remote_cluster="local"} 8.0 1583775788853
+# TYPE pulsar_storage_write_latency_le_0_5 gauge
+pulsar_storage_write_latency_le_0_5{cluster="standalone",namespace="sample/dev"} 0 1583775788853
+# TYPE pulsar_storage_write_latency_le_1 gauge
+pulsar_storage_write_latency_le_1{cluster="standalone",namespace="sample/dev"} 23 1583775788853
+# TYPE pulsar_storage_write_latency_le_5 gauge
+pulsar_storage_write_latency_le_5{cluster="standalone",namespace="sample/dev"} 2900 1583775788853
+# TYPE pulsar_storage_write_latency_le_10 gauge
+pulsar_storage_write_latency_le_10{cluster="standalone",namespace="sample/dev"} 82 1583775788853
+# TYPE pulsar_storage_write_latency_le_20 gauge
+pulsar_storage_write_latency_le_20{cluster="standalone",namespace="sample/dev"} 6 1583775788853
+# TYPE pulsar_storage_write_latency_le_50 gauge
+pulsar_storage_write_latency_le_50{cluster="standalone",namespace="sample/dev"} 0 1583775788853
+# TYPE pulsar_storage_write_latency_le_100 gauge
+pulsar_storage_write_latency_le_100{cluster="standalone",namespace="sample/dev"} 0 1583775788853
+# TYPE pulsar_storage_write_latency_le_200 gauge
+pulsar_storage_write_latency_le_200{cluster="standalone",namespace="sample/dev"} 1 1583775788853
+# TYPE pulsar_storage_write_latency_le_1000 gauge
+pulsar_storage_write_latency_le_1000{cluster="standalone",namespace="sample/dev"} 0 1583775788853
+# TYPE pulsar_storage_write_latency_overflow gauge
+pulsar_storage_write_latency_overflow{cluster="standalone",namespace="sample/dev"} 0 1583775788853
+# TYPE pulsar_storage_write_latency_count gauge
+pulsar_storage_write_latency_count{cluster="standalone",namespace="sample/dev"} 3012 1583775788853
+# TYPE pulsar_storage_write_latency_sum gauge
+pulsar_storage_write_latency_sum{cluster="standalone",namespace="sample/dev"} 3012 1583775788853
+# TYPE pulsar_entry_size_le_128 gauge
+pulsar_entry_size_le_128{cluster="standalone",namespace="sample/dev"} 3012 1583775788853
+# TYPE pulsar_entry_size_le_512 gauge
+pulsar_entry_size_le_512{cluster="standalone",namespace="sample/dev"} 0 1583775788853
+# TYPE pulsar_entry_size_le_1_kb gauge
+pulsar_entry_size_le_1_kb{cluster="standalone",namespace="sample/dev"} 0 1583775788853
+# TYPE pulsar_entry_size_le_2_kb gauge
+pulsar_entry_size_le_2_kb{cluster="standalone",namespace="sample/dev"} 0 1583775788853
+# TYPE pulsar_entry_size_le_4_kb gauge
+pulsar_entry_size_le_4_kb{cluster="standalone",namespace="sample/dev"} 0 1583775788853
+# TYPE pulsar_entry_size_le_16_kb gauge
+pulsar_entry_size_le_16_kb{cluster="standalone",namespace="sample/dev"} 0 1583775788853
+# TYPE pulsar_entry_size_le_100_kb gauge
+pulsar_entry_size_le_100_kb{cluster="standalone",namespace="sample/dev"} 0 1583775788853
+# TYPE pulsar_entry_size_le_1_mb gauge
+pulsar_entry_size_le_1_mb{cluster="standalone",namespace="sample/dev"} 0 1583775788853
+# TYPE pulsar_entry_size_le_overflow gauge
+pulsar_entry_size_le_overflow{cluster="standalone",namespace="sample/dev"} 0 1583775788853
+# TYPE pulsar_entry_size_count gauge
+pulsar_entry_size_count{cluster="standalone",namespace="sample/dev"} 3012 1583775788853
+# TYPE pulsar_entry_size_sum gauge
+pulsar_entry_size_sum{cluster="standalone",namespace="sample/dev"} 3012 1583775788853
+pulsar_topics_count{cluster="standalone",namespace="public/functions"} 3 1583775788853
+pulsar_subscriptions_count{cluster="standalone",namespace="public/functions"} 3 1583775788853
+pulsar_producers_count{cluster="standalone",namespace="public/functions"} 2 1583775788853
+pulsar_consumers_count{cluster="standalone",namespace="public/functions"} 3 1583775788853
+pulsar_rate_in{cluster="standalone",namespace="public/functions"} 0.0 1583775788853
+pulsar_rate_out{cluster="standalone",namespace="public/functions"} 0.0 1583775788853
+pulsar_throughput_in{cluster="standalone",namespace="public/functions"} 0.0 1583775788853
+pulsar_throughput_out{cluster="standalone",namespace="public/functions"} 0.0 1583775788853
+pulsar_storage_size{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_storage_backlog_size{cluster="standalone",namespace="public/functions"} 35452322 1583775788853
+pulsar_storage_offloaded_size{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_storage_write_rate{cluster="standalone",namespace="public/functions"} 0.0 1583775788853
+pulsar_storage_read_rate{cluster="standalone",namespace="public/functions"} 0.0 1583775788853
+pulsar_subscription_delayed{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_msg_backlog{cluster="standalone",namespace="public/functions",remote_cluster="local"} 0.0 1583775788853
+pulsar_storage_write_latency_le_0_5{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_storage_write_latency_le_1{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_storage_write_latency_le_5{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_storage_write_latency_le_10{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_storage_write_latency_le_20{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_storage_write_latency_le_50{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_storage_write_latency_le_100{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_storage_write_latency_le_200{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_storage_write_latency_le_1000{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_storage_write_latency_overflow{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_storage_write_latency_count{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_storage_write_latency_sum{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_entry_size_le_128{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_entry_size_le_512{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_entry_size_le_1_kb{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_entry_size_le_2_kb{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_entry_size_le_4_kb{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_entry_size_le_16_kb{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_entry_size_le_100_kb{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_entry_size_le_1_mb{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_entry_size_le_overflow{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_entry_size_count{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_entry_size_sum{cluster="standalone",namespace="public/functions"} 0 1583775788853
+pulsar_topics_count{cluster="standalone",namespace="sample/prod"} 2 1583775788853
+pulsar_subscriptions_count{cluster="standalone",namespace="sample/prod"} 4 1583775788853
+pulsar_producers_count{cluster="standalone",namespace="sample/prod"} 4 1583775788853
+pulsar_consumers_count{cluster="standalone",namespace="sample/prod"} 8 1583775788853
+pulsar_rate_in{cluster="standalone",namespace="sample/prod"} 48.019 1583775788853
+pulsar_rate_out{cluster="standalone",namespace="sample/prod"} 96.039 1583775788853
+pulsar_throughput_in{cluster="standalone",namespace="sample/prod"} 2833.158 1583775788853
+pulsar_throughput_out{cluster="standalone",namespace="sample/prod"} 5666.330 1583775788853
+pulsar_storage_size{cluster="standalone",namespace="sample/prod"} 2784216 1583775788853
+pulsar_storage_backlog_size{cluster="standalone",namespace="sample/prod"} 35455322 1583775788853
+pulsar_storage_offloaded_size{cluster="standalone",namespace="sample/prod"} 0 1583775788853
+pulsar_storage_write_rate{cluster="standalone",namespace="sample/prod"} 50.016 1583775788853
+pulsar_storage_read_rate{cluster="standalone",namespace="sample/prod"} 0.0 1583775788853
+pulsar_subscription_delayed{cluster="standalone",namespace="sample/prod"} 0 1583775788853
+pulsar_msg_backlog{cluster="standalone",namespace="sample/prod",remote_cluster="local"} 0.0 1583775788853
+pulsar_storage_write_latency_le_0_5{cluster="standalone",namespace="sample/prod"} 0 1583775788853
+pulsar_storage_write_latency_le_1{cluster="standalone",namespace="sample/prod"} 20 1583775788853
+pulsar_storage_write_latency_le_5{cluster="standalone",namespace="sample/prod"} 2897 1583775788853
+pulsar_storage_write_latency_le_10{cluster="standalone",namespace="sample/prod"} 81 1583775788853
+pulsar_storage_write_latency_le_20{cluster="standalone",namespace="sample/prod"} 1 1583775788853
+pulsar_storage_write_latency_le_50{cluster="standalone",namespace="sample/prod"} 0 1583775788853
+pulsar_storage_write_latency_le_100{cluster="standalone",namespace="sample/prod"} 0 1583775788853
+pulsar_storage_write_latency_le_200{cluster="standalone",namespace="sample/prod"} 1 1583775788853
+pulsar_storage_write_latency_le_1000{cluster="standalone",namespace="sample/prod"} 0 1583775788853
+pulsar_storage_write_latency_overflow{cluster="standalone",namespace="sample/prod"} 0 1583775788853
+pulsar_storage_write_latency_count{cluster="standalone",namespace="sample/prod"} 3000 1583775788853
+pulsar_storage_write_latency_sum{cluster="standalone",namespace="sample/prod"} 3000 1583775788853
+pulsar_entry_size_le_128{cluster="standalone",namespace="sample/prod"} 3001 1583775788853
+pulsar_entry_size_le_512{cluster="standalone",namespace="sample/prod"} 0 1583775788853
+pulsar_entry_size_le_1_kb{cluster="standalone",namespace="sample/prod"} 0 1583775788853
+pulsar_entry_size_le_2_kb{cluster="standalone",namespace="sample/prod"} 0 1583775788853
+pulsar_entry_size_le_4_kb{cluster="standalone",namespace="sample/prod"} 0 1583775788853
+pulsar_entry_size_le_16_kb{cluster="standalone",namespace="sample/prod"} 0 1583775788853
+pulsar_entry_size_le_100_kb{cluster="standalone",namespace="sample/prod"} 0 1583775788853
+pulsar_entry_size_le_1_mb{cluster="standalone",namespace="sample/prod"} 0 1583775788853
+pulsar_entry_size_le_overflow{cluster="standalone",namespace="sample/prod"} 0 1583775788853
+pulsar_entry_size_count{cluster="standalone",namespace="sample/prod"} 3001 1583775788853
+pulsar_entry_size_sum{cluster="standalone",namespace="sample/prod"} 3001 1583775788853 \ No newline at end of file
diff --git a/src/go/collectors/go.d.plugin/modules/pulsar/testdata/standalone-v2.5.0-topics-2.txt b/src/go/collectors/go.d.plugin/modules/pulsar/testdata/standalone-v2.5.0-topics-2.txt
new file mode 100644
index 000000000..ba5006094
--- /dev/null
+++ b/src/go/collectors/go.d.plugin/modules/pulsar/testdata/standalone-v2.5.0-topics-2.txt
@@ -0,0 +1,748 @@
+# TYPE zookeeper_server_requests counter
+zookeeper_server_requests{cluster="standalone",type="getData"} 777.0
+zookeeper_server_requests{cluster="standalone",type="setData"} 14.0
+zookeeper_server_requests{cluster="standalone",type="ping"} 955.0
+zookeeper_server_requests{cluster="standalone",type="unknown"} 2.0
+zookeeper_server_requests{cluster="standalone",type="sync"} 21.0
+zookeeper_server_requests{cluster="standalone",type="delete"} 29.0
+zookeeper_server_requests{cluster="standalone",type="createSession"} 14.0
+zookeeper_server_requests{cluster="standalone",type="multi"} 3.0
+zookeeper_server_requests{cluster="standalone",type="getChildren"} 47.0
+zookeeper_server_requests{cluster="standalone",type="getChildren2"} 121.0
+zookeeper_server_requests{cluster="standalone",type="closeSession"} 5.0
+zookeeper_server_requests{cluster="standalone",type="create"} 99.0
+zookeeper_server_requests{cluster="standalone",type="exists"} 340.0
+# TYPE zk_write_latency summary
+zk_write_latency{cluster="standalone",quantile="0.5"} NaN
+zk_write_latency{cluster="standalone",quantile="0.75"} NaN
+zk_write_latency{cluster="standalone",quantile="0.95"} NaN
+zk_write_latency{cluster="standalone",quantile="0.99"} NaN
+zk_write_latency{cluster="standalone",quantile="0.999"} NaN
+zk_write_latency{cluster="standalone",quantile="0.9999"} NaN
+zk_write_latency_count{cluster="standalone"} 0.0
+zk_write_latency_sum{cluster="standalone"} 0.0
+# TYPE jetty_requests_total counter
+jetty_requests_total{cluster="standalone"} 106.0
+# TYPE jetty_requests_active gauge
+jetty_requests_active{cluster="standalone"} 1.0
+# TYPE jetty_requests_active_max gauge
+jetty_requests_active_max{cluster="standalone"} 2.0
+# TYPE jetty_request_time_max_seconds gauge
+jetty_request_time_max_seconds{cluster="standalone"} 0.453
+# TYPE jetty_request_time_seconds_total counter
+jetty_request_time_seconds_total{cluster="standalone"} 1.595
+# TYPE jetty_dispatched_total counter
+jetty_dispatched_total{cluster="standalone"} 106.0
+# TYPE jetty_dispatched_active gauge
+jetty_dispatched_active{cluster="standalone"} 0.0
+# TYPE jetty_dispatched_active_max gauge
+jetty_dispatched_active_max{cluster="standalone"} 2.0
+# TYPE jetty_dispatched_time_max gauge
+jetty_dispatched_time_max{cluster="standalone"} 453.0
+# TYPE jetty_dispatched_time_seconds_total counter
+jetty_dispatched_time_seconds_total{cluster="standalone"} 0.737
+# TYPE jetty_async_requests_total counter
+jetty_async_requests_total{cluster="standalone"} 39.0
+# TYPE jetty_async_requests_waiting gauge
+jetty_async_requests_waiting{cluster="standalone"} 1.0
+# TYPE jetty_async_requests_waiting_max gauge
+jetty_async_requests_waiting_max{cluster="standalone"} 1.0
+# TYPE jetty_async_dispatches_total counter
+jetty_async_dispatches_total{cluster="standalone"} 0.0
+# TYPE jetty_expires_total counter
+jetty_expires_total{cluster="standalone"} 0.0
+# TYPE jetty_responses_total counter
+jetty_responses_total{cluster="standalone",code="1xx"} 0.0
+jetty_responses_total{cluster="standalone",code="2xx"} 66.0
+jetty_responses_total{cluster="standalone",code="3xx"} 38.0
+jetty_responses_total{cluster="standalone",code="4xx"} 1.0
+jetty_responses_total{cluster="standalone",code="5xx"} 0.0
+# TYPE jetty_stats_seconds gauge
+jetty_stats_seconds{cluster="standalone"} 565.434
+# TYPE jetty_responses_bytes_total counter
+jetty_responses_bytes_total{cluster="standalone"} 2865485.0
+# TYPE jvm_info gauge
+jvm_info{cluster="standalone",version="1.8.0_232-b09",vendor="Oracle Corporation",runtime="OpenJDK Runtime Environment"} 1.0
+# TYPE log4j2_appender_total counter
+log4j2_appender_total{cluster="standalone",level="debug"} 0.0
+log4j2_appender_total{cluster="standalone",level="warn"} 44.0
+log4j2_appender_total{cluster="standalone",level="trace"} 0.0
+log4j2_appender_total{cluster="standalone",level="error"} 0.0
+log4j2_appender_total{cluster="standalone",level="fatal"} 0.0
+log4j2_appender_total{cluster="standalone",level="info"} 1437.0
+# TYPE zookeeper_server_connections gauge
+zookeeper_server_connections{cluster="standalone"} 10.0
+# TYPE jvm_memory_bytes_used gauge
+jvm_memory_bytes_used{cluster="standalone",area="heap"} 1.30309152E8
+jvm_memory_bytes_used{cluster="standalone",area="nonheap"} 1.21050512E8
+# TYPE jvm_memory_bytes_committed gauge
+jvm_memory_bytes_committed{cluster="standalone",area="heap"} 2.147483648E9
+jvm_memory_bytes_committed{cluster="standalone",area="nonheap"} 1.26242816E8
+# TYPE jvm_memory_bytes_max gauge
+jvm_memory_bytes_max{cluster="standalone",area="heap"} 2.147483648E9
+jvm_memory_bytes_max{cluster="standalone",area="nonheap"} -1.0
+# TYPE jvm_memory_bytes_init gauge
+jvm_memory_bytes_init{cluster="standalone",area="heap"} 2.147483648E9
+jvm_memory_bytes_init{cluster="standalone",area="nonheap"} 2555904.0
+# TYPE jvm_memory_pool_bytes_used gauge
+jvm_memory_pool_bytes_used{cluster="standalone",pool="Code Cache"} 2.9851008E7
+jvm_memory_pool_bytes_used{cluster="standalone",pool="Metaspace"} 8.1522184E7
+jvm_memory_pool_bytes_used{cluster="standalone",pool="Compressed Class Space"} 9677320.0
+jvm_memory_pool_bytes_used{cluster="standalone",pool="G1 Eden Space"} 2.2020096E7
+jvm_memory_pool_bytes_used{cluster="standalone",pool="G1 Survivor Space"} 7.0254592E7
+jvm_memory_pool_bytes_used{cluster="standalone",pool="G1 Old Gen"} 3.8034464E7
+# TYPE jvm_memory_pool_bytes_committed gauge
+jvm_memory_pool_bytes_committed{cluster="standalone",pool="Code Cache"} 3.014656E7
+jvm_memory_pool_bytes_committed{cluster="standalone",pool="Metaspace"} 8.5532672E7
+jvm_memory_pool_bytes_committed{cluster="standalone",pool="Compressed Class Space"} 1.0563584E7
+jvm_memory_pool_bytes_committed{cluster="standalone",pool="G1 Eden Space"} 1.058013184E9
+jvm_memory_pool_bytes_committed{cluster="standalone",pool="G1 Survivor Space"} 7.0254592E7
+jvm_memory_pool_bytes_committed{cluster="standalone",pool="G1 Old Gen"} 1.019215872E9
+# TYPE jvm_memory_pool_bytes_max gauge
+jvm_memory_pool_bytes_max{cluster="standalone",pool="Code Cache"} 2.5165824E8
+jvm_memory_pool_bytes_max{cluster="standalone",pool="Metaspace"} -1.0
+jvm_memory_pool_bytes_max{cluster="standalone",pool="Compressed Class Space"} 1.073741824E9
+jvm_memory_pool_bytes_max{cluster="standalone",pool="G1 Eden Space"} -1.0
+jvm_memory_pool_bytes_max{cluster="standalone",pool="G1 Survivor Space"} -1.0
+jvm_memory_pool_bytes_max{cluster="standalone",pool="G1 Old Gen"} 2.147483648E9
+# TYPE jvm_memory_pool_bytes_init gauge
+jvm_memory_pool_bytes_init{cluster="standalone",pool="Code Cache"} 2555904.0
+jvm_memory_pool_bytes_init{cluster="standalone",pool="Metaspace"} 0.0
+jvm_memory_pool_bytes_init{cluster="standalone",pool="Compressed Class Space"} 0.0
+jvm_memory_pool_bytes_init{cluster="standalone",pool="G1 Eden Space"} 1.128267776E9
+jvm_memory_pool_bytes_init{cluster="standalone",pool="G1 Survivor Space"} 0.0
+jvm_memory_pool_bytes_init{cluster="standalone",pool="G1 Old Gen"} 1.019215872E9
+# TYPE jvm_threads_current gauge
+jvm_threads_current{cluster="standalone"} 291.0
+# TYPE jvm_threads_daemon gauge
+jvm_threads_daemon{cluster="standalone"} 49.0
+# TYPE jvm_threads_peak gauge
+jvm_threads_peak{cluster="standalone"} 291.0
+# TYPE jvm_threads_started_total counter
+jvm_threads_started_total{cluster="standalone"} 331.0
+# TYPE jvm_threads_deadlocked gauge
+jvm_threads_deadlocked{cluster="standalone"} 0.0
+# TYPE jvm_threads_deadlocked_monitor gauge
+jvm_threads_deadlocked_monitor{cluster="standalone"} 0.0
+# TYPE caffeine_cache_hit_total counter
+caffeine_cache_hit_total{cluster="standalone",cache="owned-bundles"} 95.0
+caffeine_cache_hit_total{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_hit_total{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_hit_total{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_hit_total{cluster="standalone",cache="local-zk-exists"} 2.0
+caffeine_cache_hit_total{cluster="standalone",cache="local-zk-children"} 2.0
+caffeine_cache_hit_total{cluster="standalone",cache="bundles"} 126.0
+caffeine_cache_hit_total{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_hit_total{cluster="standalone",cache="local-zk-data"} 7.0
+caffeine_cache_hit_total{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_hit_total{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE caffeine_cache_miss_total counter
+caffeine_cache_miss_total{cluster="standalone",cache="owned-bundles"} 11.0
+caffeine_cache_miss_total{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_miss_total{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_miss_total{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_miss_total{cluster="standalone",cache="local-zk-exists"} 9.0
+caffeine_cache_miss_total{cluster="standalone",cache="local-zk-children"} 7.0
+caffeine_cache_miss_total{cluster="standalone",cache="bundles"} 4.0
+caffeine_cache_miss_total{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_miss_total{cluster="standalone",cache="local-zk-data"} 21.0
+caffeine_cache_miss_total{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_miss_total{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE caffeine_cache_requests_total counter
+caffeine_cache_requests_total{cluster="standalone",cache="owned-bundles"} 106.0
+caffeine_cache_requests_total{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_requests_total{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_requests_total{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_requests_total{cluster="standalone",cache="local-zk-exists"} 11.0
+caffeine_cache_requests_total{cluster="standalone",cache="local-zk-children"} 9.0
+caffeine_cache_requests_total{cluster="standalone",cache="bundles"} 130.0
+caffeine_cache_requests_total{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_requests_total{cluster="standalone",cache="local-zk-data"} 28.0
+caffeine_cache_requests_total{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_requests_total{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE caffeine_cache_eviction_total counter
+caffeine_cache_eviction_total{cluster="standalone",cache="owned-bundles"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="local-zk-exists"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="local-zk-children"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="bundles"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="local-zk-data"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE caffeine_cache_eviction_weight gauge
+caffeine_cache_eviction_weight{cluster="standalone",cache="owned-bundles"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="local-zk-exists"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="local-zk-children"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="bundles"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="local-zk-data"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE caffeine_cache_load_failure_total counter
+caffeine_cache_load_failure_total{cluster="standalone",cache="owned-bundles"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="local-zk-exists"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="local-zk-children"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="bundles"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="local-zk-data"} 16.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE caffeine_cache_loads_total counter
+caffeine_cache_loads_total{cluster="standalone",cache="owned-bundles"} 6.0
+caffeine_cache_loads_total{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_loads_total{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_loads_total{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_loads_total{cluster="standalone",cache="local-zk-exists"} 9.0
+caffeine_cache_loads_total{cluster="standalone",cache="local-zk-children"} 7.0
+caffeine_cache_loads_total{cluster="standalone",cache="bundles"} 4.0
+caffeine_cache_loads_total{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_loads_total{cluster="standalone",cache="local-zk-data"} 21.0
+caffeine_cache_loads_total{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_loads_total{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE caffeine_cache_estimated_size gauge
+caffeine_cache_estimated_size{cluster="standalone",cache="owned-bundles"} 6.0
+caffeine_cache_estimated_size{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_estimated_size{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_estimated_size{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_estimated_size{cluster="standalone",cache="local-zk-exists"} 7.0
+caffeine_cache_estimated_size{cluster="standalone",cache="local-zk-children"} 4.0
+caffeine_cache_estimated_size{cluster="standalone",cache="bundles"} 4.0
+caffeine_cache_estimated_size{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_estimated_size{cluster="standalone",cache="local-zk-data"} 5.0
+caffeine_cache_estimated_size{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_estimated_size{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE caffeine_cache_load_duration_seconds summary
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="owned-bundles"} 6.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="owned-bundles"} 0.136975304
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="local-zk-exists"} 9.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="local-zk-exists"} 0.064067898
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="local-zk-children"} 7.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="local-zk-children"} 0.100136473
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="bundles"} 4.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="bundles"} 0.079620575
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="local-zk-data"} 21.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="local-zk-data"} 0.117346453
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="global-zk-exists"} 0.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE zk_read_latency summary
+zk_read_latency{cluster="standalone",quantile="0.5"} NaN
+zk_read_latency{cluster="standalone",quantile="0.75"} NaN
+zk_read_latency{cluster="standalone",quantile="0.95"} NaN
+zk_read_latency{cluster="standalone",quantile="0.99"} NaN
+zk_read_latency{cluster="standalone",quantile="0.999"} NaN
+zk_read_latency{cluster="standalone",quantile="0.9999"} NaN
+zk_read_latency_count{cluster="standalone"} 0.0
+zk_read_latency_sum{cluster="standalone"} 0.0
+# TYPE topic_load_times summary
+topic_load_times{cluster="standalone",quantile="0.5"} NaN
+topic_load_times{cluster="standalone",quantile="0.75"} NaN
+topic_load_times{cluster="standalone",quantile="0.95"} NaN
+topic_load_times{cluster="standalone",quantile="0.99"} NaN
+topic_load_times{cluster="standalone",quantile="0.999"} NaN
+topic_load_times{cluster="standalone",quantile="0.9999"} NaN
+topic_load_times_count{cluster="standalone"} 0.0
+topic_load_times_sum{cluster="standalone"} 0.0
+# TYPE jvm_classes_loaded gauge
+jvm_classes_loaded{cluster="standalone"} 14323.0
+# TYPE jvm_classes_loaded_total counter
+jvm_classes_loaded_total{cluster="standalone"} 14323.0
+# TYPE jvm_classes_unloaded_total counter
+jvm_classes_unloaded_total{cluster="standalone"} 0.0
+# TYPE zookeeper_server_requests_latency_ms summary
+zookeeper_server_requests_latency_ms{cluster="standalone",type="read",quantile="0.5"} 0.0
+zookeeper_server_requests_latency_ms{cluster="standalone",type="read",quantile="0.75"} 0.0
+zookeeper_server_requests_latency_ms{cluster="standalone",type="read",quantile="0.95"} 1.0
+zookeeper_server_requests_latency_ms{cluster="standalone",type="read",quantile="0.99"} 1.0
+zookeeper_server_requests_latency_ms{cluster="standalone",type="read",quantile="0.999"} 1.0
+zookeeper_server_requests_latency_ms{cluster="standalone",type="read",quantile="0.9999"} 1.0
+zookeeper_server_requests_latency_ms{cluster="standalone",type="read",quantile="1.0"} 1.0
+zookeeper_server_requests_latency_ms_count{cluster="standalone",type="read"} 2245.0
+zookeeper_server_requests_latency_ms_sum{cluster="standalone",type="read"} 1340.0
+zookeeper_server_requests_latency_ms{cluster="standalone",type="write",quantile="0.5"} NaN
+zookeeper_server_requests_latency_ms{cluster="standalone",type="write",quantile="0.75"} NaN
+zookeeper_server_requests_latency_ms{cluster="standalone",type="write",quantile="0.95"} NaN
+zookeeper_server_requests_latency_ms{cluster="standalone",type="write",quantile="0.99"} NaN
+zookeeper_server_requests_latency_ms{cluster="standalone",type="write",quantile="0.999"} NaN
+zookeeper_server_requests_latency_ms{cluster="standalone",type="write",quantile="0.9999"} NaN
+zookeeper_server_requests_latency_ms{cluster="standalone",type="write",quantile="1.0"} NaN
+zookeeper_server_requests_latency_ms_count{cluster="standalone",type="write"} 182.0
+zookeeper_server_requests_latency_ms_sum{cluster="standalone",type="write"} 461.0
+# TYPE zookeeper_server_watches_count gauge
+zookeeper_server_watches_count{cluster="standalone"} 49.0
+# TYPE zookeeper_server_ephemerals_count gauge
+zookeeper_server_ephemerals_count{cluster="standalone"} 12.0
+# TYPE jvm_buffer_pool_used_bytes gauge
+jvm_buffer_pool_used_bytes{cluster="standalone",pool="direct"} 688964.0
+jvm_buffer_pool_used_bytes{cluster="standalone",pool="mapped"} 0.0
+# TYPE jvm_buffer_pool_capacity_bytes gauge
+jvm_buffer_pool_capacity_bytes{cluster="standalone",pool="direct"} 688963.0
+jvm_buffer_pool_capacity_bytes{cluster="standalone",pool="mapped"} 0.0
+# TYPE jvm_buffer_pool_used_buffers gauge
+jvm_buffer_pool_used_buffers{cluster="standalone",pool="direct"} 82.0
+jvm_buffer_pool_used_buffers{cluster="standalone",pool="mapped"} 0.0
+# TYPE jvm_gc_collection_seconds summary
+jvm_gc_collection_seconds_count{cluster="standalone",gc="G1 Young Generation"} 9.0
+jvm_gc_collection_seconds_sum{cluster="standalone",gc="G1 Young Generation"} 2.211
+jvm_gc_collection_seconds_count{cluster="standalone",gc="G1 Old Generation"} 0.0
+jvm_gc_collection_seconds_sum{cluster="standalone",gc="G1 Old Generation"} 0.0
+# TYPE pulsar_broker_publish_latency summary
+pulsar_broker_publish_latency{cluster="standalone",quantile="0.0"} 1.01
+pulsar_broker_publish_latency{cluster="standalone",quantile="0.5"} 2.333
+pulsar_broker_publish_latency{cluster="standalone",quantile="0.95"} 6.313
+pulsar_broker_publish_latency{cluster="standalone",quantile="0.99"} 11.05
+pulsar_broker_publish_latency{cluster="standalone",quantile="0.999"} 11.05
+pulsar_broker_publish_latency{cluster="standalone",quantile="0.9999"} 11.05
+pulsar_broker_publish_latency{cluster="standalone",quantile="1.0"} 11.05
+pulsar_broker_publish_latency_count{cluster="standalone"} 50123.0
+pulsar_broker_publish_latency_sum{cluster="standalone"} 116757.0
+# TYPE jvm_memory_direct_bytes_used gauge
+jvm_memory_direct_bytes_used{cluster="standalone"} 2.28189827E9
+# TYPE zookeeper_server_znode_count gauge
+zookeeper_server_znode_count{cluster="standalone"} 4215.0
+# TYPE zookeeper_server_data_size_bytes gauge
+zookeeper_server_data_size_bytes{cluster="standalone"} 465029.0
+# TYPE jvm_memory_direct_bytes_max gauge
+jvm_memory_direct_bytes_max{cluster="standalone"} 4.294967296E9
+# TYPE process_cpu_seconds_total counter
+process_cpu_seconds_total{cluster="standalone"} 284.97
+# TYPE process_start_time_seconds gauge
+process_start_time_seconds{cluster="standalone"} 1.583777691467E9
+# TYPE process_open_fds gauge
+process_open_fds{cluster="standalone"} 678.0
+# TYPE process_max_fds gauge
+process_max_fds{cluster="standalone"} 1048576.0
+# TYPE process_virtual_memory_bytes gauge
+process_virtual_memory_bytes{cluster="standalone"} 8.720920576E9
+# TYPE process_resident_memory_bytes gauge
+process_resident_memory_bytes{cluster="standalone"} 1.597915136E9
+# TYPE pulsar_topics_count gauge
+pulsar_topics_count{cluster="standalone"} 0 1583778276679
+# TYPE pulsar_subscriptions_count gauge
+pulsar_subscriptions_count{cluster="standalone"} 0 1583778276679
+# TYPE pulsar_producers_count gauge
+pulsar_producers_count{cluster="standalone"} 0 1583778276679
+# TYPE pulsar_consumers_count gauge
+pulsar_consumers_count{cluster="standalone"} 0 1583778276679
+# TYPE pulsar_rate_in gauge
+pulsar_rate_in{cluster="standalone"} 0 1583778276679
+# TYPE pulsar_rate_out gauge
+pulsar_rate_out{cluster="standalone"} 0 1583778276679
+# TYPE pulsar_throughput_in gauge
+pulsar_throughput_in{cluster="standalone"} 0 1583778276679
+# TYPE pulsar_throughput_out gauge
+pulsar_throughput_out{cluster="standalone"} 0 1583778276679
+# TYPE pulsar_storage_size gauge
+pulsar_storage_size{cluster="standalone"} 0 1583778276679
+# TYPE pulsar_storage_write_rate gauge
+pulsar_storage_write_rate{cluster="standalone"} 0 1583778276679
+# TYPE pulsar_storage_read_rate gauge
+pulsar_storage_read_rate{cluster="standalone"} 0 1583778276679
+# TYPE pulsar_msg_backlog gauge
+pulsar_msg_backlog{cluster="standalone"} 0 1583778276679
+pulsar_subscriptions_count{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 2.0 1583778276679
+pulsar_producers_count{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 2.0 1583778276679
+pulsar_consumers_count{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 4.0 1583778276679
+pulsar_rate_in{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 19.999 1583778276679
+pulsar_rate_out{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 39.999 1583778276679
+pulsar_throughput_in{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 1119.988 1583778276679
+pulsar_throughput_out{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 2239.979 1583778276679
+pulsar_storage_size{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 698700.0 1583778276679
+pulsar_msg_backlog{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 0.0 1583778276679
+# TYPE pulsar_storage_backlog_size gauge
+pulsar_storage_backlog_size{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 10045.0 1583778276679
+# TYPE pulsar_storage_offloaded_size gauge
+pulsar_storage_offloaded_size{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 0.0 1583778276679
+# TYPE pulsar_storage_backlog_quota_limit gauge
+pulsar_storage_backlog_quota_limit{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 10737418240.0 1583778276679
+# TYPE pulsar_storage_write_latency_le_0_5 gauge
+pulsar_storage_write_latency_le_0_5{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 0.0 1583778276679
+# TYPE pulsar_storage_write_latency_le_1 gauge
+pulsar_storage_write_latency_le_1{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 13.0 1583778276679
+# TYPE pulsar_storage_write_latency_le_5 gauge
+pulsar_storage_write_latency_le_5{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 1457.0 1583778276679
+# TYPE pulsar_storage_write_latency_le_10 gauge
+pulsar_storage_write_latency_le_10{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 20.0 1583778276679
+# TYPE pulsar_storage_write_latency_le_20 gauge
+pulsar_storage_write_latency_le_20{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 7.0 1583778276679
+# TYPE pulsar_storage_write_latency_le_50 gauge
+pulsar_storage_write_latency_le_50{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 1.0 1583778276679
+# TYPE pulsar_storage_write_latency_le_100 gauge
+pulsar_storage_write_latency_le_100{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 0.0 1583778276679
+# TYPE pulsar_storage_write_latency_le_200 gauge
+pulsar_storage_write_latency_le_200{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 0.0 1583778276679
+# TYPE pulsar_storage_write_latency_le_1000 gauge
+pulsar_storage_write_latency_le_1000{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 0.0 1583778276679
+# TYPE pulsar_storage_write_latency_overflow gauge
+pulsar_storage_write_latency_overflow{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 0.0 1583778276679
+# TYPE pulsar_storage_write_latency_count gauge
+pulsar_storage_write_latency_count{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 1498.0 1583778276679
+# TYPE pulsar_storage_write_latency_sum gauge
+pulsar_storage_write_latency_sum{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 1498.0 1583778276679
+# TYPE pulsar_entry_size_le_128 gauge
+pulsar_entry_size_le_128{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 1497.0 1583778276679
+# TYPE pulsar_entry_size_le_512 gauge
+pulsar_entry_size_le_512{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 0.0 1583778276679
+# TYPE pulsar_entry_size_le_1_kb gauge
+pulsar_entry_size_le_1_kb{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 0.0 1583778276679
+# TYPE pulsar_entry_size_le_2_kb gauge
+pulsar_entry_size_le_2_kb{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 0.0 1583778276679
+# TYPE pulsar_entry_size_le_4_kb gauge
+pulsar_entry_size_le_4_kb{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 0.0 1583778276679
+# TYPE pulsar_entry_size_le_16_kb gauge
+pulsar_entry_size_le_16_kb{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 0.0 1583778276679
+# TYPE pulsar_entry_size_le_100_kb gauge
+pulsar_entry_size_le_100_kb{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 0.0 1583778276679
+# TYPE pulsar_entry_size_le_1_mb gauge
+pulsar_entry_size_le_1_mb{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 0.0 1583778276679
+# TYPE pulsar_entry_size_le_overflow gauge
+pulsar_entry_size_le_overflow{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 0.0 1583778276679
+# TYPE pulsar_entry_size_count gauge
+pulsar_entry_size_count{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 1497.0 1583778276679
+# TYPE pulsar_entry_size_sum gauge
+pulsar_entry_size_sum{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 1497.0 1583778276679
+# TYPE pulsar_subscription_back_log gauge
+pulsar_subscription_back_log{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1",subscription="dev-dev-1-sub-2"} 0 1583778276679
+# TYPE pulsar_subscription_delayed gauge
+pulsar_subscription_delayed{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1",subscription="dev-dev-1-sub-2"} 0 1583778276679
+# TYPE pulsar_subscription_msg_rate_redeliver gauge
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1",subscription="dev-dev-1-sub-2"} 0.0 1583778276679
+# TYPE pulsar_subscription_unacked_messages gauge
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1",subscription="dev-dev-1-sub-2"} 0 1583778276679
+# TYPE pulsar_subscription_blocked_on_unacked_messages gauge
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1",subscription="dev-dev-1-sub-2"} 0 1583778276679
+# TYPE pulsar_subscription_msg_rate_out gauge
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1",subscription="dev-dev-1-sub-2"} 19.999 1583778276679
+# TYPE pulsar_subscription_msg_throughput_out gauge
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1",subscription="dev-dev-1-sub-2"} 1119.990 1583778276679
+pulsar_subscription_back_log{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1",subscription="dev-dev-1-sub-1"} 0 1583778276679
+pulsar_subscription_delayed{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1",subscription="dev-dev-1-sub-1"} 0 1583778276679
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1",subscription="dev-dev-1-sub-1"} 0.0 1583778276679
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1",subscription="dev-dev-1-sub-1"} 0 1583778276679
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1",subscription="dev-dev-1-sub-1"} 0 1583778276679
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1",subscription="dev-dev-1-sub-1"} 19.999 1583778276679
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1",subscription="dev-dev-1-sub-1"} 1119.989 1583778276679
+# TYPE pulsar_in_bytes_total gauge
+pulsar_in_bytes_total{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 698700.0 1583778276679
+# TYPE pulsar_in_messages_total gauge
+pulsar_in_messages_total{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-1"} 12521.0 1583778276679
+pulsar_subscriptions_count{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 4.0 1583778276679
+pulsar_producers_count{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 2.0 1583778276679
+pulsar_consumers_count{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 6.0 1583778276679
+pulsar_rate_in{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 21.0 1583778276679
+pulsar_rate_out{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 84.0 1583778276679
+pulsar_throughput_in{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 1176.007 1583778276679
+pulsar_throughput_out{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 4704.023 1583778276679
+pulsar_storage_size{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 698532.0 1583778276679
+pulsar_msg_backlog{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 0.0 1583778276679
+pulsar_storage_backlog_size{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 10042.0 1583778276679
+pulsar_storage_offloaded_size{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 0.0 1583778276679
+pulsar_storage_backlog_quota_limit{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 10737418240.0 1583778276679
+pulsar_storage_write_latency_le_0_5{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 0.0 1583778276679
+pulsar_storage_write_latency_le_1{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 0.0 1583778276679
+pulsar_storage_write_latency_le_5{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 1475.0 1583778276679
+pulsar_storage_write_latency_le_10{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 16.0 1583778276679
+pulsar_storage_write_latency_le_20{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 12.0 1583778276679
+pulsar_storage_write_latency_le_50{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 1.0 1583778276679
+pulsar_storage_write_latency_le_100{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 0.0 1583778276679
+pulsar_storage_write_latency_le_200{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 0.0 1583778276679
+pulsar_storage_write_latency_le_1000{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 0.0 1583778276679
+pulsar_storage_write_latency_overflow{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 0.0 1583778276679
+pulsar_storage_write_latency_count{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 1504.0 1583778276679
+pulsar_storage_write_latency_sum{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 1504.0 1583778276679
+pulsar_entry_size_le_128{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 1504.0 1583778276679
+pulsar_entry_size_le_512{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 0.0 1583778276679
+pulsar_entry_size_le_1_kb{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 0.0 1583778276679
+pulsar_entry_size_le_2_kb{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 0.0 1583778276679
+pulsar_entry_size_le_4_kb{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 0.0 1583778276679
+pulsar_entry_size_le_16_kb{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 0.0 1583778276679
+pulsar_entry_size_le_100_kb{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 0.0 1583778276679
+pulsar_entry_size_le_1_mb{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 0.0 1583778276679
+pulsar_entry_size_le_overflow{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 0.0 1583778276679
+pulsar_entry_size_count{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 1504.0 1583778276679
+pulsar_entry_size_sum{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 1504.0 1583778276679
+pulsar_subscription_back_log{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-1"} 0 1583778276679
+pulsar_subscription_delayed{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-1"} 0 1583778276679
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-1"} 0.0 1583778276679
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-1"} 0 1583778276679
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-1"} 0 1583778276679
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-1"} 21.0 1583778276679
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-1"} 1176.005 1583778276679
+pulsar_subscription_back_log{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-3"} 0 1583778276679
+pulsar_subscription_delayed{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-3"} 0 1583778276679
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-3"} 0.0 1583778276679
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-3"} 0 1583778276679
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-3"} 0 1583778276679
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-3"} 21.0 1583778276679
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-3"} 1176.007 1583778276679
+pulsar_subscription_back_log{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-2"} 0 1583778276679
+pulsar_subscription_delayed{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-2"} 0 1583778276679
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-2"} 0.0 1583778276679
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-2"} 0 1583778276679
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-2"} 0 1583778276679
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-2"} 21.0 1583778276679
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-2"} 1176.004 1583778276679
+pulsar_subscription_back_log{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-4"} 0 1583778276679
+pulsar_subscription_delayed{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-4"} 0 1583778276679
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-4"} 0.0 1583778276679
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-4"} 0 1583778276679
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-4"} 0 1583778276679
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-4"} 21.0 1583778276679
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2",subscription="dev-dev-2-sub-4"} 1176.006 1583778276679
+pulsar_in_bytes_total{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 698532.0 1583778276679
+pulsar_in_messages_total{cluster="standalone",namespace="sample/playground",topic="persistent://sample/playground/playground-2"} 12518.0 1583778276679
+pulsar_topics_count{cluster="standalone",namespace="sample/playground"} 2 1583778276679
+pulsar_subscriptions_count{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 2.0 1583778276680
+pulsar_producers_count{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 2.0 1583778276680
+pulsar_consumers_count{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 4.0 1583778276680
+pulsar_rate_in{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 18.999 1583778276680
+pulsar_rate_out{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 37.998 1583778276680
+pulsar_throughput_in{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 1101.966 1583778276680
+pulsar_throughput_out{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 2203.924 1583778276680
+pulsar_storage_size{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 725250.0 1583778276680
+pulsar_msg_backlog{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 0.0 1583778276680
+pulsar_storage_backlog_size{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 10071.0 1583778276680
+pulsar_storage_offloaded_size{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 0.0 1583778276680
+pulsar_storage_backlog_quota_limit{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 10737418240.0 1583778276680
+pulsar_storage_write_latency_le_0_5{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 0.0 1583778276680
+pulsar_storage_write_latency_le_1{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 5.0 1583778276680
+pulsar_storage_write_latency_le_5{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 1474.0 1583778276680
+pulsar_storage_write_latency_le_10{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 24.0 1583778276680
+pulsar_storage_write_latency_le_20{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 7.0 1583778276680
+pulsar_storage_write_latency_le_50{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 0.0 1583778276680
+pulsar_storage_write_latency_le_100{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 0.0 1583778276680
+pulsar_storage_write_latency_le_200{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 0.0 1583778276680
+pulsar_storage_write_latency_le_1000{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 0.0 1583778276680
+pulsar_storage_write_latency_overflow{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 0.0 1583778276680
+pulsar_storage_write_latency_count{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 1510.0 1583778276680
+pulsar_storage_write_latency_sum{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 1510.0 1583778276680
+pulsar_entry_size_le_128{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 1510.0 1583778276680
+pulsar_entry_size_le_512{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 0.0 1583778276680
+pulsar_entry_size_le_1_kb{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 0.0 1583778276680
+pulsar_entry_size_le_2_kb{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 0.0 1583778276680
+pulsar_entry_size_le_4_kb{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 0.0 1583778276680
+pulsar_entry_size_le_16_kb{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 0.0 1583778276680
+pulsar_entry_size_le_100_kb{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 0.0 1583778276680
+pulsar_entry_size_le_1_mb{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 0.0 1583778276680
+pulsar_entry_size_le_overflow{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 0.0 1583778276680
+pulsar_entry_size_count{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 1510.0 1583778276680
+pulsar_entry_size_sum{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 1510.0 1583778276680
+pulsar_subscription_back_log{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2",subscription="prod-prod-2-sub-1"} 0 1583778276680
+pulsar_subscription_delayed{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2",subscription="prod-prod-2-sub-1"} 0 1583778276680
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2",subscription="prod-prod-2-sub-1"} 0.0 1583778276680
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2",subscription="prod-prod-2-sub-1"} 0 1583778276680
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2",subscription="prod-prod-2-sub-1"} 0 1583778276680
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2",subscription="prod-prod-2-sub-1"} 18.999 1583778276680
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2",subscription="prod-prod-2-sub-1"} 1101.962 1583778276680
+pulsar_subscription_back_log{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2",subscription="prod-prod-2-sub-2"} 0 1583778276680
+pulsar_subscription_delayed{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2",subscription="prod-prod-2-sub-2"} 0 1583778276680
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2",subscription="prod-prod-2-sub-2"} 0.0 1583778276680
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2",subscription="prod-prod-2-sub-2"} 0 1583778276680
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2",subscription="prod-prod-2-sub-2"} 0 1583778276680
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2",subscription="prod-prod-2-sub-2"} 18.999 1583778276680
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2",subscription="prod-prod-2-sub-2"} 1101.961 1583778276680
+pulsar_in_bytes_total{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 725250.0 1583778276680
+pulsar_in_messages_total{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-2"} 12547.0 1583778276680
+pulsar_subscriptions_count{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 2.0 1583778276680
+pulsar_producers_count{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 2.0 1583778276680
+pulsar_consumers_count{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 4.0 1583778276680
+pulsar_rate_in{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 19.999 1583778276680
+pulsar_rate_out{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 39.998 1583778276680
+pulsar_throughput_in{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 1159.956 1583778276680
+pulsar_throughput_out{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 2319.911 1583778276680
+pulsar_storage_size{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 724728.0 1583778276680
+pulsar_msg_backlog{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 0.0 1583778276680
+pulsar_storage_backlog_size{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 10062.0 1583778276680
+pulsar_storage_offloaded_size{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 0.0 1583778276680
+pulsar_storage_backlog_quota_limit{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 10737418240.0 1583778276680
+pulsar_storage_write_latency_le_0_5{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 0.0 1583778276680
+pulsar_storage_write_latency_le_1{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 4.0 1583778276680
+pulsar_storage_write_latency_le_5{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 1487.0 1583778276680
+pulsar_storage_write_latency_le_10{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 19.0 1583778276680
+pulsar_storage_write_latency_le_20{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 5.0 1583778276680
+pulsar_storage_write_latency_le_50{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 2.0 1583778276680
+pulsar_storage_write_latency_le_100{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 0.0 1583778276680
+pulsar_storage_write_latency_le_200{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 0.0 1583778276680
+pulsar_storage_write_latency_le_1000{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 0.0 1583778276680
+pulsar_storage_write_latency_overflow{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 0.0 1583778276680
+pulsar_storage_write_latency_count{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 1517.0 1583778276680
+pulsar_storage_write_latency_sum{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 1517.0 1583778276680
+pulsar_entry_size_le_128{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 1517.0 1583778276680
+pulsar_entry_size_le_512{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 0.0 1583778276680
+pulsar_entry_size_le_1_kb{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 0.0 1583778276680
+pulsar_entry_size_le_2_kb{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 0.0 1583778276680
+pulsar_entry_size_le_4_kb{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 0.0 1583778276680
+pulsar_entry_size_le_16_kb{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 0.0 1583778276680
+pulsar_entry_size_le_100_kb{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 0.0 1583778276680
+pulsar_entry_size_le_1_mb{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 0.0 1583778276680
+pulsar_entry_size_le_overflow{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 0.0 1583778276680
+pulsar_entry_size_count{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 1517.0 1583778276680
+pulsar_entry_size_sum{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 1517.0 1583778276680
+pulsar_subscription_back_log{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1",subscription="prod-prod-1-sub-1"} 0 1583778276680
+pulsar_subscription_delayed{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1",subscription="prod-prod-1-sub-1"} 0 1583778276680
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1",subscription="prod-prod-1-sub-1"} 0.0 1583778276680
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1",subscription="prod-prod-1-sub-1"} 0 1583778276680
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1",subscription="prod-prod-1-sub-1"} 0 1583778276680
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1",subscription="prod-prod-1-sub-1"} 19.999 1583778276680
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1",subscription="prod-prod-1-sub-1"} 1159.955 1583778276680
+pulsar_subscription_back_log{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1",subscription="prod-prod-1-sub-2"} 0 1583778276680
+pulsar_subscription_delayed{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1",subscription="prod-prod-1-sub-2"} 0 1583778276680
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1",subscription="prod-prod-1-sub-2"} 0.0 1583778276680
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1",subscription="prod-prod-1-sub-2"} 0 1583778276680
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1",subscription="prod-prod-1-sub-2"} 0 1583778276680
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1",subscription="prod-prod-1-sub-2"} 19.999 1583778276680
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1",subscription="prod-prod-1-sub-2"} 1159.955 1583778276680
+pulsar_in_bytes_total{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 724844.0 1583778276680
+pulsar_in_messages_total{cluster="standalone",namespace="sample/test",topic="persistent://sample/test/test-1"} 12540.0 1583778276680
+pulsar_topics_count{cluster="standalone",namespace="sample/test"} 4 1583778276680
+pulsar_subscriptions_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 1.0 1583778276680
+pulsar_producers_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 1.0 1583778276680
+pulsar_consumers_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 1.0 1583778276680
+pulsar_rate_in{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_rate_out{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_throughput_in{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_throughput_out{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_storage_size{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_msg_backlog{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_storage_backlog_size{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_storage_offloaded_size{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_storage_backlog_quota_limit{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 10737418240.0 1583778276680
+pulsar_storage_write_latency_le_0_5{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_storage_write_latency_le_1{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_storage_write_latency_le_5{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_storage_write_latency_le_10{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_storage_write_latency_le_20{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_storage_write_latency_le_50{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_storage_write_latency_le_100{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_storage_write_latency_le_200{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_storage_write_latency_le_1000{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_storage_write_latency_overflow{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_storage_write_latency_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_storage_write_latency_sum{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_entry_size_le_128{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_entry_size_le_512{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_entry_size_le_1_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_entry_size_le_2_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_entry_size_le_4_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_entry_size_le_16_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_entry_size_le_100_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_entry_size_le_1_mb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_entry_size_le_overflow{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_entry_size_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_entry_size_sum{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_subscription_back_log{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata",subscription="reader-867af721a1"} 0 1583778276680
+pulsar_subscription_delayed{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata",subscription="reader-867af721a1"} 0 1583778276680
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata",subscription="reader-867af721a1"} 0.0 1583778276680
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata",subscription="reader-867af721a1"} 0 1583778276680
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata",subscription="reader-867af721a1"} 0 1583778276680
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata",subscription="reader-867af721a1"} 0.0 1583778276680
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata",subscription="reader-867af721a1"} 0.0 1583778276680
+pulsar_in_bytes_total{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_in_messages_total{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583778276680
+pulsar_subscriptions_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 1.0 1583778276680
+pulsar_producers_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_consumers_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 1.0 1583778276680
+pulsar_rate_in{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_rate_out{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_throughput_in{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_throughput_out{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_storage_size{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_msg_backlog{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_storage_backlog_size{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_storage_offloaded_size{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_storage_backlog_quota_limit{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 10737418240.0 1583778276680
+pulsar_storage_write_latency_le_0_5{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_storage_write_latency_le_1{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_storage_write_latency_le_5{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_storage_write_latency_le_10{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_storage_write_latency_le_20{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_storage_write_latency_le_50{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_storage_write_latency_le_100{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_storage_write_latency_le_200{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_storage_write_latency_le_1000{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_storage_write_latency_overflow{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_storage_write_latency_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_storage_write_latency_sum{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_entry_size_le_128{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_entry_size_le_512{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_entry_size_le_1_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_entry_size_le_2_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_entry_size_le_4_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_entry_size_le_16_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_entry_size_le_100_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_entry_size_le_1_mb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_entry_size_le_overflow{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_entry_size_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_entry_size_sum{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_subscription_back_log{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate",subscription="participants"} 0 1583778276680
+pulsar_subscription_delayed{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate",subscription="participants"} 0 1583778276680
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate",subscription="participants"} 0.0 1583778276680
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate",subscription="participants"} 0 1583778276680
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate",subscription="participants"} 0 1583778276680
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate",subscription="participants"} 0.0 1583778276680
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate",subscription="participants"} 0.0 1583778276680
+pulsar_in_bytes_total{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_in_messages_total{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583778276680
+pulsar_subscriptions_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 1.0 1583778276680
+pulsar_producers_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 1.0 1583778276680
+pulsar_consumers_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 1.0 1583778276680
+pulsar_rate_in{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_rate_out{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_throughput_in{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_throughput_out{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_storage_size{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_msg_backlog{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_storage_backlog_size{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_storage_offloaded_size{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_storage_backlog_quota_limit{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 10737418240.0 1583778276680
+pulsar_storage_write_latency_le_0_5{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_storage_write_latency_le_1{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_storage_write_latency_le_5{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_storage_write_latency_le_10{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_storage_write_latency_le_20{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_storage_write_latency_le_50{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_storage_write_latency_le_100{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_storage_write_latency_le_200{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_storage_write_latency_le_1000{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_storage_write_latency_overflow{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_storage_write_latency_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_storage_write_latency_sum{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_entry_size_le_128{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_entry_size_le_512{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_entry_size_le_1_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_entry_size_le_2_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_entry_size_le_4_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_entry_size_le_16_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_entry_size_le_100_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_entry_size_le_1_mb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_entry_size_le_overflow{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_entry_size_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_entry_size_sum{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_subscription_back_log{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments",subscription="reader-e3ab56439a"} 0 1583778276680
+pulsar_subscription_delayed{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments",subscription="reader-e3ab56439a"} 0 1583778276680
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments",subscription="reader-e3ab56439a"} 0.0 1583778276680
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments",subscription="reader-e3ab56439a"} 0 1583778276680
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments",subscription="reader-e3ab56439a"} 0 1583778276680
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments",subscription="reader-e3ab56439a"} 0.0 1583778276680
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments",subscription="reader-e3ab56439a"} 0.0 1583778276680
+pulsar_in_bytes_total{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_in_messages_total{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583778276680
+pulsar_topics_count{cluster="standalone",namespace="public/functions"} 7 1583778276680 \ No newline at end of file
diff --git a/src/go/collectors/go.d.plugin/modules/pulsar/testdata/standalone-v2.5.0-topics.txt b/src/go/collectors/go.d.plugin/modules/pulsar/testdata/standalone-v2.5.0-topics.txt
new file mode 100644
index 000000000..7e0f0212a
--- /dev/null
+++ b/src/go/collectors/go.d.plugin/modules/pulsar/testdata/standalone-v2.5.0-topics.txt
@@ -0,0 +1,748 @@
+# TYPE jvm_buffer_pool_used_bytes gauge
+jvm_buffer_pool_used_bytes{cluster="standalone",pool="direct"} 698586.0
+jvm_buffer_pool_used_bytes{cluster="standalone",pool="mapped"} 0.0
+# TYPE jvm_buffer_pool_capacity_bytes gauge
+jvm_buffer_pool_capacity_bytes{cluster="standalone",pool="direct"} 698585.0
+jvm_buffer_pool_capacity_bytes{cluster="standalone",pool="mapped"} 0.0
+# TYPE jvm_buffer_pool_used_buffers gauge
+jvm_buffer_pool_used_buffers{cluster="standalone",pool="direct"} 82.0
+jvm_buffer_pool_used_buffers{cluster="standalone",pool="mapped"} 0.0
+# TYPE jvm_memory_direct_bytes_used gauge
+jvm_memory_direct_bytes_used{cluster="standalone"} 2.28189827E9
+# TYPE zk_write_latency summary
+zk_write_latency{cluster="standalone",quantile="0.5"} NaN
+zk_write_latency{cluster="standalone",quantile="0.75"} NaN
+zk_write_latency{cluster="standalone",quantile="0.95"} NaN
+zk_write_latency{cluster="standalone",quantile="0.99"} NaN
+zk_write_latency{cluster="standalone",quantile="0.999"} NaN
+zk_write_latency{cluster="standalone",quantile="0.9999"} NaN
+zk_write_latency_count{cluster="standalone"} 0.0
+zk_write_latency_sum{cluster="standalone"} 0.0
+# TYPE jvm_memory_bytes_used gauge
+jvm_memory_bytes_used{cluster="standalone",area="heap"} 1.05170488E9
+jvm_memory_bytes_used{cluster="standalone",area="nonheap"} 1.35478104E8
+# TYPE jvm_memory_bytes_committed gauge
+jvm_memory_bytes_committed{cluster="standalone",area="heap"} 2.147483648E9
+jvm_memory_bytes_committed{cluster="standalone",area="nonheap"} 1.41377536E8
+# TYPE jvm_memory_bytes_max gauge
+jvm_memory_bytes_max{cluster="standalone",area="heap"} 2.147483648E9
+jvm_memory_bytes_max{cluster="standalone",area="nonheap"} -1.0
+# TYPE jvm_memory_bytes_init gauge
+jvm_memory_bytes_init{cluster="standalone",area="heap"} 2.147483648E9
+jvm_memory_bytes_init{cluster="standalone",area="nonheap"} 2555904.0
+# TYPE jvm_memory_pool_bytes_used gauge
+jvm_memory_pool_bytes_used{cluster="standalone",pool="Code Cache"} 4.147872E7
+jvm_memory_pool_bytes_used{cluster="standalone",pool="Metaspace"} 8.4205296E7
+jvm_memory_pool_bytes_used{cluster="standalone",pool="Compressed Class Space"} 9794088.0
+jvm_memory_pool_bytes_used{cluster="standalone",pool="G1 Eden Space"} 9.17504E8
+jvm_memory_pool_bytes_used{cluster="standalone",pool="G1 Survivor Space"} 4194304.0
+jvm_memory_pool_bytes_used{cluster="standalone",pool="G1 Old Gen"} 1.30006576E8
+# TYPE jvm_memory_pool_bytes_committed gauge
+jvm_memory_pool_bytes_committed{cluster="standalone",pool="Code Cache"} 4.1811968E7
+jvm_memory_pool_bytes_committed{cluster="standalone",pool="Metaspace"} 8.8817664E7
+jvm_memory_pool_bytes_committed{cluster="standalone",pool="Compressed Class Space"} 1.0747904E7
+jvm_memory_pool_bytes_committed{cluster="standalone",pool="G1 Eden Space"} 1.124073472E9
+jvm_memory_pool_bytes_committed{cluster="standalone",pool="G1 Survivor Space"} 4194304.0
+jvm_memory_pool_bytes_committed{cluster="standalone",pool="G1 Old Gen"} 1.019215872E9
+# TYPE jvm_memory_pool_bytes_max gauge
+jvm_memory_pool_bytes_max{cluster="standalone",pool="Code Cache"} 2.5165824E8
+jvm_memory_pool_bytes_max{cluster="standalone",pool="Metaspace"} -1.0
+jvm_memory_pool_bytes_max{cluster="standalone",pool="Compressed Class Space"} 1.073741824E9
+jvm_memory_pool_bytes_max{cluster="standalone",pool="G1 Eden Space"} -1.0
+jvm_memory_pool_bytes_max{cluster="standalone",pool="G1 Survivor Space"} -1.0
+jvm_memory_pool_bytes_max{cluster="standalone",pool="G1 Old Gen"} 2.147483648E9
+# TYPE jvm_memory_pool_bytes_init gauge
+jvm_memory_pool_bytes_init{cluster="standalone",pool="Code Cache"} 2555904.0
+jvm_memory_pool_bytes_init{cluster="standalone",pool="Metaspace"} 0.0
+jvm_memory_pool_bytes_init{cluster="standalone",pool="Compressed Class Space"} 0.0
+jvm_memory_pool_bytes_init{cluster="standalone",pool="G1 Eden Space"} 1.128267776E9
+jvm_memory_pool_bytes_init{cluster="standalone",pool="G1 Survivor Space"} 0.0
+jvm_memory_pool_bytes_init{cluster="standalone",pool="G1 Old Gen"} 1.019215872E9
+# TYPE log4j2_appender_total counter
+log4j2_appender_total{cluster="standalone",level="debug"} 0.0
+log4j2_appender_total{cluster="standalone",level="warn"} 307.0
+log4j2_appender_total{cluster="standalone",level="trace"} 0.0
+log4j2_appender_total{cluster="standalone",level="error"} 0.0
+log4j2_appender_total{cluster="standalone",level="fatal"} 0.0
+log4j2_appender_total{cluster="standalone",level="info"} 17746.0
+# TYPE jetty_requests_total counter
+jetty_requests_total{cluster="standalone"} 13063.0
+# TYPE jetty_requests_active gauge
+jetty_requests_active{cluster="standalone"} 1.0
+# TYPE jetty_requests_active_max gauge
+jetty_requests_active_max{cluster="standalone"} 2.0
+# TYPE jetty_request_time_max_seconds gauge
+jetty_request_time_max_seconds{cluster="standalone"} 1.02
+# TYPE jetty_request_time_seconds_total counter
+jetty_request_time_seconds_total{cluster="standalone"} 64.787
+# TYPE jetty_dispatched_total counter
+jetty_dispatched_total{cluster="standalone"} 13063.0
+# TYPE jetty_dispatched_active gauge
+jetty_dispatched_active{cluster="standalone"} 0.0
+# TYPE jetty_dispatched_active_max gauge
+jetty_dispatched_active_max{cluster="standalone"} 2.0
+# TYPE jetty_dispatched_time_max gauge
+jetty_dispatched_time_max{cluster="standalone"} 345.0
+# TYPE jetty_dispatched_time_seconds_total counter
+jetty_dispatched_time_seconds_total{cluster="standalone"} 5.054
+# TYPE jetty_async_requests_total counter
+jetty_async_requests_total{cluster="standalone"} 6480.0
+# TYPE jetty_async_requests_waiting gauge
+jetty_async_requests_waiting{cluster="standalone"} 1.0
+# TYPE jetty_async_requests_waiting_max gauge
+jetty_async_requests_waiting_max{cluster="standalone"} 2.0
+# TYPE jetty_async_dispatches_total counter
+jetty_async_dispatches_total{cluster="standalone"} 0.0
+# TYPE jetty_expires_total counter
+jetty_expires_total{cluster="standalone"} 0.0
+# TYPE jetty_responses_total counter
+jetty_responses_total{cluster="standalone",code="1xx"} 0.0
+jetty_responses_total{cluster="standalone",code="2xx"} 6683.0
+jetty_responses_total{cluster="standalone",code="3xx"} 6378.0
+jetty_responses_total{cluster="standalone",code="4xx"} 1.0
+jetty_responses_total{cluster="standalone",code="5xx"} 0.0
+# TYPE jetty_stats_seconds gauge
+jetty_stats_seconds{cluster="standalone"} 5822.682
+# TYPE jetty_responses_bytes_total counter
+jetty_responses_bytes_total{cluster="standalone"} 4.89996508E8
+# TYPE zookeeper_server_requests_latency_ms summary
+zookeeper_server_requests_latency_ms{cluster="standalone",type="read",quantile="0.5"} 0.0
+zookeeper_server_requests_latency_ms{cluster="standalone",type="read",quantile="0.75"} 1.0
+zookeeper_server_requests_latency_ms{cluster="standalone",type="read",quantile="0.95"} 1.0
+zookeeper_server_requests_latency_ms{cluster="standalone",type="read",quantile="0.99"} 2.0
+zookeeper_server_requests_latency_ms{cluster="standalone",type="read",quantile="0.999"} 5.0
+zookeeper_server_requests_latency_ms{cluster="standalone",type="read",quantile="0.9999"} 5.0
+zookeeper_server_requests_latency_ms{cluster="standalone",type="read",quantile="1.0"} 5.0
+zookeeper_server_requests_latency_ms_count{cluster="standalone",type="read"} 17769.0
+zookeeper_server_requests_latency_ms_sum{cluster="standalone",type="read"} 9455.0
+zookeeper_server_requests_latency_ms{cluster="standalone",type="write",quantile="0.5"} NaN
+zookeeper_server_requests_latency_ms{cluster="standalone",type="write",quantile="0.75"} NaN
+zookeeper_server_requests_latency_ms{cluster="standalone",type="write",quantile="0.95"} NaN
+zookeeper_server_requests_latency_ms{cluster="standalone",type="write",quantile="0.99"} NaN
+zookeeper_server_requests_latency_ms{cluster="standalone",type="write",quantile="0.999"} NaN
+zookeeper_server_requests_latency_ms{cluster="standalone",type="write",quantile="0.9999"} NaN
+zookeeper_server_requests_latency_ms{cluster="standalone",type="write",quantile="1.0"} NaN
+zookeeper_server_requests_latency_ms_count{cluster="standalone",type="write"} 2091.0
+zookeeper_server_requests_latency_ms_sum{cluster="standalone",type="write"} 3930.0
+# TYPE jvm_info gauge
+jvm_info{cluster="standalone",version="1.8.0_232-b09",vendor="Oracle Corporation",runtime="OpenJDK Runtime Environment"} 1.0
+# TYPE zookeeper_server_connections gauge
+zookeeper_server_connections{cluster="standalone"} 10.0
+# TYPE caffeine_cache_hit_total counter
+caffeine_cache_hit_total{cluster="standalone",cache="owned-bundles"} 714.0
+caffeine_cache_hit_total{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_hit_total{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_hit_total{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_hit_total{cluster="standalone",cache="local-zk-exists"} 2.0
+caffeine_cache_hit_total{cluster="standalone",cache="local-zk-children"} 2.0
+caffeine_cache_hit_total{cluster="standalone",cache="bundles"} 758.0
+caffeine_cache_hit_total{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_hit_total{cluster="standalone",cache="local-zk-data"} 10.0
+caffeine_cache_hit_total{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_hit_total{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE caffeine_cache_miss_total counter
+caffeine_cache_miss_total{cluster="standalone",cache="owned-bundles"} 11.0
+caffeine_cache_miss_total{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_miss_total{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_miss_total{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_miss_total{cluster="standalone",cache="local-zk-exists"} 7.0
+caffeine_cache_miss_total{cluster="standalone",cache="local-zk-children"} 8.0
+caffeine_cache_miss_total{cluster="standalone",cache="bundles"} 4.0
+caffeine_cache_miss_total{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_miss_total{cluster="standalone",cache="local-zk-data"} 79.0
+caffeine_cache_miss_total{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_miss_total{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE caffeine_cache_requests_total counter
+caffeine_cache_requests_total{cluster="standalone",cache="owned-bundles"} 725.0
+caffeine_cache_requests_total{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_requests_total{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_requests_total{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_requests_total{cluster="standalone",cache="local-zk-exists"} 9.0
+caffeine_cache_requests_total{cluster="standalone",cache="local-zk-children"} 10.0
+caffeine_cache_requests_total{cluster="standalone",cache="bundles"} 762.0
+caffeine_cache_requests_total{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_requests_total{cluster="standalone",cache="local-zk-data"} 89.0
+caffeine_cache_requests_total{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_requests_total{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE caffeine_cache_eviction_total counter
+caffeine_cache_eviction_total{cluster="standalone",cache="owned-bundles"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="local-zk-exists"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="local-zk-children"} 2.0
+caffeine_cache_eviction_total{cluster="standalone",cache="bundles"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="local-zk-data"} 5.0
+caffeine_cache_eviction_total{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_eviction_total{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE caffeine_cache_eviction_weight gauge
+caffeine_cache_eviction_weight{cluster="standalone",cache="owned-bundles"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="local-zk-exists"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="local-zk-children"} 2.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="bundles"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="local-zk-data"} 5.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_eviction_weight{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE caffeine_cache_load_failure_total counter
+caffeine_cache_load_failure_total{cluster="standalone",cache="owned-bundles"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="local-zk-exists"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="local-zk-children"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="bundles"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="local-zk-data"} 74.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_load_failure_total{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE caffeine_cache_loads_total counter
+caffeine_cache_loads_total{cluster="standalone",cache="owned-bundles"} 6.0
+caffeine_cache_loads_total{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_loads_total{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_loads_total{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_loads_total{cluster="standalone",cache="local-zk-exists"} 7.0
+caffeine_cache_loads_total{cluster="standalone",cache="local-zk-children"} 8.0
+caffeine_cache_loads_total{cluster="standalone",cache="bundles"} 4.0
+caffeine_cache_loads_total{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_loads_total{cluster="standalone",cache="local-zk-data"} 79.0
+caffeine_cache_loads_total{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_loads_total{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE caffeine_cache_estimated_size gauge
+caffeine_cache_estimated_size{cluster="standalone",cache="owned-bundles"} 6.0
+caffeine_cache_estimated_size{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_estimated_size{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_estimated_size{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_estimated_size{cluster="standalone",cache="local-zk-exists"} 7.0
+caffeine_cache_estimated_size{cluster="standalone",cache="local-zk-children"} 2.0
+caffeine_cache_estimated_size{cluster="standalone",cache="bundles"} 4.0
+caffeine_cache_estimated_size{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_estimated_size{cluster="standalone",cache="local-zk-data"} 0.0
+caffeine_cache_estimated_size{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_estimated_size{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE caffeine_cache_load_duration_seconds summary
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="owned-bundles"} 6.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="owned-bundles"} 0.064524869
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="bookies-racks-exists"} 0.0
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="global-zk-children"} 0.0
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="bookies-racks-children"} 0.0
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="local-zk-exists"} 7.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="local-zk-exists"} 0.020761008
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="local-zk-children"} 8.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="local-zk-children"} 0.075053592
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="bundles"} 4.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="bundles"} 0.022866292
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="global-zk-data"} 0.0
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="local-zk-data"} 79.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="local-zk-data"} 0.424431063
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="bookies-racks-data"} 0.0
+caffeine_cache_load_duration_seconds_count{cluster="standalone",cache="global-zk-exists"} 0.0
+caffeine_cache_load_duration_seconds_sum{cluster="standalone",cache="global-zk-exists"} 0.0
+# TYPE process_cpu_seconds_total counter
+process_cpu_seconds_total{cluster="standalone"} 2554.5
+# TYPE process_start_time_seconds gauge
+process_start_time_seconds{cluster="standalone"} 1.583768876396E9
+# TYPE process_open_fds gauge
+process_open_fds{cluster="standalone"} 678.0
+# TYPE process_max_fds gauge
+process_max_fds{cluster="standalone"} 1048576.0
+# TYPE process_virtual_memory_bytes gauge
+process_virtual_memory_bytes{cluster="standalone"} 8.749596672E9
+# TYPE process_resident_memory_bytes gauge
+process_resident_memory_bytes{cluster="standalone"} 1.679040512E9
+# TYPE jvm_classes_loaded gauge
+jvm_classes_loaded{cluster="standalone"} 14522.0
+# TYPE jvm_classes_loaded_total counter
+jvm_classes_loaded_total{cluster="standalone"} 14522.0
+# TYPE jvm_classes_unloaded_total counter
+jvm_classes_unloaded_total{cluster="standalone"} 0.0
+# TYPE zk_read_latency summary
+zk_read_latency{cluster="standalone",quantile="0.5"} NaN
+zk_read_latency{cluster="standalone",quantile="0.75"} NaN
+zk_read_latency{cluster="standalone",quantile="0.95"} NaN
+zk_read_latency{cluster="standalone",quantile="0.99"} NaN
+zk_read_latency{cluster="standalone",quantile="0.999"} NaN
+zk_read_latency{cluster="standalone",quantile="0.9999"} NaN
+zk_read_latency_count{cluster="standalone"} 0.0
+zk_read_latency_sum{cluster="standalone"} 0.0
+# TYPE zookeeper_server_requests counter
+zookeeper_server_requests{cluster="standalone",type="getData"} 2948.0
+zookeeper_server_requests{cluster="standalone",type="setData"} 270.0
+zookeeper_server_requests{cluster="standalone",type="ping"} 9679.0
+zookeeper_server_requests{cluster="standalone",type="unknown"} 2.0
+zookeeper_server_requests{cluster="standalone",type="sync"} 225.0
+zookeeper_server_requests{cluster="standalone",type="delete"} 1099.0
+zookeeper_server_requests{cluster="standalone",type="createSession"} 14.0
+zookeeper_server_requests{cluster="standalone",type="multi"} 311.0
+zookeeper_server_requests{cluster="standalone",type="getChildren"} 840.0
+zookeeper_server_requests{cluster="standalone",type="getChildren2"} 889.0
+zookeeper_server_requests{cluster="standalone",type="closeSession"} 5.0
+zookeeper_server_requests{cluster="standalone",type="create"} 478.0
+zookeeper_server_requests{cluster="standalone",type="exists"} 3100.0
+# TYPE pulsar_broker_publish_latency summary
+pulsar_broker_publish_latency{cluster="standalone",quantile="0.0"} 1.521
+pulsar_broker_publish_latency{cluster="standalone",quantile="0.5"} 2.295
+pulsar_broker_publish_latency{cluster="standalone",quantile="0.95"} 6.139
+pulsar_broker_publish_latency{cluster="standalone",quantile="0.99"} 19.977
+pulsar_broker_publish_latency{cluster="standalone",quantile="0.999"} 19.977
+pulsar_broker_publish_latency{cluster="standalone",quantile="0.9999"} 19.977
+pulsar_broker_publish_latency{cluster="standalone",quantile="1.0"} 19.977
+pulsar_broker_publish_latency_count{cluster="standalone"} 540306.0
+pulsar_broker_publish_latency_sum{cluster="standalone"} 1410934.0
+# TYPE zookeeper_server_watches_count gauge
+zookeeper_server_watches_count{cluster="standalone"} 37.0
+# TYPE zookeeper_server_ephemerals_count gauge
+zookeeper_server_ephemerals_count{cluster="standalone"} 12.0
+# TYPE topic_load_times summary
+topic_load_times{cluster="standalone",quantile="0.5"} NaN
+topic_load_times{cluster="standalone",quantile="0.75"} NaN
+topic_load_times{cluster="standalone",quantile="0.95"} NaN
+topic_load_times{cluster="standalone",quantile="0.99"} NaN
+topic_load_times{cluster="standalone",quantile="0.999"} NaN
+topic_load_times{cluster="standalone",quantile="0.9999"} NaN
+topic_load_times_count{cluster="standalone"} 0.0
+topic_load_times_sum{cluster="standalone"} 0.0
+# TYPE jvm_gc_collection_seconds summary
+jvm_gc_collection_seconds_count{cluster="standalone",gc="G1 Young Generation"} 64.0
+jvm_gc_collection_seconds_sum{cluster="standalone",gc="G1 Young Generation"} 13.761
+jvm_gc_collection_seconds_count{cluster="standalone",gc="G1 Old Generation"} 0.0
+jvm_gc_collection_seconds_sum{cluster="standalone",gc="G1 Old Generation"} 0.0
+# TYPE jvm_memory_direct_bytes_max gauge
+jvm_memory_direct_bytes_max{cluster="standalone"} 4.294967296E9
+# TYPE zookeeper_server_znode_count gauge
+zookeeper_server_znode_count{cluster="standalone"} 4157.0
+# TYPE zookeeper_server_data_size_bytes gauge
+zookeeper_server_data_size_bytes{cluster="standalone"} 457035.0
+# TYPE jvm_threads_current gauge
+jvm_threads_current{cluster="standalone"} 303.0
+# TYPE jvm_threads_daemon gauge
+jvm_threads_daemon{cluster="standalone"} 49.0
+# TYPE jvm_threads_peak gauge
+jvm_threads_peak{cluster="standalone"} 306.0
+# TYPE jvm_threads_started_total counter
+jvm_threads_started_total{cluster="standalone"} 474.0
+# TYPE jvm_threads_deadlocked gauge
+jvm_threads_deadlocked{cluster="standalone"} 0.0
+# TYPE jvm_threads_deadlocked_monitor gauge
+jvm_threads_deadlocked_monitor{cluster="standalone"} 0.0
+# TYPE pulsar_topics_count gauge
+pulsar_topics_count{cluster="standalone"} 0 1583774714170
+# TYPE pulsar_subscriptions_count gauge
+pulsar_subscriptions_count{cluster="standalone"} 0 1583774714170
+# TYPE pulsar_producers_count gauge
+pulsar_producers_count{cluster="standalone"} 0 1583774714170
+# TYPE pulsar_consumers_count gauge
+pulsar_consumers_count{cluster="standalone"} 0 1583774714170
+# TYPE pulsar_rate_in gauge
+pulsar_rate_in{cluster="standalone"} 0 1583774714170
+# TYPE pulsar_rate_out gauge
+pulsar_rate_out{cluster="standalone"} 0 1583774714170
+# TYPE pulsar_throughput_in gauge
+pulsar_throughput_in{cluster="standalone"} 0 1583774714170
+# TYPE pulsar_throughput_out gauge
+pulsar_throughput_out{cluster="standalone"} 0 1583774714170
+# TYPE pulsar_storage_size gauge
+pulsar_storage_size{cluster="standalone"} 0 1583774714170
+# TYPE pulsar_storage_write_rate gauge
+pulsar_storage_write_rate{cluster="standalone"} 0 1583774714170
+# TYPE pulsar_storage_read_rate gauge
+pulsar_storage_read_rate{cluster="standalone"} 0 1583774714170
+# TYPE pulsar_msg_backlog gauge
+pulsar_msg_backlog{cluster="standalone"} 0 1583774714170
+pulsar_subscriptions_count{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 2.0 1583774714170
+pulsar_producers_count{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 2.0 1583774714170
+pulsar_consumers_count{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 4.0 1583774714170
+pulsar_rate_in{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 25.013 1583774714170
+pulsar_rate_out{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 50.027 1583774714170
+pulsar_throughput_in{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 1450.789 1583774714170
+pulsar_throughput_out{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 2901.607 1583774714170
+pulsar_storage_size{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 1951642.0 1583774714170
+pulsar_msg_backlog{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 0.0 1583774714170
+# TYPE pulsar_storage_backlog_size gauge
+pulsar_storage_backlog_size{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 0.0 1583774714170
+# TYPE pulsar_storage_offloaded_size gauge
+pulsar_storage_offloaded_size{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 0.0 1583774714170
+# TYPE pulsar_storage_backlog_quota_limit gauge
+pulsar_storage_backlog_quota_limit{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 10737418240.0 1583774714170
+# TYPE pulsar_storage_write_latency_le_0_5 gauge
+pulsar_storage_write_latency_le_0_5{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 0.0 1583774714170
+# TYPE pulsar_storage_write_latency_le_1 gauge
+pulsar_storage_write_latency_le_1{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 10.0 1583774714170
+# TYPE pulsar_storage_write_latency_le_5 gauge
+pulsar_storage_write_latency_le_5{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 1308.0 1583774714170
+# TYPE pulsar_storage_write_latency_le_10 gauge
+pulsar_storage_write_latency_le_10{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 95.0 1583774714170
+# TYPE pulsar_storage_write_latency_le_20 gauge
+pulsar_storage_write_latency_le_20{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 26.0 1583774714170
+# TYPE pulsar_storage_write_latency_le_50 gauge
+pulsar_storage_write_latency_le_50{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 9.0 1583774714170
+# TYPE pulsar_storage_write_latency_le_100 gauge
+pulsar_storage_write_latency_le_100{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 0.0 1583774714170
+# TYPE pulsar_storage_write_latency_le_200 gauge
+pulsar_storage_write_latency_le_200{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 0.0 1583774714170
+# TYPE pulsar_storage_write_latency_le_1000 gauge
+pulsar_storage_write_latency_le_1000{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 0.0 1583774714170
+# TYPE pulsar_storage_write_latency_overflow gauge
+pulsar_storage_write_latency_overflow{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 0.0 1583774714170
+# TYPE pulsar_storage_write_latency_count gauge
+pulsar_storage_write_latency_count{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 1448.0 1583774714170
+# TYPE pulsar_storage_write_latency_sum gauge
+pulsar_storage_write_latency_sum{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 1448.0 1583774714170
+# TYPE pulsar_entry_size_le_128 gauge
+pulsar_entry_size_le_128{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 1448.0 1583774714170
+# TYPE pulsar_entry_size_le_512 gauge
+pulsar_entry_size_le_512{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 0.0 1583774714170
+# TYPE pulsar_entry_size_le_1_kb gauge
+pulsar_entry_size_le_1_kb{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 0.0 1583774714170
+# TYPE pulsar_entry_size_le_2_kb gauge
+pulsar_entry_size_le_2_kb{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 0.0 1583774714170
+# TYPE pulsar_entry_size_le_4_kb gauge
+pulsar_entry_size_le_4_kb{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 0.0 1583774714170
+# TYPE pulsar_entry_size_le_16_kb gauge
+pulsar_entry_size_le_16_kb{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 0.0 1583774714170
+# TYPE pulsar_entry_size_le_100_kb gauge
+pulsar_entry_size_le_100_kb{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 0.0 1583774714170
+# TYPE pulsar_entry_size_le_1_mb gauge
+pulsar_entry_size_le_1_mb{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 0.0 1583774714170
+# TYPE pulsar_entry_size_le_overflow gauge
+pulsar_entry_size_le_overflow{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 0.0 1583774714170
+# TYPE pulsar_entry_size_count gauge
+pulsar_entry_size_count{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 1448.0 1583774714170
+# TYPE pulsar_entry_size_sum gauge
+pulsar_entry_size_sum{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 1448.0 1583774714170
+# TYPE pulsar_subscription_back_log gauge
+pulsar_subscription_back_log{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1",subscription="dev-dev-1-sub-2"} 0 1583774714170
+# TYPE pulsar_subscription_delayed gauge
+pulsar_subscription_delayed{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1",subscription="dev-dev-1-sub-2"} 0 1583774714170
+# TYPE pulsar_subscription_msg_rate_redeliver gauge
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1",subscription="dev-dev-1-sub-2"} 0.0 1583774714170
+# TYPE pulsar_subscription_unacked_messages gauge
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1",subscription="dev-dev-1-sub-2"} 0 1583774714170
+# TYPE pulsar_subscription_blocked_on_unacked_messages gauge
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1",subscription="dev-dev-1-sub-2"} 0 1583774714170
+# TYPE pulsar_subscription_msg_rate_out gauge
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1",subscription="dev-dev-1-sub-2"} 25.013 1583774714170
+# TYPE pulsar_subscription_msg_throughput_out gauge
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1",subscription="dev-dev-1-sub-2"} 1450.808 1583774714170
+pulsar_subscription_back_log{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1",subscription="dev-dev-1-sub-1"} 0 1583774714170
+pulsar_subscription_delayed{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1",subscription="dev-dev-1-sub-1"} 0 1583774714170
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1",subscription="dev-dev-1-sub-1"} 0.0 1583774714170
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1",subscription="dev-dev-1-sub-1"} 0 1583774714170
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1",subscription="dev-dev-1-sub-1"} 0 1583774714170
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1",subscription="dev-dev-1-sub-1"} 25.013 1583774714170
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1",subscription="dev-dev-1-sub-1"} 1450.799 1583774714170
+# TYPE pulsar_in_bytes_total gauge
+pulsar_in_bytes_total{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 7657655.0 1583774714170
+# TYPE pulsar_in_messages_total gauge
+pulsar_in_messages_total{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-1"} 133649.0 1583774714170
+pulsar_subscriptions_count{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 4.0 1583774714170
+pulsar_producers_count{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 2.0 1583774714170
+pulsar_consumers_count{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 6.0 1583774714170
+pulsar_rate_in{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 25.014 1583774714170
+pulsar_rate_out{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 100.060 1583774714170
+pulsar_throughput_in{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 1450.862 1583774714170
+pulsar_throughput_out{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 5803.500 1583774714170
+pulsar_storage_size{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 2029478.0 1583774714170
+pulsar_msg_backlog{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 0.0 1583774714170
+pulsar_storage_backlog_size{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 0.0 1583774714170
+pulsar_storage_offloaded_size{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 0.0 1583774714170
+pulsar_storage_backlog_quota_limit{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 10737418240.0 1583774714170
+pulsar_storage_write_latency_le_0_5{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 0.0 1583774714170
+pulsar_storage_write_latency_le_1{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 15.0 1583774714170
+pulsar_storage_write_latency_le_5{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 1342.0 1583774714170
+pulsar_storage_write_latency_le_10{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 82.0 1583774714170
+pulsar_storage_write_latency_le_20{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 28.0 1583774714170
+pulsar_storage_write_latency_le_50{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 9.0 1583774714170
+pulsar_storage_write_latency_le_100{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 1.0 1583774714170
+pulsar_storage_write_latency_le_200{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 0.0 1583774714170
+pulsar_storage_write_latency_le_1000{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 0.0 1583774714170
+pulsar_storage_write_latency_overflow{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 0.0 1583774714170
+pulsar_storage_write_latency_count{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 1477.0 1583774714170
+pulsar_storage_write_latency_sum{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 1477.0 1583774714170
+pulsar_entry_size_le_128{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 1477.0 1583774714170
+pulsar_entry_size_le_512{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 0.0 1583774714170
+pulsar_entry_size_le_1_kb{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 0.0 1583774714170
+pulsar_entry_size_le_2_kb{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 0.0 1583774714170
+pulsar_entry_size_le_4_kb{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 0.0 1583774714170
+pulsar_entry_size_le_16_kb{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 0.0 1583774714170
+pulsar_entry_size_le_100_kb{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 0.0 1583774714170
+pulsar_entry_size_le_1_mb{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 0.0 1583774714170
+pulsar_entry_size_le_overflow{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 0.0 1583774714170
+pulsar_entry_size_count{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 1477.0 1583774714170
+pulsar_entry_size_sum{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 1477.0 1583774714170
+pulsar_subscription_back_log{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-1"} 0 1583774714170
+pulsar_subscription_delayed{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-1"} 0 1583774714170
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-1"} 0.0 1583774714170
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-1"} 0 1583774714170
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-1"} 0 1583774714170
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-1"} 25.015 1583774714170
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-1"} 1450.873 1583774714170
+pulsar_subscription_back_log{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-3"} 0 1583774714170
+pulsar_subscription_delayed{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-3"} 0 1583774714170
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-3"} 0.0 1583774714170
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-3"} 0 1583774714170
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-3"} 0 1583774714170
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-3"} 25.015 1583774714170
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-3"} 1450.878 1583774714170
+pulsar_subscription_back_log{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-2"} 0 1583774714170
+pulsar_subscription_delayed{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-2"} 0 1583774714170
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-2"} 0.0 1583774714170
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-2"} 0 1583774714170
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-2"} 0 1583774714170
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-2"} 25.015 1583774714170
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-2"} 1450.881 1583774714170
+pulsar_subscription_back_log{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-4"} 0 1583774714170
+pulsar_subscription_delayed{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-4"} 0 1583774714170
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-4"} 0.0 1583774714170
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-4"} 0 1583774714170
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-4"} 0 1583774714170
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-4"} 25.014 1583774714170
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2",subscription="dev-dev-2-sub-4"} 1450.866 1583774714170
+pulsar_in_bytes_total{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 7730949.0 1583774714170
+pulsar_in_messages_total{cluster="standalone",namespace="sample/dev",topic="persistent://sample/dev/dev-2"} 134992.0 1583774714170
+pulsar_topics_count{cluster="standalone",namespace="sample/dev"} 2 1583774714170
+pulsar_subscriptions_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 1.0 1583774714170
+pulsar_producers_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 1.0 1583774714170
+pulsar_consumers_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 1.0 1583774714170
+pulsar_rate_in{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_rate_out{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_throughput_in{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_throughput_out{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_storage_size{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_msg_backlog{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_storage_backlog_size{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_storage_offloaded_size{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_storage_backlog_quota_limit{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 10737418240.0 1583774714170
+pulsar_storage_write_latency_le_0_5{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_storage_write_latency_le_1{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_storage_write_latency_le_5{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_storage_write_latency_le_10{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_storage_write_latency_le_20{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_storage_write_latency_le_50{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_storage_write_latency_le_100{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_storage_write_latency_le_200{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_storage_write_latency_le_1000{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_storage_write_latency_overflow{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_storage_write_latency_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_storage_write_latency_sum{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_entry_size_le_128{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_entry_size_le_512{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_entry_size_le_1_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_entry_size_le_2_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_entry_size_le_4_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_entry_size_le_16_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_entry_size_le_100_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_entry_size_le_1_mb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_entry_size_le_overflow{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_entry_size_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_entry_size_sum{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_subscription_back_log{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata",subscription="reader-b8cf46412d"} 0 1583774714170
+pulsar_subscription_delayed{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata",subscription="reader-b8cf46412d"} 0 1583774714170
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata",subscription="reader-b8cf46412d"} 0.0 1583774714170
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata",subscription="reader-b8cf46412d"} 0 1583774714170
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata",subscription="reader-b8cf46412d"} 0 1583774714170
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata",subscription="reader-b8cf46412d"} 0.0 1583774714170
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata",subscription="reader-b8cf46412d"} 0.0 1583774714170
+pulsar_in_bytes_total{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_in_messages_total{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/metadata"} 0.0 1583774714170
+pulsar_subscriptions_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 1.0 1583774714170
+pulsar_producers_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_consumers_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 1.0 1583774714170
+pulsar_rate_in{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_rate_out{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_throughput_in{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_throughput_out{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_storage_size{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_msg_backlog{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_storage_backlog_size{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_storage_offloaded_size{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_storage_backlog_quota_limit{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 10737418240.0 1583774714170
+pulsar_storage_write_latency_le_0_5{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_storage_write_latency_le_1{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_storage_write_latency_le_5{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_storage_write_latency_le_10{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_storage_write_latency_le_20{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_storage_write_latency_le_50{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_storage_write_latency_le_100{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_storage_write_latency_le_200{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_storage_write_latency_le_1000{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_storage_write_latency_overflow{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_storage_write_latency_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_storage_write_latency_sum{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_entry_size_le_128{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_entry_size_le_512{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_entry_size_le_1_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_entry_size_le_2_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_entry_size_le_4_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_entry_size_le_16_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_entry_size_le_100_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_entry_size_le_1_mb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_entry_size_le_overflow{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_entry_size_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_entry_size_sum{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_subscription_back_log{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate",subscription="participants"} 0 1583774714170
+pulsar_subscription_delayed{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate",subscription="participants"} 0 1583774714170
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate",subscription="participants"} 0.0 1583774714170
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate",subscription="participants"} 0 1583774714170
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate",subscription="participants"} 0 1583774714170
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate",subscription="participants"} 0.0 1583774714170
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate",subscription="participants"} 0.0 1583774714170
+pulsar_in_bytes_total{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_in_messages_total{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/coordinate"} 0.0 1583774714170
+pulsar_subscriptions_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 1.0 1583774714170
+pulsar_producers_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 1.0 1583774714170
+pulsar_consumers_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 1.0 1583774714170
+pulsar_rate_in{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_rate_out{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_throughput_in{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_throughput_out{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_storage_size{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_msg_backlog{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_storage_backlog_size{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_storage_offloaded_size{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_storage_backlog_quota_limit{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 10737418240.0 1583774714170
+pulsar_storage_write_latency_le_0_5{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_storage_write_latency_le_1{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_storage_write_latency_le_5{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_storage_write_latency_le_10{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_storage_write_latency_le_20{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_storage_write_latency_le_50{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_storage_write_latency_le_100{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_storage_write_latency_le_200{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_storage_write_latency_le_1000{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_storage_write_latency_overflow{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_storage_write_latency_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_storage_write_latency_sum{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_entry_size_le_128{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_entry_size_le_512{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_entry_size_le_1_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_entry_size_le_2_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_entry_size_le_4_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_entry_size_le_16_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_entry_size_le_100_kb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_entry_size_le_1_mb{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714170
+pulsar_entry_size_le_overflow{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714171
+pulsar_entry_size_count{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714171
+pulsar_entry_size_sum{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714171
+pulsar_subscription_back_log{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments",subscription="reader-d3be8b651a"} 0 1583774714171
+pulsar_subscription_delayed{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments",subscription="reader-d3be8b651a"} 0 1583774714171
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments",subscription="reader-d3be8b651a"} 0.0 1583774714171
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments",subscription="reader-d3be8b651a"} 0 1583774714171
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments",subscription="reader-d3be8b651a"} 0 1583774714171
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments",subscription="reader-d3be8b651a"} 0.0 1583774714171
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments",subscription="reader-d3be8b651a"} 0.0 1583774714171
+pulsar_in_bytes_total{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714171
+pulsar_in_messages_total{cluster="standalone",namespace="public/functions",topic="persistent://public/functions/assignments"} 0.0 1583774714171
+pulsar_topics_count{cluster="standalone",namespace="public/functions"} 5 1583774714171
+pulsar_subscriptions_count{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 2.0 1583774714171
+pulsar_producers_count{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 2.0 1583774714171
+pulsar_consumers_count{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 4.0 1583774714171
+pulsar_rate_in{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 26.018 1583774714171
+pulsar_rate_out{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 52.037 1583774714171
+pulsar_throughput_in{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 1561.110 1583774714171
+pulsar_throughput_out{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 3122.248 1583774714171
+pulsar_storage_size{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 2108760.0 1583774714171
+pulsar_msg_backlog{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 0.0 1583774714171
+pulsar_storage_backlog_size{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 0.0 1583774714171
+pulsar_storage_offloaded_size{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 0.0 1583774714171
+pulsar_storage_backlog_quota_limit{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 10737418240.0 1583774714171
+pulsar_storage_write_latency_le_0_5{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 0.0 1583774714171
+pulsar_storage_write_latency_le_1{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 9.0 1583774714171
+pulsar_storage_write_latency_le_5{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 1339.0 1583774714171
+pulsar_storage_write_latency_le_10{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 80.0 1583774714171
+pulsar_storage_write_latency_le_20{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 34.0 1583774714171
+pulsar_storage_write_latency_le_50{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 10.0 1583774714171
+pulsar_storage_write_latency_le_100{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 1.0 1583774714171
+pulsar_storage_write_latency_le_200{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 0.0 1583774714171
+pulsar_storage_write_latency_le_1000{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 0.0 1583774714171
+pulsar_storage_write_latency_overflow{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 0.0 1583774714171
+pulsar_storage_write_latency_count{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 1473.0 1583774714171
+pulsar_storage_write_latency_sum{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 1473.0 1583774714171
+pulsar_entry_size_le_128{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 1473.0 1583774714171
+pulsar_entry_size_le_512{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 0.0 1583774714171
+pulsar_entry_size_le_1_kb{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 0.0 1583774714171
+pulsar_entry_size_le_2_kb{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 0.0 1583774714171
+pulsar_entry_size_le_4_kb{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 0.0 1583774714171
+pulsar_entry_size_le_16_kb{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 0.0 1583774714171
+pulsar_entry_size_le_100_kb{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 0.0 1583774714171
+pulsar_entry_size_le_1_mb{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 0.0 1583774714171
+pulsar_entry_size_le_overflow{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 0.0 1583774714171
+pulsar_entry_size_count{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 1473.0 1583774714171
+pulsar_entry_size_sum{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 1473.0 1583774714171
+pulsar_subscription_back_log{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2",subscription="prod-prod-2-sub-1"} 0 1583774714171
+pulsar_subscription_delayed{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2",subscription="prod-prod-2-sub-1"} 0 1583774714171
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2",subscription="prod-prod-2-sub-1"} 0.0 1583774714171
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2",subscription="prod-prod-2-sub-1"} 0 1583774714171
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2",subscription="prod-prod-2-sub-1"} 0 1583774714171
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2",subscription="prod-prod-2-sub-1"} 26.018 1583774714171
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2",subscription="prod-prod-2-sub-1"} 1561.118 1583774714171
+pulsar_subscription_back_log{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2",subscription="prod-prod-2-sub-2"} 0 1583774714171
+pulsar_subscription_delayed{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2",subscription="prod-prod-2-sub-2"} 0 1583774714171
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2",subscription="prod-prod-2-sub-2"} 0.0 1583774714171
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2",subscription="prod-prod-2-sub-2"} 0 1583774714171
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2",subscription="prod-prod-2-sub-2"} 0 1583774714171
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2",subscription="prod-prod-2-sub-2"} 26.018 1583774714171
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2",subscription="prod-prod-2-sub-2"} 1561.130 1583774714171
+pulsar_in_bytes_total{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 8010057.0 1583774714171
+pulsar_in_messages_total{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-2"} 135146.0 1583774714171
+pulsar_subscriptions_count{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 2.0 1583774714171
+pulsar_producers_count{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 2.0 1583774714171
+pulsar_consumers_count{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 4.0 1583774714171
+pulsar_rate_in{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 26.019 1583774714171
+pulsar_rate_out{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 52.038 1583774714171
+pulsar_throughput_in{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 1561.151 1583774714171
+pulsar_throughput_out{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 3122.322 1583774714171
+pulsar_storage_size{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 2022420.0 1583774714171
+pulsar_msg_backlog{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 0.0 1583774714171
+pulsar_storage_backlog_size{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 0.0 1583774714171
+pulsar_storage_offloaded_size{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 0.0 1583774714171
+pulsar_storage_backlog_quota_limit{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 10737418240.0 1583774714171
+pulsar_storage_write_latency_le_0_5{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 0.0 1583774714171
+pulsar_storage_write_latency_le_1{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 7.0 1583774714171
+pulsar_storage_write_latency_le_5{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 1339.0 1583774714171
+pulsar_storage_write_latency_le_10{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 84.0 1583774714171
+pulsar_storage_write_latency_le_20{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 26.0 1583774714171
+pulsar_storage_write_latency_le_50{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 12.0 1583774714171
+pulsar_storage_write_latency_le_100{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 1.0 1583774714171
+pulsar_storage_write_latency_le_200{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 0.0 1583774714171
+pulsar_storage_write_latency_le_1000{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 0.0 1583774714171
+pulsar_storage_write_latency_overflow{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 0.0 1583774714171
+pulsar_storage_write_latency_count{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 1469.0 1583774714171
+pulsar_storage_write_latency_sum{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 1469.0 1583774714171
+pulsar_entry_size_le_128{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 1469.0 1583774714171
+pulsar_entry_size_le_512{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 0.0 1583774714171
+pulsar_entry_size_le_1_kb{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 0.0 1583774714171
+pulsar_entry_size_le_2_kb{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 0.0 1583774714171
+pulsar_entry_size_le_4_kb{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 0.0 1583774714171
+pulsar_entry_size_le_16_kb{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 0.0 1583774714171
+pulsar_entry_size_le_100_kb{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 0.0 1583774714171
+pulsar_entry_size_le_1_mb{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 0.0 1583774714171
+pulsar_entry_size_le_overflow{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 0.0 1583774714171
+pulsar_entry_size_count{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 1469.0 1583774714171
+pulsar_entry_size_sum{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 1469.0 1583774714171
+pulsar_subscription_back_log{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1",subscription="prod-prod-1-sub-1"} 0 1583774714171
+pulsar_subscription_delayed{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1",subscription="prod-prod-1-sub-1"} 0 1583774714171
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1",subscription="prod-prod-1-sub-1"} 0.0 1583774714171
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1",subscription="prod-prod-1-sub-1"} 0 1583774714171
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1",subscription="prod-prod-1-sub-1"} 0 1583774714171
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1",subscription="prod-prod-1-sub-1"} 26.019 1583774714171
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1",subscription="prod-prod-1-sub-1"} 1561.165 1583774714171
+pulsar_subscription_back_log{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1",subscription="prod-prod-1-sub-2"} 0 1583774714171
+pulsar_subscription_delayed{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1",subscription="prod-prod-1-sub-2"} 0 1583774714171
+pulsar_subscription_msg_rate_redeliver{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1",subscription="prod-prod-1-sub-2"} 0.0 1583774714171
+pulsar_subscription_unacked_messages{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1",subscription="prod-prod-1-sub-2"} 0 1583774714171
+pulsar_subscription_blocked_on_unacked_messages{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1",subscription="prod-prod-1-sub-2"} 0 1583774714171
+pulsar_subscription_msg_rate_out{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1",subscription="prod-prod-1-sub-2"} 26.019 1583774714171
+pulsar_subscription_msg_throughput_out{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1",subscription="prod-prod-1-sub-2"} 1561.157 1583774714171
+pulsar_in_bytes_total{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 7928433.0 1583774714171
+pulsar_in_messages_total{cluster="standalone",namespace="sample/prod",topic="persistent://sample/prod/prod-1"} 133707.0 1583774714171
+pulsar_topics_count{cluster="standalone",namespace="sample/prod"} 7 1583774714171 \ No newline at end of file