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

Issue 324893004: Truncate huge output snippets in the test launcher before printing them (Closed)

Created:
6 years, 6 months ago by Paweł Hajdan Jr.
Modified:
6 years, 6 months ago
Reviewers:
sky
CC:
chromium-reviews, erikwright+watch_chromium.org
Visibility:
Public.

Description

Truncate huge output snippets in the test launcher before printing them This avoids flooding the logs with lots of data that gums up the infrastructure. The summary contains the full snippet for debugging. BUG=382648 R=sky@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=276335

Patch Set 1 #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+15 lines, -1 line) Patch
M base/test/launcher/test_launcher.cc View 2 chunks +15 lines, -1 line 1 comment Download

Messages

Total messages: 5 (0 generated)
Paweł Hajdan Jr.
6 years, 6 months ago (2014-06-10 13:21:04 UTC) #1
sky
LGTM https://codereview.chromium.org/324893004/diff/1/base/test/launcher/test_launcher.cc File base/test/launcher/test_launcher.cc (right): https://codereview.chromium.org/324893004/diff/1/base/test/launcher/test_launcher.cc#newcode459 base/test/launcher/test_launcher.cc:459: std::vector<std::string> snippet_lines; This initially confused me. I would ...
6 years, 6 months ago (2014-06-10 16:25:14 UTC) #2
Sergey Berezin
I'm not sure I understand the design assumptions here. The outage was caused by the ...
6 years, 6 months ago (2014-06-10 16:25:53 UTC) #3
Paweł Hajdan Jr.
Committed patchset #1 manually as r276335 (presubmit successful).
6 years, 6 months ago (2014-06-11 10:29:17 UTC) #4
Paweł Hajdan Jr.
6 years, 6 months ago (2014-06-11 10:39:03 UTC) #5
Message was sent while issue was closed.
On 2014/06/10 16:25:53, Sergey Berezin wrote:
> I'm not sure I understand the design assumptions here. The outage was caused
by
> the rate at which the logs were dumped, not the amount of logs per se.

Thanks for taking a look, Sergey.

I'm not convinced about the cause of the outage you've mentioned above. Do you
have data or any kind of evidence to back that claim?

> Do we have a guarantee of some maximum number of snippets per second?

No.

> Also, would simply losing the log data be acceptable to solve this problem?
How
> do we diagnose that something is a problem with the test?

Full snippet is preserved in the summary and uploaded to Google Storage by
runtest.py .

> An outage like that is also notoriously difficult to diagnose at the moment.
In
> particular, there is no alert that I know of about the rate of log dumping
> exceeding certain threshold, or which build / test is responsible for it.

Agreed. This is more of an infrastructure problem though - it seems the test
launcher
is not the piece we'd like to handle this. There are many other steps/scripts
that can flood the logs.

> I would vote for throttling the logs instead, without truncating them, and
> effectively slowing down the test if it spits out too much logs. We can define
> the exact policy for throttling (perhaps a "grace period" of, say, 100K of
logs
> at full speed followed by throttling, following by alert if exceeded 1MB while
> throttled - just an example.)

Specific recommendations are welcome. Please make sure to back them with
evidence
and explain why the test launcher would be the best place to implement such
logic
(that's not really obvious to me, given other scripts can flood the logs just as
well).

> Also, is this the best place to catch such logs?

I'm afraid at any other place we'd need to just kill the build. Here we have a
chance
to handle big log output gracefully.

This is not intended to be bulletproof
(https://codereview.chromium.org/325963006/ is,
and it's an infrastructure-side change).

> Are there tests that don't use this launcher and can bypass it?

Yes, e.g. gtest on Android or iOS, Telemetry...

> If there are, is there another more common
> place we can catch these logs and throttle them?

Please see https://codereview.chromium.org/325963006/ .

Powered by Google App Engine
This is Rietveld 408576698