diff options
author | Sergey Yershov <syershov@maps.me> | 2016-12-09 13:26:37 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-09 13:26:37 +0300 |
commit | fc8189106a38692a746597ebb9548bbcd218068e (patch) | |
tree | 33fe89e8a6cc9b524023a9a30e53f691712f8a9a /map | |
parent | 3f1c57f6c4d0324ef7eb5589e30c85b581eb97e1 (diff) | |
parent | 63d27b071b180153e8c821a90df565169f049e02 (diff) |
Merge pull request #4930 from rokuz/traffic-stats
Added statistics for traffic
Diffstat (limited to 'map')
-rw-r--r-- | map/traffic_manager.cpp | 39 | ||||
-rw-r--r-- | map/traffic_manager.hpp | 2 |
2 files changed, 41 insertions, 0 deletions
diff --git a/map/traffic_manager.cpp b/map/traffic_manager.cpp index b1e6aafd42..4249316603 100644 --- a/map/traffic_manager.cpp +++ b/map/traffic_manager.cpp @@ -10,6 +10,8 @@ #include "platform/platform.hpp" +#include "3party/Alohalytics/src/alohalytics.h" + namespace { auto constexpr kUpdateInterval = minutes(1); @@ -101,9 +103,17 @@ void TrafficManager::SetEnabled(bool enabled) m_drapeEngine->EnableTraffic(enabled); if (enabled) + { Invalidate(); + GetPlatform().GetMarketingService().SendPushWooshTag(marketing::kTrafficDiscovered); + alohalytics::LogEvent( + "$TrafficEnabled", + alohalytics::TStringMap({{"dataVersion", strings::to_string(m_currentDataVersion.load())}})); + } else + { m_observer.OnTrafficInfoClear(); + } } void TrafficManager::Clear() @@ -474,6 +484,9 @@ void TrafficManager::ChangeState(TrafficState newState) return; m_state = newState; + alohalytics::LogEvent( + "$TrafficChangeState", + alohalytics::TStringMap({{"state", DebugPrint(m_state.load())}})); GetPlatform().RunOnGuiThread([this, newState]() { @@ -481,3 +494,29 @@ void TrafficManager::ChangeState(TrafficState newState) m_onStateChangedFn(newState); }); } + +string DebugPrint(TrafficManager::TrafficState state) +{ + switch (state) + { + case TrafficManager::TrafficState::Disabled: + return "Disabled"; + case TrafficManager::TrafficState::Enabled: + return "Enabled"; + case TrafficManager::TrafficState::WaitingData: + return "WaitingData"; + case TrafficManager::TrafficState::Outdated: + return "Outdated"; + case TrafficManager::TrafficState::NoData: + return "NoData"; + case TrafficManager::TrafficState::NetworkError: + return "NetworkError"; + case TrafficManager::TrafficState::ExpiredData: + return "ExpiredData"; + case TrafficManager::TrafficState::ExpiredApp: + return "ExpiredApp"; + default: + ASSERT(false, ("Unknown state")); + } + return "Unknown"; +} diff --git a/map/traffic_manager.hpp b/map/traffic_manager.hpp index f379310073..cf53d3091f 100644 --- a/map/traffic_manager.hpp +++ b/map/traffic_manager.hpp @@ -146,3 +146,5 @@ private: mutex m_mutex; threads::SimpleThread m_thread; }; + +extern string DebugPrint(TrafficManager::TrafficState state); |