Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1614)

Unified Diff: remoting/client/client_telemetry_logger.cc

Issue 2753963002: Refactoring and rewriting the chromoting jni instance to be chromoting session. (Closed)
Patch Set: Fixed feedback. Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698