From 014b517820b935137d1f6cf654c42fb041ee2d71 Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Wed, 28 Oct 2015 11:58:42 -0700 Subject: [node] Output debug logs when a render test times out --- src/mbgl/map/map.cpp | 4 ++++ src/mbgl/map/map_context.cpp | 11 +++++++++++ src/mbgl/map/map_context.hpp | 2 ++ src/mbgl/map/source.cpp | 9 +++++++++ src/mbgl/map/source.hpp | 1 + src/mbgl/map/sprite.cpp | 4 ++++ src/mbgl/map/sprite.hpp | 2 ++ src/mbgl/map/tile_data.cpp | 6 ++++++ src/mbgl/map/tile_data.hpp | 2 ++ src/mbgl/style/style.cpp | 12 ++++++++++++ src/mbgl/style/style.hpp | 2 ++ 11 files changed, 55 insertions(+) (limited to 'src') diff --git a/src/mbgl/map/map.cpp b/src/mbgl/map/map.cpp index a1823dc8e1..f4db160c27 100644 --- a/src/mbgl/map/map.cpp +++ b/src/mbgl/map/map.cpp @@ -500,4 +500,8 @@ void Map::onLowMemory() { context->invoke(&MapContext::onLowMemory); } +void Map::dumpDebugLogs() const { + context->invokeSync(&MapContext::dumpDebugLogs); +} + } diff --git a/src/mbgl/map/map_context.cpp b/src/mbgl/map/map_context.cpp index 11d631a57a..b6ebffe2e2 100644 --- a/src/mbgl/map/map_context.cpp +++ b/src/mbgl/map/map_context.cpp @@ -324,4 +324,15 @@ void MapContext::onResourceLoadingFailed(std::exception_ptr error) { } } +void MapContext::dumpDebugLogs() const { + Log::Info(Event::General, "--------------------------------------------------------------------------------"); + Log::Info(Event::General, "MapContext::styleURL: %s", styleURL.c_str()); + if (style) { + style->dumpDebugLogs(); + } else { + Log::Info(Event::General, "no style loaded"); + } + Log::Info(Event::General, "--------------------------------------------------------------------------------"); +} + } diff --git a/src/mbgl/map/map_context.hpp b/src/mbgl/map/map_context.hpp index 028a05e4bb..c2e0213dfb 100644 --- a/src/mbgl/map/map_context.hpp +++ b/src/mbgl/map/map_context.hpp @@ -67,6 +67,8 @@ public: void onTileDataChanged() override; void onResourceLoadingFailed(std::exception_ptr error) override; + void dumpDebugLogs() const; + private: // Update the state indicated by the accumulated Update flags, then render. void update(); diff --git a/src/mbgl/map/source.cpp b/src/mbgl/map/source.cpp index 8a7f97d963..7af58788e4 100644 --- a/src/mbgl/map/source.cpp +++ b/src/mbgl/map/source.cpp @@ -594,4 +594,13 @@ void Source::emitTileLoadingFailed(const std::string& message) { observer_->onTileLoadingFailed(error); } +void Source::dumpDebugLogs() const { + Log::Info(Event::General, "Source::id: %s", info.source_id.c_str()); + Log::Info(Event::General, "Source::loaded: %d", loaded); + + for (const auto& tile : tiles) { + tile.second->data->dumpDebugLogs(); + } +} + } diff --git a/src/mbgl/map/source.hpp b/src/mbgl/map/source.hpp index 2193ea8af6..4aab4a8b44 100644 --- a/src/mbgl/map/source.hpp +++ b/src/mbgl/map/source.hpp @@ -91,6 +91,7 @@ public: void onLowMemory(); void setObserver(Observer* observer); + void dumpDebugLogs() const; SourceInfo info; bool enabled; diff --git a/src/mbgl/map/sprite.cpp b/src/mbgl/map/sprite.cpp index cbd8c44338..84e01324b5 100644 --- a/src/mbgl/map/sprite.cpp +++ b/src/mbgl/map/sprite.cpp @@ -111,4 +111,8 @@ void Sprite::setObserver(Observer* observer_) { observer = observer_; } +void Sprite::dumpDebugLogs() const { + Log::Info(Event::General, "Sprite::loaded: %d", loaded); +} + } // namespace mbgl diff --git a/src/mbgl/map/sprite.hpp b/src/mbgl/map/sprite.hpp index 47ce1dbc8b..cd82460a12 100644 --- a/src/mbgl/map/sprite.hpp +++ b/src/mbgl/map/sprite.hpp @@ -34,6 +34,8 @@ public: return loaded; } + void dumpDebugLogs() const; + const float pixelRatio; void setObserver(Observer* observer); diff --git a/src/mbgl/map/tile_data.cpp b/src/mbgl/map/tile_data.cpp index d5fef9d0b4..bba7d7fe22 100644 --- a/src/mbgl/map/tile_data.cpp +++ b/src/mbgl/map/tile_data.cpp @@ -23,4 +23,10 @@ const char* TileData::StateToString(const State state) { } } +void TileData::dumpDebugLogs() const { + Log::Info(Event::General, "TileData::id: %s", std::string(id).c_str()); + Log::Info(Event::General, "TileData::state: %s", TileData::StateToString(state)); + Log::Info(Event::General, "TileData::error: %s", error.c_str()); +} + } // namespace mbgl diff --git a/src/mbgl/map/tile_data.hpp b/src/mbgl/map/tile_data.hpp index d9895ce01a..2a5745142d 100644 --- a/src/mbgl/map/tile_data.hpp +++ b/src/mbgl/map/tile_data.hpp @@ -91,6 +91,8 @@ public: return error; } + void dumpDebugLogs() const; + const TileID id; // Contains the tile ID string for painting debug information. diff --git a/src/mbgl/style/style.cpp b/src/mbgl/style/style.cpp index b68ce496b8..3c87c4c9b7 100644 --- a/src/mbgl/style/style.cpp +++ b/src/mbgl/style/style.cpp @@ -262,4 +262,16 @@ void Style::emitResourceLoadingFailed(std::exception_ptr error) { } } +void Style::dumpDebugLogs() const { + for (const auto& source : sources) { + source->dumpDebugLogs(); + } + + if (!sprite) { + Log::Info(Event::General, "no sprite loaded"); + } else { + sprite->dumpDebugLogs(); + } +} + } diff --git a/src/mbgl/style/style.hpp b/src/mbgl/style/style.hpp index f4b2aac480..c9261bd6c4 100644 --- a/src/mbgl/style/style.hpp +++ b/src/mbgl/style/style.hpp @@ -69,6 +69,8 @@ public: void addLayer(util::ptr, const std::string& beforeLayerID); void removeLayer(const std::string& layerID); + void dumpDebugLogs() const; + MapData& data; std::unique_ptr glyphStore; std::unique_ptr glyphAtlas; -- cgit v1.2.1