summaryrefslogtreecommitdiff
path: root/platform/glfw/glfw_view.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/glfw/glfw_view.cpp')
-rw-r--r--platform/glfw/glfw_view.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/platform/glfw/glfw_view.cpp b/platform/glfw/glfw_view.cpp
index 3d10f2c654..1c042983aa 100644
--- a/platform/glfw/glfw_view.cpp
+++ b/platform/glfw/glfw_view.cpp
@@ -23,11 +23,16 @@
#include <mbgl/util/logging.hpp>
#include <mbgl/util/platform.hpp>
#include <mbgl/util/string.hpp>
+#include <mbgl/perf/runtime_metrics.hpp>
#include <mapbox/cheap_ruler.hpp>
#include <mapbox/geometry.hpp>
#include <mapbox/geojson.hpp>
+#include <fstream>
+#include <string>
+#include <iostream>
+
#if MBGL_USE_GLES2
#define GLFW_INCLUDE_ES2
#endif // MBGL_USE_GLES2
@@ -234,6 +239,18 @@ void GLFWView::onKey(GLFWwindow *window, int key, int /*scancode*/, int action,
case GLFW_KEY_K:
view->addRandomCustomPointAnnotations(1);
break;
+ case GLFW_KEY_H:
+ MBGL_IF_TRACING(if (mbgl::util::Tracer::get().isCollectingData()) { \
+ mbgl::util::Tracer::get().setCollectData(false); \
+ std::string json = mbgl::util::Tracer::get().dumpAll(true); \
+ printf("%s\n", json.c_str()); \
+ std::ofstream out("/tmp/mbgl_glfw_trace.json"); \
+ out << json; \
+ out.close(); \
+ } else { \
+ mbgl::util::Tracer::get().setCollectData(true); \
+ })
+ break;
case GLFW_KEY_L:
view->addRandomLineAnnotations(1);
break;