mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-15 23:20:36 +01:00
Shared/Metric: Initial support for tag value escaping
Fix #18175
(cherry picked from commit 189edc0f23)
This commit is contained in:
@@ -22,7 +22,7 @@
|
||||
|
||||
void Metric::Initialize(std::string const& realmName, boost::asio::io_service& ioService, std::function<void()> overallStatusLogger)
|
||||
{
|
||||
_realmName = realmName;
|
||||
_realmName = FormatInfluxDBTagValue(realmName);
|
||||
_batchTimer = Trinity::make_unique<boost::asio::deadline_timer>(ioService);
|
||||
_overallStatusTimer = Trinity::make_unique<boost::asio::deadline_timer>(ioService);
|
||||
_overallStatusLogger = overallStatusLogger;
|
||||
|
||||
@@ -79,6 +79,14 @@ private:
|
||||
static std::string FormatInfluxDBValue(double value) { return std::to_string(value); }
|
||||
static std::string FormatInfluxDBValue(float value) { return FormatInfluxDBValue(double(value)); }
|
||||
|
||||
static std::string FormatInfluxDBTagValue(std::string const& value)
|
||||
{
|
||||
// ToDo: should handle '=' and ',' characters too
|
||||
return boost::replace_all_copy(value, " ", "\\ ");
|
||||
}
|
||||
|
||||
// ToDo: should format TagKey and FieldKey too in the same way as TagValue
|
||||
|
||||
public:
|
||||
static Metric* instance();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user