MCPcopy Create free account
hub / github.com/ClickHouse/ClickHouse / logProcessorProfile

Function logProcessorProfile

src/Interpreters/ProcessorsProfileLog.cpp:109–153  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

107}
108
109void logProcessorProfile(ContextPtr context, const VectorWithMemoryTracking<IProcessor::ProcessorsProfileLogInfo> & profile_infos, String pipeline_dump)
110{
111 const Settings & settings = context->getSettingsRef();
112 if (settings[Setting::log_processors_profiles])
113 {
114 if (auto processors_profile_log = context->getProcessorsProfileLog())
115 {
116 ProcessorProfileLogElement processor_elem;
117
118 const auto time_now = std::chrono::system_clock::now();
119 processor_elem.event_time = timeInSeconds(time_now);
120 processor_elem.event_time_microseconds = timeInMicroseconds(time_now);
121 processor_elem.initial_query_id = context->getInitialQueryId();
122 processor_elem.query_id = context->getCurrentQueryId();
123
124 for (const auto & info : profile_infos)
125 {
126 processor_elem.id = info.id;
127 processor_elem.parent_ids = info.parent_ids;
128
129 processor_elem.plan_step = info.plan_step;
130 processor_elem.plan_step_name = info.plan_step_name;
131 processor_elem.plan_step_description = info.plan_step_description;
132 processor_elem.plan_group = info.plan_group;
133 processor_elem.processor_uniq_id = info.processor_uniq_id;
134 processor_elem.step_uniq_id = info.step_uniq_id;
135
136 processor_elem.processor_name = info.processor_name;
137
138 processor_elem.elapsed_us = info.elapsed_us;
139 processor_elem.input_wait_elapsed_us = info.input_wait_elapsed_us;
140 processor_elem.output_wait_elapsed_us = info.output_wait_elapsed_us;
141
142 processor_elem.input_rows = info.input_rows;
143 processor_elem.input_bytes = info.input_bytes;
144 processor_elem.output_rows = info.output_rows;
145 processor_elem.output_bytes = info.output_bytes;
146
147 processors_profile_log->add(processor_elem);
148 }
149 }
150 auto logger = ::getLogger("ProcessorProfileLog");
151 LOG_TEST(logger, "Processors profile log:\n{}", pipeline_dump);
152 }
153}
154
155void logProcessorProfile(ContextPtr context, const Processors & processors)
156{

Callers 4

logQueryFinishImplFunction · 0.85
visitMethod · 0.85

Calls 10

timeInSecondsFunction · 0.85
printPipelineFunction · 0.85
getInitialQueryIdMethod · 0.80
getCurrentQueryIdMethod · 0.80
getLoggerFunction · 0.70
nowFunction · 0.50
timeInMicrosecondsFunction · 0.50
addMethod · 0.45

Tested by

no test coverage detected