Chromium Code Reviews| Index: remoting/client/client_telemetry_logger.cc |
| diff --git a/remoting/client/client_telemetry_logger.cc b/remoting/client/client_telemetry_logger.cc |
| index 40f218778548fc60477026272476c426d5df4adf..52724258622130923987e6cc8f29642f0a18fb1a 100644 |
| --- a/remoting/client/client_telemetry_logger.cc |
| +++ b/remoting/client/client_telemetry_logger.cc |
| @@ -4,8 +4,14 @@ |
| #include "remoting/client/client_telemetry_logger.h" |
| +#if defined(OS_ANDROID) |
|
Lambros
2017/04/05 01:31:19
Move below the other #includes.
nicholss
2017/04/05 17:24:26
Acknowledged.
|
| +#include <android/log.h> |
| +#endif // OS_ANDROID |
| + |
| +#include "base/format_macros.h" |
| #include "base/logging.h" |
| #include "base/rand_util.h" |
| +#include "base/strings/stringprintf.h" |
| #include "remoting/base/telemetry_log_writer.h" |
| namespace { |
| @@ -62,10 +68,53 @@ void ClientTelemetryLogger::LogStatistics( |
| DCHECK(thread_checker_.CalledOnValidThread()); |
| RefreshSessionIdIfOutdated(); |
| + PrintLogStatistics(perf_tracker); |
| + |
| ChromotingEvent event = MakeStatsEvent(perf_tracker); |
| log_writer_->Log(event); |
| } |
| +#if defined(OS_ANDROID) |
| +void ClientTelemetryLogger::PrintLogStatistics( |
| + protocol::PerformanceTracker* perf_tracker) { |
| + __android_log_print( |
| + ANDROID_LOG_INFO, "stats", |
| + "Bandwidth:%.0f FrameRate:%.1f;" |
| + " (Avg, Max) Capture:%.1f, %" PRId64 " Encode:%.1f, %" PRId64 |
| + " Decode:%.1f, %" PRId64 " Render:%.1f, %" PRId64 " RTL:%.0f, %" PRId64, |
| + perf_tracker->video_bandwidth(), perf_tracker->video_frame_rate(), |
| + perf_tracker->video_capture_ms().Average(), |
| + perf_tracker->video_capture_ms().Max(), |
| + perf_tracker->video_encode_ms().Average(), |
| + perf_tracker->video_encode_ms().Max(), |
| + perf_tracker->video_decode_ms().Average(), |
| + perf_tracker->video_decode_ms().Max(), |
| + perf_tracker->video_paint_ms().Average(), |
| + perf_tracker->video_paint_ms().Max(), |
| + perf_tracker->round_trip_ms().Average(), |
| + perf_tracker->round_trip_ms().Max()); |
| +} |
| +#else |
| +void ClientTelemetryLogger::PrintLogStatistics( |
| + protocol::PerformanceTracker* perf_tracker) { |
| + VLOG(1) << base::StringPrintf( |
|
Yuwei
2017/04/03 21:40:46
What about putting the #ifdefs inside the function
nicholss
2017/04/03 21:56:00
I don't think that makes this more readable.
|
| + "Bandwidth:%.0f FrameRate:%.1f;" |
|
Lambros
2017/04/05 01:31:19
Duplicating this code makes me sad. Could you writ
nicholss
2017/04/05 17:24:25
That type of feature is pretty easy now with the a
|
| + " (Avg, Max) Capture:%.1f, %" PRId64 " Encode:%.1f, %" PRId64 |
| + " Decode:%.1f, %" PRId64 " Render:%.1f, %" PRId64 " RTL:%.0f, %" PRId64, |
| + perf_tracker->video_bandwidth(), perf_tracker->video_frame_rate(), |
| + perf_tracker->video_capture_ms().Average(), |
| + perf_tracker->video_capture_ms().Max(), |
| + perf_tracker->video_encode_ms().Average(), |
| + perf_tracker->video_encode_ms().Max(), |
| + perf_tracker->video_decode_ms().Average(), |
| + perf_tracker->video_decode_ms().Max(), |
| + perf_tracker->video_paint_ms().Average(), |
| + perf_tracker->video_paint_ms().Max(), |
| + perf_tracker->round_trip_ms().Average(), |
| + perf_tracker->round_trip_ms().Max()); |
| +} |
| +#endif // OS_ANDROID |
| + |
| void ClientTelemetryLogger::SetSessionIdGenerationTimeForTest( |
| base::TimeTicks gen_time) { |
| session_id_generation_time_ = gen_time; |