@@ -208,9 +208,13 @@ Telemetry::Telemetry(FinalizedConfiguration config,
208208 host_info_(get_host_info()) {
209209 // Callback for successful telemetry HTTP requests, to examine HTTP
210210 // status.
211+ logger->log_error (" Constructing telemetry object" );
211212 send_telemetry (" app-started" , app_started ());
213+ logger_->log_error (" Draining from constructor" );
212214 http_client_->drain (clock_ ().tick + 2s);
215+ logger->log_error (" Drain called" );
213216 schedule_tasks ();
217+ logger_->log_error (" Finished constructor" );
214218}
215219
216220void Telemetry::schedule_tasks () {
@@ -226,16 +230,21 @@ void Telemetry::schedule_tasks() {
226230}
227231
228232Telemetry::~Telemetry () {
233+ logger_->log_error (" Destructor called" );
229234 shutting_down_.store (true , std::memory_order_release);
230235 if (!tasks_.empty ()) {
236+ logger_->log_error (" Tasks wasnt empty" );
231237 cancel_tasks (tasks_);
232238 capture_metrics ();
233239 // The app-closing message is bundled with a message containing the
234240 // final metric values.
241+ logger_->log_error (" Sending closing telemetry" );
235242 send_telemetry (" app-closing" , app_closing ());
243+ logger_->log_error (" Draining closing telemetry" );
236244 http_client_->drain (clock_ ().tick + 2s);
237245 }
238246 http_client_.reset ();
247+ logger_->log_error (" Exiting destructor" );
239248}
240249
241250Telemetry::Telemetry (Telemetry&& rhs)
@@ -284,23 +293,24 @@ Telemetry& Telemetry::operator=(Telemetry&& rhs) {
284293
285294void Telemetry::log_error (std::string message) {
286295 if (!config_.report_logs ) return ;
287- increment_counter (internal_metrics::logs_created, {" level:error" });
296+ increment_counter (internal_metrics::logs_created, {" level:error" }, nullptr );
288297 log (std::move (message), LogLevel::ERROR);
289298}
290299
291300void Telemetry::log_error (std::string message, std::string stacktrace) {
292301 if (!config_.report_logs ) return ;
293- increment_counter (internal_metrics::logs_created, {" level:error" });
302+ increment_counter (internal_metrics::logs_created, {" level:error" }, nullptr );
294303 log (std::move (message), LogLevel::ERROR, stacktrace);
295304}
296305
297306void Telemetry::log_warning (std::string message) {
298307 if (!config_.report_logs ) return ;
299- increment_counter (internal_metrics::logs_created, {" level:warning" });
308+ increment_counter (internal_metrics::logs_created, {" level:warning" }, nullptr );
300309 log (std::move (message), LogLevel::WARNING);
301310}
302311
303312void Telemetry::send_telemetry (StringView request_type, std::string payload) {
313+ logger_->log_error (" Sending telemetry" );
304314 auto set_telemetry_headers = [request_type, payload_size = payload.size (),
305315 debug_enabled = config_.debug ,
306316 tracer_signature =
@@ -327,19 +337,19 @@ void Telemetry::send_telemetry(StringView request_type, std::string payload) {
327337 std::string response_body) {
328338 if (response_status >= 500 ) {
329339 increment_counter (internal_metrics::responses,
330- {" status_code:5xx" , " endpoint:agent" });
340+ {" status_code:5xx" , " endpoint:agent" }, logger_ );
331341 } else if (response_status >= 400 ) {
332342 increment_counter (internal_metrics::responses,
333- {" status_code:4xx" , " endpoint:agent" });
343+ {" status_code:4xx" , " endpoint:agent" }, logger_ );
334344 } else if (response_status >= 300 ) {
335345 increment_counter (internal_metrics::responses,
336- {" status_code:3xx" , " endpoint:agent" });
346+ {" status_code:3xx" , " endpoint:agent" }, logger_ );
337347 } else if (response_status >= 200 ) {
338348 increment_counter (internal_metrics::responses,
339- {" status_code:2xx" , " endpoint:agent" });
349+ {" status_code:2xx" , " endpoint:agent" }, logger_ );
340350 } else if (response_status >= 100 ) {
341351 increment_counter (internal_metrics::responses,
342- {" status_code:1xx" , " endpoint:agent" });
352+ {" status_code:1xx" , " endpoint:agent" }, logger_ );
343353 }
344354
345355 if (response_status < 200 || response_status >= 300 ) {
@@ -353,13 +363,14 @@ void Telemetry::send_telemetry(StringView request_type, std::string payload) {
353363
354364 // Callback for unsuccessful telemetry HTTP requests.
355365 auto telemetry_on_error = [this , logger = logger_](Error error) {
366+ logger->log_error (" Telemetry on error called" );
356367 increment_counter (internal_metrics::errors,
357- {" type:network" , " endpoint:agent" });
368+ {" type:network" , " endpoint:agent" }, logger );
358369 logger->log_error (error.with_prefix (
359370 " Error occurred during HTTP request for telemetry: " ));
360371 };
361372
362- increment_counter (internal_metrics::requests, {" endpoint:agent" });
373+ increment_counter (internal_metrics::requests, {" endpoint:agent" }, logger_ );
363374 add_datapoint (internal_metrics::bytes_sent, {" endpoint:agent" },
364375 payload.size ());
365376
@@ -368,8 +379,9 @@ void Telemetry::send_telemetry(StringView request_type, std::string payload) {
368379 std::move (payload), std::move (telemetry_on_response),
369380 std::move (telemetry_on_error), clock_ ().tick + 5s);
370381 if (auto * error = post_result.if_error ()) {
382+ logger_->log_error (" Error posting" );
371383 increment_counter (internal_metrics::errors,
372- {" type:network" , " endpoint:agent" });
384+ {" type:network" , " endpoint:agent" }, logger_ );
373385 logger_->log_error (
374386 error->with_prefix (" Unexpected error submitting telemetry event: " ));
375387 }
@@ -749,16 +761,27 @@ void Telemetry::log(std::string message, telemetry::LogLevel level,
749761 telemetry::LogMessage{std::move (message), level, stacktrace, timestamp});
750762}
751763
752- void Telemetry::increment_counter (const Counter& id) {
753- increment_counter (id, {});
764+ void Telemetry::increment_counter (const Counter& id,
765+ std::shared_ptr<tracing::Logger> logger) {
766+ increment_counter (id, {}, logger);
754767}
755768
756769void Telemetry::increment_counter (const Counter& id,
757- const std::vector<std::string>& tags) {
770+ const std::vector<std::string>& tags,
771+ std::shared_ptr<tracing::Logger> logger) {
772+ if (logger != nullptr ) {
773+ logger->log_error (" increment_counter called" );
774+ }
758775 std::lock_guard l{counter_mutex_};
759776 if (shutting_down_.load (std::memory_order_acquire)) {
777+ if (logger != nullptr ) {
778+ logger->log_error (" was derstroying, returning" );
779+ }
760780 return ;
761781 }
782+ if (logger != nullptr ) {
783+ logger->log_error (" was not destroying, changing variable" );
784+ }
762785 counters_[{id, tags}] += 1 ;
763786}
764787
0 commit comments