Merge pull request #224 from Snapchat/remove-dot-in-nodename-metrics

fix nodename metricsname
This commit is contained in:
Zhaozhen Liang 2023-09-11 15:37:16 -06:00 committed by GitHub Enterprise
commit 7b7c0ba192

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,17 +672,20 @@ 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;
std::replace(m_strPrefix.begin(), m_strPrefix.end(), '.', '-');
} }
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(), '.', '-');
for (int iarg = 0; iarg < argc; ++iarg) { for (int iarg = 0; iarg < argc; ++iarg) {
size_t len = 0; size_t len = 0;