From 497e84202e169356e66fc91cd8f74b26b34b0c56 Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" <vir@lindenlab.com> Date: Fri, 30 Aug 2013 11:14:17 -0400 Subject: [PATCH] SH-4456 FIX - added info to metrics for viewer version tags. --- indra/newview/llvoavatarself.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index a710c95233c..ac59aa0907b 100755 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -63,6 +63,7 @@ #include "llsdutil.h" #include "llstartup.h" #include "llsdserialize.h" +#include "llversioninfo.h" #if LL_MSVC // disable boost::lexical_cast warning @@ -2373,11 +2374,29 @@ LLSD summarize_by_buckets(std::vector<LLSD> in_records, return result; } +// Valid characters for tsdb are alphanumeric, _-./. Others must be cleaned out. +void sanitize_for_tsdb_tag(std::string& s) +{ + for (std::string::iterator it = s.begin(); it != s.end(); ++it) + { + if (std::isalnum(*it) || *it == '.' || *it == '_' || *it == '-' || *it == '/') + { + continue; + } + *it = '_'; + } +} + void LLVOAvatarSelf::sendViewerAppearanceChangeMetrics() { static volatile bool reporting_started(false); static volatile S32 report_sequence(0); + std::string viewer_version_channel = LLVersionInfo::getChannel(); + sanitize_for_tsdb_tag(viewer_version_channel); + std::string viewer_version_short = LLVersionInfo::getShortVersion(); + std::string viewer_version_build = llformat("%d", LLVersionInfo::getBuild()); + LLSD msg; // = metricsData(); msg["message"] = "ViewerAppearanceChangeMetrics"; msg["session_id"] = gAgentSessionID; @@ -2386,6 +2405,9 @@ void LLVOAvatarSelf::sendViewerAppearanceChangeMetrics() msg["initial"] = !reporting_started; msg["break"] = false; msg["duration"] = mTimeSinceLastRezMessage.getElapsedTimeF32(); + msg["viewer_version_channel"] = viewer_version_channel; + msg["viewer_version_short"] = viewer_version_short; + msg["viewer_version_build"] = viewer_version_build; // Status of our own rezzing. msg["rez_status"] = LLVOAvatar::rezStatusToString(getRezzedStatus()); -- GitLab