Open Bug 1646502 Opened 4 years ago Updated 5 days ago

[meta] Simplify log parsing - switch to artifacts for Perfherder data and failure lines

Categories

(Tree Management :: Treeherder, enhancement)

enhancement

Tracking

(Not tracked)

People

(Reporter: sclements, Unassigned)

References

(Depends on 1 open bug)

Details

(Whiteboard: [fxp])

Per a few recent discussions, log parsing could be greatly simplified and made more resilient if we weren't parsing live_backing logs for PERFHERDER_DATA log lines and failure lines for every task.

A few steps to take:

  1. Switch to consuming Perfherder artifacts (json would be ideal)

  2. Switch to only consuming error_summary.json files (standardized naming would be great, per bug 1629716)*. This will also help with data Push Health provides since it relies on data from these logs. Currently we're doing both (if an error_summary file exists) with the TextLogError/Step lines used for the log viewer and the bug suggestions API.

  • In order to implement #2, we'd need to investigate whether we can get non-browser crash data some other way than from the live_backing log.

We also might be able to reduce table size further in Treeherder since failure lines from the live_backing log are stored in the TextLogError table and data from the error summary logs are stored in the FailureLines table.

Component: Treeherder: Log Parsing & Classification → TreeHerder
Whiteboard: [fxp]
Depends on: 1892260

Big +1 to consuming a specialized artifact over parsing logs.

But while we're changing the ingestion, I would also like to request that the artifact support a custom path, and possibly even multiple paths.

We have a new type of Taskcluster task that farms out builds to Bitrise. In order to cut costs (because all these tasks do is poll the Bitrise API in a loop), we've added the ability for them to trigger multiple Bitrise workflows at once. But this means that we need to namespace the artifacts from those workflows, e.g instead of public/live.log, it is public/<bitrise workflow name>/live.log.

So when designing this new format, I'd like to request some way consumers can specify where the artifact(s) live (even if it's just hardcoded into a config in Treeherder, that's probably fine).

You need to log in before you can comment on or make changes to this bug.