From eb70b8984901d8113f3a29d26cc355d5b3ed46fd Mon Sep 17 00:00:00 2001 From: Lloyd Sheng Date: Thu, 21 Jun 2018 11:24:14 +0800 Subject: [core] Measuring tiles requesting/parsing time using logging (#12152) * Tile timing * Refactor logging code * Keep the scope of `messageStream` constrained * Make log message more clear * Fix crash issue if onlineResponse.data is null --- platform/default/default_file_source.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'platform/default') diff --git a/platform/default/default_file_source.cpp b/platform/default/default_file_source.cpp index cb602995a4..89aabeb8d3 100644 --- a/platform/default/default_file_source.cpp +++ b/platform/default/default_file_source.cpp @@ -11,6 +11,7 @@ #include #include #include +#include #include @@ -151,8 +152,17 @@ public: // Get from the online file source if (resource.hasLoadingMethod(Resource::LoadingMethod::Network)) { + MBGL_TIMING_START(watch); tasks[req] = onlineFileSource.request(resource, [=] (Response onlineResponse) mutable { this->offlineDatabase->put(resource, onlineResponse); + if (resource.kind == Resource::Kind::Tile) { + // onlineResponse.data will be null if data not modified + MBGL_TIMING_FINISH(watch, + " Action: " << "Requesting," << + " URL: " << resource.url.c_str() << + " Size: " << (onlineResponse.data != nullptr ? onlineResponse.data->size() : 0) << "B," << + " Time") + } callback(onlineResponse); }); } -- cgit v1.2.1