From b6ba8e44021455fe2206c19fed17a622ed9ab1d3 Mon Sep 17 00:00:00 2001 From: Malik Diarra Date: Thu, 16 Jun 2022 15:11:32 -0700 Subject: [PATCH] Emit orphan running jobs metrics That metrics show the number of jobs currently flagged as running that are associated to inactive or deprecated connections. --- .../main/java/io/airbyte/metrics/lib/OssMetricsRegistry.java | 4 ++++ .../src/main/java/io/airbyte/metrics/reporter/ToEmit.java | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/airbyte-metrics/metrics-lib/src/main/java/io/airbyte/metrics/lib/OssMetricsRegistry.java b/airbyte-metrics/metrics-lib/src/main/java/io/airbyte/metrics/lib/OssMetricsRegistry.java index 0f528b4cef1b6..dea563de9ad8e 100644 --- a/airbyte-metrics/metrics-lib/src/main/java/io/airbyte/metrics/lib/OssMetricsRegistry.java +++ b/airbyte-metrics/metrics-lib/src/main/java/io/airbyte/metrics/lib/OssMetricsRegistry.java @@ -79,6 +79,10 @@ public enum OssMetricsRegistry implements MetricsRegistry { MetricEmittingApps.METRICS_REPORTER, "num_running_jobs", "number of running jobs"), + NUM_ORPHAN_RUNNING_JOBS( + MetricEmittingApps.METRICS_REPORTER, + "num_orphan_running_jobs", + "number of jobs reported as running that as associated to connection inactive or deprecated"), NUM_ACTIVE_CONN_PER_WORKSPACE( MetricEmittingApps.METRICS_REPORTER, "num_active_conn_per_workspace", diff --git a/airbyte-metrics/reporter/src/main/java/io/airbyte/metrics/reporter/ToEmit.java b/airbyte-metrics/reporter/src/main/java/io/airbyte/metrics/reporter/ToEmit.java index 90e416401dab0..b63366ef2141e 100644 --- a/airbyte-metrics/reporter/src/main/java/io/airbyte/metrics/reporter/ToEmit.java +++ b/airbyte-metrics/reporter/src/main/java/io/airbyte/metrics/reporter/ToEmit.java @@ -30,6 +30,10 @@ public enum ToEmit { final var runningJobs = ReporterApp.configDatabase.query(MetricQueries::numberOfRunningJobs); MetricClientFactory.getMetricClient().gauge(OssMetricsRegistry.NUM_RUNNING_JOBS, runningJobs); })), + NUM_ORPHAN_RUNNING_JOB(countMetricEmission(() -> { + final var orphanRunningJobs = ReporterApp.configDatabase.query(MetricQueries::numberOfOrphanRunningJobs); + MetricClientFactory.getMetricClient().gauge(OssMetricsRegistry.NUM_ORPHAN_RUNNING_JOBS, orphanRunningJobs); + })), OLDEST_RUNNING_JOB_AGE_SECS(countMetricEmission(() -> { final var age = ReporterApp.configDatabase.query(MetricQueries::oldestRunningJobAgeSecs); MetricClientFactory.getMetricClient().gauge(OssMetricsRegistry.OLDEST_RUNNING_JOB_AGE_SECS, age);