From c5fd5ab8fd1bbefb7d0a6324f5e2e7d3bb6e1a41 Mon Sep 17 00:00:00 2001 From: ddog-nasirthomas Date: Mon, 11 May 2026 17:07:22 -0400 Subject: [PATCH 1/4] Add metrics external_dns_controller_consecutive_soft_errors & external_dns_controller_last_reconcile_timestamp_seconds --- external_dns/datadog_checks/external_dns/metrics.py | 2 ++ external_dns/metadata.csv | 2 ++ external_dns/tests/fixtures/metrics.txt | 8 +++++++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/external_dns/datadog_checks/external_dns/metrics.py b/external_dns/datadog_checks/external_dns/metrics.py index b1c3fefe12fea..1640c32ba886c 100644 --- a/external_dns/datadog_checks/external_dns/metrics.py +++ b/external_dns/datadog_checks/external_dns/metrics.py @@ -9,4 +9,6 @@ 'source_errors_total': 'source.errors.total', 'registry_errors_total': 'registry.errors.total', 'external_dns_controller_last_sync_timestamp_seconds': 'controller.last_sync', + 'external_dns_controller_consecutive_soft_errors': 'controller.consecutive.soft.errors', + 'external_dns_controller_last_reconcile_timestamp_seconds': 'controller.last.reconcile.timestamp.seconds', } diff --git a/external_dns/metadata.csv b/external_dns/metadata.csv index 64bfba8032af6..4f6d8631d13bc 100644 --- a/external_dns/metadata.csv +++ b/external_dns/metadata.csv @@ -1,5 +1,7 @@ metric_name,metric_type,interval,unit_name,per_unit_name,description,orientation,integration,short_name,curated_metric external_dns.controller.last_sync,gauge,,second,,Timestamp of last successful sync with the DNS provider,0,external_dns,controller last sync timestamp, +external_dns.controller.consecutive.soft.errors,gauge,,error,,Number of consecutive soft errors in reconciliation loop,-1,external_dns,controller consecutive soft errors, +external_dns.controller.last.reconcile.timestamp.seconds,gauge,,second,,Timestamp of last reconcile attempt,0,external_dns,controller last reconcile timestamp, external_dns.registry.endpoints.total,gauge,,resource,,Number of registry endpoints,0,external_dns,registry endpoints, external_dns.registry.errors.total,gauge,,error,,Number of registry errors,-1,external_dns,registry errors, external_dns.source.endpoints.total,gauge,,resource,,Number of source endpoints,0,external_dns,source endpoints, diff --git a/external_dns/tests/fixtures/metrics.txt b/external_dns/tests/fixtures/metrics.txt index 6fff5265b2294..944716c172162 100644 --- a/external_dns/tests/fixtures/metrics.txt +++ b/external_dns/tests/fixtures/metrics.txt @@ -12,4 +12,10 @@ registry_errors_total 0 source_errors_total 0 # HELP external_dns_controller_last_sync_timestamp_seconds Timestamp of last successful sync with the DNS provider # TYPE external_dns_controller_last_sync_timestamp_seconds gauge -external_dns_controller_last_sync_timestamp_seconds 1.6343090342347014e+09 \ No newline at end of file +external_dns_controller_last_sync_timestamp_seconds 1.6343090342347014e+09 +# HELP external_dns_controller_consecutive_soft_errors Number of consecutive soft errors in reconciliation loop +# TYPE external_dns_controller_consecutive_soft_errors gauge +external_dns_controller_consecutive_soft_errors 0 +# HELP external_dns_controller_last_reconcile_timestamp_seconds Timestamp of last reconcile attempt +# TYPE external_dns_controller_last_reconcile_timestamp_seconds gauge +external_dns_controller_last_reconcile_timestamp_seconds 1.715520123e+09 \ No newline at end of file From e7ec105d8c1c02da6b26041ce3cac8eb1d814e9b Mon Sep 17 00:00:00 2001 From: ddog-nasirthomas Date: Mon, 11 May 2026 17:10:09 -0400 Subject: [PATCH 2/4] Updating naming of controller.last_reconcile --- external_dns/datadog_checks/external_dns/metrics.py | 2 +- external_dns/metadata.csv | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/external_dns/datadog_checks/external_dns/metrics.py b/external_dns/datadog_checks/external_dns/metrics.py index 1640c32ba886c..12f08cb5e0dda 100644 --- a/external_dns/datadog_checks/external_dns/metrics.py +++ b/external_dns/datadog_checks/external_dns/metrics.py @@ -10,5 +10,5 @@ 'registry_errors_total': 'registry.errors.total', 'external_dns_controller_last_sync_timestamp_seconds': 'controller.last_sync', 'external_dns_controller_consecutive_soft_errors': 'controller.consecutive.soft.errors', - 'external_dns_controller_last_reconcile_timestamp_seconds': 'controller.last.reconcile.timestamp.seconds', + 'external_dns_controller_last_reconcile_timestamp_seconds': 'controller.last_reconcile', } diff --git a/external_dns/metadata.csv b/external_dns/metadata.csv index 4f6d8631d13bc..24d3eed0ae2bd 100644 --- a/external_dns/metadata.csv +++ b/external_dns/metadata.csv @@ -1,7 +1,7 @@ metric_name,metric_type,interval,unit_name,per_unit_name,description,orientation,integration,short_name,curated_metric external_dns.controller.last_sync,gauge,,second,,Timestamp of last successful sync with the DNS provider,0,external_dns,controller last sync timestamp, external_dns.controller.consecutive.soft.errors,gauge,,error,,Number of consecutive soft errors in reconciliation loop,-1,external_dns,controller consecutive soft errors, -external_dns.controller.last.reconcile.timestamp.seconds,gauge,,second,,Timestamp of last reconcile attempt,0,external_dns,controller last reconcile timestamp, +external_dns.controller.last_reconcile,gauge,,second,,Timestamp of last reconcile attempt,0,external_dns,controller last reconcile timestamp, external_dns.registry.endpoints.total,gauge,,resource,,Number of registry endpoints,0,external_dns,registry endpoints, external_dns.registry.errors.total,gauge,,error,,Number of registry errors,-1,external_dns,registry errors, external_dns.source.endpoints.total,gauge,,resource,,Number of source endpoints,0,external_dns,source endpoints, From 7333ae0b5b109588112201224314af066d0ee427 Mon Sep 17 00:00:00 2001 From: ddog-nasirthomas Date: Mon, 11 May 2026 17:12:19 -0400 Subject: [PATCH 3/4] Add changelog --- external_dns/changelog.d/23671.added | 1 + 1 file changed, 1 insertion(+) create mode 100644 external_dns/changelog.d/23671.added diff --git a/external_dns/changelog.d/23671.added b/external_dns/changelog.d/23671.added new file mode 100644 index 0000000000000..3065563846176 --- /dev/null +++ b/external_dns/changelog.d/23671.added @@ -0,0 +1 @@ +Added metrics external_dns.controller.last_reconcile & external_dns.controller.consecutive.soft.errors From 2405a1729387120782ae563e1905f4cc3dffb1cd Mon Sep 17 00:00:00 2001 From: ddog-nasirthomas Date: Mon, 11 May 2026 17:23:42 -0400 Subject: [PATCH 4/4] Sorting metric names --- external_dns/metadata.csv | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/external_dns/metadata.csv b/external_dns/metadata.csv index 24d3eed0ae2bd..b69565f5f3bc6 100644 --- a/external_dns/metadata.csv +++ b/external_dns/metadata.csv @@ -1,8 +1,8 @@ -metric_name,metric_type,interval,unit_name,per_unit_name,description,orientation,integration,short_name,curated_metric -external_dns.controller.last_sync,gauge,,second,,Timestamp of last successful sync with the DNS provider,0,external_dns,controller last sync timestamp, -external_dns.controller.consecutive.soft.errors,gauge,,error,,Number of consecutive soft errors in reconciliation loop,-1,external_dns,controller consecutive soft errors, -external_dns.controller.last_reconcile,gauge,,second,,Timestamp of last reconcile attempt,0,external_dns,controller last reconcile timestamp, -external_dns.registry.endpoints.total,gauge,,resource,,Number of registry endpoints,0,external_dns,registry endpoints, -external_dns.registry.errors.total,gauge,,error,,Number of registry errors,-1,external_dns,registry errors, -external_dns.source.endpoints.total,gauge,,resource,,Number of source endpoints,0,external_dns,source endpoints, -external_dns.source.errors.total,gauge,,error,,Number of source errors,-1,external_dns,source errors, +metric_name,metric_type,interval,unit_name,per_unit_name,description,orientation,integration,short_name,curated_metric,sample_tags +external_dns.controller.consecutive.soft.errors,gauge,,error,,Number of consecutive soft errors in reconciliation loop,-1,external_dns,controller consecutive soft errors,, +external_dns.controller.last_reconcile,gauge,,second,,Timestamp of last reconcile attempt,0,external_dns,controller last reconcile timestamp,, +external_dns.controller.last_sync,gauge,,second,,Timestamp of last successful sync with the DNS provider,0,external_dns,controller last sync timestamp,, +external_dns.registry.endpoints.total,gauge,,resource,,Number of registry endpoints,0,external_dns,registry endpoints,, +external_dns.registry.errors.total,gauge,,error,,Number of registry errors,-1,external_dns,registry errors,, +external_dns.source.endpoints.total,gauge,,resource,,Number of source endpoints,0,external_dns,source endpoints,, +external_dns.source.errors.total,gauge,,error,,Number of source errors,-1,external_dns,source errors,,