diff options
5 files changed, 128 insertions, 100 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 3d0edf303c3..dedfb274808 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 @@ -4,6 +4,7 @@ package com.yahoo.vespa.model.admin.monitoring; import ai.vespa.metrics.ClusterControllerMetrics; import ai.vespa.metrics.ConfigServerMetrics; import ai.vespa.metrics.ContainerMetrics; +import ai.vespa.metrics.ControllerMetrics; import ai.vespa.metrics.DistributorMetrics; import ai.vespa.metrics.LogdMetrics; import ai.vespa.metrics.NodeAdminMetrics; @@ -189,29 +190,29 @@ public class VespaMetricSet { addMetric(metrics, ConfigServerMetrics.THROTTLED_NODE_FAILURES.max()); // Controller specific metrics - addMetric(metrics, ConfigServerMetrics.DEPLOYMENT_ABORT.count()); - addMetric(metrics, ConfigServerMetrics.DEPLOYMENT_AVERAGE_DURATION, EnumSet.of(max, last)); // TODO: Vespa 9: Remove last. - addMetric(metrics, ConfigServerMetrics.DEPLOYMENT_CONVERGENCE_FAILURE.count()); - addMetric(metrics, ConfigServerMetrics.DEPLOYMENT_DEPLOYMENT_FAILURE.count()); - addMetric(metrics, ConfigServerMetrics.DEPLOYMENT_ERROR.count()); - addMetric(metrics, ConfigServerMetrics.DEPLOYMENT_FAILING_UPGRADES.last()); - addMetric(metrics, ConfigServerMetrics.DEPLOYMENT_FAILURE_PERCENTAGE.last()); - addMetric(metrics, ConfigServerMetrics.DEPLOYMENT_NODE_COUNT_BY_OS_VERSION.max()); - addMetric(metrics, ConfigServerMetrics.DEPLOYMENT_OS_CHANGE_DURATION.max()); - addMetric(metrics, ConfigServerMetrics.DEPLOYMENT_START.count()); - addMetric(metrics, ConfigServerMetrics.DEPLOYMENT_SUCCESS.count()); - addMetric(metrics, ConfigServerMetrics.DEPLOYMENT_TEST_FAILURE.count()); - addMetric(metrics, ConfigServerMetrics.DEPLOYMENT_WARNINGS.last()); - - addMetric(metrics, ConfigServerMetrics.OPERATION_API.last()); - addMetric(metrics, ConfigServerMetrics.OPERATION_APPLICATION.last()); - addMetric(metrics, ConfigServerMetrics.OPERATION_CONFIGSERVER.last()); - addMetric(metrics, ConfigServerMetrics.OPERATION_CONTROLLER.last()); - addMetric(metrics, ConfigServerMetrics.OPERATION_FLAGS.last()); - addMetric(metrics, ConfigServerMetrics.OPERATION_OS.last()); - addMetric(metrics, ConfigServerMetrics.OPERATION_ROUTING.last()); - addMetric(metrics, ConfigServerMetrics.OPERATION_ZONE.last()); - addMetric(metrics, ConfigServerMetrics.ZMS_QUOTA_USAGE.last()); + addMetric(metrics, ControllerMetrics.DEPLOYMENT_ABORT.count()); + addMetric(metrics, ControllerMetrics.DEPLOYMENT_AVERAGE_DURATION, EnumSet.of(max, last)); // TODO: Vespa 9: Remove last. + addMetric(metrics, ControllerMetrics.DEPLOYMENT_CONVERGENCE_FAILURE.count()); + addMetric(metrics, ControllerMetrics.DEPLOYMENT_DEPLOYMENT_FAILURE.count()); + addMetric(metrics, ControllerMetrics.DEPLOYMENT_ERROR.count()); + addMetric(metrics, ControllerMetrics.DEPLOYMENT_FAILING_UPGRADES.last()); + addMetric(metrics, ControllerMetrics.DEPLOYMENT_FAILURE_PERCENTAGE.last()); + addMetric(metrics, ControllerMetrics.DEPLOYMENT_NODE_COUNT_BY_OS_VERSION.max()); + addMetric(metrics, ControllerMetrics.DEPLOYMENT_OS_CHANGE_DURATION.max()); + addMetric(metrics, ControllerMetrics.DEPLOYMENT_START.count()); + addMetric(metrics, ControllerMetrics.DEPLOYMENT_SUCCESS.count()); + addMetric(metrics, ControllerMetrics.DEPLOYMENT_TEST_FAILURE.count()); + addMetric(metrics, ControllerMetrics.DEPLOYMENT_WARNINGS.last()); + + addMetric(metrics, ControllerMetrics.OPERATION_API.last()); + addMetric(metrics, ControllerMetrics.OPERATION_APPLICATION.last()); + addMetric(metrics, ControllerMetrics.OPERATION_CONFIGSERVER.last()); + addMetric(metrics, ControllerMetrics.OPERATION_CONTROLLER.last()); + addMetric(metrics, ControllerMetrics.OPERATION_FLAGS.last()); + addMetric(metrics, ControllerMetrics.OPERATION_OS.last()); + addMetric(metrics, ControllerMetrics.OPERATION_ROUTING.last()); + addMetric(metrics, ControllerMetrics.OPERATION_ZONE.last()); + addMetric(metrics, ControllerMetrics.ZMS_QUOTA_USAGE.last()); // Container metrics that should be stored for the config-server addMetric(metrics, ContainerMetrics.HANDLED_LATENCY.max()); diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobMetrics.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobMetrics.java index 9ffbb331d0f..2924bb83104 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobMetrics.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobMetrics.java @@ -1,7 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.hosted.controller.deployment; -import ai.vespa.metrics.ConfigServerMetrics; +import ai.vespa.metrics.ControllerMetrics; import com.yahoo.jdisc.Metric; import com.yahoo.vespa.hosted.controller.api.integration.deployment.JobId; @@ -14,19 +14,19 @@ import java.util.Map; */ public class JobMetrics { - public static final String start = ConfigServerMetrics.DEPLOYMENT_START.baseName(); - public static final String nodeAllocationFailure = ConfigServerMetrics.DEPLOYMENT_NODE_ALLOCATION_FAILURE.baseName(); - public static final String endpointCertificateTimeout = ConfigServerMetrics.DEPLOYMENT_ENDPOINT_CERTIFICATE_TIMEOUT.baseName(); - public static final String deploymentFailure = ConfigServerMetrics.DEPLOYMENT_DEPLOYMENT_FAILURE.baseName(); - public static final String invalidApplication = ConfigServerMetrics.DEPLOYMENT_INVALID_APPLICATION.baseName(); - public static final String convergenceFailure = ConfigServerMetrics.DEPLOYMENT_CONVERGENCE_FAILURE.baseName(); - public static final String testFailure = ConfigServerMetrics.DEPLOYMENT_TEST_FAILURE.baseName(); - public static final String noTests = ConfigServerMetrics.DEPLOYMENT_NO_TESTS.baseName(); - public static final String error = ConfigServerMetrics.DEPLOYMENT_ERROR.baseName(); - public static final String abort = ConfigServerMetrics.DEPLOYMENT_ABORT.baseName(); - public static final String cancel = ConfigServerMetrics.DEPLOYMENT_CANCEL.baseName(); - public static final String success = ConfigServerMetrics.DEPLOYMENT_SUCCESS.baseName(); - public static final String quotaExceeded = ConfigServerMetrics.DEPLOYMENT_QUOTA_EXCEEDED.baseName(); + public static final String start = ControllerMetrics.DEPLOYMENT_START.baseName(); + public static final String nodeAllocationFailure = ControllerMetrics.DEPLOYMENT_NODE_ALLOCATION_FAILURE.baseName(); + public static final String endpointCertificateTimeout = ControllerMetrics.DEPLOYMENT_ENDPOINT_CERTIFICATE_TIMEOUT.baseName(); + public static final String deploymentFailure = ControllerMetrics.DEPLOYMENT_DEPLOYMENT_FAILURE.baseName(); + public static final String invalidApplication = ControllerMetrics.DEPLOYMENT_INVALID_APPLICATION.baseName(); + public static final String convergenceFailure = ControllerMetrics.DEPLOYMENT_CONVERGENCE_FAILURE.baseName(); + public static final String testFailure = ControllerMetrics.DEPLOYMENT_TEST_FAILURE.baseName(); + public static final String noTests = ControllerMetrics.DEPLOYMENT_NO_TESTS.baseName(); + public static final String error = ControllerMetrics.DEPLOYMENT_ERROR.baseName(); + public static final String abort = ControllerMetrics.DEPLOYMENT_ABORT.baseName(); + public static final String cancel = ControllerMetrics.DEPLOYMENT_CANCEL.baseName(); + public static final String success = ControllerMetrics.DEPLOYMENT_SUCCESS.baseName(); + public static final String quotaExceeded = ControllerMetrics.DEPLOYMENT_QUOTA_EXCEEDED.baseName(); private final Metric metric; diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporter.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporter.java index 96361b530e6..6a280e71e98 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporter.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporter.java @@ -2,6 +2,7 @@ package com.yahoo.vespa.hosted.controller.maintenance; import ai.vespa.metrics.ConfigServerMetrics; +import ai.vespa.metrics.ControllerMetrics; import com.yahoo.component.Version; import com.yahoo.config.application.api.DeploymentInstanceSpec; import com.yahoo.config.provision.ApplicationId; @@ -49,22 +50,22 @@ import java.util.stream.Collectors; */ public class MetricsReporter extends ControllerMaintainer { - public static final String TENANT_METRIC = "billing.tenants"; - public static final String DEPLOYMENT_FAIL_METRIC = ConfigServerMetrics.DEPLOYMENT_FAILURE_PERCENTAGE.baseName(); - public static final String DEPLOYMENT_AVERAGE_DURATION = ConfigServerMetrics.DEPLOYMENT_AVERAGE_DURATION.baseName(); - public static final String DEPLOYMENT_FAILING_UPGRADES = ConfigServerMetrics.DEPLOYMENT_FAILING_UPGRADES.baseName(); - public static final String DEPLOYMENT_BUILD_AGE_SECONDS = "deployment.buildAgeSeconds"; - public static final String DEPLOYMENT_WARNINGS = ConfigServerMetrics.DEPLOYMENT_WARNINGS.baseName(); - public static final String DEPLOYMENT_OVERDUE_UPGRADE = "deployment.overdueUpgradeSeconds"; - public static final String OS_CHANGE_DURATION = ConfigServerMetrics.DEPLOYMENT_OS_CHANGE_DURATION.baseName(); - public static final String PLATFORM_CHANGE_DURATION = "deployment.platformChangeDuration"; - public static final String OS_NODE_COUNT = ConfigServerMetrics.DEPLOYMENT_NODE_COUNT_BY_OS_VERSION.baseName(); - public static final String PLATFORM_NODE_COUNT = "deployment.nodeCountByPlatformVersion"; - public static final String BROKEN_SYSTEM_VERSION = "deployment.brokenSystemVersion"; - public static final String REMAINING_ROTATIONS = "remaining_rotations"; - public static final String NAME_SERVICE_REQUESTS_QUEUED = "dns.queuedRequests"; + public static final String TENANT_METRIC = ControllerMetrics.BILLING_TENANTS.baseName(); + public static final String DEPLOYMENT_FAIL_METRIC = ControllerMetrics.DEPLOYMENT_FAILURE_PERCENTAGE.baseName(); + public static final String DEPLOYMENT_AVERAGE_DURATION = ControllerMetrics.DEPLOYMENT_AVERAGE_DURATION.baseName(); + public static final String DEPLOYMENT_FAILING_UPGRADES = ControllerMetrics.DEPLOYMENT_FAILING_UPGRADES.baseName(); + public static final String DEPLOYMENT_BUILD_AGE_SECONDS = ControllerMetrics.DEPLOYMENT_BUILD_AGE_SECONDS.baseName(); + public static final String DEPLOYMENT_WARNINGS = ControllerMetrics.DEPLOYMENT_WARNINGS.baseName(); + public static final String DEPLOYMENT_OVERDUE_UPGRADE = ControllerMetrics.DEPLOYMENT_OVERDUE_UPGRADE_SECONDS.baseName(); + public static final String OS_CHANGE_DURATION = ControllerMetrics.DEPLOYMENT_OS_CHANGE_DURATION.baseName(); + public static final String PLATFORM_CHANGE_DURATION = ControllerMetrics.DEPLOYMENT_PLATFORM_CHANGE_DURATION.baseName(); + public static final String OS_NODE_COUNT = ControllerMetrics.DEPLOYMENT_NODE_COUNT_BY_OS_VERSION.baseName(); + public static final String PLATFORM_NODE_COUNT = ControllerMetrics.DEPLOYMENT_NODE_COUNT_BY_PLATFORM_VERSION.baseName(); + public static final String BROKEN_SYSTEM_VERSION = ControllerMetrics.DEPLOYMENT_BROKEN_SYSTEM_VERSION.baseName(); + public static final String REMAINING_ROTATIONS = ControllerMetrics.REMAINING_ROTATIONS.baseName(); + public static final String NAME_SERVICE_REQUESTS_QUEUED = ControllerMetrics.DNS_QUEUED_REQUESTS.baseName(); public static final String OPERATION_PREFIX = "operation."; - public static final String ZMS_QUOTA_USAGE = "zms.quota.usage"; + public static final String ZMS_QUOTA_USAGE = ControllerMetrics.ZMS_QUOTA_USAGE.baseName(); private final Metric metric; private final Clock clock; diff --git a/metrics/src/main/java/ai/vespa/metrics/ConfigServerMetrics.java b/metrics/src/main/java/ai/vespa/metrics/ConfigServerMetrics.java index 7a52c3384cd..a277f6b4dda 100644 --- a/metrics/src/main/java/ai/vespa/metrics/ConfigServerMetrics.java +++ b/metrics/src/main/java/ai/vespa/metrics/ConfigServerMetrics.java @@ -131,53 +131,7 @@ public enum ConfigServerMetrics implements VespaMetrics { NODE_FAIL_THROTTLING("nodeFailThrottling", Unit.BINARY, "Metric indicating when node failure throttling is active. The value 1 means active, 0 means inactive"), DEPLOYMENT_PREPARE_MILLIS("deployment.prepareMillis", Unit.MILLISECOND, "Duration of deployment preparations"), - DEPLOYMENT_ACTIVATE_MILLIS("deployment.activateMillis", Unit.MILLISECOND, "Duration of deployment activations"), - - - // Controller specific metrics - // TODO: Separate out to separate class, don't document - DEPLOYMENT_START("deployment.start", Unit.DEPLOYMENT, "The number of started deployment jobs"), - DEPLOYMENT_NODE_ALLOCATION_FAILURE("deployment.nodeAllocationFailure", Unit.DEPLOYMENT, "The number of deployments failed due to node allocation failures"), - DEPLOYMENT_ENDPOINT_CERTIFICATE_TIMEOUT("deployment.endpointCertificateTimeout", Unit.DEPLOYMENT, "The number of deployments failed due to timeout acquiring endpoint certificate"), - DEPLOYMENT_DEPLOYMENT_FAILURE("deployment.deploymentFailure", Unit.DEPLOYMENT, "The number of deployments that failed"), - DEPLOYMENT_INVALID_APPLICATION("deployment.invalidApplication", Unit.DEPLOYMENT, "Deployments with invalid application package"), - DEPLOYMENT_CONVERGENCE_FAILURE("deployment.convergenceFailure", Unit.DEPLOYMENT, "The number of deployments with convergence failure"), - DEPLOYMENT_TEST_FAILURE("deployment.testFailure", Unit.DEPLOYMENT, "The number of test deployments with test failure"), - DEPLOYMENT_NO_TESTS("deployment.noTests", Unit.DEPLOYMENT, "Deployments with no tests"), - DEPLOYMENT_ERROR("deployment.error", Unit.DEPLOYMENT, "Deployments with error"), - DEPLOYMENT_ABORT("deployment.abort", Unit.DEPLOYMENT, "Deployments that were aborted"), - DEPLOYMENT_CANCEL("deployment.cancel", Unit.DEPLOYMENT, "Deployments that were canceled"), - DEPLOYMENT_SUCCESS("deployment.success", Unit.DEPLOYMENT, "Successful deployments"), - DEPLOYMENT_QUOTA_EXCEEDED("deployment.quotaExceeded", Unit.DEPLOYMENT, "Deployments stopped due to exceeding quota"), - - - BILLING_TENANTS("billing.tenants", Unit.TENANT, "Billing tenants"), - DEPLOYMENT_FAILURE_PERCENTAGE("deployment.failurePercentage", Unit.PERCENTAGE, "Deployment: Failure percentage"), - DEPLOYMENT_AVERAGE_DURATION("deployment.averageDuration", Unit.SECOND, "Deployment duration"), - DEPLOYMENT_FAILING_UPGRADES("deployment.failingUpgrades", Unit.DEPLOYMENT, "Deployment: Failing upgrades"), - DEPLOYMENT_BUILDING_AGE_SECONDS("deployment.buildAgeSeconds", Unit.SECOND, "Deployment: Build age"), - DEPLOYMENT_WARNINGS("deployment.warnings", Unit.ITEM, "The number of application related warnings during deployments"), - DEPLOYMENT_OVERDUE_UPGRADE_SECONDS("deployment.overdueUpgradeSeconds", Unit.SECOND, "Deployment: Overdue upgrade period"), - DEPLOYMENT_OS_CHANGE_DURATION("deployment.osChangeDuration", Unit.SECOND, "Deployment: OS change duration"), - DEPLOYMENT_PLATFORM_CHANGE_DURATION("deployment.platformChangeDuration", Unit.SECOND, "Deployment: Platform change duration"), - DEPLOYMENT_NODE_COUNT_BY_OS_VERSION("deployment.nodeCountByOsVersion", Unit.NODE, "Deployment: Node count by OS version"), - DEPLOYMENT_NODE_COUNT_BY_PLATFORM_VERSION("deployment.nodeCountByPlatformVersion", Unit.NODE, "Deployment: Node count by platform version"), - DEPLOYMENT_BROKEN_SYSTEM_VERSION("deployment.brokenSystemVersion", Unit.BINARY, "Deployment: Value 1 for broken system versions, 0 if not"), - REMAINING_ROTATIONS("remaining_rotations", Unit.ROTATION, "Remaining rotations"), - DNS_QUEUED_REQUESTS("dns.queuedRequests", Unit.REQUEST, "Queued DNS requests"), - ZMS_QUOTA_USAGE("zms.quota.usage", Unit.FRACTION, "ZMS Quota usage per resource type"), - - - // Metrics per API, metrics created in ControllerMaintainer/MetricsReporter - OPERATION_API("operation.api.last", Unit.REQUEST, "Controller: Requests for /api API"), - OPERATION_APPLICATION("operation.application", Unit.REQUEST, "Controller: Requests for /application API"), - OPERATION_CONFIGSERVER("operation.configserver", Unit.REQUEST, "Controller: Requests for /configserver API"), - OPERATION_CONTROLLER("operation.controller", Unit.REQUEST, "Controller: Requests for /controller API"), - OPERATION_FLAGS("operation.flags", Unit.REQUEST, "Controller: Requests for /flags API"), - OPERATION_OS("operation.os", Unit.REQUEST, "Controller: Requests for /os API"), - OPERATION_ROUTING("operation.routing", Unit.REQUEST, "Controller: Requests for /routing API"), - OPERATION_ZONE("operation.zone", Unit.REQUEST, "Controller: Requests for /zone API"); - + DEPLOYMENT_ACTIVATE_MILLIS("deployment.activateMillis", Unit.MILLISECOND, "Duration of deployment activations"); private final String name; diff --git a/metrics/src/main/java/ai/vespa/metrics/ControllerMetrics.java b/metrics/src/main/java/ai/vespa/metrics/ControllerMetrics.java index e0cb0abd593..aa2ebd62284 100644 --- a/metrics/src/main/java/ai/vespa/metrics/ControllerMetrics.java +++ b/metrics/src/main/java/ai/vespa/metrics/ControllerMetrics.java @@ -1,2 +1,74 @@ -package ai.vespa.metrics;public class ControllerMetrics { +package ai.vespa.metrics; + +/** + * @author yngveaasheim + */ +public enum ControllerMetrics implements VespaMetrics { + + // The metrics enumerated in this file is intentionally not added to the metrics reference documentation. + DEPLOYMENT_START("deployment.start", Unit.DEPLOYMENT, "The number of started deployment jobs"), + DEPLOYMENT_NODE_ALLOCATION_FAILURE("deployment.nodeAllocationFailure", Unit.DEPLOYMENT, "The number of deployments failed due to node allocation failures"), + DEPLOYMENT_ENDPOINT_CERTIFICATE_TIMEOUT("deployment.endpointCertificateTimeout", Unit.DEPLOYMENT, "The number of deployments failed due to timeout acquiring endpoint certificate"), + DEPLOYMENT_DEPLOYMENT_FAILURE("deployment.deploymentFailure", Unit.DEPLOYMENT, "The number of deployments that failed"), + DEPLOYMENT_INVALID_APPLICATION("deployment.invalidApplication", Unit.DEPLOYMENT, "Deployments with invalid application package"), + DEPLOYMENT_CONVERGENCE_FAILURE("deployment.convergenceFailure", Unit.DEPLOYMENT, "The number of deployments with convergence failure"), + DEPLOYMENT_TEST_FAILURE("deployment.testFailure", Unit.DEPLOYMENT, "The number of test deployments with test failure"), + DEPLOYMENT_NO_TESTS("deployment.noTests", Unit.DEPLOYMENT, "Deployments with no tests"), + DEPLOYMENT_ERROR("deployment.error", Unit.DEPLOYMENT, "Deployments with error"), + DEPLOYMENT_ABORT("deployment.abort", Unit.DEPLOYMENT, "Deployments that were aborted"), + DEPLOYMENT_CANCEL("deployment.cancel", Unit.DEPLOYMENT, "Deployments that were canceled"), + DEPLOYMENT_SUCCESS("deployment.success", Unit.DEPLOYMENT, "Successful deployments"), + DEPLOYMENT_QUOTA_EXCEEDED("deployment.quotaExceeded", Unit.DEPLOYMENT, "Deployments stopped due to exceeding quota"), + + + BILLING_TENANTS("billing.tenants", Unit.TENANT, "Billing tenants"), + DEPLOYMENT_FAILURE_PERCENTAGE("deployment.failurePercentage", Unit.PERCENTAGE, "Deployment: Failure percentage"), + DEPLOYMENT_AVERAGE_DURATION("deployment.averageDuration", Unit.SECOND, "Deployment duration"), + DEPLOYMENT_FAILING_UPGRADES("deployment.failingUpgrades", Unit.DEPLOYMENT, "Deployment: Failing upgrades"), + DEPLOYMENT_BUILD_AGE_SECONDS("deployment.buildAgeSeconds", Unit.SECOND, "Deployment: The age of a build deployed"), + DEPLOYMENT_WARNINGS("deployment.warnings", Unit.ITEM, "The number of application related warnings during deployments"), + DEPLOYMENT_OVERDUE_UPGRADE_SECONDS("deployment.overdueUpgradeSeconds", Unit.SECOND, "Deployment: Overdue upgrade period"), + DEPLOYMENT_OS_CHANGE_DURATION("deployment.osChangeDuration", Unit.SECOND, "Deployment: OS change duration"), + DEPLOYMENT_PLATFORM_CHANGE_DURATION("deployment.platformChangeDuration", Unit.SECOND, "Deployment: Platform change duration"), + DEPLOYMENT_NODE_COUNT_BY_OS_VERSION("deployment.nodeCountByOsVersion", Unit.NODE, "Deployment: Node count by OS version"), + DEPLOYMENT_NODE_COUNT_BY_PLATFORM_VERSION("deployment.nodeCountByPlatformVersion", Unit.NODE, "Deployment: Node count by platform version"), + DEPLOYMENT_BROKEN_SYSTEM_VERSION("deployment.brokenSystemVersion", Unit.BINARY, "Deployment: Value 1 for broken system versions, 0 if not"), + REMAINING_ROTATIONS("remaining_rotations", Unit.ROTATION, "Remaining rotations"), + DNS_QUEUED_REQUESTS("dns.queuedRequests", Unit.REQUEST, "Queued DNS requests"), + ZMS_QUOTA_USAGE("zms.quota.usage", Unit.FRACTION, "ZMS Quota usage per resource type"), + + + // Metrics per API, metrics created in ControllerMaintainer/MetricsReporter + OPERATION_API("operation.api.last", Unit.REQUEST, "Controller: Requests for /api API"), + OPERATION_APPLICATION("operation.application", Unit.REQUEST, "Controller: Requests for /application API"), + OPERATION_CONFIGSERVER("operation.configserver", Unit.REQUEST, "Controller: Requests for /configserver API"), + OPERATION_CONTROLLER("operation.controller", Unit.REQUEST, "Controller: Requests for /controller API"), + OPERATION_FLAGS("operation.flags", Unit.REQUEST, "Controller: Requests for /flags API"), + OPERATION_OS("operation.os", Unit.REQUEST, "Controller: Requests for /os API"), + OPERATION_ROUTING("operation.routing", Unit.REQUEST, "Controller: Requests for /routing API"), + OPERATION_ZONE("operation.zone", Unit.REQUEST, "Controller: Requests for /zone API"); + + + private final String name; + private final Unit unit; + private final String description; + + ControllerMetrics(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; + } + } |