#pragma once #include #include #include #include #include namespace DB { struct ProcessorProfileLogElement { time_t event_time{}; Decimal64 event_time_microseconds{}; UInt64 id{}; std::vector parent_ids; UInt64 plan_step{}; UInt64 plan_group{}; String initial_query_id; String query_id; String processor_name; /// Milliseconds spend in IProcessor::work() UInt32 elapsed_us{}; /// IProcessor::NeedData UInt32 input_wait_elapsed_us{}; /// IProcessor::PortFull UInt32 output_wait_elapsed_us{}; size_t input_rows{}; size_t input_bytes{}; size_t output_rows{}; size_t output_bytes{}; static std::string name() { return "ProcessorsProfileLog"; } static ColumnsDescription getColumnsDescription(); static NamesAndAliases getNamesAndAliases() { return {}; } void appendToBlock(MutableColumns & columns) const; }; class ProcessorsProfileLog : public SystemLog { public: using SystemLog::SystemLog; }; }