This is an automated email from the ASF dual-hosted git repository.
li4wang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/zookeeper.git
The following commit(s) were added to refs/heads/master by this push:
new a8631bd5b ZOOKEEPER-4934: Add metrics for TTL node creation (#2287)
a8631bd5b is described below
commit a8631bd5bcf00189dc3d296d72959f4d2b0d2f6c
Author: Ivan Andika <[email protected]>
AuthorDate: Thu Dec 18 15:16:00 2025 +0800
ZOOKEEPER-4934: Add metrics for TTL node creation (#2287)
* ZOOKEEPER-4934: Add metrics for TTL node creation
* Trigger CI
---
.../src/main/java/org/apache/zookeeper/server/DataTree.java | 1 +
.../src/main/java/org/apache/zookeeper/server/ServerMetrics.java | 4 +++-
.../src/test/java/org/apache/zookeeper/server/CreateTTLTest.java | 3 ++-
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/DataTree.java
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/DataTree.java
index a9c69b486..1f93f18c7 100644
--- a/zookeeper-server/src/main/java/org/apache/zookeeper/server/DataTree.java
+++ b/zookeeper-server/src/main/java/org/apache/zookeeper/server/DataTree.java
@@ -486,6 +486,7 @@ public void createNode(final String path, byte[] data,
List<ACL> acl, long ephem
containers.add(path);
} else if (ephemeralType == EphemeralType.TTL) {
ttls.add(path);
+ ServerMetrics.getMetrics().TTL_NODE_CREATED_COUNT.add(1);
} else if (ephemeralOwner != 0) {
HashSet<String> list =
ephemerals.computeIfAbsent(ephemeralOwner, k -> new HashSet<>());
synchronized (list) {
diff --git
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/ServerMetrics.java
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/ServerMetrics.java
index f9b56f5f0..07d2c1b90 100644
---
a/zookeeper-server/src/main/java/org/apache/zookeeper/server/ServerMetrics.java
+++
b/zookeeper-server/src/main/java/org/apache/zookeeper/server/ServerMetrics.java
@@ -271,6 +271,7 @@ private ServerMetrics(MetricsProvider metricsProvider) {
QUOTA_EXCEEDED_ERROR_PER_NAMESPACE =
metricsContext.getCounterSet(QuotaMetricsUtils.QUOTA_EXCEEDED_ERROR_PER_NAMESPACE);
TTL_NODE_DELETED_COUNT =
metricsContext.getCounter("ttl_node_deleted_count");
+ TTL_NODE_CREATED_COUNT =
metricsContext.getCounter("ttl_node_created_count");
}
/**
@@ -550,9 +551,10 @@ private ServerMetrics(MetricsProvider metricsProvider) {
public final CounterSet QUOTA_EXCEEDED_ERROR_PER_NAMESPACE;
/**
- * Count of deleted TTL nodes
+ * Count of created and deleted TTL nodes
*/
public final Counter TTL_NODE_DELETED_COUNT;
+ public final Counter TTL_NODE_CREATED_COUNT;
private final MetricsProvider metricsProvider;
diff --git
a/zookeeper-server/src/test/java/org/apache/zookeeper/server/CreateTTLTest.java
b/zookeeper-server/src/test/java/org/apache/zookeeper/server/CreateTTLTest.java
index 940456626..ae37bc6a1 100644
---
a/zookeeper-server/src/test/java/org/apache/zookeeper/server/CreateTTLTest.java
+++
b/zookeeper-server/src/test/java/org/apache/zookeeper/server/CreateTTLTest.java
@@ -95,8 +95,9 @@ public void testCreate() throws KeeperException,
InterruptedException {
containerManager.checkContainers();
assertNull(zk.exists("/foo", false), "Ttl node should have been
deleted");
- // validate deleted TTL nodes count
+ // validate created and deleted TTL nodes count
Map<String, Object> metrics = MetricsUtils.currentServerMetrics();
+ assertTrue((long) metrics.get("ttl_node_created_count") >= 1);
assertTrue((long) metrics.get("ttl_node_deleted_count") >= 1);
}