mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-21 01:00:48 +00:00
Merge pull request #18644 from ucasFL/part-log
add query_id column to system.part_log
This commit is contained in:
commit
8354a07eb7
@ -12,6 +12,7 @@
|
||||
#include <Interpreters/PartLog.h>
|
||||
#include <Interpreters/Context.h>
|
||||
|
||||
#include <Common/CurrentThread.h>
|
||||
|
||||
namespace DB
|
||||
{
|
||||
@ -32,6 +33,7 @@ Block PartLogElement::createBlock()
|
||||
|
||||
return
|
||||
{
|
||||
{ColumnString::create(), std::make_shared<DataTypeString>(), "query_id"},
|
||||
{ColumnInt8::create(), std::move(event_type_datatype), "event_type"},
|
||||
{ColumnUInt16::create(), std::make_shared<DataTypeDate>(), "event_date"},
|
||||
{ColumnUInt32::create(), std::make_shared<DataTypeDateTime>(), "event_time"},
|
||||
@ -63,6 +65,7 @@ void PartLogElement::appendToBlock(MutableColumns & columns) const
|
||||
{
|
||||
size_t i = 0;
|
||||
|
||||
columns[i++]->insert(query_id);
|
||||
columns[i++]->insert(event_type);
|
||||
columns[i++]->insert(DateLUT::instance().toDayNum(event_time));
|
||||
columns[i++]->insert(event_time);
|
||||
@ -114,10 +117,15 @@ bool PartLog::addNewParts(Context & current_context, const PartLog::MutableDataP
|
||||
if (!part_log)
|
||||
return false;
|
||||
|
||||
auto query_id = CurrentThread::getQueryId();
|
||||
|
||||
for (const auto & part : parts)
|
||||
{
|
||||
PartLogElement elem;
|
||||
|
||||
if (query_id.data && query_id.size)
|
||||
elem.query_id.insert(0, query_id.data, query_id.size);
|
||||
|
||||
elem.event_type = PartLogElement::NEW_PART;
|
||||
elem.event_time = time(nullptr);
|
||||
elem.duration_ms = elapsed_ns / 1000000;
|
||||
|
@ -18,6 +18,8 @@ struct PartLogElement
|
||||
MOVE_PART = 6,
|
||||
};
|
||||
|
||||
String query_id;
|
||||
|
||||
Type event_type = NEW_PART;
|
||||
|
||||
time_t event_time = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user