aboutsummaryrefslogtreecommitdiffstats
path: root/container-core
diff options
context:
space:
mode:
authoryngveaasheim <yngve@yahooinc.com>2023-03-02 18:05:09 +0100
committeryngveaasheim <yngve@yahooinc.com>2023-03-03 08:00:34 +0100
commitcf990fc0027fef24d91531a0309c2c3b310a868d (patch)
treea26aface64f1920c1a113dc829a6bf2baa1f83c3 /container-core
parent80b95697ca43d3457a7462ae40d893374392e48a (diff)
Use enum for remaining metrics sets.
Diffstat (limited to 'container-core')
-rw-r--r--container-core/src/main/java/com/yahoo/metrics/ConfigServerMetrics.java2
-rw-r--r--container-core/src/main/java/com/yahoo/metrics/HostedNodeAdminMetrics.java61
-rw-r--r--container-core/src/main/java/com/yahoo/metrics/LogdMetrics.java2
-rw-r--r--container-core/src/main/java/com/yahoo/metrics/NodeAdminMetrics.java2
-rw-r--r--container-core/src/main/java/com/yahoo/metrics/Unit.java3
5 files changed, 67 insertions, 3 deletions
diff --git a/container-core/src/main/java/com/yahoo/metrics/ConfigServerMetrics.java b/container-core/src/main/java/com/yahoo/metrics/ConfigServerMetrics.java
index ea87bae1f17..62da9cec055 100644
--- a/container-core/src/main/java/com/yahoo/metrics/ConfigServerMetrics.java
+++ b/container-core/src/main/java/com/yahoo/metrics/ConfigServerMetrics.java
@@ -1,7 +1,7 @@
package com.yahoo.metrics;
/**
- * @author yngve
+ * @author yngveaasheim
*/
public enum ConfigServerMetrics implements VespaMetrics {
diff --git a/container-core/src/main/java/com/yahoo/metrics/HostedNodeAdminMetrics.java b/container-core/src/main/java/com/yahoo/metrics/HostedNodeAdminMetrics.java
new file mode 100644
index 00000000000..5624f1f92e3
--- /dev/null
+++ b/container-core/src/main/java/com/yahoo/metrics/HostedNodeAdminMetrics.java
@@ -0,0 +1,61 @@
+package com.yahoo.metrics;
+
+/**
+ * @author yngveaasheim
+ */
+
+// TODO: Move to hosted repo.
+public enum HostedNodeAdminMetrics implements VespaMetrics {
+
+ // System metrics
+ CPU_UTIL("cpu.util", Unit.FRACTION, "CPU utilisation"),
+ CPU_SYS_UTIL("cpu.sys.util", Unit.FRACTION, "System CPU utilisation"),
+ CPU_THROTTLED_TIME("cpu.throttled_time.rate", Unit.FRACTION, "Part of the time CPU is exhausted (CPU throttling enforced)"),
+ CPU_THROTTLED_CPU_TIME("cpu.throttled_cpu_time.rate", Unit.FRACTION, "Part of the time CPU is exhausted (CPU throttling enforced)"),
+ CPU_VCPUS("cpu.vcpus", Unit.ITEM, "Number of virtual CPU threads allocation to the node"),
+ DISK_LIMIT("disk.limit", Unit.BYTE, "Amount of disk space available on the node"),
+ DISK_USED("disk.used", Unit.BYTE, "Amount of disk space used by the node"),
+ DISK_UTIL("disk.util", Unit.FRACTION, "Disk space utilisation"),
+ MEM_LIMIT("mem.limit", Unit.BYTE, "Amount of memory available on the node"),
+ MEM_USED("mem.used", Unit.BYTE, "Amount of memory used by the node"),
+ MEM_UTIL("mem.util", Unit.FRACTION, "Memory utilisation"),
+ MEM_TOTAL_USED("mem_total.used", Unit.BYTE, "Total amount of memory used by the node, including OS buffer caches"),
+ MEM_TOTAL_UTIL("mem_total.util", Unit.FRACTION, "Total memory utilisation"),
+ GPU_UTIL("gpu.util", Unit.FRACTION, "GPU utilisation"),
+ GPU_MEM_USED("gpu.memory.used", Unit.BYTE, "GPU memory used"),
+ GPU_MEM_TOTAL("gpu.memory.total", Unit.BYTE, "GPU memory available"),
+
+
+ // Network metrics
+ NET_IN_BYTES("net.in.bytes", Unit.BYTE, "Network bytes received (rxBytes) (COUNT metric)"),
+ NET_IN_ERROR("net.in.errors", Unit.FAILURE, "Network receive errors (rxErrors)"),
+ NET_IN_DROPPED("net.in.dropped", Unit.PACKET, "Inbound network packets dropped (rxDropped)"),
+ NET_OUT_BYTES("net.in.bytes", Unit.BYTE, "Network bytes sent (txBytes) (COUNT metric)"),
+ NET_OUT_ERROR("net.in.errors", Unit.FAILURE, "Network send errors (txErrors)"),
+ NET_OUT_DROPPED("net.in.dropped", Unit.PACKET, "Outbound network packets dropped (txDropped)"),
+ BANDWIDTH_LIMIT("bandwidth.limit", Unit.BYTE_PER_SECOND, "Available network bandwidth");
+
+ private final String name;
+ private final Unit unit;
+ private final String description;
+
+ HostedNodeAdminMetrics(String name, Unit unit, String description) {
+ this.name = name;
+ this.unit = unit;
+ this.description = description;
+ }
+
+ public String baseName() {
+ return name;
+ }
+
+ public Unit unit() {
+ return unit;
+ }
+
+ public String description() {
+ return description;
+ }
+
+}
+
diff --git a/container-core/src/main/java/com/yahoo/metrics/LogdMetrics.java b/container-core/src/main/java/com/yahoo/metrics/LogdMetrics.java
index fddb1dfc213..3dae4283b9f 100644
--- a/container-core/src/main/java/com/yahoo/metrics/LogdMetrics.java
+++ b/container-core/src/main/java/com/yahoo/metrics/LogdMetrics.java
@@ -1,7 +1,7 @@
package com.yahoo.metrics;
/**
- * @author yngve
+ * @author yngveaasheim
*/
public enum LogdMetrics implements VespaMetrics {
diff --git a/container-core/src/main/java/com/yahoo/metrics/NodeAdminMetrics.java b/container-core/src/main/java/com/yahoo/metrics/NodeAdminMetrics.java
index 5a13973b31c..065ece33ecf 100644
--- a/container-core/src/main/java/com/yahoo/metrics/NodeAdminMetrics.java
+++ b/container-core/src/main/java/com/yahoo/metrics/NodeAdminMetrics.java
@@ -1,7 +1,7 @@
package com.yahoo.metrics;
/**
- * @author yngve
+ * @author yngveaasheim
*/
public enum NodeAdminMetrics implements VespaMetrics {
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 d3f139cd976..7411b5b0ca4 100644
--- a/container-core/src/main/java/com/yahoo/metrics/Unit.java
+++ b/container-core/src/main/java/com/yahoo/metrics/Unit.java
@@ -9,6 +9,7 @@ public enum Unit {
BINARY(BaseUnit.BINARY),
BUCKET(BaseUnit.BUCKET),
BYTE(BaseUnit.BYTE),
+ BYTE_PER_SECOND(BaseUnit.BYTE, BaseUnit.SECOND),
CONNECTION(BaseUnit.CONNECTION),
DOCUMENT(BaseUnit.DOCUMENT),
DOCUMENTID(BaseUnit.DOCUMENTID),
@@ -22,6 +23,7 @@ public enum Unit {
MILLISECOND(BaseUnit.MILLISECOND),
NANOSECOND(BaseUnit.NANOSECOND),
NODE(BaseUnit.NODE),
+ PACKET(BaseUnit.PACKET),
OPERATION(BaseUnit.OPERATION),
OPERATION_PER_SECOND(BaseUnit.OPERATION, BaseUnit.SECOND),
QUERY(BaseUnit.QUERY),
@@ -82,6 +84,7 @@ public enum Unit {
NANOSECOND("nanosecond", "ns"),
NODE("node"),
OPERATION("operation"),
+ PACKET("packet"),
QUERY("query"),
RECORD("record"),
REQUEST("request"),