diff options
author | r.kuznetsov <r.kuznetsov@corp.mail.ru> | 2016-12-09 13:00:15 +0300 |
---|---|---|
committer | r.kuznetsov <r.kuznetsov@corp.mail.ru> | 2016-12-09 13:00:15 +0300 |
commit | 63d27b071b180153e8c821a90df565169f049e02 (patch) | |
tree | 788ffb753a017a17ca0b3b3b9b2eb588ec33d787 /map | |
parent | 2d14212f0090603d282cf1217ab7ade354442f30 (diff) |
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); |