Skip to content

Commit

Permalink
change name
Browse files Browse the repository at this point in the history
  • Loading branch information
Takuka0311 committed Sep 27, 2024
1 parent 2b781a5 commit 0f48b52
Show file tree
Hide file tree
Showing 57 changed files with 371 additions and 419 deletions.
3 changes: 1 addition & 2 deletions core/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -113,10 +113,9 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/plugin/flusher/links.cmake)

# Subdirectories (modules). except for common, input, processor, flusher, observer, helper, spl, and provider.
set(SUB_DIRECTORIES_LIST
application app_config checkpoint container_manager logger go_pipeline monitor profile_sender models
application app_config checkpoint container_manager logger go_pipeline monitor monitor/metric_constants profile_sender models
config config/watcher
pipeline pipeline/batch pipeline/limiter pipeline/plugin pipeline/plugin/creator pipeline/plugin/instance pipeline/plugin/interface pipeline/queue pipeline/route pipeline/serializer
monitor/metric_constants
runner runner/sink/http
protobuf/sls
file_server file_server/event file_server/event_handler file_server/event_listener file_server/reader file_server/polling
Expand Down
8 changes: 4 additions & 4 deletions core/common/compression/Compressor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

#include <chrono>

#include "monitor/MetricConstants.h"
#include "monitor/metric_constants/MetricConstants.h"

using namespace std;

Expand All @@ -26,10 +26,10 @@ void Compressor::SetMetricRecordRef(MetricLabels&& labels, DynamicMetricLabels&&
WriteMetrics::GetInstance()->PrepareMetricsRecordRef(
mMetricsRecordRef, std::move(labels), std::move(dynamicLabels));
mInItemsTotal = mMetricsRecordRef.CreateCounter(METRIC_COMPONENT_IN_ITEMS_TOTAL);
mInItemSizeBytes = mMetricsRecordRef.CreateCounter(METRIC_COMPONENT_IN_ITEM_SIZE_BYTES);
mInItemSizeBytes = mMetricsRecordRef.CreateCounter(METRIC_COMPONENT_IN_SIZE_BYTES);
mOutItemsTotal = mMetricsRecordRef.CreateCounter(METRIC_COMPONENT_OUT_ITEMS_TOTAL);
mOutItemSizeBytes = mMetricsRecordRef.CreateCounter(METRIC_COMPONENT_OUT_ITEM_SIZE_BYTES);
mTotalProcessMs = mMetricsRecordRef.CreateCounter(METRIC_COMPONENT_TOTAL_PROCESS_MS);
mOutItemSizeBytes = mMetricsRecordRef.CreateCounter(METRIC_COMPONENT_OUT_SIZE_BYTES);
mTotalProcessMs = mMetricsRecordRef.CreateCounter(METRIC_COMPONENT_TOTAL_PROCESS_TIME_MS);
mDiscardedItemsTotal = mMetricsRecordRef.CreateCounter(METRIC_COMPONENT_DISCARDED_ITEMS_TOTAL);
mDiscardedItemSizeBytes = mMetricsRecordRef.CreateCounter(METRIC_COMPONENT_DISCARDED_ITEMS_SIZE_BYTES);
}
Expand Down
6 changes: 3 additions & 3 deletions core/common/compression/CompressorFactory.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
#include "common/compression/CompressorFactory.h"

#include "common/ParamExtractor.h"
#include "monitor/MetricConstants.h"
#include "monitor/metric_constants/MetricConstants.h"
#include "common/compression/LZ4Compressor.h"
#include "common/compression/ZstdCompressor.h"

Expand Down Expand Up @@ -61,8 +61,8 @@ unique_ptr<Compressor> CompressorFactory::Create(const Json::Value& config,
} else {
compressor = Create(defaultType);
}
compressor->SetMetricRecordRef({{METRIC_LABEL_PROJECT, ctx.GetProjectName()},
{METRIC_LABEL_PIPELINE_NAME, ctx.GetConfigName()},
compressor->SetMetricRecordRef({{METRIC_LABEL_KEY_PROJECT, ctx.GetProjectName()},
{METRIC_LABEL_KEY_PIPELINE_NAME, ctx.GetConfigName()},
{METRIC_LABEL_KEY_COMPONENT_NAME, METRIC_LABEL_VALUE_COMPONENT_NAME_COMPRESSOR},
{METRIC_LABEL_KEY_FLUSHER_NODE_ID, flusherId}});
return compressor;
Expand Down
2 changes: 1 addition & 1 deletion core/file_server/polling/PollingDirFile.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
#include "file_server/polling/PollingModify.h"
#include "logger/Logger.h"
#include "monitor/LogtailAlarm.h"
#include "monitor/MetricConstants.h"
#include "monitor/metric_constants/MetricConstants.h"

// Control the check frequency to call ClearUnavailableFileAndDir.
DEFINE_FLAG_INT32(check_not_exist_file_dir_round, "clear not exist file dir cache, round", 20);
Expand Down
2 changes: 1 addition & 1 deletion core/file_server/polling/PollingModify.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
#include "file_server/event/Event.h"
#include "logger/Logger.h"
#include "monitor/LogtailAlarm.h"
#include "monitor/MetricConstants.h"
#include "monitor/metric_constants/MetricConstants.h"

using namespace std;

Expand Down
8 changes: 4 additions & 4 deletions core/file_server/reader/LogFileReader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
#include "logger/Logger.h"
#include "monitor/LogFileProfiler.h"
#include "monitor/LogtailAlarm.h"
#include "monitor/MetricConstants.h"
#include "monitor/metric_constants/MetricConstants.h"
#include "pipeline/queue/ExactlyOnceQueueManager.h"
#include "pipeline/queue/ProcessQueueManager.h"
#include "pipeline/queue/QueueKeyManager.h"
Expand Down Expand Up @@ -203,9 +203,9 @@ LogFileReader::LogFileReader(const std::string& hostLogPathDir,

void LogFileReader::SetMetrics() {
mMetricInited = false;
mMetricLabels = {{METRIC_LABEL_FILE_NAME, GetConvertedPath()},
{METRIC_LABEL_FILE_DEV, std::to_string(GetDevInode().dev)},
{METRIC_LABEL_FILE_INODE, std::to_string(GetDevInode().inode)}};
mMetricLabels = {{METRIC_LABEL_KEY_FILE_NAME, GetConvertedPath()},
{METRIC_LABEL_KEY_FILE_DEV, std::to_string(GetDevInode().dev)},
{METRIC_LABEL_KEY_FILE_INODE, std::to_string(GetDevInode().inode)}};
mMetricsRecordRef = FileServer::GetInstance()->GetOrCreateReentrantMetricsRecordRef(GetConfigName(), mMetricLabels);
if (mMetricsRecordRef == nullptr) {
LOG_ERROR(sLogger,
Expand Down
13 changes: 9 additions & 4 deletions core/monitor/LogtailMetric.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ using namespace sls_logs;

namespace logtail {

const std::string LABEL_PREFIX = "label.";
const std::string VALUE_PREFIX = "value.";

MetricsRecord::MetricsRecord(MetricLabelsPtr labels, DynamicMetricLabelsPtr dynamicLabels)
: mLabels(labels), mDynamicLabels(dynamicLabels), mDeleted(false) {
}
Expand Down Expand Up @@ -325,15 +328,17 @@ ReadMetrics::~ReadMetrics() {
Clear();
}

void ReadMetrics::ReadAsLogGroup(std::map<std::string, sls_logs::LogGroup*>& logGroupMap) const {
void ReadMetrics::ReadAsLogGroup(std::string regionFieldName,
std::string defaultRegion,
std::map<std::string, sls_logs::LogGroup*>& logGroupMap) const {
ReadLock lock(mReadWriteLock);
MetricsRecord* tmp = mHead;
while (tmp) {
Log* logPtr = nullptr;

for (auto item = tmp->GetLabels()->begin(); item != tmp->GetLabels()->end(); ++item) {
std::pair<std::string, std::string> pair = *item;
if (METRIC_FIELD_REGION == pair.first) {
if (regionFieldName == pair.first) {
std::map<std::string, sls_logs::LogGroup*>::iterator iter;
std::string region = pair.second;
iter = logGroupMap.find(region);
Expand All @@ -349,14 +354,14 @@ void ReadMetrics::ReadAsLogGroup(std::map<std::string, sls_logs::LogGroup*>& log
}
if (!logPtr) {
std::map<std::string, sls_logs::LogGroup*>::iterator iter;
iter = logGroupMap.find(METRIC_REGION_DEFAULT);
iter = logGroupMap.find(defaultRegion);
if (iter != logGroupMap.end()) {
sls_logs::LogGroup* logGroup = iter->second;
logPtr = logGroup->add_logs();
} else {
sls_logs::LogGroup* logGroup = new sls_logs::LogGroup();
logPtr = logGroup->add_logs();
logGroupMap.insert(std::pair<std::string, sls_logs::LogGroup*>(METRIC_REGION_DEFAULT, logGroup));
logGroupMap.insert(std::pair<std::string, sls_logs::LogGroup*>(defaultRegion, logGroup));
}
}
auto now = GetCurrentLogtailTime();
Expand Down
4 changes: 3 additions & 1 deletion core/monitor/LogtailMetric.h
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,9 @@ class ReadMetrics {
static ReadMetrics* ptr = new ReadMetrics();
return ptr;
}
void ReadAsLogGroup(std::map<std::string, sls_logs::LogGroup*>& logGroupMap) const;
void ReadAsLogGroup(std::string regionFieldName,
std::string defaultRegion,
std::map<std::string, sls_logs::LogGroup*>& logGroupMap) const;
void ReadAsFileBuffer(std::string& metricsContent) const;
void UpdateMetrics();

Expand Down
14 changes: 9 additions & 5 deletions core/monitor/MetricExportor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
#include "common/RuntimeUtil.h"
#include "common/TimeUtil.h"
#include "go_pipeline/LogtailPlugin.h"
#include "protobuf/sls/sls_logs.pb.h"
#include "pipeline/PipelineManager.h"
#include "protobuf/sls/sls_logs.pb.h"

using namespace sls_logs;
using namespace std;
Expand All @@ -34,12 +34,17 @@ DECLARE_FLAG_STRING(metrics_report_method);

namespace logtail {

const string METRIC_REGION_FIELD_NAME = "region";
const string METRIC_REGION_DEFAULT = "default";
const string METRIC_SLS_LOGSTORE_NAME = "shennong_log_profile";
const string METRIC_TOPIC_TYPE = "loong_collector_metric";

const std::string METRIC_EXPORT_TYPE_GO = "direct";
const std::string METRIC_EXPORT_TYPE_CPP = "cpp_provided";

MetricExportor::MetricExportor() : mSendInterval(60), mLastSendTime(time(NULL) - (rand() % (mSendInterval / 10)) * 10) {
mAgentMemGo = LoongCollectorMonitor::GetInstance()->GetIntGauge(METRIC_AGENT_MEMORY_GO);
mAgentGoRoutines = LoongCollectorMonitor::GetInstance()->GetIntGauge(METRIC_AGENT_GO_ROUTINES_TOTAL);
mAgentGoRoutines = LoongCollectorMonitor::GetInstance()->GetIntGauge(METRIC_AGENT_GO_ROUTINES_TOTAL);
}

void MetricExportor::PushMetrics(bool forceSend) {
Expand All @@ -62,7 +67,7 @@ void MetricExportor::PushCppMetrics() {

if ("sls" == STRING_FLAG(metrics_report_method)) {
std::map<std::string, sls_logs::LogGroup*> logGroupMap;
ReadMetrics::GetInstance()->ReadAsLogGroup(logGroupMap);
ReadMetrics::GetInstance()->ReadAsLogGroup(METRIC_REGION_FIELD_NAME, METRIC_REGION_DEFAULT, logGroupMap);
SendToSLS(logGroupMap);
} else if ("file" == STRING_FLAG(metrics_report_method)) {
std::string metricsContent;
Expand All @@ -89,8 +94,7 @@ void MetricExportor::SendToSLS(std::map<std::string, sls_logs::LogGroup*>& logGr
logGroup->set_source(LogFileProfiler::mIpAddr);
logGroup->set_topic(METRIC_TOPIC_TYPE);
if (METRIC_REGION_DEFAULT == iter->first) {
GetProfileSender()->SendToProfileProject(GetProfileSender()->GetDefaultProfileRegion(),
*logGroup);
GetProfileSender()->SendToProfileProject(GetProfileSender()->GetDefaultProfileRegion(), *logGroup);
} else {
GetProfileSender()->SendToProfileProject(iter->first, *logGroup);
}
Expand Down
18 changes: 9 additions & 9 deletions core/monitor/Monitor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -704,18 +704,18 @@ LoongCollectorMonitor* LoongCollectorMonitor::GetInstance() {
void LoongCollectorMonitor::Init() {
// create metric record
MetricLabels labels;
labels.emplace_back(METRIC_LABEL_INSTANCE_ID, Application::GetInstance()->GetInstanceId());
labels.emplace_back(METRIC_LABEL_IP, LogFileProfiler::mIpAddr);
labels.emplace_back(METRIC_LABEL_OS, OS_NAME);
labels.emplace_back(METRIC_LABEL_OS_DETAIL, LogFileProfiler::mOsDetail);
labels.emplace_back(METRIC_LABEL_UUID, Application::GetInstance()->GetUUID());
labels.emplace_back(METRIC_LABEL_VERSION, ILOGTAIL_VERSION);
labels.emplace_back(METRIC_LABEL_KEY_INSTANCE_ID, Application::GetInstance()->GetInstanceId());
labels.emplace_back(METRIC_LABEL_KEY_IP, LogFileProfiler::mIpAddr);
labels.emplace_back(METRIC_LABEL_KEY_OS, OS_NAME);
labels.emplace_back(METRIC_LABEL_KEY_OS_DETAIL, LogFileProfiler::mOsDetail);
labels.emplace_back(METRIC_LABEL_KEY_UUID, Application::GetInstance()->GetUUID());
labels.emplace_back(METRIC_LABEL_KEY_VERSION, ILOGTAIL_VERSION);
DynamicMetricLabels dynamicLabels;
dynamicLabels.emplace_back(METRIC_LABEL_PROJECT, []() -> std::string { return FlusherSLS::GetAllProjects(); });
dynamicLabels.emplace_back(METRIC_LABEL_KEY_PROJECT, []() -> std::string { return FlusherSLS::GetAllProjects(); });
#ifdef __ENTERPRISE__
dynamicLabels.emplace_back(METRIC_LABEL_ALIUIDS,
dynamicLabels.emplace_back(METRIC_LABEL_KEY_ALIUIDS,
[]() -> std::string { return EnterpriseConfigProvider::GetInstance()->GetAliuidSet(); });
dynamicLabels.emplace_back(METRIC_LABEL_USER_DEFINED_ID, []() -> std::string {
dynamicLabels.emplace_back(METRIC_LABEL_KEY_USER_DEFINED_ID, []() -> std::string {
return EnterpriseConfigProvider::GetInstance()->GetUserDefinedIdSet();
});
#endif
Expand Down
39 changes: 21 additions & 18 deletions core/monitor/metric_constants/AgentMetrics.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,28 +12,31 @@
// See the License for the specific language governing permissions and
// limitations under the License.

#include "../MetricConstants.h"
#include "MetricConstants.h"

using namespace std;

namespace logtail {

// label keys
const std::string METRIC_LABEL_ALIUIDS = "aliuids";
const std::string METRIC_LABEL_INSTANCE_ID = "instance_id";
const std::string METRIC_LABEL_IP = "ip";
const std::string METRIC_LABEL_OS = "os";
const std::string METRIC_LABEL_OS_DETAIL = "os_detail";
const std::string METRIC_LABEL_USER_DEFINED_ID = "user_defined_id";
const std::string METRIC_LABEL_UUID = "uuid";
const std::string METRIC_LABEL_VERSION = "version";
const string METRIC_LABEL_KEY_ALIUIDS = "aliuids";
const string METRIC_LABEL_KEY_INSTANCE_ID = "instance_id";
const string METRIC_LABEL_KEY_IP = "ip";
const string METRIC_LABEL_KEY_OS = "os";
const string METRIC_LABEL_KEY_OS_DETAIL = "os_detail";
const string METRIC_LABEL_KEY_PROJECT = "project";
const string METRIC_LABEL_KEY_USER_DEFINED_ID = "user_defined_id";
const string METRIC_LABEL_KEY_UUID = "uuid";
const string METRIC_LABEL_KEY_VERSION = "version";

// metric keys
const std::string METRIC_AGENT_CPU = "agent_cpu_percent";
const std::string METRIC_AGENT_GO_ROUTINES_TOTAL = "agent_go_routines_total";
const std::string METRIC_AGENT_INSTANCE_CONFIG_TOTAL = "agent_instance_config_total"; // Not Implemented
const std::string METRIC_AGENT_MEMORY = "agent_memory_used_mb";
const std::string METRIC_AGENT_MEMORY_GO = "agent_go_memory_used_mb";
const std::string METRIC_AGENT_OPEN_FD_TOTAL = "agent_open_fd_total";
const std::string METRIC_AGENT_PIPELINE_CONFIG_TOTAL = "agent_pipeline_config_total";
const std::string METRIC_AGENT_PLUGIN_TOTAL = "agent_plugin_total"; // Not Implemented
const string METRIC_AGENT_CPU = "agent_cpu_percent";
const string METRIC_AGENT_GO_ROUTINES_TOTAL = "agent_go_routines_total";
const string METRIC_AGENT_INSTANCE_CONFIG_TOTAL = "agent_instance_config_total"; // Not Implemented
const string METRIC_AGENT_MEMORY = "agent_memory_used_mb";
const string METRIC_AGENT_MEMORY_GO = "agent_go_memory_used_mb";
const string METRIC_AGENT_OPEN_FD_TOTAL = "agent_open_fd_total";
const string METRIC_AGENT_PIPELINE_CONFIG_TOTAL = "agent_pipeline_config_total";
const string METRIC_AGENT_PLUGIN_TOTAL = "agent_plugin_total"; // Not Implemented

}
} // namespace logtail
31 changes: 0 additions & 31 deletions core/monitor/metric_constants/CommonMetrics.cpp

This file was deleted.

Loading

0 comments on commit 0f48b52

Please sign in to comment.