Add all missing Crash Ping fields to Socorro's raw and processed crash schema
Categories
(Socorro :: General, task, P1)
Tracking
(Not tracked)
People
(Reporter: bdanforth, Assigned: bdanforth)
References
(Depends on 1 open bug, Blocks 1 open bug)
Details
(Whiteboard: [cringe])
Attachments
(3 files)
|
bug-2052944: fall back to crash annotation values for platform info when there's no minidump - #7249
53 bytes,
text/x-github-pull-request
|
Details | Review | |
|
3.86 KB,
text/plain
|
chutten
:
data-review+
|
Details |
|
53 bytes,
text/x-github-pull-request
|
Details | Review |
Crash Pings contain some fields in CrashAnnotations.yaml that are not present in Socorro's raw and processed crash schema or are classified as protected in the current schema.
In both cases, this causes those fields to appear in the "Protected data" section of /report/index for Crash Pings, rather than being surfaced correctly as public data. It also blocks correct SuperSearch behavior for Crash Ping queries, since SUPERSEARCH_FIELDS permissions are derived from the schemas.
This ticket aligns Socorro's schemas with CrashAnnotations.yaml for Crash Pings.
Acceptance Criteria
- Every annotation in CrashAnnotations.yaml with
scope: pingis present insocorro/schemas/raw_crash.schema.yaml - Every annotation in CrashAnnotations.yaml with
scope: pingis present insocorro/schemas/processed_crash.schema.yaml - Every scope:ping field in both schemas has
permissions: ["public"]- Note: there are at least 3 fields in Crash Pings that are currently listed as "protected" that should be moved to "public":
MozCrashReason,RemoteType, andJavaException.
- Note: there are at least 3 fields in Crash Pings that are currently listed as "protected" that should be moved to "public":
- Unit tests added or updated for the schema changes.
- We could make use of
validate_raw_crash.pyhere for the raw crash schema changes.
- We could make use of
Updated•1 month ago
|
| Assignee | ||
Comment 1•29 days ago
|
||
We should also make the recommended uptime changes as described in https://bugzilla.mozilla.org/show_bug.cgi?id=2055875#c12.
| Assignee | ||
Comment 2•21 days ago
|
||
We should also add the Glean client ID to both the raw and processed crash schema as a private field per Bug 2052950.
| Assignee | ||
Comment 3•20 days ago
|
||
We should cross-reference the fields being added to Crash Pings in Bug 2049749 in case any are added outside of those already in Socorro.
| Assignee | ||
Comment 4•6 days ago
•
|
||
I've spent a good amount of time thinking about this, and to completely do this, it represents about 23 (or more) tickets worth of work, since there are 23 of 58 scope: "ping" crash annotations present in Crash Pings today but missing from Socorro (with an additional five being added in Bug 2049749 which is in review), and about half of them don't have an explicit data review and approval by a data steward. Those that do limit access/visibility to Firefox telemetry (visible to all MoCo but not the general public in BigQuery etc.)[1]. In our case, making a field public in Socorro means making it public to the world on our website. Because of this, we should really add these fields carefully with a new data review, in many cases on a field-by-field basis. This, among other reasons, is why we typically handle adding a single new field to Socorro as its own separate ticket.
Additionally, by definition, these are fields that are not in Socorro. It's therefore guaranteed that no one is querying them in Crash Stats today, and we will not break any existing workflows by deferring adding them to follow-up work as needed/requested. As with all fields Socorro doesn't know about, they will be viewable in the raw crash document only and classified as "protected" until then.
Given this, and in discussion with Sven and Alex Franchuk, I have significantly reduced the scope of this ticket to cover the absolute minimum changes needed for this project:
- Ensure that critical path consumers can query existing Crash Report fields that are currently derived from a minidump (Crash Pings won't have a minidump to derive the fields from)
- These are fields that I previously identified in Bug 2055875 Comment 10 that are being added as new crash annotations in Bug 2049749).
- I've just confirmed the exact fields with Alex:
CPUArchitecture,CPUInfo,OS,OSVersion,LinuxLSBDescription
- Ensure we have the information we need to handle Firefox telemetry data deletion requests.
Revised acceptance criteria:
CPUArchitecture,CPUInfo,OS,OSVersion,LinuxLSBDescriptionare added to the raw crash schema- Existing processor rules to determine the processed crash equivalents of these fields (
cpu_arch,cpu_info,os_name,os_versionandos_pretty_version, respectively) need to be updated to use the derived value from the minidump and fallback to the value provided in the crash annotation. - The processed crash schema description for these fields should be updated to mention that we conditionally use the provided source annotation (or add a comment if possible to that effect).
- Copy and index the Glean client ID as a protected field into the processed crash report for handling data deletion requests as mentioned in Comment 2.
- Unit tests added or updated for the schema and processor changes.
[1]: The crash-pings.mozilla.org website does surface some crash ping data publicly, but it doesn't provide a comprehensive view of each crash ping and is quite limited in terms of search/filtering functionality relative to Socorro, in addition to being a much newer website that many fewer people know about.
| Assignee | ||
Comment 5•6 days ago
|
||
| Assignee | ||
Comment 6•1 day ago
|
||
I merged bug-2052944: fall back to crash annotation values for platform info when there's no minidump - #7249.
Hoping to have the second of two PRs up later today.
| Assignee | ||
Comment 7•1 day ago
•
|
||
The second patch (in progress) for this bug is to add support for the Glean client ID in Socorro as a protected field. This is a data review request for adding this field to Socorro.
While the actual data collection will not occur until we start submitting crash pings to Socorro much later on in the larger effort of Bug 2049499, we require a data review link at the point of adding a new field to Socorro's schema, which is what this ticket covers.
Comment 8•1 day ago
|
||
Comment on attachment 9628472 [details]
bug-2052944-data-review-request.txt
DATA COLLECTION REVIEW RESPONSE:
Is there or will there be documentation that describes the schema for the ultimate data set available publicly, complete and accurate?
Yes.
Is there a control mechanism that allows the user to turn the data collection on and off?
Yes. This collection can be controlled through the product's preferences.
If the request is for permanent data collection, is there someone who will monitor the data over time?
Yes, Bianca Danforth is responsible.
Using the category system of data types on the Mozilla wiki, what collection type of data do the requested measurements fall under?
Category 1, Technical, but also Category 4 Highly Sensitive (persistent identifiers are identified this way as being both benignly technical but also worth scrutiny)
Is the data collection request for default-on or default-off?
Default on for all channels.
Does the instrumentation include the addition of any new identifiers?
No. The Glean client_id is already reported, just not persisted.
Is the data collection covered by the existing Firefox privacy notice?
Yes.
Does the data collection use a third-party collection tool?
No.
Result: datareview+
| Assignee | ||
Comment 9•1 day ago
|
||
| Assignee | ||
Comment 10•13 hours ago
|
||
Description
•