From 45d79a249a4c2b1b711089d62e1af1cd8d9ea987 Mon Sep 17 00:00:00 2001 From: Kristian Aune Date: Wed, 11 Jan 2023 11:54:01 +0100 Subject: Move jdisc.http.requests.status to ContainerMetrics.java --- .../src/main/java/com/yahoo/container/handler/VipStatusHandler.java | 4 +++- container-core/src/main/java/com/yahoo/metrics/ContainerMetrics.java | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/container-core/src/main/java/com/yahoo/container/handler/VipStatusHandler.java b/container-core/src/main/java/com/yahoo/container/handler/VipStatusHandler.java index 8cfa1cf8b7b..ed2d044c38c 100644 --- a/container-core/src/main/java/com/yahoo/container/handler/VipStatusHandler.java +++ b/container-core/src/main/java/com/yahoo/container/handler/VipStatusHandler.java @@ -19,6 +19,8 @@ import com.yahoo.container.jdisc.HttpResponse; import com.yahoo.container.jdisc.ThreadedHttpRequestHandler; import com.yahoo.jdisc.Metric; import java.util.logging.Level; + +import com.yahoo.metrics.ContainerMetrics; import com.yahoo.text.Utf8; import com.yahoo.vespa.defaults.Defaults; @@ -31,7 +33,7 @@ import com.yahoo.vespa.defaults.Defaults; */ public final class VipStatusHandler extends ThreadedHttpRequestHandler { - private static final String NUM_REQUESTS_METRIC = "jdisc.http.requests.status"; + private static final String NUM_REQUESTS_METRIC = ContainerMetrics.JDISC_HTTP_REQUESTS_STATUS.baseName(); private final boolean accessDisk; private final File statusFile; diff --git a/container-core/src/main/java/com/yahoo/metrics/ContainerMetrics.java b/container-core/src/main/java/com/yahoo/metrics/ContainerMetrics.java index ba160873c4f..b2a7499aaf4 100644 --- a/container-core/src/main/java/com/yahoo/metrics/ContainerMetrics.java +++ b/container-core/src/main/java/com/yahoo/metrics/ContainerMetrics.java @@ -10,8 +10,12 @@ public enum ContainerMetrics { HTTP_STATUS_3XX("http.status.3xx", Unit.RESPONSE, "Number of responses with a 3xx status"), HTTP_STATUS_4XX("http.status.4xx", Unit.RESPONSE, "Number of responses with a 4xx status"), HTTP_STATUS_5XX("http.status.5xx", Unit.RESPONSE, "Number of responses with a 5xx status"), + JDISC_GC_MS("jdisc.gc.ms", Unit.MILLISECOND, "Time spent in garbage collection"), + JDISC_HTTP_REQUESTS_STATUS("jdisc.http.requests.status", Unit.RESPONSE, + "Number of requests to the built-in status handler"), + JDISC_THREAD_POOL_UNHANDLED_EXCEPTIONS("jdisc.thread_pool.unhandled_exceptions", Unit.THREAD, "Number of exceptions thrown by tasks"), JDISC_THREAD_POOL_WORK_QUEUE_CAPACITY("jdisc.thread_pool.work_queue.capacity", Unit.THREAD, -- cgit v1.2.3 From 2616c00710bbb735e43d3a5001af481ced065dcc Mon Sep 17 00:00:00 2001 From: Kristian Aune Date: Wed, 11 Jan 2023 13:25:00 +0100 Subject: Move serverNumConnections to ContainerMetrics --- .../java/com/yahoo/vespa/model/admin/monitoring/VespaMetricSet.java | 6 +++--- .../java/com/yahoo/jdisc/http/server/jetty/MetricDefinitions.java | 2 +- .../src/main/java/com/yahoo/metrics/ContainerMetrics.java | 5 ++++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricSet.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricSet.java index cb42f877841..9be0307e41d 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricSet.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/VespaMetricSet.java @@ -137,9 +137,9 @@ public class VespaMetricSet { metrics.add(new Metric("serverNumOpenConnections.average")); metrics.add(new Metric("serverNumOpenConnections.max")); metrics.add(new Metric("serverNumOpenConnections.last")); - metrics.add(new Metric("serverNumConnections.average")); - metrics.add(new Metric("serverNumConnections.max")); - metrics.add(new Metric("serverNumConnections.last")); + metrics.add(new Metric(ContainerMetrics.SERVER_NUM_CONNECTIONS.average())); + metrics.add(new Metric(ContainerMetrics.SERVER_NUM_CONNECTIONS.max())); + metrics.add(new Metric(ContainerMetrics.SERVER_NUM_CONNECTIONS.last())); metrics.add(new Metric("serverBytesReceived.sum")); metrics.add(new Metric("serverBytesReceived.count")); diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/MetricDefinitions.java b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/MetricDefinitions.java index e16e4b51959..8cf5d19ee4e 100644 --- a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/MetricDefinitions.java +++ b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/MetricDefinitions.java @@ -32,7 +32,7 @@ class MetricDefinitions { static final String NUM_BYTES_RECEIVED = "serverBytesReceived"; static final String NUM_BYTES_SENT = "serverBytesSent"; - static final String NUM_CONNECTIONS = "serverNumConnections"; + static final String NUM_CONNECTIONS = ContainerMetrics.SERVER_NUM_CONNECTIONS.baseName(); /* For historical reasons, these are all aliases for the same metric. 'jdisc.http' should ideally be the only one. */ static final String JDISC_HTTP_REQUESTS = "jdisc.http.requests"; diff --git a/container-core/src/main/java/com/yahoo/metrics/ContainerMetrics.java b/container-core/src/main/java/com/yahoo/metrics/ContainerMetrics.java index b2a7499aaf4..c8afc7322a6 100644 --- a/container-core/src/main/java/com/yahoo/metrics/ContainerMetrics.java +++ b/container-core/src/main/java/com/yahoo/metrics/ContainerMetrics.java @@ -44,7 +44,10 @@ public enum ContainerMetrics { JETTY_THREADPOOL_TOTAL_THREADS("jdisc.http.jetty.threadpool.thread.total", Unit.THREAD, "Current number of threads"), JETTY_THREADPOOL_QUEUE_SIZE("jdisc.http.jetty.threadpool.queue.size", Unit.THREAD, - "Current size of the job queue"); + "Current size of the job queue"), + + SERVER_NUM_CONNECTIONS("serverNumConnections", Unit.RESPONSE, + "The total number of connections opened"); private final String name; private final Unit unit; -- cgit v1.2.3 From 4ee29fd88b4365ea131befd4e4a9f286feaf87e2 Mon Sep 17 00:00:00 2001 From: Kristian Aune Date: Wed, 11 Jan 2023 15:04:07 +0100 Subject: Add more units --- container-core/src/main/java/com/yahoo/metrics/ContainerMetrics.java | 4 ++-- container-core/src/main/java/com/yahoo/metrics/Unit.java | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/container-core/src/main/java/com/yahoo/metrics/ContainerMetrics.java b/container-core/src/main/java/com/yahoo/metrics/ContainerMetrics.java index c8afc7322a6..2eb8a535ddf 100644 --- a/container-core/src/main/java/com/yahoo/metrics/ContainerMetrics.java +++ b/container-core/src/main/java/com/yahoo/metrics/ContainerMetrics.java @@ -13,7 +13,7 @@ public enum ContainerMetrics { JDISC_GC_MS("jdisc.gc.ms", Unit.MILLISECOND, "Time spent in garbage collection"), - JDISC_HTTP_REQUESTS_STATUS("jdisc.http.requests.status", Unit.RESPONSE, + JDISC_HTTP_REQUESTS_STATUS("jdisc.http.requests.status", Unit.REQUEST, "Number of requests to the built-in status handler"), JDISC_THREAD_POOL_UNHANDLED_EXCEPTIONS("jdisc.thread_pool.unhandled_exceptions", Unit.THREAD, @@ -46,7 +46,7 @@ public enum ContainerMetrics { JETTY_THREADPOOL_QUEUE_SIZE("jdisc.http.jetty.threadpool.queue.size", Unit.THREAD, "Current size of the job queue"), - SERVER_NUM_CONNECTIONS("serverNumConnections", Unit.RESPONSE, + SERVER_NUM_CONNECTIONS("serverNumConnections", Unit.CONNECTION, "The total number of connections opened"); private final String name; diff --git a/container-core/src/main/java/com/yahoo/metrics/Unit.java b/container-core/src/main/java/com/yahoo/metrics/Unit.java index d4143d2d8b9..1149c715dd6 100644 --- a/container-core/src/main/java/com/yahoo/metrics/Unit.java +++ b/container-core/src/main/java/com/yahoo/metrics/Unit.java @@ -6,6 +6,7 @@ package com.yahoo.metrics; public enum Unit { BYTE(BaseUnit.BYTE), + CONNECTION(BaseUnit.CONNECTION), DOCUMENT(BaseUnit.DOCUMENT), DOCUMENT_PER_SECOND(BaseUnit.DOCUMENT, BaseUnit.SECOND), FRACTION(BaseUnit.FRACTION), @@ -15,6 +16,7 @@ public enum Unit { OPERATION_PER_SECOND(BaseUnit.OPERATION, BaseUnit.SECOND), QUERY(BaseUnit.QUERY), QUERY_PER_SECOND(BaseUnit.QUERY, BaseUnit.SECOND), + REQUEST(BaseUnit.REQUEST), RESPONSE(BaseUnit.RESPONSE), RESPONSE_PER_SECOND(BaseUnit.RESPONSE, BaseUnit.SECOND), SECOND(BaseUnit.SECOND), @@ -48,12 +50,14 @@ public enum Unit { public enum BaseUnit { BYTE("byte"), + CONNECTION("connection"), DOCUMENT("document"), FRACTION("fraction"), HIT("hit"), MILLISECOND("millisecond", "ms"), OPERATION("operation"), QUERY("query"), + REQUEST("request"), RESPONSE("response"), SECOND("second", "s"), THREAD("thread"); -- cgit v1.2.3 From 8addd2fe0e7ec6bcaccbe9ff5af477720f658d56 Mon Sep 17 00:00:00 2001 From: Kristian Aune Date: Wed, 11 Jan 2023 15:50:46 +0100 Subject: private BaseUnit --- container-core/src/main/java/com/yahoo/metrics/Unit.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/container-core/src/main/java/com/yahoo/metrics/Unit.java b/container-core/src/main/java/com/yahoo/metrics/Unit.java index 1149c715dd6..836dab29f67 100644 --- a/container-core/src/main/java/com/yahoo/metrics/Unit.java +++ b/container-core/src/main/java/com/yahoo/metrics/Unit.java @@ -47,7 +47,7 @@ public enum Unit { unit.shortName + "/" + perUnit.shortName; } - public enum BaseUnit { + private enum BaseUnit { BYTE("byte"), CONNECTION("connection"), -- cgit v1.2.3 From ddded46fa3ce24cf5fdf8e0934b6f477a58a930a Mon Sep 17 00:00:00 2001 From: Kristian Aune Date: Wed, 11 Jan 2023 16:04:52 +0100 Subject: Non-functional: make more readable --- .../java/com/yahoo/metrics/ContainerMetrics.java | 54 ++++++++-------------- 1 file changed, 19 insertions(+), 35 deletions(-) diff --git a/container-core/src/main/java/com/yahoo/metrics/ContainerMetrics.java b/container-core/src/main/java/com/yahoo/metrics/ContainerMetrics.java index 2eb8a535ddf..50371598d08 100644 --- a/container-core/src/main/java/com/yahoo/metrics/ContainerMetrics.java +++ b/container-core/src/main/java/com/yahoo/metrics/ContainerMetrics.java @@ -13,41 +13,25 @@ public enum ContainerMetrics { JDISC_GC_MS("jdisc.gc.ms", Unit.MILLISECOND, "Time spent in garbage collection"), - JDISC_HTTP_REQUESTS_STATUS("jdisc.http.requests.status", Unit.REQUEST, - "Number of requests to the built-in status handler"), - - JDISC_THREAD_POOL_UNHANDLED_EXCEPTIONS("jdisc.thread_pool.unhandled_exceptions", Unit.THREAD, - "Number of exceptions thrown by tasks"), - JDISC_THREAD_POOL_WORK_QUEUE_CAPACITY("jdisc.thread_pool.work_queue.capacity", Unit.THREAD, - "Capacity of the task queue"), - JDISC_THREAD_POOL_WORK_QUEUE_SIZE("jdisc.thread_pool.work_queue.size", Unit.THREAD, - "Size of the task queue"), - JDISC_THREAD_POOL_REJECTED_TASKS("jdisc.thread_pool.rejected_tasks", Unit.THREAD, - "Number of tasks rejected by the thread pool"), - JDISC_THREAD_POOL_SIZE("jdisc.thread_pool.size", Unit.THREAD, - "Size of the thread pool"), - JDISC_THREAD_POOL_MAX_ALLOWED_SIZE("jdisc.thread_pool.max_allowed_size", Unit.THREAD, - "The maximum allowed number of threads in the pool"), - JDISC_THREAD_POOL_ACTIVE_THREADS("jdisc.thread_pool.active_threads", Unit.THREAD, - "Number of threads that are active"), - - JETTY_THREADPOOL_MAX_THREADS("jdisc.http.jetty.threadpool.thread.max", Unit.THREAD, - "Configured maximum number of threads"), - JETTY_THREADPOOL_MIN_THREADS("jdisc.http.jetty.threadpool.thread.min", Unit.THREAD, - "Configured minimum number of threads"), - JETTY_THREADPOOL_RESERVED_THREADS("jdisc.http.jetty.threadpool.thread.reserved", Unit.THREAD, - "Configured number of reserved threads or -1 for heuristic"), - JETTY_THREADPOOL_BUSY_THREADS("jdisc.http.jetty.threadpool.thread.busy", Unit.THREAD, - "Number of threads executing internal and transient jobs"), - JETTY_THREADPOOL_IDLE_THREADS("jdisc.http.jetty.threadpool.thread.idle", Unit.THREAD, - "Number of idle threads"), - JETTY_THREADPOOL_TOTAL_THREADS("jdisc.http.jetty.threadpool.thread.total", Unit.THREAD, - "Current number of threads"), - JETTY_THREADPOOL_QUEUE_SIZE("jdisc.http.jetty.threadpool.queue.size", Unit.THREAD, - "Current size of the job queue"), - - SERVER_NUM_CONNECTIONS("serverNumConnections", Unit.CONNECTION, - "The total number of connections opened"); + JDISC_HTTP_REQUESTS_STATUS("jdisc.http.requests.status", Unit.REQUEST, "Number of requests to the built-in status handler"), + + JDISC_THREAD_POOL_UNHANDLED_EXCEPTIONS("jdisc.thread_pool.unhandled_exceptions", Unit.THREAD, "Number of exceptions thrown by tasks"), + JDISC_THREAD_POOL_WORK_QUEUE_CAPACITY("jdisc.thread_pool.work_queue.capacity", Unit.THREAD, "Capacity of the task queue"), + JDISC_THREAD_POOL_WORK_QUEUE_SIZE("jdisc.thread_pool.work_queue.size", Unit.THREAD, "Size of the task queue"), + JDISC_THREAD_POOL_REJECTED_TASKS("jdisc.thread_pool.rejected_tasks", Unit.THREAD, "Number of tasks rejected by the thread pool"), + JDISC_THREAD_POOL_SIZE("jdisc.thread_pool.size", Unit.THREAD, "Size of the thread pool"), + JDISC_THREAD_POOL_MAX_ALLOWED_SIZE("jdisc.thread_pool.max_allowed_size", Unit.THREAD, "The maximum allowed number of threads in the pool"), + JDISC_THREAD_POOL_ACTIVE_THREADS("jdisc.thread_pool.active_threads", Unit.THREAD, "Number of threads that are active"), + + JETTY_THREADPOOL_MAX_THREADS("jdisc.http.jetty.threadpool.thread.max", Unit.THREAD, "Configured maximum number of threads"), + JETTY_THREADPOOL_MIN_THREADS("jdisc.http.jetty.threadpool.thread.min", Unit.THREAD, "Configured minimum number of threads"), + JETTY_THREADPOOL_RESERVED_THREADS("jdisc.http.jetty.threadpool.thread.reserved", Unit.THREAD, "Configured number of reserved threads or -1 for heuristic"), + JETTY_THREADPOOL_BUSY_THREADS("jdisc.http.jetty.threadpool.thread.busy", Unit.THREAD, "Number of threads executing internal and transient jobs"), + JETTY_THREADPOOL_IDLE_THREADS("jdisc.http.jetty.threadpool.thread.idle", Unit.THREAD, "Number of idle threads"), + JETTY_THREADPOOL_TOTAL_THREADS("jdisc.http.jetty.threadpool.thread.total", Unit.THREAD, "Current number of threads"), + JETTY_THREADPOOL_QUEUE_SIZE("jdisc.http.jetty.threadpool.queue.size", Unit.THREAD, "Current size of the job queue"), + + SERVER_NUM_CONNECTIONS("serverNumConnections", Unit.CONNECTION, "The total number of connections opened"); private final String name; private final Unit unit; -- cgit v1.2.3