From 63b7d6e5acece92a75666aab074320257d256829 Mon Sep 17 00:00:00 2001 From: Alexey Milovidov Date: Sun, 16 Feb 2020 09:49:24 +0300 Subject: [PATCH] Describe reasons when query profiler cannot work --- dbms/programs/server/Server.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/dbms/programs/server/Server.cpp b/dbms/programs/server/Server.cpp index 0cd357bbd94..3fd4efe2039 100644 --- a/dbms/programs/server/Server.cpp +++ b/dbms/programs/server/Server.cpp @@ -578,6 +578,25 @@ int Server::main(const std::vector & /*args*/) global_context->initializeTraceCollector(); #endif + /// Describe multiple reasons when query profiler cannot work. + +#if !USE_UNWIND + LOG_INFO(log, "Query Profiler and TraceCollector are disabled because they cannot work without bundled unwind library."); +#endif + +#if WITH_COVERAGE + LOG_INFO(log, "Query Profiler and TraceCollector are disabled because they work extremely slow with test coverage."); +#endif + +#if defined(SANITIZER) + LOG_INFO(log, "Query Profiler and TraceCollector are disabled because they cannot work under sanitizers" + " when two different stack unwinding methods will interfere with each other."); +#endif + + if (!hasPHDRCache()) + LOG_INFO(log, "Query Profiler and TraceCollector are disabled because they require PHDR cache to be created" + " (otherwise the function 'dl_iterate_phdr' is not lock free and async-signal safe)."); + global_context->setCurrentDatabase(default_database); if (has_zookeeper && config().has("distributed_ddl"))