From ce20f85c04bfff8e70b9fd701e6912af07bcd0b9 Mon Sep 17 00:00:00 2001 From: pricelees Date: Fri, 27 Jun 2025 14:29:46 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20Plaintext=EC=99=80=20Ssl=EC=97=90?= =?UTF-8?q?=EC=84=9C=EC=9D=98=20=EC=A0=84=EC=86=A1=20=EC=8B=9C=EA=B0=84=20?= =?UTF-8?q?=EB=A9=94=ED=8A=B8=EB=A6=AD=20=EC=B8=A1=EC=A0=95=EC=97=90=20?= =?UTF-8?q?=EC=82=AC=EC=9A=A9=EB=90=98=EB=8A=94=20ConsumerStats=20?= =?UTF-8?q?=ED=81=B4=EB=9E=98=EC=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kafka/consumer/ConsumerStats.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/main/java/com/sangdol/consumer/infrastructure/kafka/consumer/ConsumerStats.java diff --git a/src/main/java/com/sangdol/consumer/infrastructure/kafka/consumer/ConsumerStats.java b/src/main/java/com/sangdol/consumer/infrastructure/kafka/consumer/ConsumerStats.java new file mode 100644 index 0000000..ac86c11 --- /dev/null +++ b/src/main/java/com/sangdol/consumer/infrastructure/kafka/consumer/ConsumerStats.java @@ -0,0 +1,30 @@ +package com.sangdol.consumer.infrastructure.kafka.consumer; + +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.stream.Collectors; + +public class ConsumerStats { + + private final int workerThreads; + private final Map threadElapsedTime; + + public ConsumerStats(int workerThreads) { + this.workerThreads = workerThreads; + this.threadElapsedTime = new ConcurrentHashMap<>(); + } + + public void update(long elapsedTime) { + threadElapsedTime.put(Thread.currentThread().getName(), elapsedTime); + } + + public long averageTime() { + if (threadElapsedTime.size() != workerThreads) { + return 0L; + } + + return threadElapsedTime.values().stream() + .collect(Collectors.averagingLong(Long::longValue)) + .longValue(); + } +}