Skip to content

Instantly share code, notes, and snippets.

@gregglind
Created January 25, 2017 13:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gregglind/b4ecc56197b127e6e7cac93b0166ae69 to your computer and use it in GitHub Desktop.
Save gregglind/b4ecc56197b127e6e7cac93b0166ae69 to your computer and use it in GitHub Desktop.
Automatic Conversions of Mozilla Data Schemas using `jsonschema-parquet`
$ jsonschema-parquet parquet --deref ~/gits/mozilla-pipeline-schemas/telemetry/*
message core.schema.json {
required binary arch (UTF8);
required binary clientId (UTF8);
required binary device (UTF8);
optional binary experiments (UTF8);
required binary locale (UTF8);
required binary os (UTF8);
required binary osversion (UTF8);
required int64 seq;
required int64 v;
optional binary defaultSearch (UTF8);
optional binary defaultMailClient (UTF8);
optional binary defaultNewTabExperience (UTF8);
}
message crash.schema.json {
optional group application {
required binary architecture (UTF8);
required binary buildId (UTF8);
required binary channel (UTF8);
required binary name (UTF8);
required binary platformVersion (UTF8);
required binary version (UTF8);
optional binary displayVersion (UTF8);
required binary vendor (UTF8);
required binary xpcomAbi (UTF8);
}
optional binary clientId (UTF8);
optional binary creationDate (UTF8);
optional binary environment (UTF8);
optional binary id (UTF8);
optional group meta {
}
optional group payload {
optional binary crashDate (UTF8);
optional boolean hasCrashEnvironment;
optional group metadata {
optional binary AvailablePageFile (UTF8);
optional binary AvailablePhysicalMemory (UTF8);
optional binary AvailableVirtualMemory (UTF8);
optional binary BuildID (UTF8);
optional binary IsGarbageCollecting (UTF8);
optional binary ProductID (UTF8);
optional binary ProductName (UTF8);
optional binary ReleaseChannel (UTF8);
optional binary SecondsSinceLastCrash (UTF8);
optional binary SystemMemoryUsePercentage (UTF8);
optional binary TotalPageFile (UTF8);
optional binary TotalPhysicalMemory (UTF8);
optional binary TotalVirtualMemory (UTF8);
optional binary Version (UTF8);
}
optional int64 version;
}
optional binary type (UTF8);
optional binary version (UTF8);
}
message main.schema.json {
required group application {
required binary architecture (UTF8);
required binary buildId (UTF8);
required binary channel (UTF8);
required binary name (UTF8);
required binary platformVersion (UTF8);
required binary version (UTF8);
optional binary displayVersion (UTF8);
required binary vendor (UTF8);
required binary xpcomAbi (UTF8);
}
optional binary clientId (UTF8);
required binary creationDate (UTF8);
optional binary environment (UTF8);
required binary id (UTF8);
optional group meta {
}
optional group payload {
optional group addonDetails {
}
optional group addonHistograms {
}
optional binary childPayloads (UTF8);
optional group chromeHangs {
}
optional binary fileIOReports (UTF8);
optional group histograms (MAP) {
repeated group key_value {
required binary key (UTF8);
required binary value (UTF8);
}
}
optional group processes {
required group parent {
required group scalars (MAP) {
repeated group key_value {
required binary key (UTF8);
required binary value (UTF8);
}
}
optional group keyedScalars (MAP) {
repeated group key_value {
required binary key (UTF8);
required binary value (UTF8);
}
}
}
optional group content {
optional group histograms (MAP) {
repeated group key_value {
required binary key (UTF8);
required binary value (UTF8);
}
}
optional group keyedHistograms {
}
}
optional group gpu {
optional group histograms (MAP) {
repeated group key_value {
required binary key (UTF8);
required binary value (UTF8);
}
}
optional group keyedHistograms {
}
}
}
optional group info {
}
optional group keyedHistograms {
}
optional group lateWrites {
}
optional binary log (UTF8);
optional group simpleMeasurements {
}
optional group slowSQL {
}
optional group slowSQLStartup {
}
optional binary threadHangStats (UTF8);
optional binary UIMeasurements (UTF8);
optional int64 ver;
optional group webrtc {
}
}
optional binary type (UTF8);
required binary version (UTF8);
}
message shield-study-addon {
required int64 version;
required binary study_name (UTF8);
required binary branch (UTF8);
required binary addon_version (UTF8);
required binary shield_version (UTF8);
optional boolean testing;
required group data {
required binary packet (UTF8);
required group attributes (MAP) {
repeated group key_value {
required binary key (UTF8);
required binary value (UTF8);
}
}
}
}
message shield-study-error {
required int64 version;
required binary study_name (UTF8);
required binary branch (UTF8);
required binary addon_version (UTF8);
required binary shield_version (UTF8);
optional boolean testing;
required group data {
required binary packet (UTF8);
required binary error_id (UTF8);
required binary error_source (UTF8);
optional binary message (UTF8);
optional binary severity (UTF8);
optional group attributes (MAP) {
repeated group key_value {
required binary key (UTF8);
required binary value (UTF8);
}
}
optional group error (MAP) {
repeated group key_value {
required binary key (UTF8);
required binary value (UTF8);
}
}
}
}
message shield-study {
required int64 version;
required binary study_name (UTF8);
required binary branch (UTF8);
required binary addon_version (UTF8);
required binary shield_version (UTF8);
optional boolean testing;
required group data {
required binary packet (UTF8);
required binary study_state (UTF8);
optional binary study_state_fullname (UTF8);
optional group attributes (MAP) {
repeated group key_value {
required binary key (UTF8);
required binary value (UTF8);
}
}
}
}
message vacuous.schema.json {
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment