diff options
author | Lloyd Sheng <i@lloydsheng.com> | 2018-06-15 16:16:35 +0800 |
---|---|---|
committer | Lloyd Sheng <i@lloydsheng.com> | 2018-06-15 16:16:35 +0800 |
commit | bc02a43c67c5365feac95ff551cd1a250754d707 (patch) | |
tree | e4a03f55c969f0d58b911abeea6335121abb293a | |
parent | 144c167274f629523d265b9a54326ff544133413 (diff) | |
download | qtlocation-mapboxgl-bc02a43c67c5365feac95ff551cd1a250754d707.tar.gz |
Tile timing
-rw-r--r-- | platform/default/default_file_source.cpp | 17 | ||||
-rw-r--r-- | src/mbgl/tile/geometry_tile_worker.cpp | 17 |
2 files changed, 34 insertions, 0 deletions
diff --git a/platform/default/default_file_source.cpp b/platform/default/default_file_source.cpp index cb602995a4..125d4df370 100644 --- a/platform/default/default_file_source.cpp +++ b/platform/default/default_file_source.cpp @@ -11,8 +11,10 @@ #include <mbgl/util/url.hpp> #include <mbgl/util/thread.hpp> #include <mbgl/util/work_request.hpp> +#include <mbgl/util/logging.hpp> #include <cassert> +#include <chrono> namespace mbgl { @@ -151,8 +153,23 @@ public: // Get from the online file source if (resource.hasLoadingMethod(Resource::LoadingMethod::Network)) { +#if MBGL_TILE_TIMING + using namespace std::chrono; + milliseconds requestBeginAt = duration_cast< milliseconds >(system_clock::now().time_since_epoch()); +#endif tasks[req] = onlineFileSource.request(resource, [=] (Response onlineResponse) mutable { this->offlineDatabase->put(resource, onlineResponse); +#if MBGL_TILE_TIMING + milliseconds requestEndAt = duration_cast< milliseconds >(system_clock::now().time_since_epoch()); + if (resource.kind == Resource::Kind::Tile) { + Log::Debug(Event::HttpRequest, + "Tile:%s, Requesting time:%llims, Size:%u", + resource.url.c_str(), + requestEndAt - requestBeginAt, + onlineResponse.data->size() + ); + } +#endif callback(onlineResponse); }); } diff --git a/src/mbgl/tile/geometry_tile_worker.cpp b/src/mbgl/tile/geometry_tile_worker.cpp index ca20c4b8ab..ee55b6a162 100644 --- a/src/mbgl/tile/geometry_tile_worker.cpp +++ b/src/mbgl/tile/geometry_tile_worker.cpp @@ -12,8 +12,10 @@ #include <mbgl/util/constants.hpp> #include <mbgl/util/string.hpp> #include <mbgl/util/exception.hpp> +#include <mbgl/util/logging.hpp> #include <unordered_set> +#include <chrono> namespace mbgl { @@ -319,6 +321,10 @@ void GeometryTileWorker::parse() { return; } +#if MBGL_TILE_TIMING + using namespace std::chrono; + milliseconds parseBeginAt = duration_cast< milliseconds >(system_clock::now().time_since_epoch()); +#endif std::vector<std::string> symbolOrder; for (auto it = layers->rbegin(); it != layers->rend(); it++) { if ((*it)->type == LayerType::Symbol) { @@ -404,6 +410,17 @@ void GeometryTileWorker::parse() { requestNewImages(imageDependencies); performSymbolLayout(); +#if MBGL_TILE_TIMING + milliseconds parseEndAt = duration_cast< milliseconds >(system_clock::now().time_since_epoch()); + Log::Debug(Event::HttpRequest, + "Souce ID:%s, Canonical:%d/%d/%d, Requesting time:%llims", + sourceID.c_str(), + id.canonical.z, + id.canonical.x, + id.canonical.y, + parseEndAt - parseBeginAt + ); +#endif } bool GeometryTileWorker::hasPendingSymbolDependencies() const { |