Created
July 30, 2019 00:07
-
-
Save alexey-milovidov/92758583dd41c24c360fdb8d6a4da194 to your computer and use it in GitHub Desktop.
Example of query profiling.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT | |
count(), | |
arrayStringConcat(arrayMap(x -> concat(demangle(addressToSymbol(x)), '\n ', addressToLine(x)), trace), '\n') AS sym | |
FROM system.trace_log | |
WHERE (query_id = 'ebca3574-ad0a-400a-9cbc-dca382f5998c') AND (event_date = today()) | |
GROUP BY trace | |
ORDER BY count() DESC | |
LIMIT 10 | |
Row 1: | |
────── | |
count(): 6344 | |
sym: StackTrace::StackTrace(ucontext_t const&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Common/StackTrace.cpp:208 | |
DB::(anonymous namespace)::writeTraceInfo(DB::TimerType, int, siginfo_t*, void*) [clone .isra.0] | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/IO/BufferBase.h:99 | |
read | |
DB::ReadBufferFromFileDescriptor::nextImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/IO/ReadBufferFromFileDescriptor.cpp:56 | |
DB::CompressedReadBufferBase::readCompressedData(unsigned long&, unsigned long&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/IO/ReadBuffer.h:54 | |
DB::CompressedReadBufferFromFile::nextImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Compression/CompressedReadBufferFromFile.cpp:22 | |
DB::CompressedReadBufferFromFile::seek(unsigned long, unsigned long) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Compression/CompressedReadBufferFromFile.cpp:63 | |
DB::MergeTreeReaderStream::seekToMark(unsigned long) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeReaderStream.cpp:200 | |
std::_Function_handler<DB::ReadBuffer* (std::vector<DB::IDataType::Substream, std::allocator<DB::IDataType::Substream> > const&), DB::MergeTreeReader::readData(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DB::IDataType const&, DB::IColumn&, unsigned long, bool, unsigned long, bool)::{lambda(bool)#1}::operator()(bool) const::{lambda(std::vector<DB::IDataType::Substream, std::allocator<DB::IDataType::Substream> > const&)#1}>::_M_invoke(std::_Any_data const&, std::vector<DB::IDataType::Substream, std::allocator<DB::IDataType::Substream> > const&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeReader.cpp:212 | |
DB::IDataType::deserializeBinaryBulkWithMultipleStreams(DB::IColumn&, unsigned long, DB::IDataType::DeserializeBinaryBulkSettings&, std::shared_ptr<DB::IDataType::DeserializeBinaryBulkState>&) const | |
/usr/local/include/c++/9.1.0/bits/std_function.h:690 | |
DB::MergeTreeReader::readData(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DB::IDataType const&, DB::IColumn&, unsigned long, bool, unsigned long, bool) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeReader.cpp:232 | |
DB::MergeTreeReader::readRows(unsigned long, bool, unsigned long, DB::Block&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeReader.cpp:111 | |
DB::MergeTreeRangeReader::DelayedStream::finalize(DB::Block&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeRangeReader.cpp:35 | |
DB::MergeTreeRangeReader::continueReadingChain(DB::MergeTreeRangeReader::ReadResult&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeRangeReader.cpp:219 | |
DB::MergeTreeRangeReader::read(unsigned long, std::vector<DB::MarkRange, std::allocator<DB::MarkRange> >&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeRangeReader.cpp:487 | |
DB::MergeTreeBaseSelectBlockInputStream::readFromPartImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeBaseSelectBlockInputStream.cpp:158 | |
DB::MergeTreeBaseSelectBlockInputStream::readImpl() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::ExpressionBlockInputStream::readImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/ExpressionBlockInputStream.cpp:34 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::PartialSortingBlockInputStream::readImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/PartialSortingBlockInputStream.cpp:13 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::loop(unsigned long) | |
/usr/local/include/c++/9.1.0/bits/atomic_base.h:419 | |
DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::thread(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/ParallelInputsProcessor.h:215 | |
ThreadFromGlobalPool::ThreadFromGlobalPool<void (DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::*)(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long), DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>*, std::shared_ptr<DB::ThreadGroupStatus>, unsigned long&>(void (DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::*&&)(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long), DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>*&&, std::shared_ptr<DB::ThreadGroupStatus>&&, unsigned long&)::{lambda()#1}::operator()() const | |
/usr/local/include/c++/9.1.0/bits/shared_ptr_base.h:729 | |
ThreadPoolImpl<std::thread>::worker(std::_List_iterator<std::thread>) | |
/usr/local/include/c++/9.1.0/bits/unique_lock.h:69 | |
execute_native_thread_routine | |
/home/milovidov/ClickHouse/ci/workspace/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/unique_ptr.h:81 | |
start_thread | |
__clone | |
Row 2: | |
────── | |
count(): 3295 | |
sym: StackTrace::StackTrace(ucontext_t const&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Common/StackTrace.cpp:208 | |
DB::(anonymous namespace)::writeTraceInfo(DB::TimerType, int, siginfo_t*, void*) [clone .isra.0] | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/IO/BufferBase.h:99 | |
__pthread_cond_wait | |
std::condition_variable::wait(std::unique_lock<std::mutex>&) | |
/home/milovidov/ClickHouse/ci/workspace/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/src/c++11/../../../../../gcc-9.1.0/libstdc++-v3/src/c++11/condition_variable.cc:55 | |
Poco::Semaphore::wait() | |
/home/milovidov/ClickHouse/build_gcc9/../contrib/poco/Foundation/src/Semaphore.cpp:61 | |
DB::UnionBlockInputStream::readImpl() | |
/usr/local/include/c++/9.1.0/x86_64-pc-linux-gnu/bits/gthr-default.h:748 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::MergeSortingBlockInputStream::readImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Core/Block.h:90 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::ExpressionBlockInputStream::readImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/ExpressionBlockInputStream.cpp:34 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::LimitBlockInputStream::readImpl() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::AsynchronousBlockInputStream::calculate() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
std::_Function_handler<void (), DB::AsynchronousBlockInputStream::next()::{lambda()#1}>::_M_invoke(std::_Any_data const&) | |
/usr/local/include/c++/9.1.0/bits/atomic_base.h:551 | |
ThreadPoolImpl<ThreadFromGlobalPool>::worker(std::_List_iterator<ThreadFromGlobalPool>) | |
/usr/local/include/c++/9.1.0/x86_64-pc-linux-gnu/bits/gthr-default.h:748 | |
ThreadFromGlobalPool::ThreadFromGlobalPool<ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::function<void ()>, int, std::optional<unsigned long>)::{lambda()#3}>(ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::function<void ()>, int, std::optional<unsigned long>)::{lambda()#3}&&)::{lambda()#1}::operator()() const | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Common/ThreadPool.h:146 | |
ThreadPoolImpl<std::thread>::worker(std::_List_iterator<std::thread>) | |
/usr/local/include/c++/9.1.0/bits/unique_lock.h:69 | |
execute_native_thread_routine | |
/home/milovidov/ClickHouse/ci/workspace/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/unique_ptr.h:81 | |
start_thread | |
__clone | |
Row 3: | |
────── | |
count(): 1978 | |
sym: StackTrace::StackTrace(ucontext_t const&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Common/StackTrace.cpp:208 | |
DB::(anonymous namespace)::writeTraceInfo(DB::TimerType, int, siginfo_t*, void*) [clone .isra.0] | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/IO/BufferBase.h:99 | |
DB::VolnitskyBase<true, true, DB::StringSearcher<true, true> >::search(unsigned char const*, unsigned long) const | |
/opt/milovidov/ClickHouse/build_gcc9/dbms/programs/clickhouse | |
DB::MatchImpl<true, false>::vector_constant(DB::PODArray<unsigned char, 4096ul, AllocatorWithHint<false, AllocatorHints::DefaultHint, 67108864ul>, 15ul, 16ul> const&, DB::PODArray<unsigned long, 4096ul, AllocatorWithHint<false, AllocatorHints::DefaultHint, 67108864ul>, 15ul, 16ul> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DB::PODArray<unsigned char, 4096ul, AllocatorWithHint<false, AllocatorHints::DefaultHint, 67108864ul>, 15ul, 16ul>&) | |
/opt/milovidov/ClickHouse/build_gcc9/dbms/programs/clickhouse | |
DB::FunctionsStringSearch<DB::MatchImpl<true, false>, DB::NameLike>::executeImpl(DB::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long) | |
/opt/milovidov/ClickHouse/build_gcc9/dbms/programs/clickhouse | |
DB::PreparedFunctionImpl::execute(DB::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long, bool) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Functions/IFunction.cpp:464 | |
DB::ExpressionAction::execute(DB::Block&, bool) const | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:677 | |
DB::ExpressionActions::execute(DB::Block&, bool) const | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Interpreters/ExpressionActions.cpp:739 | |
DB::MergeTreeRangeReader::executePrewhereActionsAndFilterColumns(DB::MergeTreeRangeReader::ReadResult&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeRangeReader.cpp:660 | |
DB::MergeTreeRangeReader::read(unsigned long, std::vector<DB::MarkRange, std::allocator<DB::MarkRange> >&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeRangeReader.cpp:546 | |
DB::MergeTreeRangeReader::read(unsigned long, std::vector<DB::MarkRange, std::allocator<DB::MarkRange> >&) | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::MergeTreeBaseSelectBlockInputStream::readFromPartImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeBaseSelectBlockInputStream.cpp:158 | |
DB::MergeTreeBaseSelectBlockInputStream::readImpl() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::ExpressionBlockInputStream::readImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/ExpressionBlockInputStream.cpp:34 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::PartialSortingBlockInputStream::readImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/PartialSortingBlockInputStream.cpp:13 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::loop(unsigned long) | |
/usr/local/include/c++/9.1.0/bits/atomic_base.h:419 | |
DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::thread(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/ParallelInputsProcessor.h:215 | |
ThreadFromGlobalPool::ThreadFromGlobalPool<void (DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::*)(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long), DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>*, std::shared_ptr<DB::ThreadGroupStatus>, unsigned long&>(void (DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::*&&)(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long), DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>*&&, std::shared_ptr<DB::ThreadGroupStatus>&&, unsigned long&)::{lambda()#1}::operator()() const | |
/usr/local/include/c++/9.1.0/bits/shared_ptr_base.h:729 | |
ThreadPoolImpl<std::thread>::worker(std::_List_iterator<std::thread>) | |
/usr/local/include/c++/9.1.0/bits/unique_lock.h:69 | |
execute_native_thread_routine | |
/home/milovidov/ClickHouse/ci/workspace/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/unique_ptr.h:81 | |
start_thread | |
__clone | |
Row 4: | |
────── | |
count(): 1913 | |
sym: StackTrace::StackTrace(ucontext_t const&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Common/StackTrace.cpp:208 | |
DB::(anonymous namespace)::writeTraceInfo(DB::TimerType, int, siginfo_t*, void*) [clone .isra.0] | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/IO/BufferBase.h:99 | |
DB::VolnitskyBase<true, true, DB::StringSearcher<true, true> >::search(unsigned char const*, unsigned long) const | |
/opt/milovidov/ClickHouse/build_gcc9/dbms/programs/clickhouse | |
DB::MatchImpl<true, false>::vector_constant(DB::PODArray<unsigned char, 4096ul, AllocatorWithHint<false, AllocatorHints::DefaultHint, 67108864ul>, 15ul, 16ul> const&, DB::PODArray<unsigned long, 4096ul, AllocatorWithHint<false, AllocatorHints::DefaultHint, 67108864ul>, 15ul, 16ul> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DB::PODArray<unsigned char, 4096ul, AllocatorWithHint<false, AllocatorHints::DefaultHint, 67108864ul>, 15ul, 16ul>&) | |
/opt/milovidov/ClickHouse/build_gcc9/dbms/programs/clickhouse | |
DB::FunctionsStringSearch<DB::MatchImpl<true, false>, DB::NameLike>::executeImpl(DB::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long) | |
/opt/milovidov/ClickHouse/build_gcc9/dbms/programs/clickhouse | |
DB::PreparedFunctionImpl::execute(DB::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long, bool) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Functions/IFunction.cpp:464 | |
DB::ExpressionAction::execute(DB::Block&, bool) const | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:677 | |
DB::ExpressionActions::execute(DB::Block&, bool) const | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Interpreters/ExpressionActions.cpp:739 | |
DB::MergeTreeRangeReader::executePrewhereActionsAndFilterColumns(DB::MergeTreeRangeReader::ReadResult&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeRangeReader.cpp:660 | |
DB::MergeTreeRangeReader::read(unsigned long, std::vector<DB::MarkRange, std::allocator<DB::MarkRange> >&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeRangeReader.cpp:546 | |
DB::MergeTreeRangeReader::read(unsigned long, std::vector<DB::MarkRange, std::allocator<DB::MarkRange> >&) | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::MergeTreeBaseSelectBlockInputStream::readFromPartImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeBaseSelectBlockInputStream.cpp:158 | |
DB::MergeTreeBaseSelectBlockInputStream::readImpl() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::ExpressionBlockInputStream::readImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/ExpressionBlockInputStream.cpp:34 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::PartialSortingBlockInputStream::readImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/PartialSortingBlockInputStream.cpp:13 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::loop(unsigned long) | |
/usr/local/include/c++/9.1.0/bits/atomic_base.h:419 | |
DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::thread(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/ParallelInputsProcessor.h:215 | |
ThreadFromGlobalPool::ThreadFromGlobalPool<void (DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::*)(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long), DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>*, std::shared_ptr<DB::ThreadGroupStatus>, unsigned long&>(void (DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::*&&)(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long), DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>*&&, std::shared_ptr<DB::ThreadGroupStatus>&&, unsigned long&)::{lambda()#1}::operator()() const | |
/usr/local/include/c++/9.1.0/bits/shared_ptr_base.h:729 | |
ThreadPoolImpl<std::thread>::worker(std::_List_iterator<std::thread>) | |
/usr/local/include/c++/9.1.0/bits/unique_lock.h:69 | |
execute_native_thread_routine | |
/home/milovidov/ClickHouse/ci/workspace/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/unique_ptr.h:81 | |
start_thread | |
__clone | |
Row 5: | |
────── | |
count(): 1672 | |
sym: StackTrace::StackTrace(ucontext_t const&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Common/StackTrace.cpp:208 | |
DB::(anonymous namespace)::writeTraceInfo(DB::TimerType, int, siginfo_t*, void*) [clone .isra.0] | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/IO/BufferBase.h:99 | |
DB::VolnitskyBase<true, true, DB::StringSearcher<true, true> >::search(unsigned char const*, unsigned long) const | |
/opt/milovidov/ClickHouse/build_gcc9/dbms/programs/clickhouse | |
DB::MatchImpl<true, false>::vector_constant(DB::PODArray<unsigned char, 4096ul, AllocatorWithHint<false, AllocatorHints::DefaultHint, 67108864ul>, 15ul, 16ul> const&, DB::PODArray<unsigned long, 4096ul, AllocatorWithHint<false, AllocatorHints::DefaultHint, 67108864ul>, 15ul, 16ul> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DB::PODArray<unsigned char, 4096ul, AllocatorWithHint<false, AllocatorHints::DefaultHint, 67108864ul>, 15ul, 16ul>&) | |
/opt/milovidov/ClickHouse/build_gcc9/dbms/programs/clickhouse | |
DB::FunctionsStringSearch<DB::MatchImpl<true, false>, DB::NameLike>::executeImpl(DB::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long) | |
/opt/milovidov/ClickHouse/build_gcc9/dbms/programs/clickhouse | |
DB::PreparedFunctionImpl::execute(DB::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long, bool) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Functions/IFunction.cpp:464 | |
DB::ExpressionAction::execute(DB::Block&, bool) const | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:677 | |
DB::ExpressionActions::execute(DB::Block&, bool) const | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Interpreters/ExpressionActions.cpp:739 | |
DB::MergeTreeRangeReader::executePrewhereActionsAndFilterColumns(DB::MergeTreeRangeReader::ReadResult&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeRangeReader.cpp:660 | |
DB::MergeTreeRangeReader::read(unsigned long, std::vector<DB::MarkRange, std::allocator<DB::MarkRange> >&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeRangeReader.cpp:546 | |
DB::MergeTreeRangeReader::read(unsigned long, std::vector<DB::MarkRange, std::allocator<DB::MarkRange> >&) | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::MergeTreeBaseSelectBlockInputStream::readFromPartImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeBaseSelectBlockInputStream.cpp:158 | |
DB::MergeTreeBaseSelectBlockInputStream::readImpl() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::ExpressionBlockInputStream::readImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/ExpressionBlockInputStream.cpp:34 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::PartialSortingBlockInputStream::readImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/PartialSortingBlockInputStream.cpp:13 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::loop(unsigned long) | |
/usr/local/include/c++/9.1.0/bits/atomic_base.h:419 | |
DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::thread(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/ParallelInputsProcessor.h:215 | |
ThreadFromGlobalPool::ThreadFromGlobalPool<void (DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::*)(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long), DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>*, std::shared_ptr<DB::ThreadGroupStatus>, unsigned long&>(void (DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::*&&)(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long), DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>*&&, std::shared_ptr<DB::ThreadGroupStatus>&&, unsigned long&)::{lambda()#1}::operator()() const | |
/usr/local/include/c++/9.1.0/bits/shared_ptr_base.h:729 | |
ThreadPoolImpl<std::thread>::worker(std::_List_iterator<std::thread>) | |
/usr/local/include/c++/9.1.0/bits/unique_lock.h:69 | |
execute_native_thread_routine | |
/home/milovidov/ClickHouse/ci/workspace/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/unique_ptr.h:81 | |
start_thread | |
__clone | |
Row 6: | |
────── | |
count(): 1531 | |
sym: StackTrace::StackTrace(ucontext_t const&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Common/StackTrace.cpp:208 | |
DB::(anonymous namespace)::writeTraceInfo(DB::TimerType, int, siginfo_t*, void*) [clone .isra.0] | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/IO/BufferBase.h:99 | |
read | |
DB::ReadBufferFromFileDescriptor::nextImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/IO/ReadBufferFromFileDescriptor.cpp:56 | |
DB::CompressedReadBufferBase::readCompressedData(unsigned long&, unsigned long&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/IO/ReadBuffer.h:54 | |
DB::CompressedReadBufferFromFile::nextImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Compression/CompressedReadBufferFromFile.cpp:22 | |
void DB::deserializeBinarySSE2<4>(DB::PODArray<unsigned char, 4096ul, AllocatorWithHint<false, AllocatorHints::DefaultHint, 67108864ul>, 15ul, 16ul>&, DB::PODArray<unsigned long, 4096ul, AllocatorWithHint<false, AllocatorHints::DefaultHint, 67108864ul>, 15ul, 16ul>&, DB::ReadBuffer&, unsigned long) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/IO/ReadBuffer.h:53 | |
DB::DataTypeString::deserializeBinaryBulk(DB::IColumn&, DB::ReadBuffer&, unsigned long, double) const | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataTypes/DataTypeString.cpp:202 | |
DB::MergeTreeReader::readData(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DB::IDataType const&, DB::IColumn&, unsigned long, bool, unsigned long, bool) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeReader.cpp:232 | |
DB::MergeTreeReader::readRows(unsigned long, bool, unsigned long, DB::Block&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeReader.cpp:111 | |
DB::MergeTreeRangeReader::DelayedStream::finalize(DB::Block&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeRangeReader.cpp:35 | |
DB::MergeTreeRangeReader::startReadingChain(unsigned long, std::vector<DB::MarkRange, std::allocator<DB::MarkRange> >&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeRangeReader.cpp:219 | |
DB::MergeTreeRangeReader::read(unsigned long, std::vector<DB::MarkRange, std::allocator<DB::MarkRange> >&) | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::MergeTreeRangeReader::read(unsigned long, std::vector<DB::MarkRange, std::allocator<DB::MarkRange> >&) | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::MergeTreeBaseSelectBlockInputStream::readFromPartImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeBaseSelectBlockInputStream.cpp:158 | |
DB::MergeTreeBaseSelectBlockInputStream::readImpl() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::ExpressionBlockInputStream::readImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/ExpressionBlockInputStream.cpp:34 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::PartialSortingBlockInputStream::readImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/PartialSortingBlockInputStream.cpp:13 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::loop(unsigned long) | |
/usr/local/include/c++/9.1.0/bits/atomic_base.h:419 | |
DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::thread(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/ParallelInputsProcessor.h:215 | |
ThreadFromGlobalPool::ThreadFromGlobalPool<void (DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::*)(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long), DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>*, std::shared_ptr<DB::ThreadGroupStatus>, unsigned long&>(void (DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::*&&)(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long), DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>*&&, std::shared_ptr<DB::ThreadGroupStatus>&&, unsigned long&)::{lambda()#1}::operator()() const | |
/usr/local/include/c++/9.1.0/bits/shared_ptr_base.h:729 | |
ThreadPoolImpl<std::thread>::worker(std::_List_iterator<std::thread>) | |
/usr/local/include/c++/9.1.0/bits/unique_lock.h:69 | |
execute_native_thread_routine | |
/home/milovidov/ClickHouse/ci/workspace/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/unique_ptr.h:81 | |
start_thread | |
__clone | |
Row 7: | |
────── | |
count(): 1034 | |
sym: StackTrace::StackTrace(ucontext_t const&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Common/StackTrace.cpp:208 | |
DB::(anonymous namespace)::writeTraceInfo(DB::TimerType, int, siginfo_t*, void*) [clone .isra.0] | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/IO/BufferBase.h:99 | |
DB::VolnitskyBase<true, true, DB::StringSearcher<true, true> >::search(unsigned char const*, unsigned long) const | |
/opt/milovidov/ClickHouse/build_gcc9/dbms/programs/clickhouse | |
DB::MatchImpl<true, false>::vector_constant(DB::PODArray<unsigned char, 4096ul, AllocatorWithHint<false, AllocatorHints::DefaultHint, 67108864ul>, 15ul, 16ul> const&, DB::PODArray<unsigned long, 4096ul, AllocatorWithHint<false, AllocatorHints::DefaultHint, 67108864ul>, 15ul, 16ul> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DB::PODArray<unsigned char, 4096ul, AllocatorWithHint<false, AllocatorHints::DefaultHint, 67108864ul>, 15ul, 16ul>&) | |
/opt/milovidov/ClickHouse/build_gcc9/dbms/programs/clickhouse | |
DB::FunctionsStringSearch<DB::MatchImpl<true, false>, DB::NameLike>::executeImpl(DB::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long) | |
/opt/milovidov/ClickHouse/build_gcc9/dbms/programs/clickhouse | |
DB::PreparedFunctionImpl::execute(DB::Block&, std::vector<unsigned long, std::allocator<unsigned long> > const&, unsigned long, unsigned long, bool) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Functions/IFunction.cpp:464 | |
DB::ExpressionAction::execute(DB::Block&, bool) const | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:677 | |
DB::ExpressionActions::execute(DB::Block&, bool) const | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Interpreters/ExpressionActions.cpp:739 | |
DB::MergeTreeRangeReader::executePrewhereActionsAndFilterColumns(DB::MergeTreeRangeReader::ReadResult&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeRangeReader.cpp:660 | |
DB::MergeTreeRangeReader::read(unsigned long, std::vector<DB::MarkRange, std::allocator<DB::MarkRange> >&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeRangeReader.cpp:546 | |
DB::MergeTreeRangeReader::read(unsigned long, std::vector<DB::MarkRange, std::allocator<DB::MarkRange> >&) | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::MergeTreeBaseSelectBlockInputStream::readFromPartImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeBaseSelectBlockInputStream.cpp:158 | |
DB::MergeTreeBaseSelectBlockInputStream::readImpl() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::ExpressionBlockInputStream::readImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/ExpressionBlockInputStream.cpp:34 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::PartialSortingBlockInputStream::readImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/PartialSortingBlockInputStream.cpp:13 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::loop(unsigned long) | |
/usr/local/include/c++/9.1.0/bits/atomic_base.h:419 | |
DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::thread(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/ParallelInputsProcessor.h:215 | |
ThreadFromGlobalPool::ThreadFromGlobalPool<void (DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::*)(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long), DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>*, std::shared_ptr<DB::ThreadGroupStatus>, unsigned long&>(void (DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::*&&)(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long), DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>*&&, std::shared_ptr<DB::ThreadGroupStatus>&&, unsigned long&)::{lambda()#1}::operator()() const | |
/usr/local/include/c++/9.1.0/bits/shared_ptr_base.h:729 | |
ThreadPoolImpl<std::thread>::worker(std::_List_iterator<std::thread>) | |
/usr/local/include/c++/9.1.0/bits/unique_lock.h:69 | |
execute_native_thread_routine | |
/home/milovidov/ClickHouse/ci/workspace/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/unique_ptr.h:81 | |
start_thread | |
__clone | |
Row 8: | |
────── | |
count(): 989 | |
sym: StackTrace::StackTrace(ucontext_t const&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Common/StackTrace.cpp:208 | |
DB::(anonymous namespace)::writeTraceInfo(DB::TimerType, int, siginfo_t*, void*) [clone .isra.0] | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/IO/BufferBase.h:99 | |
__lll_lock_wait | |
pthread_mutex_lock | |
DB::MergeTreeReaderStream::loadMarks() | |
/usr/local/include/c++/9.1.0/bits/std_mutex.h:103 | |
DB::MergeTreeReaderStream::MergeTreeReaderStream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, std::vector<DB::MarkRange, std::allocator<DB::MarkRange> > const&, DB::MarkCache*, bool, DB::UncompressedCache*, unsigned long, unsigned long, unsigned long, DB::MergeTreeIndexGranularityInfo const*, std::function<void (DB::ReadBufferFromFileBase::ProfileInfo)> const&, int) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeReaderStream.cpp:107 | |
std::_Function_handler<void (std::vector<DB::IDataType::Substream, std::allocator<DB::IDataType::Substream> > const&), DB::MergeTreeReader::addStreams(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DB::IDataType const&, std::function<void (DB::ReadBufferFromFileBase::ProfileInfo)> const&, int)::{lambda(std::vector<DB::IDataType::Substream, std::allocator<DB::IDataType::Substream> > const&)#1}>::_M_invoke(std::_Any_data const&, std::vector<DB::IDataType::Substream, std::allocator<DB::IDataType::Substream> > const&) | |
/usr/local/include/c++/9.1.0/bits/unique_ptr.h:147 | |
DB::MergeTreeReader::addStreams(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DB::IDataType const&, std::function<void (DB::ReadBufferFromFileBase::ProfileInfo)> const&, int) | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:677 | |
DB::MergeTreeReader::MergeTreeReader(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<DB::MergeTreeDataPart const> const&, DB::NamesAndTypesList const&, DB::UncompressedCache*, DB::MarkCache*, bool, DB::MergeTreeData const&, std::vector<DB::MarkRange, std::allocator<DB::MarkRange> > const&, unsigned long, unsigned long, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, double> > > const&, std::function<void (DB::ReadBufferFromFileBase::ProfileInfo)> const&, int) | |
/usr/local/include/c++/9.1.0/bits/stl_list.h:303 | |
DB::MergeTreeThreadSelectBlockInputStream::getNewTask() | |
/usr/local/include/c++/9.1.0/bits/std_function.h:259 | |
DB::MergeTreeBaseSelectBlockInputStream::readImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeBaseSelectBlockInputStream.cpp:54 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::ExpressionBlockInputStream::readImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/ExpressionBlockInputStream.cpp:34 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::PartialSortingBlockInputStream::readImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/PartialSortingBlockInputStream.cpp:13 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::loop(unsigned long) | |
/usr/local/include/c++/9.1.0/bits/atomic_base.h:419 | |
DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::thread(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/ParallelInputsProcessor.h:215 | |
ThreadFromGlobalPool::ThreadFromGlobalPool<void (DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::*)(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long), DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>*, std::shared_ptr<DB::ThreadGroupStatus>, unsigned long&>(void (DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::*&&)(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long), DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>*&&, std::shared_ptr<DB::ThreadGroupStatus>&&, unsigned long&)::{lambda()#1}::operator()() const | |
/usr/local/include/c++/9.1.0/bits/shared_ptr_base.h:729 | |
ThreadPoolImpl<std::thread>::worker(std::_List_iterator<std::thread>) | |
/usr/local/include/c++/9.1.0/bits/unique_lock.h:69 | |
execute_native_thread_routine | |
/home/milovidov/ClickHouse/ci/workspace/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/unique_ptr.h:81 | |
start_thread | |
__clone | |
Row 9: | |
─────── | |
count(): 779 | |
sym: StackTrace::StackTrace(ucontext_t const&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Common/StackTrace.cpp:208 | |
DB::(anonymous namespace)::writeTraceInfo(DB::TimerType, int, siginfo_t*, void*) [clone .isra.0] | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/IO/BufferBase.h:99 | |
void DB::deserializeBinarySSE2<4>(DB::PODArray<unsigned char, 4096ul, AllocatorWithHint<false, AllocatorHints::DefaultHint, 67108864ul>, 15ul, 16ul>&, DB::PODArray<unsigned long, 4096ul, AllocatorWithHint<false, AllocatorHints::DefaultHint, 67108864ul>, 15ul, 16ul>&, DB::ReadBuffer&, unsigned long) | |
/usr/local/lib/gcc/x86_64-pc-linux-gnu/9.1.0/include/emmintrin.h:727 | |
DB::DataTypeString::deserializeBinaryBulk(DB::IColumn&, DB::ReadBuffer&, unsigned long, double) const | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataTypes/DataTypeString.cpp:202 | |
DB::MergeTreeReader::readData(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DB::IDataType const&, DB::IColumn&, unsigned long, bool, unsigned long, bool) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeReader.cpp:232 | |
DB::MergeTreeReader::readRows(unsigned long, bool, unsigned long, DB::Block&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeReader.cpp:111 | |
DB::MergeTreeRangeReader::DelayedStream::finalize(DB::Block&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeRangeReader.cpp:35 | |
DB::MergeTreeRangeReader::startReadingChain(unsigned long, std::vector<DB::MarkRange, std::allocator<DB::MarkRange> >&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeRangeReader.cpp:219 | |
DB::MergeTreeRangeReader::read(unsigned long, std::vector<DB::MarkRange, std::allocator<DB::MarkRange> >&) | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::MergeTreeRangeReader::read(unsigned long, std::vector<DB::MarkRange, std::allocator<DB::MarkRange> >&) | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::MergeTreeBaseSelectBlockInputStream::readFromPartImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeBaseSelectBlockInputStream.cpp:158 | |
DB::MergeTreeBaseSelectBlockInputStream::readImpl() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::ExpressionBlockInputStream::readImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/ExpressionBlockInputStream.cpp:34 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::PartialSortingBlockInputStream::readImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/PartialSortingBlockInputStream.cpp:13 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::loop(unsigned long) | |
/usr/local/include/c++/9.1.0/bits/atomic_base.h:419 | |
DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::thread(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/ParallelInputsProcessor.h:215 | |
ThreadFromGlobalPool::ThreadFromGlobalPool<void (DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::*)(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long), DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>*, std::shared_ptr<DB::ThreadGroupStatus>, unsigned long&>(void (DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::*&&)(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long), DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>*&&, std::shared_ptr<DB::ThreadGroupStatus>&&, unsigned long&)::{lambda()#1}::operator()() const | |
/usr/local/include/c++/9.1.0/bits/shared_ptr_base.h:729 | |
ThreadPoolImpl<std::thread>::worker(std::_List_iterator<std::thread>) | |
/usr/local/include/c++/9.1.0/bits/unique_lock.h:69 | |
execute_native_thread_routine | |
/home/milovidov/ClickHouse/ci/workspace/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/unique_ptr.h:81 | |
start_thread | |
__clone | |
Row 10: | |
─────── | |
count(): 666 | |
sym: StackTrace::StackTrace(ucontext_t const&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Common/StackTrace.cpp:208 | |
DB::(anonymous namespace)::writeTraceInfo(DB::TimerType, int, siginfo_t*, void*) [clone .isra.0] | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/IO/BufferBase.h:99 | |
void DB::deserializeBinarySSE2<4>(DB::PODArray<unsigned char, 4096ul, AllocatorWithHint<false, AllocatorHints::DefaultHint, 67108864ul>, 15ul, 16ul>&, DB::PODArray<unsigned long, 4096ul, AllocatorWithHint<false, AllocatorHints::DefaultHint, 67108864ul>, 15ul, 16ul>&, DB::ReadBuffer&, unsigned long) | |
/usr/local/lib/gcc/x86_64-pc-linux-gnu/9.1.0/include/emmintrin.h:727 | |
DB::DataTypeString::deserializeBinaryBulk(DB::IColumn&, DB::ReadBuffer&, unsigned long, double) const | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataTypes/DataTypeString.cpp:202 | |
DB::MergeTreeReader::readData(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DB::IDataType const&, DB::IColumn&, unsigned long, bool, unsigned long, bool) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeReader.cpp:232 | |
DB::MergeTreeReader::readRows(unsigned long, bool, unsigned long, DB::Block&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeReader.cpp:111 | |
DB::MergeTreeRangeReader::DelayedStream::finalize(DB::Block&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeRangeReader.cpp:35 | |
DB::MergeTreeRangeReader::startReadingChain(unsigned long, std::vector<DB::MarkRange, std::allocator<DB::MarkRange> >&) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeRangeReader.cpp:219 | |
DB::MergeTreeRangeReader::read(unsigned long, std::vector<DB::MarkRange, std::allocator<DB::MarkRange> >&) | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::MergeTreeRangeReader::read(unsigned long, std::vector<DB::MarkRange, std::allocator<DB::MarkRange> >&) | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::MergeTreeBaseSelectBlockInputStream::readFromPartImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/Storages/MergeTree/MergeTreeBaseSelectBlockInputStream.cpp:158 | |
DB::MergeTreeBaseSelectBlockInputStream::readImpl() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::ExpressionBlockInputStream::readImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/ExpressionBlockInputStream.cpp:34 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::PartialSortingBlockInputStream::readImpl() | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/PartialSortingBlockInputStream.cpp:13 | |
DB::IBlockInputStream::read() | |
/usr/local/include/c++/9.1.0/bits/stl_vector.h:108 | |
DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::loop(unsigned long) | |
/usr/local/include/c++/9.1.0/bits/atomic_base.h:419 | |
DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::thread(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long) | |
/home/milovidov/ClickHouse/build_gcc9/../dbms/src/DataStreams/ParallelInputsProcessor.h:215 | |
ThreadFromGlobalPool::ThreadFromGlobalPool<void (DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::*)(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long), DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>*, std::shared_ptr<DB::ThreadGroupStatus>, unsigned long&>(void (DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>::*&&)(std::shared_ptr<DB::ThreadGroupStatus>, unsigned long), DB::ParallelInputsProcessor<DB::UnionBlockInputStream::Handler>*&&, std::shared_ptr<DB::ThreadGroupStatus>&&, unsigned long&)::{lambda()#1}::operator()() const | |
/usr/local/include/c++/9.1.0/bits/shared_ptr_base.h:729 | |
ThreadPoolImpl<std::thread>::worker(std::_List_iterator<std::thread>) | |
/usr/local/include/c++/9.1.0/bits/unique_lock.h:69 | |
execute_native_thread_routine | |
/home/milovidov/ClickHouse/ci/workspace/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/unique_ptr.h:81 | |
start_thread | |
__clone | |
10 rows in set. Elapsed: 1.868 sec. Processed 903.99 thousand rows, 53.29 MB (483.81 thousand rows/s., 28.52 MB/s.) |
Да, всё есть - было бы хорошо конвертировать во flame graph (и ещё дополнительный вариант - в формат pprof).
На golang или python - не принципиально, выбирайте тот вариант, который вам удобен.
Можно будет добавить прямо нам в репозиторий, если хотите!
черновая версия пока вот такая
https://github.com/Slach/clickhouse-flamegraph
ok, minimanistic example for make flamegraph for last 10 minutes on wide server
clickhouse-client -q "SELECT arrayStringConcat(arrayReverse(arrayMap(x -> concat( addressToLine(x), '#', demangle(addressToSymbol(x)) ), trace)), ';') AS stack, count() AS samples FROM system.trace_log WHERE event_time >= subtractMinutes(now(),10) GROUP BY trace FORMAT TabSeparated" | flamegraph.pl > flamegraph.svg
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
из этой query можно сделать отличный flame graph я так думаю, прямо все что надо есть, на чем лучше написать такую утилитку? на golang или на python?