Skip to content

Commit f42f6d8

Browse files
khanayan123claude
andcommitted
fix(telemetry): fix task scheduling order and add test for extended heartbeat default
Move extended heartbeat scheduling after metrics to preserve the positional task order expected by FakeEventScheduler in tests (heartbeat=0, metrics=1). Add default value check for extended_heartbeat_interval in test_configuration. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent d29b065 commit f42f6d8

2 files changed

Lines changed: 6 additions & 5 deletions

File tree

src/datadog/telemetry/telemetry_impl.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -223,15 +223,15 @@ void Telemetry::schedule_tasks() {
223223
config_.heartbeat_interval,
224224
[this]() { send_payload("app-heartbeat", heartbeat_and_telemetry()); }));
225225

226-
tasks_.emplace_back(scheduler_->schedule_recurring_event(
227-
config_.extended_heartbeat_interval, [this]() {
228-
send_payload("app-extended-heartbeat", extended_heartbeat_payload());
229-
}));
230-
231226
if (config_.report_metrics) {
232227
tasks_.emplace_back(scheduler_->schedule_recurring_event(
233228
config_.metrics_interval, [this]() mutable { capture_metrics(); }));
234229
}
230+
231+
tasks_.emplace_back(scheduler_->schedule_recurring_event(
232+
config_.extended_heartbeat_interval, [this]() {
233+
send_payload("app-extended-heartbeat", extended_heartbeat_payload());
234+
}));
235235
}
236236

237237
Telemetry::~Telemetry() {

test/telemetry/test_configuration.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ TELEMETRY_CONFIGURATION_TEST("defaults") {
2121
CHECK(cfg->report_metrics == true);
2222
CHECK(cfg->metrics_interval == 60s);
2323
CHECK(cfg->heartbeat_interval == 10s);
24+
CHECK(cfg->extended_heartbeat_interval == 86400s);
2425
CHECK(cfg->install_id.has_value() == false);
2526
CHECK(cfg->install_type.has_value() == false);
2627
CHECK(cfg->install_time.has_value() == false);

0 commit comments

Comments
 (0)