From 4031e77edd2abd694114be698312d086bce6b425 Mon Sep 17 00:00:00 2001 From: Rutger Broekhoff Date: Thu, 10 Sep 2026 01:30:43 +0200 Subject: More tracing stuff --- server/src/api.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'server/src/api.cpp') diff --git a/server/src/api.cpp b/server/src/api.cpp index 41c49c8..f1ca24e 100644 --- a/server/src/api.cpp +++ b/server/src/api.cpp @@ -144,9 +144,11 @@ handler::handler(log::logger const& l, datex2::situation_publication pub) l_.info("Point index size: {}", bpe_index_.size()); } -auto handler::process_gpx(gpx::file&& gpx_file) +auto handler::process_gpx(trace::id trace_id, gpx::file&& gpx_file) -> std::optional { + auto l = l_.with("trace_id", trace_id.as_string()); + auto const now = chrono::utc_clock::now(); auto const relevant = std::initializer_list{ time::period{now - chrono::days(7), now + chrono::days(7)} @@ -162,7 +164,7 @@ auto handler::process_gpx(gpx::file&& gpx_file) auto vincenty_strategy = geo::wgs84::vincenty_strategy{}; - l_.debug("Querying for relevant situations"); + l.debug("Querying for relevant situations"); auto relevant_road_closures = std::unordered_set>{}; auto ls_checked = 0uz; @@ -170,7 +172,7 @@ auto handler::process_gpx(gpx::file&& gpx_file) auto i = 0; for (auto const& part : segments) { - l_.debug("Checking part [{}/{}]", ++i, segments.size()); + l.debug("Checking part [{}/{}]", ++i, segments.size()); auto part_zone_lss = geo::utm::multizonal::split_linestring_across_zones(part); @@ -206,7 +208,7 @@ auto handler::process_gpx(gpx::file&& gpx_file) } auto const after_query = chrono::steady_clock::now(); - l_.debug( + l.debug( "Done (checked {} line string(s) and {} point(s)) in {}", ls_checked, p_checked, chrono::duration_cast(after_query - before_query)); @@ -216,12 +218,12 @@ auto handler::process_gpx(gpx::file&& gpx_file) for (auto const& rc : relevant_road_closures) relevant_situations.emplace(rc->parent); - l_.debug( + l.debug( "Identified {} relevant road closure(s), part of {} unique " "situation(s)", relevant_road_closures.size(), relevant_situations.size()); for (auto const& sit : relevant_situations) - l_.debug("Relevant situation: {}", sit->id); + l.debug("Relevant situation: {}", sit->id); return process_gpx_result{ .tracks = gpx_file.tracks -- cgit v1.3