You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by "dragosvictor (via GitHub)" <gi...@apache.org> on 2024/04/09 17:41:24 UTC

[PR] [feat][site] PIP-264: Document topic messaging metrics [pulsar-site]

dragosvictor opened a new pull request, #880:
URL: https://github.com/apache/pulsar-site/pull/880

   Documentation for https://github.com/apache/pulsar/pull/22467. 
   
   ### ✅ Contribution Checklist
   
   - [ ] I read the [contribution guide](https://pulsar.apache.org/contribute/document-contribution/)
   - [ ] I updated the [versioned docs](https://pulsar.apache.org/contribute/document-contribution/#update-versioned-docs)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [feat][site] PIP-264: Document topic messaging metrics [pulsar-site]

Posted by "dragosvictor (via GitHub)" <gi...@apache.org>.
dragosvictor commented on code in PR #880:
URL: https://github.com/apache/pulsar-site/pull/880#discussion_r1576582036


##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming
+The total message batches (entries) read from the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.compaction.removed.event.count
+The total number of removed events of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.succeed.count
+The total number of successes of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.failed.count
+The total number of failures of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.duration
+The total time duration of compaction operations on the topic.
+* Type: DoubleUpDownCounter
+* Unit: `{second}`
+
+#### pulsar.broker.topic.compaction.incoming
+The total count of bytes read by the compaction process for this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.compaction.outgoing
+The total count of bytes written by the compaction process for this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.compaction.compacted.entries.count
+The total number of compacted entries.
+* Type: UpDownCounter
+* Unit: `{entry}`
+
+#### pulsar.broker.topic.compaction.compacted.entries.size
+The total size of the compacted entries.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.transaction
+The number of transactions on this topic.
+* Type: UpDownCounter
+* Unit: `{transaction}`
+
+#### pulsar.broker.topic.subscription.delayed
+The total message batches (entries) are delayed for dispatching.
+* Type: UpDownCounter

Review Comment:
   This number can fluctuate up and down, it does not reflect a running total.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [feat][site] PIP-264: Document topic messaging metrics [pulsar-site]

Posted by "heesung-sn (via GitHub)" <gi...@apache.org>.
heesung-sn commented on code in PR #880:
URL: https://github.com/apache/pulsar-site/pull/880#discussion_r1561382770


##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ Pulsar exposes the following OpenTelemetry metrics.
 
 ## Broker
 

Review Comment:
   Can we clarify the OTel attributes related to partitioned or non-partitioned topics?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [feat][site] PIP-264: Document topic messaging metrics [pulsar-site]

Posted by "heesung-sn (via GitHub)" <gi...@apache.org>.
heesung-sn commented on code in PR #880:
URL: https://github.com/apache/pulsar-site/pull/880#discussion_r1561390820


##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming
+The total message batches (entries) read from the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.compaction.removed.event.count
+The total number of removed events of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.succeed.count
+The total number of successes of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.failed.count
+The total number of failures of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.duration
+The total time duration of compaction operations on the topic.
+* Type: DoubleUpDownCounter
+* Unit: `{second}`
+
+#### pulsar.broker.topic.compaction.incoming
+The total count of bytes read by the compaction process for this topic.
+* Type: UpDownCounter

Review Comment:
   Shouldn't it be `Counter`, as monotonic?



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming
+The total message batches (entries) read from the storage for this topic.
+* Type: UpDownCounter

Review Comment:
   Shouldn't it be `Counter`, as monotonic?



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming
+The total message batches (entries) read from the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.compaction.removed.event.count
+The total number of removed events of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.succeed.count
+The total number of successes of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.failed.count
+The total number of failures of the compaction.
+* Type: UpDownCounter

Review Comment:
   Shouldn't it be Counter, as monotonic? 



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming
+The total message batches (entries) read from the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.compaction.removed.event.count
+The total number of removed events of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.succeed.count
+The total number of successes of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.failed.count
+The total number of failures of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.duration
+The total time duration of compaction operations on the topic.
+* Type: DoubleUpDownCounter

Review Comment:
   Shouldn't it be `DoubleCounter`, as monotonic?



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming
+The total message batches (entries) read from the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.compaction.removed.event.count
+The total number of removed events of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.succeed.count
+The total number of successes of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.failed.count
+The total number of failures of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.duration
+The total time duration of compaction operations on the topic.
+* Type: DoubleUpDownCounter
+* Unit: `{second}`
+
+#### pulsar.broker.topic.compaction.incoming
+The total count of bytes read by the compaction process for this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.compaction.outgoing
+The total count of bytes written by the compaction process for this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.compaction.compacted.entries.count
+The total number of compacted entries.
+* Type: UpDownCounter
+* Unit: `{entry}`
+
+#### pulsar.broker.topic.compaction.compacted.entries.size
+The total size of the compacted entries.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.transaction
+The number of transactions on this topic.
+* Type: UpDownCounter

Review Comment:
   Shouldn't it be Counter, as monotonic? 



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming
+The total message batches (entries) read from the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.compaction.removed.event.count
+The total number of removed events of the compaction.
+* Type: UpDownCounter

Review Comment:
   Shouldn't it be Counter, as monotonic?



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.

Review Comment:
   Could we explain when the ack is Cumulative Ack? 



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming
+The total message batches (entries) read from the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.compaction.removed.event.count
+The total number of removed events of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.succeed.count
+The total number of successes of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.failed.count
+The total number of failures of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.duration
+The total time duration of compaction operations on the topic.
+* Type: DoubleUpDownCounter
+* Unit: `{second}`
+
+#### pulsar.broker.topic.compaction.incoming
+The total count of bytes read by the compaction process for this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.compaction.outgoing
+The total count of bytes written by the compaction process for this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.compaction.compacted.entries.count
+The total number of compacted entries.
+* Type: UpDownCounter
+* Unit: `{entry}`
+
+#### pulsar.broker.topic.compaction.compacted.entries.size
+The total size of the compacted entries.
+* Type: UpDownCounter

Review Comment:
   Shouldn't it be Counter, as monotonic? 



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming
+The total message batches (entries) read from the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.compaction.removed.event.count
+The total number of removed events of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.succeed.count
+The total number of successes of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.failed.count
+The total number of failures of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.duration
+The total time duration of compaction operations on the topic.
+* Type: DoubleUpDownCounter
+* Unit: `{second}`
+
+#### pulsar.broker.topic.compaction.incoming

Review Comment:
   Perhaps, pulsar.broker.topic.compaction.incoming.size?



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit

Review Comment:
   Shouldn't it be `pulsar.broker.topic.publish.rate.limit.count`
   like
   `pulsar.broker.topic.storage.backlog.quota.eviction.count`?



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming
+The total message batches (entries) read from the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.compaction.removed.event.count
+The total number of removed events of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.succeed.count

Review Comment:
   Perhaps, `pulsar.broker.topic.compaction.success.count`



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing

Review Comment:
   Perhaps, `pulsar.broker.topic.storage.entry.outgoing.count`?



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming
+The total message batches (entries) read from the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.compaction.removed.event.count
+The total number of removed events of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.succeed.count
+The total number of successes of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.failed.count
+The total number of failures of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.duration
+The total time duration of compaction operations on the topic.
+* Type: DoubleUpDownCounter
+* Unit: `{second}`
+
+#### pulsar.broker.topic.compaction.incoming
+The total count of bytes read by the compaction process for this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.compaction.outgoing

Review Comment:
   perhaps, pulsar.broker.topic.compaction.outgoing.size?



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ Pulsar exposes the following OpenTelemetry metrics.
 
 ## Broker
 
+### Topic Messaging metrics
+

Review Comment:
   What's the metric naming convention of OTel? Should we put `count`/`size` suffix?



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming
+The total message batches (entries) read from the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.compaction.removed.event.count
+The total number of removed events of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.succeed.count
+The total number of successes of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.failed.count
+The total number of failures of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.duration
+The total time duration of compaction operations on the topic.
+* Type: DoubleUpDownCounter
+* Unit: `{second}`
+
+#### pulsar.broker.topic.compaction.incoming
+The total count of bytes read by the compaction process for this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.compaction.outgoing
+The total count of bytes written by the compaction process for this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.compaction.compacted.entries.count
+The total number of compacted entries.
+* Type: UpDownCounter
+* Unit: `{entry}`
+
+#### pulsar.broker.topic.compaction.compacted.entries.size
+The total size of the compacted entries.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.transaction
+The number of transactions on this topic.
+* Type: UpDownCounter
+* Unit: `{transaction}`
+
+#### pulsar.broker.topic.subscription.delayed

Review Comment:
   perhaps, pulsar.broker.topic.subscription.delayed.entry.count



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming
+The total message batches (entries) read from the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.compaction.removed.event.count
+The total number of removed events of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.succeed.count
+The total number of successes of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.failed.count
+The total number of failures of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.duration
+The total time duration of compaction operations on the topic.
+* Type: DoubleUpDownCounter
+* Unit: `{second}`
+
+#### pulsar.broker.topic.compaction.incoming
+The total count of bytes read by the compaction process for this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.compaction.outgoing
+The total count of bytes written by the compaction process for this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.compaction.compacted.entries.count
+The total number of compacted entries.
+* Type: UpDownCounter
+* Unit: `{entry}`
+
+#### pulsar.broker.topic.compaction.compacted.entries.size
+The total size of the compacted entries.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.transaction

Review Comment:
   perhaps, pulsar.broker.topic.transaction.count



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter

Review Comment:
   Shouldn't it be `Counter`, as monotonic?



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming
+The total message batches (entries) read from the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.compaction.removed.event.count
+The total number of removed events of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.succeed.count
+The total number of successes of the compaction.
+* Type: UpDownCounter

Review Comment:
   Shouldn't it be Counter, as monotonic? 



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ Pulsar exposes the following OpenTelemetry metrics.
 
 ## Broker
 
+### Topic Messaging metrics

Review Comment:
   Do we need to consider Sync vs Async instruments for this `Type`?
   
   https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md#synchronous-and-asynchronous-instruments



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming
+The total message batches (entries) read from the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.compaction.removed.event.count
+The total number of removed events of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.succeed.count
+The total number of successes of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.failed.count
+The total number of failures of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.duration
+The total time duration of compaction operations on the topic.
+* Type: DoubleUpDownCounter
+* Unit: `{second}`
+
+#### pulsar.broker.topic.compaction.incoming
+The total count of bytes read by the compaction process for this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.compaction.outgoing
+The total count of bytes written by the compaction process for this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.compaction.compacted.entries.count
+The total number of compacted entries.
+* Type: UpDownCounter

Review Comment:
   Shouldn't it be `Counter`, as monotonic? 



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming
+The total message batches (entries) read from the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.compaction.removed.event.count
+The total number of removed events of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.succeed.count
+The total number of successes of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.failed.count
+The total number of failures of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.duration
+The total time duration of compaction operations on the topic.
+* Type: DoubleUpDownCounter
+* Unit: `{second}`
+
+#### pulsar.broker.topic.compaction.incoming
+The total count of bytes read by the compaction process for this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.compaction.outgoing
+The total count of bytes written by the compaction process for this topic.
+* Type: UpDownCounter

Review Comment:
   Shouldn't it be `Counter`, as monotonic?



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming
+The total message batches (entries) read from the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.compaction.removed.event.count
+The total number of removed events of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.succeed.count
+The total number of successes of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.failed.count
+The total number of failures of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.duration
+The total time duration of compaction operations on the topic.
+* Type: DoubleUpDownCounter
+* Unit: `{second}`
+
+#### pulsar.broker.topic.compaction.incoming
+The total count of bytes read by the compaction process for this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.compaction.outgoing
+The total count of bytes written by the compaction process for this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.compaction.compacted.entries.count
+The total number of compacted entries.
+* Type: UpDownCounter
+* Unit: `{entry}`
+
+#### pulsar.broker.topic.compaction.compacted.entries.size
+The total size of the compacted entries.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.transaction
+The number of transactions on this topic.
+* Type: UpDownCounter
+* Unit: `{transaction}`
+
+#### pulsar.broker.topic.subscription.delayed
+The total message batches (entries) are delayed for dispatching.
+* Type: UpDownCounter

Review Comment:
   Shouldn't it be Counter, as monotonic? 



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`

Review Comment:
   Perhaps, entry?



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.

Review Comment:
   Could we clarify if this counts offloaded data?



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+

Review Comment:
   Do we have
   `pulsar.broker.topic.storage.backlog.quota.eviction.msg.count`
   `pulsar.broker.topic.storage.backlog.quota.eviction.msg.size` metrics?



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.

Review Comment:
   Could we clarify if this counts replicas and offloaded data?



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming
+The total message batches (entries) read from the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.compaction.removed.event.count
+The total number of removed events of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.succeed.count
+The total number of successes of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.failed.count

Review Comment:
   Perhaps, pulsar.broker.topic.compaction.failure.count



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming

Review Comment:
   Perhaps, `pulsar.broker.topic.storage.entry.incoming.count`?



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming
+The total message batches (entries) read from the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.compaction.removed.event.count
+The total number of removed events of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.succeed.count
+The total number of successes of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.failed.count
+The total number of failures of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.duration
+The total time duration of compaction operations on the topic.
+* Type: DoubleUpDownCounter
+* Unit: `{second}`
+
+#### pulsar.broker.topic.compaction.incoming
+The total count of bytes read by the compaction process for this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.compaction.outgoing
+The total count of bytes written by the compaction process for this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.compaction.compacted.entries.count
+The total number of compacted entries.
+* Type: UpDownCounter
+* Unit: `{entry}`
+
+#### pulsar.broker.topic.compaction.compacted.entries.size

Review Comment:
   perhaps `pulsar.broker.topic.compaction.compacted.entry.size`



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming
+The total message batches (entries) read from the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`

Review Comment:
   Perhaps, entry?



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming
+The total message batches (entries) read from the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.compaction.removed.event.count
+The total number of removed events of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.succeed.count
+The total number of successes of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.failed.count
+The total number of failures of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.duration
+The total time duration of compaction operations on the topic.
+* Type: DoubleUpDownCounter
+* Unit: `{second}`
+
+#### pulsar.broker.topic.compaction.incoming
+The total count of bytes read by the compaction process for this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.compaction.outgoing
+The total count of bytes written by the compaction process for this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.compaction.compacted.entries.count

Review Comment:
   perhaps `pulsar.broker.topic.compaction.compacted.entry.count`



##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack

Review Comment:
   perhaps, pulsar.broker.topic.consumer.msg.ack.count



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [feat][site] PIP-264: Document topic messaging metrics [pulsar-site]

Posted by "dragosvictor (via GitHub)" <gi...@apache.org>.
dragosvictor commented on code in PR #880:
URL: https://github.com/apache/pulsar-site/pull/880#discussion_r1576804180


##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+

Review Comment:
   No, only the event counts, no information on the messages themselves. Perhaps we can add this as a follow-up 👍 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [feat][site] PIP-264: Document topic messaging metrics [pulsar-site]

Posted by "dragosvictor (via GitHub)" <gi...@apache.org>.
dragosvictor commented on code in PR #880:
URL: https://github.com/apache/pulsar-site/pull/880#discussion_r1578260459


##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming
+The total message batches (entries) read from the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.compaction.removed.event.count
+The total number of removed events of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.succeed.count
+The total number of successes of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.failed.count

Review Comment:
   Refactored into just one metric named `pulsar.broker.topic.compaction.operation.count`, with an attribute to specify the result.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [feat][site] PIP-264: Document topic messaging metrics [pulsar-site]

Posted by "dragosvictor (via GitHub)" <gi...@apache.org>.
dragosvictor commented on code in PR #880:
URL: https://github.com/apache/pulsar-site/pull/880#discussion_r1576589918


##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack

Review Comment:
   Removed, as explained above.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [feat][site] PIP-264: Document topic messaging metrics [pulsar-site]

Posted by "dragosvictor (via GitHub)" <gi...@apache.org>.
dragosvictor commented on code in PR #880:
URL: https://github.com/apache/pulsar-site/pull/880#discussion_r1576586529


##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ Pulsar exposes the following OpenTelemetry metrics.
 
 ## Broker
 
+### Topic Messaging metrics

Review Comment:
   The implementation https://github.com/apache/pulsar/pull/22467 uses asynchronous instruments, due to performance and resource efficiency reasons (more details in that PR). This is a detail, however, so it doesn't need to be in the metrics reference documentation.
   
   Furthermore, from the users point of view, this is transparent. Instrument types do not impact the way the user needs to collect or interpret these values.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [feat][site] PIP-264: Document topic messaging metrics [pulsar-site]

Posted by "dragosvictor (via GitHub)" <gi...@apache.org>.
dragosvictor commented on code in PR #880:
URL: https://github.com/apache/pulsar-site/pull/880#discussion_r1578304337


##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming
+The total message batches (entries) read from the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.compaction.removed.event.count
+The total number of removed events of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.succeed.count

Review Comment:
   Refactored, as described [below](https://github.com/apache/pulsar-site/pull/880/files/8986d386d0f76d6a14e3cb709c801a053219a764#r1578260459).



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [feat][site] PIP-264: Document topic messaging metrics [pulsar-site]

Posted by "dragosvictor (via GitHub)" <gi...@apache.org>.
dragosvictor commented on code in PR #880:
URL: https://github.com/apache/pulsar-site/pull/880#discussion_r1576716453


##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.

Review Comment:
   I don't see offloaded ledgers being subtracted from `ManagedLedgerImpl.totalSize` ([ref](https://github.com/apache/pulsar/blob/d5c72312ff4d03291e1ea2eb37464250c85bf401/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java#L190)). I suspect the value includes the offloaded numbers too, but I wasn't able to assess for certain. @merlimat @lhotari can you confirm?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [feat][site] PIP-264: Document topic messaging metrics [pulsar-site]

Posted by "dragosvictor (via GitHub)" <gi...@apache.org>.
dragosvictor commented on code in PR #880:
URL: https://github.com/apache/pulsar-site/pull/880#discussion_r1576587699


##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.

Review Comment:
   This particular metric is not currently populated by the implementation. I'll remove it from the doc until it is.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [feat][site] PIP-264: Document topic messaging metrics [pulsar-site]

Posted by "dragosvictor (via GitHub)" <gi...@apache.org>.
dragosvictor commented on code in PR #880:
URL: https://github.com/apache/pulsar-site/pull/880#discussion_r1576580042


##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming
+The total message batches (entries) read from the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.compaction.removed.event.count
+The total number of removed events of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.succeed.count
+The total number of successes of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.failed.count
+The total number of failures of the compaction.
+* Type: UpDownCounter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.compaction.duration
+The total time duration of compaction operations on the topic.
+* Type: DoubleUpDownCounter
+* Unit: `{second}`
+
+#### pulsar.broker.topic.compaction.incoming
+The total count of bytes read by the compaction process for this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.compaction.outgoing
+The total count of bytes written by the compaction process for this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.compaction.compacted.entries.count
+The total number of compacted entries.
+* Type: UpDownCounter
+* Unit: `{entry}`
+
+#### pulsar.broker.topic.compaction.compacted.entries.size
+The total size of the compacted entries.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.transaction
+The number of transactions on this topic.
+* Type: UpDownCounter

Review Comment:
   This metric has attributes for the tx status ([ref](https://github.com/apache/pulsar/pull/22467/files#diff-e3d8386fc3f9292780771f4eae19d9297637d374244f9c4b3f89b6c0e442e2e3R458-R470)): `active`, `committed`, `aborted`. The latter two can be counters, but not the first one.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [feat][site] PIP-264: Document topic messaging metrics [pulsar-site]

Posted by "heesung-sn (via GitHub)" <gi...@apache.org>.
heesung-sn commented on PR #880:
URL: https://github.com/apache/pulsar-site/pull/880#issuecomment-2050181202

   It would be great to clarify whether the metrics are accumulative or delta.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [feat][site] PIP-264: Document topic messaging metrics [pulsar-site]

Posted by "dragosvictor (via GitHub)" <gi...@apache.org>.
dragosvictor commented on code in PR #880:
URL: https://github.com/apache/pulsar-site/pull/880#discussion_r1576586529


##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ Pulsar exposes the following OpenTelemetry metrics.
 
 ## Broker
 
+### Topic Messaging metrics

Review Comment:
   The implementation https://github.com/apache/pulsar/pull/22467 uses asynchronous instruments, due to performance and resource efficiency reasons (more details in that PR). This is a detail, however, so it doesn't need to be in the metrics reference documentation.
   
   Furthermore, from the users point of view, this is transparent ([ref](https://opentelemetry.io/docs/specs/semconv/general/metrics/#instrument-types)). Instrument types do not impact the way the user needs to collect or interpret these values. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [feat][site] PIP-264: Document topic messaging metrics [pulsar-site]

Posted by "codelipenghui (via GitHub)" <gi...@apache.org>.
codelipenghui merged PR #880:
URL: https://github.com/apache/pulsar-site/pull/880


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [feat][site] PIP-264: Document topic messaging metrics [pulsar-site]

Posted by "heesung-sn (via GitHub)" <gi...@apache.org>.
heesung-sn commented on code in PR #880:
URL: https://github.com/apache/pulsar-site/pull/880#discussion_r1561376921


##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ 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}`
+
+#### pulsar.broker.topic.producer.count
+The number of active producers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{producer}`
+
+#### pulsar.broker.topic.consumer.count
+The number of active consumers of the topic connected to this broker.
+* Type: UpDownCounter
+* Unit: `{consumer}`
+
+#### pulsar.broker.topic.message.incoming.count
+The total number of messages received for this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.outgoing.count
+The total number of messages read from this topic.
+* Type: Counter
+* Unit: `{message}`
+
+#### pulsar.broker.topic.message.incoming.size
+The total number of messages bytes received for this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.message.outgoing.size
+The total number of messages bytes read from this topic.
+* Type: Counter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.publish.rate.limit
+The number of times the publish rate limit is triggered.
+* Type: Counter
+* Unit: `{event}`
+
+#### pulsar.broker.topic.consumer.msg.ack
+The total number of message acknowledgments received for this topic.
+* Type: Counter
+* Unit: `{ack}`
+
+#### pulsar.broker.topic.storage.size
+The total storage size of the messages in this topic.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.logical.size
+The storage size of topics in the namespace owned by the broker without replicas.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.size
+The total backlog size of the topics of this topic owned by this broker.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.offloaded.size
+The total amount of the data in this topic offloaded to the tiered storage.
+* Type: UpDownCounter
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.size
+The size based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{byte}`
+
+#### pulsar.broker.topic.storage.backlog.quota.limit.time
+The time based backlog quota limit for this topic.
+* Type: Gauge
+* Unit: `{second}`
+
+#### 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}`
+
+#### pulsar.broker.topic.storage.backlog.age
+The age of the oldest unacknowledged message (backlog).
+* Type: Gauge
+* Unit: `{second}`
+
+#### pulsar.broker.topic.storage.outgoing
+The total message batches (entries) written to the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.storage.incoming
+The total message batches (entries) read from the storage for this topic.
+* Type: UpDownCounter
+* Unit: `{message batch}`
+
+#### pulsar.broker.topic.compaction.removed.event.count
+The total number of removed events of the compaction.

Review Comment:
   Could we clarify more about this deletion event?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [feat][site] PIP-264: Document topic messaging metrics [pulsar-site]

Posted by "dragosvictor (via GitHub)" <gi...@apache.org>.
dragosvictor commented on PR #880:
URL: https://github.com/apache/pulsar-site/pull/880#issuecomment-2062728970

   > It would be great to clarify whether the metrics are accumulative or delta.
   
   All these values are accumulative over time (say, absolute number of bytes). It is the duty of the backend stack to derive the deltas (such as bytes/second).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [feat][site] PIP-264: Document topic messaging metrics [pulsar-site]

Posted by "dragosvictor (via GitHub)" <gi...@apache.org>.
dragosvictor commented on code in PR #880:
URL: https://github.com/apache/pulsar-site/pull/880#discussion_r1576606808


##########
docs/reference-metrics-opentelemetry.md:
##########
@@ -8,6 +8,153 @@ Pulsar exposes the following OpenTelemetry metrics.
 
 ## Broker
 
+### Topic Messaging metrics
+

Review Comment:
   There's some recommendations: https://opentelemetry.io/docs/specs/semconv/general/metrics/#use-count-instead-of-pluralization-for-updowncounters. I'll add the suffixes where suggested, sure!



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org