diff options
Diffstat (limited to 'server/src/api.cpp')
| -rw-r--r-- | server/src/api.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
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) | |||
| 144 | l_.info("Point index size: {}", bpe_index_.size()); | 144 | l_.info("Point index size: {}", bpe_index_.size()); |
| 145 | } | 145 | } |
| 146 | 146 | ||
| 147 | auto handler::process_gpx(gpx::file&& gpx_file) | 147 | auto handler::process_gpx(trace::id trace_id, gpx::file&& gpx_file) |
| 148 | -> std::optional<process_gpx_result> | 148 | -> std::optional<process_gpx_result> |
| 149 | { | 149 | { |
| 150 | auto l = l_.with("trace_id", trace_id.as_string()); | ||
| 151 | |||
| 150 | auto const now = chrono::utc_clock::now(); | 152 | auto const now = chrono::utc_clock::now(); |
| 151 | auto const relevant = std::initializer_list<time::period>{ | 153 | auto const relevant = std::initializer_list<time::period>{ |
| 152 | time::period{now - chrono::days(7), now + chrono::days(7)} | 154 | time::period{now - chrono::days(7), now + chrono::days(7)} |
| @@ -162,7 +164,7 @@ auto handler::process_gpx(gpx::file&& gpx_file) | |||
| 162 | 164 | ||
| 163 | auto vincenty_strategy = geo::wgs84::vincenty_strategy{}; | 165 | auto vincenty_strategy = geo::wgs84::vincenty_strategy{}; |
| 164 | 166 | ||
| 165 | l_.debug("Querying for relevant situations"); | 167 | l.debug("Querying for relevant situations"); |
| 166 | auto relevant_road_closures = | 168 | auto relevant_road_closures = |
| 167 | std::unordered_set<std::shared_ptr<datex2::road_closure>>{}; | 169 | std::unordered_set<std::shared_ptr<datex2::road_closure>>{}; |
| 168 | auto ls_checked = 0uz; | 170 | auto ls_checked = 0uz; |
| @@ -170,7 +172,7 @@ auto handler::process_gpx(gpx::file&& gpx_file) | |||
| 170 | auto i = 0; | 172 | auto i = 0; |
| 171 | for (auto const& part : segments) | 173 | for (auto const& part : segments) |
| 172 | { | 174 | { |
| 173 | l_.debug("Checking part [{}/{}]", ++i, segments.size()); | 175 | l.debug("Checking part [{}/{}]", ++i, segments.size()); |
| 174 | 176 | ||
| 175 | auto part_zone_lss = | 177 | auto part_zone_lss = |
| 176 | geo::utm::multizonal::split_linestring_across_zones(part); | 178 | geo::utm::multizonal::split_linestring_across_zones(part); |
| @@ -206,7 +208,7 @@ auto handler::process_gpx(gpx::file&& gpx_file) | |||
| 206 | } | 208 | } |
| 207 | 209 | ||
| 208 | auto const after_query = chrono::steady_clock::now(); | 210 | auto const after_query = chrono::steady_clock::now(); |
| 209 | l_.debug( | 211 | l.debug( |
| 210 | "Done (checked {} line string(s) and {} point(s)) in {}", ls_checked, | 212 | "Done (checked {} line string(s) and {} point(s)) in {}", ls_checked, |
| 211 | p_checked, | 213 | p_checked, |
| 212 | chrono::duration_cast<chrono::milliseconds>(after_query - before_query)); | 214 | chrono::duration_cast<chrono::milliseconds>(after_query - before_query)); |
| @@ -216,12 +218,12 @@ auto handler::process_gpx(gpx::file&& gpx_file) | |||
| 216 | for (auto const& rc : relevant_road_closures) | 218 | for (auto const& rc : relevant_road_closures) |
| 217 | relevant_situations.emplace(rc->parent); | 219 | relevant_situations.emplace(rc->parent); |
| 218 | 220 | ||
| 219 | l_.debug( | 221 | l.debug( |
| 220 | "Identified {} relevant road closure(s), part of {} unique " | 222 | "Identified {} relevant road closure(s), part of {} unique " |
| 221 | "situation(s)", | 223 | "situation(s)", |
| 222 | relevant_road_closures.size(), relevant_situations.size()); | 224 | relevant_road_closures.size(), relevant_situations.size()); |
| 223 | for (auto const& sit : relevant_situations) | 225 | for (auto const& sit : relevant_situations) |
| 224 | l_.debug("Relevant situation: {}", sit->id); | 226 | l.debug("Relevant situation: {}", sit->id); |
| 225 | 227 | ||
| 226 | return process_gpx_result{ | 228 | return process_gpx_result{ |
| 227 | .tracks = gpx_file.tracks | 229 | .tracks = gpx_file.tracks |