This is an automated email from the ASF dual-hosted git repository.

penghui pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pulsar-site.git


The following commit(s) were added to refs/heads/main by this push:
     new 7dd40d81b99b [feat][site] PIP-264: Document topic messaging metrics 
(#880)
7dd40d81b99b is described below

commit 7dd40d81b99b97d25d0c905973bf74865fcfc70e
Author: Dragos Misca <[email protected]>
AuthorDate: Mon May 6 16:51:02 2024 -0700

    [feat][site] PIP-264: Document topic messaging metrics (#880)
---
 docs/reference-metrics-opentelemetry.md | 363 ++++++++++++++++++++++++++++++++
 1 file changed, 363 insertions(+)

diff --git a/docs/reference-metrics-opentelemetry.md 
b/docs/reference-metrics-opentelemetry.md
index dd0b96d9f9ee..8c43f58800e5 100644
--- a/docs/reference-metrics-opentelemetry.md
+++ b/docs/reference-metrics-opentelemetry.md
@@ -8,6 +8,369 @@ Pulsar exposes the following OpenTelemetry metrics.
 
 ## Broker
 
+### Topic Messaging metrics
+
+#### pulsar.broker.topic.subscription.count
+The number of Pulsar subscriptions of the topic served by this broker.
+* Type: UpDownCounter
+* Unit: `{subscription}`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `By`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `By`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+
+#### pulsar.broker.topic.publish.rate.limit.count
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic, including storage used 
by replicas.
+* Type: UpDownCounter
+* Unit: `By`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of the messages in this topic, excluding storage used by 
replicas.
+* Type: UpDownCounter
+* Unit: `By`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+
+#### pulsar.broker.topic.storage.backlog.size
+The size of the backlog storage for this topic.
+* Type: UpDownCounter
+* Unit: `By`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `By`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: UpDownCounter
+* Unit: `By`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `s`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+
+#### pulsar.broker.topic.storage.backlog.quota.eviction.count
+The number of times a backlog was evicted since it has exceeded its quota.
+* Type: Counter
+* Unit: `{eviction}`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+  * `pulsar.backlog.quota.type` - The backlog quota type. Can be one of:
+    * `size`
+    * `time`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `s`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+
+#### pulsar.broker.topic.storage.entry.outgoing.count
+The total message batches (entries) written to the storage for this topic.
+* Type: Counter
+* Unit: `{entry}`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+
+#### pulsar.broker.topic.storage.entry.incoming.count
+The total message batches (entries) read from the storage for this topic.
+* Type: Counter
+* Unit: `{entry}`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+
+#### pulsar.broker.topic.compaction.removed.message.count
+The total number of messages removed by compaction.
+* Type: Counter
+* Unit: `{message}`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+
+#### pulsar.broker.topic.compaction.operation.count
+The total number of compaction operations.
+* Type: Counter
+* Unit: `{operation}`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+  * `pulsar.compaction.status` - The compaction status. Can be one of:
+    * `success`
+    * `failure
+
+#### pulsar.broker.topic.compaction.duration
+The total time duration of compaction operations on the topic.
+* Type: DoubleUpDownCounter
+* Unit: `s`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+
+#### pulsar.broker.topic.compaction.incoming.size
+The total count of bytes read by the compaction process for this topic.
+* Type: Counter
+* Unit: `By`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+
+#### pulsar.broker.topic.compaction.outgoing.size
+The total count of bytes written by the compaction process for this topic.
+* Type: Counter
+* Unit: `By`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+
+#### pulsar.broker.topic.compaction.compacted.entry.count
+The total number of compacted entries.
+* Type: Counter
+* Unit: `{entry}`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+
+#### pulsar.broker.topic.compaction.compacted.entry.size
+The total size of the compacted entries.
+* Type: Counter
+* Unit: `By`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+
+#### pulsar.broker.topic.transaction.count
+The number of transactions on this topic.
+* Type: UpDownCounter
+* Unit: `{transaction}`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+  * `pulsar.transaction.status` - The transaction status. Can be one of:
+    * `active`
+    * `committed`
+    * `aborted`
+
+#### pulsar.broker.topic.subscription.delayed.entry.count
+The total number of message batches (entries) delayed for dispatching.
+* Type: UpDownCounter
+* Unit: `{entry}`
+* Attributes:
+  * `pulsar.domain` - The domain of the topic. Can be one of:
+    * `persistent`
+    * `non-persistent`
+  * `pulsar.tenant` - The topic tenant.
+  * `pulsar.namespace` - The topic namespace.
+  * `pulsar.topic` - The topic name.
+  * `pulsar.partition.index` - The partition index of the topic. Present only 
if the topic is partitioned.
+
 ### Topic Lookup metrics
 
 #### pulsar.broker.lookup.request.duration

Reply via email to