Skip to content

Commit 9990f17

Browse files
authored
Merge pull request ClickHouse#78651 from ClickHouse/optimize_log_series_limiter
Optimize LogSeriesLimiter
2 parents 62f1c0c + f762c71 commit 9990f17

File tree

2 files changed

+9
-17
lines changed

2 files changed

+9
-17
lines changed

src/Common/LoggingFormatStringHelpers.cpp

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,6 @@ std::mutex LogFrequencyLimiterImpl::mutex;
1616
void LogFrequencyLimiterImpl::log(Poco::Message & message)
1717
{
1818
std::string_view pattern = message.getFormatString();
19-
if (pattern.empty())
20-
{
21-
/// Do not filter messages without a format string
22-
if (auto * channel = logger->getChannel())
23-
channel->log(message);
24-
return;
25-
}
2619

2720
SipHash hash;
2821
hash.update(logger->name());
@@ -150,17 +143,16 @@ LogSeriesLimiter::LogSeriesLimiter(LoggerPtr logger_, size_t allowed_count_, tim
150143
++total_count;
151144
}
152145

153-
void LogSeriesLimiter::log(Poco::Message & message)
146+
LogSeriesLimiter * LogSeriesLimiter::getChannel()
154147
{
155-
std::string_view pattern = message.getFormatString();
156-
if (pattern.empty())
157-
{
158-
/// Do not filter messages without a format string
159-
if (auto * channel = logger->getChannel())
160-
channel->log(message);
161-
return;
162-
}
148+
if (!accepted)
149+
return nullptr;
150+
151+
return this;
152+
}
163153

154+
void LogSeriesLimiter::log(Poco::Message & message)
155+
{
164156
if (!accepted)
165157
return;
166158

src/Common/LoggingFormatStringHelpers.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,9 +281,9 @@ class LogSeriesLimiter
281281

282282
LogSeriesLimiter * operator->() { return this; }
283283
bool is(Poco::Message::Priority priority) { return logger->is(priority); }
284-
LogSeriesLimiter * getChannel() {return this; }
285284
const String & name() const { return logger->name(); }
286285

286+
LogSeriesLimiter * getChannel();
287287
void log(Poco::Message & message);
288288

289289
LoggerPtr getLogger() { return logger; }

0 commit comments

Comments
 (0)