Commit 603b405c authored by Sadrul Habib Chowdhury's avatar Sadrul Habib Chowdhury Committed by Commit Bot

latency-info: Add a couple of investigative dumps.

Add a couple of investigative dumps to understand better where and how
a large number of LatencyInfo objects are accumulating.

BUG=834421

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ieea6e47c4a1acf5c89384048e19b742e3e21e5a8
Reviewed-on: https://chromium-review.googlesource.com/1054153Reviewed-by: default avatarFady Samuel <fsamuel@chromium.org>
Commit-Queue: Sadrul Chowdhury <sadrul@chromium.org>
Cr-Commit-Position: refs/heads/master@{#557994}
parent 24711fe3
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include "base/auto_reset.h" #include "base/auto_reset.h"
#include "base/bind.h" #include "base/bind.h"
#include "base/containers/flat_map.h" #include "base/containers/flat_map.h"
#include "base/debug/dump_without_crashing.h"
#include "base/json/json_writer.h" #include "base/json/json_writer.h"
#include "base/memory/ptr_util.h" #include "base/memory/ptr_util.h"
#include "base/metrics/histogram.h" #include "base/metrics/histogram.h"
...@@ -1977,7 +1978,14 @@ bool LayerTreeHostImpl::DrawLayers(FrameData* frame) { ...@@ -1977,7 +1978,14 @@ bool LayerTreeHostImpl::DrawLayers(FrameData* frame) {
frame->use_default_lower_bound_deadline); frame->use_default_lower_bound_deadline);
metadata.activation_dependencies = std::move(frame->activation_dependencies); metadata.activation_dependencies = std::move(frame->activation_dependencies);
CHECK(metadata.latency_info.empty());
active_tree()->FinishSwapPromises(&metadata, &frame_token_allocator_); active_tree()->FinishSwapPromises(&metadata, &frame_token_allocator_);
// TODO(crbug.com/834421): This is to catch instances of renderer submitting
// too many LatencyInfo objects.
if (!ui::LatencyInfo::Verify(metadata.latency_info,
"LayerTreeHostImpl::DrawLayers")) {
base::debug::DumpWithoutCrashing();
}
if (render_frame_metadata_observer_) { if (render_frame_metadata_observer_) {
RenderFrameMetadata render_frame_metadata = MakeRenderFrameMetadata(); RenderFrameMetadata render_frame_metadata = MakeRenderFrameMetadata();
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include "base/bind.h" #include "base/bind.h"
#include "base/containers/adapters.h" #include "base/containers/adapters.h"
#include "base/debug/dump_without_crashing.h"
#include "base/logging.h" #include "base/logging.h"
#include "base/macros.h" #include "base/macros.h"
#include "base/metrics/histogram_macros.h" #include "base/metrics/histogram_macros.h"
...@@ -1238,6 +1239,9 @@ CompositorFrame SurfaceAggregator::Aggregate( ...@@ -1238,6 +1239,9 @@ CompositorFrame SurfaceAggregator::Aggregate(
surface->TakeLatencyInfo(&frame.metadata.latency_info); surface->TakeLatencyInfo(&frame.metadata.latency_info);
if (!ui::LatencyInfo::Verify(frame.metadata.latency_info, if (!ui::LatencyInfo::Verify(frame.metadata.latency_info,
"SurfaceAggregator::Aggregate")) { "SurfaceAggregator::Aggregate")) {
// TODO(crbug.com/834421): This is to catch instances of renderer
// submitting too many LatencyInfo objects.
base::debug::DumpWithoutCrashing();
break; break;
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment