fix nodename metricsname

This commit is contained in:
zliang 2023-08-31 12:29:59 -06:00
parent 820482bffe
commit c20af57cf1

View File

@ -76,7 +76,7 @@ std::string m_strPrefix { "keydb" };
const std::regex g_replica_or_db_info_regex { "^(slave|db)(\\d+)" }; const std::regex g_replica_or_db_info_regex { "^(slave|db)(\\d+)" };
const char *g_string_counter_separator = "__"; const char *g_string_counter_separator = "__";
const uint64_t g_stats_buffer_size_bytes = 1600; const uint64_t g_stats_buffer_size_bytes = 1600;
utsname sysName; std::string nodeName;
int unameResult; int unameResult;
enum class StatsD_Type { enum class StatsD_Type {
@ -600,7 +600,7 @@ void event_cron_handler(struct RedisModuleCtx *ctx, RedisModuleEvent eid, uint64
/* node name */ /* node name */
if (unameResult == 0) { if (unameResult == 0) {
g_stats->increment("node_name" + std::string(g_string_counter_separator) + sysName.nodename); g_stats->increment("node_name" + std::string(g_string_counter_separator) + nodeName);
} }
/* Log INFO Fields */ /* Log INFO Fields */
@ -672,15 +672,18 @@ extern "C" int RedisModule_OnLoad(RedisModuleCtx *ctx, RedisModuleString **argv,
RedisModule_AutoMemory(ctx); RedisModule_AutoMemory(ctx);
/* Use pod name if available*/ /* Use pod name if available*/
const char *podName = getenv("POD_NAME"); const char *podName = getenv("POD_NAME");
utsname sysName;
unameResult = uname(&sysName); unameResult = uname(&sysName);
if (unameResult == 0) {
nodeName = std::string(sysName.nodename);
std::replace(nodeName.begin(), nodeName.end(), '.', '-');
}
if (podName != nullptr) { if (podName != nullptr) {
m_strPrefix = podName; m_strPrefix = podName;
} }
else { else if (unameResult == 0) {
if (unameResult == 0) { m_strPrefix = nodeName;
m_strPrefix = std::string(sysName.nodename); unameResult = 1;
unameResult = 1;
}
} }
std::replace(m_strPrefix.begin(), m_strPrefix.end(), '.', '-'); std::replace(m_strPrefix.begin(), m_strPrefix.end(), '.', '-');