From 71e3d976a57b80f8fd570b2f6ee72c9fb2a59c36 Mon Sep 17 00:00:00 2001 From: henryzhx8 Date: Thu, 18 Apr 2024 15:14:41 +0800 Subject: [PATCH] fix: Ensure alarms raised during collection for profile projects are reported (#1455) * fix: enable alarm for profile project to be reported --- core/application/Application.cpp | 6 +++--- core/monitor/LogtailAlarm.cpp | 5 ++--- core/sender/Sender.h | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/core/application/Application.cpp b/core/application/Application.cpp index b0ddcd4b87..307998f3e0 100644 --- a/core/application/Application.cpp +++ b/core/application/Application.cpp @@ -188,9 +188,6 @@ void Application::Start() { // flusher_sls should always be loaded, since profiling will rely on this. Sender::Instance()->Init(); - LogtailAlarm::GetInstance()->Init(); - LogtailMonitor::GetInstance()->Init(); - // add local config dir filesystem::path localConfigPath = filesystem::path(AppConfig::GetInstance()->GetLogtailSysConfDir()) / "config" / "local"; @@ -210,6 +207,9 @@ void Application::Start() { CommonConfigProvider::GetInstance()->Init("common"); #endif + LogtailAlarm::GetInstance()->Init(); + LogtailMonitor::GetInstance()->Init(); + PluginRegistry::GetInstance()->LoadPlugins(); #if defined(__ENTERPRISE__) && defined(__linux__) && !defined(__ANDROID__) diff --git a/core/monitor/LogtailAlarm.cpp b/core/monitor/LogtailAlarm.cpp index 289a624271..7fe60c440d 100644 --- a/core/monitor/LogtailAlarm.cpp +++ b/core/monitor/LogtailAlarm.cpp @@ -294,9 +294,8 @@ void LogtailAlarm::SendAlarm(const LogtailAlarmType alarmType, return; } - // ignore logtail self alarm - string profileProject = ProfileSender::GetInstance()->GetProfileProjectName(region); - if (!profileProject.empty() && profileProject == projectName) { + // ignore alarm for profile data + if (Sender::IsProfileData(region, projectName, category)) { return; } // LOG_DEBUG(sLogger, ("Add Alarm", region)("projectName", projectName)("alarm index", diff --git a/core/sender/Sender.h b/core/sender/Sender.h index ee2c9aee97..bb10db1cc2 100644 --- a/core/sender/Sender.h +++ b/core/sender/Sender.h @@ -353,7 +353,6 @@ class Sender { void CleanTimeoutSendStatistic(); // bool CheckBatchMapFull(int64_t key); - static bool IsProfileData(const std::string& region, const std::string& project, const std::string& logstore); std::string GetRegionCurrentEndpoint(const std::string& region); std::string GetRegionFromEndpoint(const std::string& endpoint); @@ -362,6 +361,7 @@ class Sender { public: static Sender* Instance(); + static bool IsProfileData(const std::string& region, const std::string& project, const std::string& logstore); // void ResetProfileSender(); bool Init(); // Backward compatible // from collector to batchmap