Missing main summary columns in main ping table schema
Categories
(Data Platform and Tools :: General, task, P2)
Tracking
(Not tracked)
People
(Reporter: relud, Assigned: relud)
References
(Depends on 1 open bug)
Details
Some columns are needed for main_summary
to stop using additional_properties
, but have not been added due to union types or insufficient schema.
I think we should do the following:
- Handle union types under
environment.addons
(STRING for version, INT64 for the others) - Treat
payload.addonDetails.XPI
as a map without value, i.e. an array of structs with a key field but no value field. This should allow us to determine the value type at a later date. - Treat
payload.processes.dynamic.scalars
as a string map, andpayload.processes.dynamic.keyedScalars
as a map of string maps. Negative side-effect: values that are a string of a boolean or integer would be bucketed into non-string columns when generatingmain_summary
. - Add fields to the
payload.simpleMeasurements
schema as integers for the specific fields.
Fields that need to be added:
Field | Schema Type | New BigQuery Type | Main Summary Type |
---|---|---|---|
environment.addons.activeAddons[].userDisabled |
BOOL or INT64 | INT64 | BOOL |
environment.addons.activeAddons[].version |
STRING or INT64 | STRING | STRING |
environment.addons.activeAddons[].foreignInstall |
INT64 or BOOL | INT64 | BOOL |
environment.addons.theme.foreignInstall |
BOOL or INT64 | INT64 | BOOL |
payload.addonDetails.XPI |
MAP<STRING,ANY> | ARRAY<STRUCT<STRING>> | MAP<STRING,ANY> (value not used) |
payload.processes.dynamic.scalars |
MAP<STRING,ANY> | MAP<STRING,STRING> | STRUCT<MAP<STRING,STRING>, MAP<STRING,INT64>, MAP<STRING,BOOL>> |
payload.processes.dynamic.keyedScalars |
MAP<STRING, MAP<STRING,ANY>> | MAP<STRING, MAP<STRING,STRING>> | STRUCT< MAP<STRING,MAP<STRING,STRING>>, MAP<STRING,MAP<STRING,INT64>>, MAP<STRING,MAP<STRING,BOOL>>> |
payload.simpleMeasurements.activeTicks |
ANY | INT64 | INT64 |
payload.simpleMeasurements.main |
ANY | INT64 | INT64 |
payload.simpleMeasurements.firstPaint |
ANY | INT64 | INT64 |
payload.simpleMeasurements.sessionRestored |
ANY | INT64 | INT64 |
payload.simpleMeasurements.totalTime |
ANY | INT64 | INT64 |
payload.simpleMeasurements.blankWindowShown |
ANY | INT64 | INT64 |
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 1•5 years ago
|
||
Assignee | ||
Comment 2•5 years ago
|
||
it turns out payload.processes.dynamic.scalars
and payload.processes.dynamic.keyedScalars
already exist with a handful of probes, so we will have to determine a different solution for those, in a separate bug.
In order to unblock the remaining fields from bug 1596600 adding XPI was moved to a separate pull request: https://github.com/mozilla/mozilla-schema-generator/pull/80
Updated•5 years ago
|
Comment 3•5 years ago
|
||
Looks like the 3 PRs from comment 1 have been merged. Daniel, is there more to do here or can we close this out?
Assignee | ||
Comment 4•5 years ago
|
||
https://github.com/mozilla/mozilla-schema-generator/pull/80 is currently introducing some unexpected changes that need to be addressed, so it still hasn't been merged.
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 5•4 years ago
|
||
I've closed the PR to add payload.addonDetails.XPI
to per https://github.com/mozilla/mozilla-schema-generator/pull/80#issuecomment-759815434
Upon further inspection this change is unnecessary.
This was implemented in hopes of removing references to
additional_properties
frommain_summary_v4
, but that still won't happen becausepayload.processes.dynamic.scalars
andpayload.processes.dynamic.keyedScalars
are still needed and can't be added the to schema.
We can revisit this decision in the future if payload.processes.dynamic.scalars
and payload.processes.dynamic.keyedScalars
are fixed, but until then I'm going to resolve this bug as fixed.
Description
•