Skip to content

Commit 9ebc229

Browse files
authored
[OMON-613] Remove hostname from default global tags (#307)
1 parent cf590fb commit 9ebc229

File tree

6 files changed

+42
-19
lines changed

6 files changed

+42
-19
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ endif()
3131

3232
# Define project
3333
project(Monitoring
34-
VERSION 3.14.1
34+
VERSION 3.15.0
3535
DESCRIPTION "O2 Monitoring library"
3636
LANGUAGES CXX
3737
)

include/Monitoring/Monitoring.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,9 @@ class Monitoring
9090
/// \param value tag value
9191
void addGlobalTag(tags::Key key, tags::Value value);
9292

93+
/// Temporary add helper function to add hostname tag as it is not set by default anymore (since 3.15.0)
94+
void addHostnameTag();
95+
9396
/// Sets run number
9497
/// \param name run run number
9598
void setRunNumber(uint32_t run);

src/Backends/InfluxDB.cxx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,10 @@ std::string InfluxDB::toInfluxLineProtocol(const Metric& metric)
9595
std::stringstream convert;
9696
std::string name = metric.getName();
9797
escape(name);
98-
convert << name << "," << tagSet;
98+
convert << name;
99+
if (!tagSet.empty()) {
100+
convert << "," << tagSet;
101+
}
99102

100103
for (const auto& [key, value] : metric.getTags()) {
101104
convert << "," << tags::TAG_KEY[key] << "=";

src/Monitoring.cxx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,14 @@ void Monitoring::enableProcessMonitoring(const unsigned int interval, std::vecto
100100
#endif
101101
}
102102

103+
void Monitoring::addHostnameTag()
104+
{
105+
ProcessDetails processDetails{};
106+
for (auto& backend : mBackends) {
107+
backend->addGlobalTag("hostname", processDetails.getHostname());
108+
}
109+
}
110+
103111
void Monitoring::addGlobalTag(std::string_view key, std::string_view value)
104112
{
105113
for (auto& backend : mBackends) {
@@ -125,8 +133,6 @@ void Monitoring::setRunNumber(uint32_t run)
125133

126134
void Monitoring::addBackend(std::unique_ptr<Backend> backend)
127135
{
128-
ProcessDetails processDetails{};
129-
backend->addGlobalTag("hostname", processDetails.getHostname());
130136
mBackends.push_back(std::move(backend));
131137
}
132138

test/testMonitoring.cxx

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,12 @@ void disableRedirect()
3838
std::cout.rdbuf(coutBuffer);
3939
}
4040

41-
void removeRandomValues(std::string& metric)
41+
void removeTimestamp(std::string& metric)
4242
{
43-
metric.erase(metric.rfind(' ')); // remove timestamp
44-
auto begHost = metric.find(",hostname");
45-
auto endHost = metric.find(",", begHost+1);
46-
metric.erase(begHost, endHost-begHost);
43+
metric.erase(metric.rfind(' '));
4744
}
4845

46+
4947
BOOST_AUTO_TEST_CASE(parseDataPoints)
5048
{
5149
enableRedirect();
@@ -63,8 +61,8 @@ BOOST_AUTO_TEST_CASE(parseDataPoints)
6361
std::string returned1 = coutRedirect.str();
6462

6563
disableRedirect();
66-
removeRandomValues(returned1);
67-
BOOST_CHECK(expected1 == returned1);
64+
removeTimestamp(returned1);
65+
BOOST_CHECK_EQUAL(expected1, returned1);
6866

6967
enableRedirect();
7068
monitoring->send(Metric{"link"}
@@ -83,8 +81,8 @@ BOOST_AUTO_TEST_CASE(parseDataPoints)
8381
std::string expected2 = R"(link,CRU=3,id=3 gbtMode="GBT/GBT",loopback="None",gbtMux="TTC:CTP",datapathMode="Continuous",datapath="Disabled",rxFreq=181.371,txFreq=196.25,status=0i,opticalPower=657.4)";
8482
std::string returned2 = coutRedirect.str();
8583
disableRedirect();
86-
removeRandomValues(returned2);
87-
BOOST_CHECK(expected2 == returned2);
84+
removeTimestamp(returned2);
85+
BOOST_CHECK_EQUAL(expected2, returned2);
8886
}
8987

9088
BOOST_AUTO_TEST_CASE(testSettingRun)
@@ -97,8 +95,8 @@ BOOST_AUTO_TEST_CASE(testSettingRun)
9795
std::string returned = coutRedirect.str();
9896

9997
disableRedirect();
100-
removeRandomValues(returned);
101-
BOOST_CHECK(expected == returned);
98+
removeTimestamp(returned);
99+
BOOST_CHECK_EQUAL(expected, returned);
102100
}
103101

104102
BOOST_AUTO_TEST_CASE(testGlobalTags)
@@ -112,8 +110,21 @@ BOOST_AUTO_TEST_CASE(testGlobalTags)
112110
std::string returned = coutRedirect.str();
113111

114112
disableRedirect();
115-
removeRandomValues(returned);
116-
BOOST_CHECK(expected == returned);
113+
removeTimestamp(returned);
114+
BOOST_CHECK_EQUAL(expected, returned);
115+
}
116+
117+
BOOST_AUTO_TEST_CASE(addHostnameTag)
118+
{
119+
enableRedirect();
120+
121+
monitoring->setRunNumber(1234);
122+
monitoring->addHostnameTag();
123+
monitoring->send(Metric{4321, "test"});
124+
std::string returned = coutRedirect.str();
125+
126+
disableRedirect();
127+
BOOST_CHECK(returned.find("hostname=") != std::string::npos);
117128
}
118129

119130
} // namespace Test

test/testProcessMonitor.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ BOOST_AUTO_TEST_CASE(monitorProcessCpuOnly)
7474
disableRedirect();
7575
unsigned short int countMetrics = 0;
7676
for (std::string line; std::getline(returned, line); ) {
77-
BOOST_CHECK(std::find(names.begin(), names.end(), line.substr(0, line.find(','))) != names.end());
77+
BOOST_CHECK(std::find(names.begin(), names.end(), line.substr(0, line.find(' '))) != names.end());
7878
countMetrics++;
7979
}
8080
// On linux and macOS 6
@@ -98,7 +98,7 @@ BOOST_AUTO_TEST_CASE(monitorProcessAll)
9898
disableRedirect();
9999
unsigned short int countMetrics = 0;
100100
for (std::string line; std::getline(returned, line); ) {
101-
BOOST_CHECK(std::find(names.begin(), names.end(), line.substr(0, line.find(','))) != names.end());
101+
BOOST_CHECK(std::find(names.begin(), names.end(), line.substr(0, line.find(' '))) != names.end());
102102
countMetrics++;
103103
}
104104
// On linux 14 and macOS 6

0 commit comments

Comments
 (0)