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

Unified Diff: content/browser/renderer_host/input/render_widget_host_latency_tracker.cc

Issue 2888153002: Add TimeToScrollUpdateSwapBegin2 to UKM (Closed)
Patch Set: Rename the test function Created 3 years, 7 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: content/browser/renderer_host/input/render_widget_host_latency_tracker.cc
diff --git a/content/browser/renderer_host/input/render_widget_host_latency_tracker.cc b/content/browser/renderer_host/input/render_widget_host_latency_tracker.cc
index 26f0c1e5e751e92686dbf821056e85c8df926dc2..6ed10eaa2d29ed8ca6890e20fa36d0f5ce1a10eb 100644
--- a/content/browser/renderer_host/input/render_widget_host_latency_tracker.cc
+++ b/content/browser/renderer_host/input/render_widget_host_latency_tracker.cc
@@ -11,6 +11,7 @@
#include "base/metrics/histogram_macros.h"
#include "build/build_config.h"
#include "components/rappor/public/rappor_utils.h"
+#include "components/ukm/public/ukm_entry_builder.h"
#include "content/browser/renderer_host/render_widget_host_delegate.h"
#include "content/public/browser/content_browser_client.h"
#include "content/public/common/content_client.h"
@@ -76,7 +77,8 @@ void AddLatencyInfoComponentIds(LatencyInfo* latency,
} // namespace
RenderWidgetHostLatencyTracker::RenderWidgetHostLatencyTracker()
- : last_event_id_(0),
+ : ukm_source_id_(-1),
+ last_event_id_(0),
latency_component_id_(0),
device_scale_factor_(1),
has_seen_first_gesture_scroll_update_(false),
@@ -325,4 +327,33 @@ void RenderWidgetHostLatencyTracker::ReportRapporScrollLatency(
}
}
+ukm::SourceId RenderWidgetHostLatencyTracker::GetUkmSourceId() {
+ ukm::UkmRecorder* ukm_recorder = ukm::UkmRecorder::Get();
+ if (ukm_recorder && ukm_source_id_ == -1) {
+ ukm_source_id_ = ukm_recorder->GetNewSourceID();
+ render_widget_host_delegate_->UpdateUrlForUkmSource(ukm_recorder,
+ ukm_source_id_);
+ }
+ return ukm_source_id_;
+}
+
+void RenderWidgetHostLatencyTracker::ReportUkmScrollLatency(
+ const std::string& event_name,
+ const std::string& metric_name,
+ const LatencyInfo::LatencyComponent& start_component,
+ const LatencyInfo::LatencyComponent& end_component) {
+ CONFIRM_VALID_TIMING(start_component, end_component)
+
+ ukm::SourceId ukm_source_id = GetUkmSourceId();
+ ukm::UkmRecorder* ukm_recorder = ukm::UkmRecorder::Get();
+
+ if (ukm_source_id == -1 || !ukm_recorder)
+ return;
+
+ std::unique_ptr<ukm::UkmEntryBuilder> builder =
+ ukm_recorder->GetEntryBuilder(ukm_source_id, event_name.c_str());
+ builder->AddMetric(metric_name.c_str(), (end_component.last_event_time -
+ start_component.first_event_time)
+ .InMicroseconds());
+}
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698