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 0f528b4cef1b66..dea563de9ad8e5 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 90e416401dab03..b63366ef2141e4 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);