@@ -22,8 +22,8 @@ void MonitoringStats::record_validation_success(const std::string &issuer,
2222 auto &stats = m_issuer_stats[issuer];
2323 stats.successful_validations ++;
2424 // Add to the total time (accumulate across all validations)
25- double current = stats. total_time_s . load ();
26- stats.total_time_s . store (current + duration_s) ;
25+ // No atomic needed - protected by mutex
26+ stats.total_time_s += duration_s;
2727}
2828
2929void MonitoringStats::record_validation_failure (const std::string &issuer,
@@ -32,8 +32,8 @@ void MonitoringStats::record_validation_failure(const std::string &issuer,
3232 auto &stats = m_issuer_stats[issuer];
3333 stats.unsuccessful_validations ++;
3434 // Add to the total time (accumulate across all validations)
35- double current = stats. total_time_s . load ();
36- stats.total_time_s . store (current + duration_s) ;
35+ // No atomic needed - protected by mutex
36+ stats.total_time_s += duration_s;
3737}
3838
3939void MonitoringStats::record_expired_token (const std::string &issuer) {
@@ -115,7 +115,7 @@ std::string MonitoringStats::get_json() const {
115115 issuer_obj[" expired_tokens" ] =
116116 picojson::value (static_cast <double >(stats.expired_tokens .load ()));
117117 issuer_obj[" total_validation_time_s" ] =
118- picojson::value (stats.total_time_s . load () );
118+ picojson::value (stats.total_time_s );
119119
120120 std::string sanitized_issuer = sanitize_issuer_for_json (issuer);
121121 issuers_obj[sanitized_issuer] = picojson::value (issuer_obj);
0 commit comments