blob: bbe41ca33fe3194d57b696d81d208c54bffcaac7 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#pragma once
#include <Common/ConcurrentBoundedQueue.h>
#include <Common/OvercommitTracker.h>
#include <Core/Block.h>
#include <re2/re2.h>
namespace DB
{
class InternalTextLogsQueue : public ConcurrentBoundedQueue<MutableColumns>
{
public:
/// You should not push logs in the queue if their priority greater max_priority
int max_priority;
InternalTextLogsQueue();
bool isNeeded(int priority, const String & source) const;
static Block getSampleBlock();
static MutableColumns getSampleColumns();
/// Is used to pass block from remote server to the client
void pushBlock(Block && log_block);
/// Converts priority from Poco::Message::Priority to a string
static std::string_view getPriorityName(int priority);
void setSourceRegexp(const String & regexp);
private:
/// If not null, you should only push logs which are matched with this regexp
std::unique_ptr<re2::RE2> source_regexp;
};
using InternalTextLogsQueuePtr = std::shared_ptr<InternalTextLogsQueue>;
}
|