Pulsar stats
Topic stats
The following table outlines the stats of a topic. For more details about how to get these stats, see Get stats.
All stats below are reset to 0 upon broker restart or topic unloading, except the stats marked with asterisks * (the values of them keep unchanged).
| Stat | Description | 
|---|---|
| msgRateIn | The sum of all local and replication publishers' publish rates (message per second). | 
| msgThroughputIn | The sum of all local and replication publishers' publish rates (byte per second). | 
| msgRateOut | The sum of all local and replication consumers' dispatch rates (message per second). | 
| msgThroughputOut | The sum of all local and replication consumers' dispatch rates (byte per second). | 
| averageMsgSize | The average size (bytes) of messages published within the last interval. | 
| storageSize* | The sum of the ledgers' storage size in BookKeeper and in tiered storage for a topic (in bytes). | 
| offloadedStorageSize* | The sum of the storage size in tiered storage for a topic (in bytes). Note: the total storage size of a topic=storageSize, includesoffloadedStorageSize. | 
| earliestMsgPublishTimeInBacklogs* | The publish time of the earliest message in the backlog (in milliseconds). | 
| bytesInCounter | The total bytes published to the topic. | 
| msgInCounter | The total messages published to the topic. | 
| bytesOutCounter | The total bytes delivered to consumers. | 
| msgOutCounter | The total messages delivered to consumers. | 
| msgChunkPublished | The topics that have chunked messages published on it. | 
| backlogSize* | The estimated total unconsumed or backlog size (in bytes). | 
| waitingPublishers | The number of publishers waiting in a queue in exclusive access mode. | 
| deduplicationStatus | The status of message deduplication for the topic. | 
| topicEpoch | The topic epoch or empty if not set. | 
| filteredEntriesCount | The count of skipped entries for the topic. | 
| nonContiguousDeletedMessagesRanges | The number of non-contiguous deleted messages ranges. | 
| nonContiguousDeletedMessagesRangesSerializedSize | The serialized size of non-contiguous deleted messages ranges. | 
| ownerBroker | The broker that owns this topic. | 
| publishers | The list of all local publishers on the topic, ranging from zero to thousands. | 
| subscriptions | The list of all local subscriptions to the topic. | 
| replication | This section gives the stats for cross-colo replication of this topic. | 
Producer stats
| Stat | Description | 
|---|---|
| producerId | The internal identifier for this producer on this topic. | 
| producerName | The internal identifier for this producer, generated by the client library. | 
| address | IP address and source port for the connection of this producer. | 
| connectedSince | The timestamp when this producer is created or reconnected last time. | 
| accessMode | The type of access to the topic that the producer requires. | 
| msgRateIn | The total rate of messages (message per second) published by this publisher. | 
| msgThroughputIn | The total throughput (byte per second) of the messages published by this publisher. | 
| averageMsgSize | The average message size in bytes from this publisher within the last interval. | 
| chunkedMessageRate | The total rate of chunked messages published by this publisher. | 
| clientVersion | The client library version of this producer. | 
| metadata | The metadata (key/value strings) associated with this publisher. | 
Subscription stats
| Stat | Description | 
|---|---|
| my-subscription | The name of this subscription. It is defined by the client. | 
| msgRateOut | The total rate of messages (message per second) delivered on this subscription. | 
| msgThroughputOut | The total throughput (byte per second) delivered on this subscription. | 
| msgBacklog | The number of messages in the subscription backlog. | 
| type | This subscription type. | 
| msgRateExpired | The rate at which messages are discarded instead of dispatched from this subscription due to TTL. | 
| lastExpireTimestamp | The timestamp of the last message expiration. | 
| lastConsumedFlowTimestamp | The timestamp of the last flow command received. | 
| lastConsumedTimestamp | The latest timestamp of all the consumed timestamps of the consumers. | 
| lastAckedTimestamp | The latest timestamp of all the acknowledged timestamps of the consumers. | 
| msgRateRedeliver | The total rate of messages redelivered on this subscription (message per second). | 
| chunkedMessageRate | The chunked message dispatch rate. | 
| earliestMsgPublishTimeInBacklog* | The publish time of the earliest message in the backlog for the subscription (in milliseconds). | 
| msgBacklogNoDelayed | The number of messages in the subscription backlog that do not contain the delay messages. | 
| blockedSubscriptionOnUnackedMsgs | The flag to verify if a subscription is blocked due to reaching the threshold of unacked messages. | 
| msgDelayed | The number of delayed messages that are currently tracked. | 
| unackedMessages | The number of unacknowledged messages for the subscription, where an unacknowledged message is one that has been sent to a consumer but not yet acknowledged. This field is only meaningful when using a subscription that tracks individual message acknowledgment. | 
| activeConsumerName | The name of the consumer that is active for single active consumer subscriptions (such as failover or exclusive). | 
| totalMsgExpired | The total messages expired on this subscription. | 
| lastMarkDeleteAdvancedTimestamp | The last MarkDeleteposition advanced timestamp. | 
| durable | Whether the subscription is durable or ephemeral (for example, from a reader). | 
| replicated | Mark that the subscription state is kept in sync across different regions. | 
| allowOutOfOrderDelivery | Whether out-of-order delivery is allowed on the Key_Shared subscription. | 
| keySharedMode | The options of the Key_Shared subscription mode include AUTO_SPLITorSTICKY. | 
| consumersAfterMarkDeletePosition | Get recentJoinedConsumersfor the Key_Shared subscription. | 
| filterProcessedMsgCount | The number of messages processed by EntryFilter. | 
| filterAcceptedMsgCount | The number of messages accepted by EntryFilter. | 
| filterRejectedMsgCount | The number of messages rejected by EntryFilter. | 
| filterRescheduledMsgCount | The number of messages rescheduled by EntryFilter. | 
| bytesOutCounter | The total bytes delivered to a consumer. | 
| msgOutCounter | The total messages delivered to a consumer. | 
| backlogSize* | The size of backlog for this subscription (in bytes). | 
| nonContiguousDeletedMessagesRanges | The number of non-contiguous deleted messages ranges. | 
| nonContiguousDeletedMessagesRangesSerializedSize | The serialized size of non-contiguous deleted messages ranges. | 
| consumers | The list of connected consumers for this subscription. | 
Consumer stats
| Stat | Description | 
|---|---|
| consumerName | Internal identifier for this consumer, generated by the client library. | 
| msgRateOut | The total rate of messages (message per second) delivered to the consumer. | 
| msgThroughputOut | The total throughput (byte per second) delivered to the consumer. | 
| availablePermits | The number of messages that the consumer has space for in the client library's listening queue. 0means the client library's queue is full andreceive()isn't called. A non-zero value means this consumer is ready for dispatched messages. | 
| unackedMessages | The number of unacknowledged messages for the consumer, where an unacknowledged message has been sent to the consumer but not yet acknowledged. This field is only meaningful when using a subscription that tracks individual message acknowledgment. | 
| blockedConsumerOnUnackedMsgs | The flag used to verify if the consumer is blocked due to reaching the threshold of the unacknowledged messages. | 
| lastConsumedTimestamp (Deprecated) | The timestamp when the consumer reads a message the last time. | 
| lastConsumedTime | The time when the consumer reads a message the last time. | 
| lastAckedTimestamp (Deprecated) | The timestamp when the consumer acknowledges a message the last time. | 
| lastAckedTime | The time when the consumer acknowledges a message the last time. | 
| address | The IP address and source port for the connection of this consumer. | 
| connectedSince | The timestamp when this consumer is created or reconnected last time. | 
| clientVersion | The client library version of this consumer. | 
| bytesOutCounter | The total bytes delivered to a consumer. | 
| msgOutCounter | The total messages delivered to a consumer. | 
| msgRateRedeliver | The total rate of messages redelivered by this consumer (message per second). | 
| chunkedMessageRate | The total rate of chunked messages delivered to this consumer. | 
| avgMessagesPerEntry | The number of average messages per entry for the consumer consumed. | 
| readPositionWhenJoining | The read position of the cursor when the consumer joins. | 
| keyHashRanges | The hash ranges assigned to this consumer if it uses Key_Shared sub mode. | 
| metadata | The metadata (key/value strings) associated with this consumer. | 
Replication stats
| Stat | Description | 
|---|---|
| msgRateIn | The total rate (message per second) of messages received from the remote cluster. | 
| msgThroughputIn | The total throughput (byte per second) received from the remote cluster. | 
| msgRateOut | The total rate of messages (message per second) delivered to the replication-subscriber. | 
| msgThroughputOut | The total throughput (byte per second) delivered to the replication-subscriber. | 
| msgRateExpired | The total rate of messages (message per second) expired. | 
| replicationBacklog | The number of messages pending to be replicated to remote cluster. | 
| connected | Whether the outbound replicator is connected. | 
| replicationDelayInSeconds | How long the oldest message has been waiting to be sent through the connection when connected. | 
| inboundConnection | The IP and port of the broker in the remote cluster's publisher connection to this broker. | 
| inboundConnectedSince | The TCP connection used to publish messages to the remote cluster. If no local publishers are connected, this connection is automatically closed after a minute. | 
| outboundConnection | The address of the outbound replication connection. | 
| outboundConnectedSince | The timestamp of establishing an outbound connection. | 
Topic internal stats
The following table outlines the internal stats inside a topic. For more details about how to get these stats, see Get stats.
| Stat | Description | 
|---|---|
| entriesAddedCounter | Messages published since this broker loads this topic. | 
| numberOfEntries | The total number of messages tracked. | 
| totalSize | The total storage size in bytes of all messages. | 
| currentLedgerEntries | The count of messages written to the ledger that is currently open for writing. | 
| currentLedgerSize | The size in bytes of messages written to the ledger that is currently open for writing. | 
| lastLedgerCreatedTimestamp | The time when the last ledger is created. | 
| lastLedgerCreationFailureTimestamp | The time when the last ledger is failed. | 
| waitingCursorsCount | The number of cursors that are caught up and waiting for a new message to be published. | 
| pendingAddEntriesCount | The number of messages that have write requests (asynchronous) waiting on completion. | 
| lastConfirmedEntry | The ledgerid:entryidof the last message that is written successfully. If theentryidis-1, then the ledger is opened or is currently opened but has no entries written yet. | 
| state | The state of the cursor ledger. The state LedgerOpenedmeans that a ledger is open for saving published messages. | 
| ledgers | The ordered list of all ledgers for this topic that holds its messages. | 
| cursors | The list of all cursors on this topic. Each subscription in the topic stats has a cursor. | 
| markDeletePosition | The ack position: the last message that the subscriber acknowledges. All messages before this position are acknowledged by the subscriber. | 
| readPosition | The latest position of the subscriber for reading messages. | 
| waitingReadOp | This is true when the subscription reads the latest message that is published to the topic and waits for new messages to be published. | 
| pendingReadOps | The count of outstanding read requests to the BookKeepers in progress. | 
| messagesConsumedCounter | The number of messages this cursor has acknowledged since this broker loads this topic. | 
| cursorLedger | The ledger used to persistently store the current markDeletePosition. | 
| cursorLedgerLastEntry | The last entryidused to persistently store the currentmarkDeletePosition. | 
| individuallyDeletedMessages | The range of messages acknowledged between markDeletePositionand thereadPositionwhen acknowledges are done out of order. | 
| lastLedgerSwitchTimestamp | The last time when the cursor ledger is rolled over. | 
| schemaLedgers | The ordered list of all ledgers for this topic schema. | 
| compactedLedger | The ledgers holding un-acked messages after topic compaction. | 
| ledgerId | The ID of this ledger. | 
| entries | The total number of entries that belong to this ledger. | 
| size | The size of messages written to this ledger (in bytes). | 
| offloaded | Whether this ledger is offloaded. The value is falsefor the compacted topic ledger. | 
| metadata | The ledger metadata. |