Skip to content

Conversation

kwindau
Copy link
Contributor

@kwindau kwindau commented Sep 6, 2025

Description

This PR enumerates columns for the SQL generated clients_last_seen_joined_v1 tables.

Related Tickets & Documents

Reviewer, please follow this checklist

@kwindau kwindau changed the title feat(DENG-9583): Enumerate columns on clients_daily_joined_v1 feat(DENG-9583): Enumerate columns on clients_last_joined_v1 Sep 6, 2025
@kwindau kwindau changed the title feat(DENG-9583): Enumerate columns on clients_last_joined_v1 feat(DENG-9583): Enumerate columns on clients_last_seen_joined_v1 Sep 6, 2025
@dataops-ci-bot

This comment has been minimized.

@dataops-ci-bot

This comment has been minimized.

@dataops-ci-bot

This comment has been minimized.

@dataops-ci-bot

This comment has been minimized.

@dataops-ci-bot

This comment has been minimized.

@dataops-ci-bot

This comment has been minimized.

@dataops-ci-bot

This comment has been minimized.

@dataops-ci-bot
Copy link

Integration report for "Reorder columns"

sql.diff

Click to expand!
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_crashreporter: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_defaultagent: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_tasks: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_update: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_echo_show: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_ios: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_reality: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_reality_pc: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/focus_android: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/focus_ios: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/klar_android: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/klar_ios: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/lockwise_android: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/lockwise_ios: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mach: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/monitor_cirrus: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mozilla_lockbox: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mozilla_mach: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mozilla_vpn: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mozillavpn: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mozillavpn_backend_cirrus: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mozphab: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mozregression: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/net_thunderbird_android: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/net_thunderbird_android_beta: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/net_thunderbird_android_daily: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_connect_firefox: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix/metrics: schema.yaml
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix_nightly: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fennec_aurora: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox_beta: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefoxreality: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox_vpn: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_focus: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_focus_beta: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_focus_nightly: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_fennec: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_firefox: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_firefoxbeta: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_firefoxvpn: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_firefoxvpn_network_extension: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_focus: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_klar: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_lockbox: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_tiktok_reporter: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_tiktok_reporter_tiktok_reportershare: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_klar: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_mozregression: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_reference_browser: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_social_nightly: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_tiktokreporter: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_tv_firefox: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_vrbrowser: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/pine: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/reference_browser: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/thunderbird_android: health
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/thunderbird_desktop: health
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/event_monitoring_live_v1/materialized_view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-08 18:09:53.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_backend_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-08 18:12:44.000000000 +0000
@@ -60,7 +60,7 @@
 FROM
   combined
 WHERE
-  DATE(submission_timestamp) >= "2025-09-05"
+  DATE(submission_timestamp) >= "2025-09-08"
 GROUP BY
   submission_date,
   window_start,
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus/health/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus/health/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus/health/metadata.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus/health/metadata.yaml	2025-09-08 18:34:33.000000000 +0000
@@ -0,0 +1,22 @@
+friendly_name: Historical Pings for `accounts-cirrus/health`
+description: |-
+  A historical view of pings sent for the
+  `accounts-cirrus/health`
+  document type.
+
+  This view is guaranteed to contain only complete days
+  (per `submission_timestamp`)
+  and to contain only one row per distinct `document_id` within a given date.
+
+  Clustering fields: `normalized_channel`, `sample_id`
+owners: []
+labels: {}
+bigquery: null
+workgroup_access:
+- role: roles/bigquery.dataViewer
+  members:
+  - workgroup:mozilla-confidential
+references:
+  view.sql:
+  - moz-fx-data-shared-prod.accounts_cirrus_stable.health_v1
+require_column_descriptions: false
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus/health/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus/health/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus/health/schema.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus/health/schema.yaml	2025-09-08 18:07:32.000000000 +0000
@@ -0,0 +1,878 @@
+fields:
+- name: additional_properties
+  type: STRING
+  mode: NULLABLE
+  description: A JSON string containing any payload properties not present in the
+    schema
+- name: client_info
+  type: RECORD
+  mode: NULLABLE
+  fields:
+  - name: android_sdk_version
+    type: STRING
+    mode: NULLABLE
+    description: The optional Android specific SDK version of the software running
+      on this hardware device.
+  - name: app_build
+    type: STRING
+    mode: NULLABLE
+    description: The build identifier generated by the CI system (e.g. "1234/A").
+      For language bindings that provide automatic detection for this value, (e.g.
+      Android/Kotlin), in the unlikely event that the build identifier can not be
+      retrieved from the OS, it is set to "inaccessible". For other language bindings,
+      if the value was not provided through configuration, this metric gets set to
+      `Unknown`.
+  - name: app_channel
+    type: STRING
+    mode: NULLABLE
+    description: The channel the application is being distributed on.
+  - name: app_display_version
+    type: STRING
+    mode: NULLABLE
+    description: The user visible version string (e.g. "1.0.3").  In the unlikely
+      event that the display version can not be retrieved, it is set to "inaccessible".
+  - name: architecture
+    type: STRING
+    mode: NULLABLE
+    description: The architecture of the device, (e.g. "arm", "x86").
+  - name: attribution
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: campaign
+      type: STRING
+      mode: NULLABLE
+      description: The attribution campaign (e.g. 'mozilla-org').
+    - name: content
+      type: STRING
+      mode: NULLABLE
+      description: The attribution content (e.g. 'firefoxview').
+    - name: medium
+      type: STRING
+      mode: NULLABLE
+      description: The attribution medium (e.g. 'organic' for a search engine).
+    - name: source
+      type: STRING
+      mode: NULLABLE
+      description: The attribution source (e.g. 'google-play').
+    - name: term
+      type: STRING
+      mode: NULLABLE
+      description: The attribution term (e.g. 'browser with developer tools for android').
+    - name: ext
+      type: JSON
+      mode: NULLABLE
+  - name: build_date
+    type: STRING
+    mode: NULLABLE
+    description: The date & time the application was built
+  - name: client_id
+    type: STRING
+    mode: NULLABLE
+    description: A UUID uniquely identifying the client.
+  - name: device_manufacturer
+    type: STRING
+    mode: NULLABLE
+    description: The manufacturer of the device the application is running on. Not
+      set if the device manufacturer can't be determined (e.g. on Desktop).
+  - name: device_model
+    type: STRING
+    mode: NULLABLE
+    description: The model of the device the application is running on. On Android,
+      this is Build.MODEL, the user-visible marketing name, like "Pixel 2 XL". Not
+      set if the device model can't be determined (e.g. on Desktop).
+  - name: distribution
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: name
+      type: STRING
+      mode: NULLABLE
+      description: The distribution name (e.g. 'MozillaOnline').
+    - name: ext
+      type: JSON
+      mode: NULLABLE
+  - name: first_run_date
+    type: STRING
+    mode: NULLABLE
+    description: The date of the first run of the application.
+  - name: locale
+    type: STRING
+    mode: NULLABLE
+    description: The locale of the application during initialization (e.g. "es-ES").
+      If the locale can't be determined on the system, the value is ["und"](https://unicode.org/reports/tr35/#Unknown_or_Invalid_Identifiers),
+      to indicate "undetermined".
+  - name: os
+    type: STRING
+    mode: NULLABLE
+    description: 'The name of the operating system. Possible values: Android, iOS,
+      Linux, Darwin, Windows, FreeBSD, NetBSD, OpenBSD, Solaris, unknown'
+  - name: os_version
+    type: STRING
+    mode: NULLABLE
+    description: The user-visible version of the operating system (e.g. "1.2.3").
+      If the version detection fails, this metric gets set to `Unknown`.
+  - name: session_count
+    type: INTEGER
+    mode: NULLABLE
+    description: An optional running counter of the number of sessions for a client.
+  - name: session_id
+    type: STRING
+    mode: NULLABLE
+    description: An optional UUID uniquely identifying the client's current session.
+  - name: telemetry_sdk_build
+    type: STRING
+    mode: NULLABLE
+    description: The version of the Glean SDK
+  - name: windows_build_number
+    type: INTEGER
+    mode: NULLABLE
+    description: The optional Windows build number, reported by Windows (e.g. 22000)
+      and not set for other platforms
+- name: document_id
+  type: STRING
+  mode: NULLABLE
+  description: The document ID specified in the URI when the client sent this message
+- name: events
+  type: RECORD
+  mode: REPEATED
+  fields:
+  - name: category
+    type: STRING
+    mode: NULLABLE
+  - name: extra
+    type: RECORD
+    mode: REPEATED
+    fields:
+    - name: key
+      type: STRING
+      mode: NULLABLE
+    - name: value
+      type: STRING
+      mode: NULLABLE
+  - name: name
+    type: STRING
+    mode: NULLABLE
+  - name: timestamp
+    type: INTEGER
+    mode: NULLABLE
+- name: metadata
+  type: RECORD
+  mode: NULLABLE
+  fields:
+  - name: geo
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: city
+      type: STRING
+      mode: NULLABLE
+    - name: country
+      type: STRING
+      mode: NULLABLE
+      description: An ISO 3166-1 alpha-2 country code
+    - name: db_version
+      type: STRING
+      mode: NULLABLE
+      description: The specific geo database version used for this lookup
+    - name: subdivision1
+      type: STRING
+      mode: NULLABLE
+      description: First major country subdivision, typically a state, province, or
+        county
+    - name: subdivision2
+      type: STRING
+      mode: NULLABLE
+      description: Second major country subdivision; not applicable for most countries
+    description: Results of a geographic lookup based on the client's IP address
+  - name: header
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: date
+      type: STRING
+      mode: NULLABLE
+      description: Date HTTP header
+    - name: dnt
+      type: STRING
+      mode: NULLABLE
+      description: DNT (Do Not Track) HTTP header
+    - name: x_debug_id
+      type: STRING
+      mode: NULLABLE
+      description: X-Debug-Id HTTP header
+    - name: x_foxsec_ip_reputation
+      type: STRING
+      mode: NULLABLE
+      description: X-Foxsec-IP-Reputation header
+    - name: x_lb_tags
+      type: STRING
+      mode: NULLABLE
+      description: X-LB-Tags HTTP header
+    - name: x_pingsender_version
+      type: STRING
+      mode: NULLABLE
+      description: X-PingSender-Version HTTP header
+    - name: x_source_tags
+      type: STRING
+      mode: NULLABLE
+      description: X-Source-Tags HTTP header
+    - name: x_telemetry_agent
+      type: STRING
+      mode: NULLABLE
+      description: X-Telemetry-Agent HTTP header
+    - name: parsed_date
+      type: TIMESTAMP
+      mode: NULLABLE
+    - name: parsed_x_source_tags
+      type: STRING
+      mode: REPEATED
+    - name: parsed_x_lb_tags
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: tls_version
+        type: STRING
+        mode: NULLABLE
+      - name: tls_cipher_hex
+        type: STRING
+        mode: NULLABLE
+    description: Headers included in the client's HTTP request
+  - name: isp
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: db_version
+      type: STRING
+      mode: NULLABLE
+      description: The specific geo ISP database version used for this lookup
+    - name: name
+      type: STRING
+      mode: NULLABLE
+      description: The name of the ISP associated with the client's IP address
+    - name: organization
+      type: STRING
+      mode: NULLABLE
+      description: The name of a specific business entity associated with the client's
+        IP address when available; otherwise the ISP name
+    description: Results of ISP lookup based on the client's IP address
+  - name: user_agent
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: browser
+      type: STRING
+      mode: NULLABLE
+    - name: os
+      type: STRING
+      mode: NULLABLE
+    - name: version
+      type: STRING
+      mode: NULLABLE
+    description: Parsed components of the client's user agent string
+- name: metrics
+  type: RECORD
+  mode: NULLABLE
+  fields:
+  - name: counter
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: glean_error_io
+      type: INTEGER
+      mode: NULLABLE
+      description: 'The number of times we encountered an IO error
+
+        when writing a pending ping to disk.
+
+        '
+    - name: glean_error_preinit_tasks_overflow
+      type: INTEGER
+      mode: NULLABLE
+      description: 'The number of tasks that overflowed the pre-initialization buffer.
+
+        Only sent if the buffer ever overflows.
+
+
+        In Version 0 this reported the total number of tasks enqueued.
+
+        '
+    - name: glean_upload_deleted_pings_after_quota_hit
+      type: INTEGER
+      mode: NULLABLE
+      description: 'The number of pings deleted after the quota
+
+        for the size of the pending pings directory or number of files is hit.
+
+        Since quota is only calculated for the pending pings directory,
+
+        and deletion request ping live in a different directory,
+
+        deletion request pings are never deleted.
+
+        '
+    - name: glean_upload_in_flight_pings_dropped
+      type: INTEGER
+      mode: NULLABLE
+      description: 'How many pings were dropped because we found them already in-flight.
+
+        '
+    - name: glean_upload_missing_send_ids
+      type: INTEGER
+      mode: NULLABLE
+      description: 'How many ping upload responses did we not record as a success
+        or failure
+
+        (in `glean.upload.send_success` or `glean.upload.send_failue`,
+
+        respectively) due to an inconsistency in our internal bookkeeping?
+
+        '
+    - name: glean_upload_pending_pings
+      type: INTEGER
+      mode: NULLABLE
+      description: 'The total number of pending pings at startup.
+
+        This does not include deletion-request pings.
+
+        '
+  - name: labeled_counter
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: glean_error_invalid_label
+      type: RECORD
+      mode: REPEATED
+      fields:
+      - name: key
+        type: STRING
+        mode: NULLABLE
+      - name: value
+        type: INTEGER
+        mode: NULLABLE
+      description: 'Counts the number of times a metric was set with an invalid label.
+
+        The labels are the `category.name` identifier of the metric.
+
+        '
+    - name: glean_error_invalid_overflow
+      type: RECORD
+      mode: REPEATED
+      fields:
+      - name: key
+        type: STRING
+        mode: NULLABLE
+      - name: value
+        type: INTEGER
+        mode: NULLABLE
+      description: 'Counts the number of times a metric was set a value that overflowed.
+
+        The labels are the `category.name` identifier of the metric.
+
+        '
+    - name: glean_error_invalid_state
+      type: RECORD
+      mode: REPEATED
+      fields:
+      - name: key
+        type: STRING
+        mode: NULLABLE
+      - name: value
+        type: INTEGER
+        mode: NULLABLE
+      description: 'Counts the number of times a timing metric was used incorrectly.
+
+        The labels are the `category.name` identifier of the metric.
+
+        '
+    - name: glean_error_invalid_value
+      type: RECORD
+      mode: REPEATED
+      fields:
+      - name: key
+        type: STRING
+        mode: NULLABLE
+      - name: value
+        type: INTEGER
+        mode: NULLABLE
+      description: 'Counts the number of times a metric was set to an invalid value.
+
+        The labels are the `category.name` identifier of the metric.
+
+        '
+    - name: glean_upload_ping_upload_failure
+      type: RECORD
+      mode: REPEATED
+      fields:
+      - name: key
+        type: STRING
+        mode: NULLABLE
+      - name: value
+        type: INTEGER
+        mode: NULLABLE
+      description: 'Counts the number of ping upload failures, by type of failure.
+
+        This includes failures for all ping types,
+
+        though the counts appear in the next successfully sent `metrics` ping.
+
+        '
+    - name: glean_validation_pings_submitted
+      type: RECORD
+      mode: REPEATED
+      fields:
+      - name: key
+        type: STRING
+        mode: NULLABLE
+      - name: value
+        type: INTEGER
+        mode: NULLABLE
+      description: "A count of the built-in pings submitted, by ping type.\n\nThis\
+        \ metric appears in both the metrics and baseline pings.\n\n- On the metrics\
+        \ ping, the counts include the number of pings sent since\n  the last metrics\
+        \ ping (including the last metrics ping)\n- On the baseline ping, the counts\
+        \ include the number of pings send since\n  the last baseline ping (including\
+        \ the last baseline ping)\n\nNote: Previously this also recorded the number\
+        \ of submitted custom pings.\nNow it only records counts for the Glean built-in\
+        \ pings.\n"
+  - name: memory_distribution
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: glean_database_size
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+        description: This was accidentally sent in the past and is now deprecated.
+          See https://bugzilla.mozilla.org/show_bug.cgi?id=1799509#c5
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+      description: 'The size of the database file at startup.
+
+        '
+    - name: glean_upload_discarded_exceeding_pings_size
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+        description: This was accidentally sent in the past and is now deprecated.
+          See https://bugzilla.mozilla.org/show_bug.cgi?id=1799509#c5
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+      description: 'The size of pings that exceeded the maximum ping size allowed
+        for upload.
+
+        '
+    - name: glean_upload_pending_pings_directory_size
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+        description: This was accidentally sent in the past and is now deprecated.
+          See https://bugzilla.mozilla.org/show_bug.cgi?id=1799509#c5
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+      description: 'The size of the pending pings directory upon initialization of
+        Glean.
+
+        This does not include the size of the deletion request pings directory.
+
+        '
+  - name: object
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: glean_health_data_directory_info
+      type: JSON
+      mode: NULLABLE
+      description: "Information about the data directories and files used by FOG.\n\
+        \nStructure is an array of objects, each containing the following properties:\n\
+        - `dir_name`: The name of the directory. This is the subdirectory name relative\
+        \ to the\n  FOG data directory and should only include \"db\", \"events\"\
+        , and \"pending_pings\".\n- `dir_exists`: Whether the directory exists. This\
+        \ should only be false on the first\n  run of FOG, or if the directory was\
+        \ deleted.\n- `dir_created`: The creation time of the directory, in seconds\
+        \ since the unix epoch. If\n  the directory does not exist, this will be `null`\
+        \ and if the time cannot be determined,\n  it will default to `0`.\n- `dir_modified`:\
+        \ The last modification time of the directory, in seconds since the unix\n\
+        \  epoch. If the directory does not exist, this will be `null` and if the\
+        \ time cannot be\n  determined, it will default to `0`.\n- `file_count`: The\
+        \ number of files in the directory. If the directory does not exist,\n  this\
+        \ will be `0`.\n- `files`: An array of objects, each containing:\n  - `fil"
+  - name: string
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: glean_client_annotation_experimentation_id
+      type: STRING
+      mode: NULLABLE
+      description: 'An experimentation identifier derived and provided by the application
+
+        for the purpose of experimentation enrollment.
+
+        '
+    - name: glean_database_rkv_load_error
+      type: STRING
+      mode: NULLABLE
+      description: 'If there was an error loading the RKV database, record it.
+
+        '
+  - name: string_list
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: glean_ping_uploader_capabilities
+      type: STRING
+      mode: REPEATED
+  - name: timing_distribution
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: glean_database_write_time
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: bucket_count
+        type: INTEGER
+        mode: NULLABLE
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+        description: This was accidentally sent in the past and is now deprecated.
+          See https://bugzilla.mozilla.org/show_bug.cgi?id=1799509#c5
+      - name: histogram_type
+        type: STRING
+        mode: NULLABLE
+      - name: overflow
+        type: INTEGER
+        mode: NULLABLE
+      - name: range
+        type: FLOAT
+        mode: REPEATED
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: time_unit
+        type: STRING
+        mode: NULLABLE
+      - name: underflow
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+      description: 'The time it takes for a write-commit for the Glean database.
+
+        '
+    - name: glean_upload_send_failure
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: bucket_count
+        type: INTEGER
+        mode: NULLABLE
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+        description: This was accidentally sent in the past and is now deprecated.
+          See https://bugzilla.mozilla.org/show_bug.cgi?id=1799509#c5
+      - name: histogram_type
+        type: STRING
+        mode: NULLABLE
+      - name: overflow
+        type: INTEGER
+        mode: NULLABLE
+      - name: range
+        type: FLOAT
+        mode: REPEATED
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: time_unit
+        type: STRING
+        mode: NULLABLE
+      - name: underflow
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+      description: 'Time needed for a failed send of a ping to the servers and getting
+        a reply back.
+
+        '
+    - name: glean_upload_send_success
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: bucket_count
+        type: INTEGER
+        mode: NULLABLE
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+        description: This was accidentally sent in the past and is now deprecated.
+          See https://bugzilla.mozilla.org/show_bug.cgi?id=1799509#c5
+      - name: histogram_type
+        type: STRING
+        mode: NULLABLE
+      - name: overflow
+        type: INTEGER
+        mode: NULLABLE
+      - name: range
+        type: FLOAT
+        mode: REPEATED
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: time_unit
+        type: STRING
+        mode: NULLABLE
+      - name: underflow
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+      description: 'Time needed for a successful send of a ping to the servers and
+        getting a reply back
+
+        '
+    - name: glean_validation_shutdown_dispatcher_wait
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: bucket_count
+        type: INTEGER
+        mode: NULLABLE
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+        description: This was accidentally sent in the past and is now deprecated.
+          See https://bugzilla.mozilla.org/show_bug.cgi?id=1799509#c5
+      - name: histogram_type
+        type: STRING
+        mode: NULLABLE
+      - name: overflow
+        type: INTEGER
+        mode: NULLABLE
+      - name: range
+        type: FLOAT
+        mode: REPEATED
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: time_unit
+        type: STRING
+        mode: NULLABLE
+      - name: underflow
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+      description: 'Time waited for the dispatcher to unblock during shutdown.
+
+        Most samples are expected to be below the 10s timeout used.
+
+        '
+    - name: glean_validation_shutdown_wait
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: bucket_count
+        type: INTEGER
+        mode: NULLABLE
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+        description: This was accidentally sent in the past and is now deprecated.
+          See https://bugzilla.mozilla.org/show_bug.cgi?id=1799509#c5
+      - name: histogram_type
+        type: STRING
+        mode: NULLABLE
+      - name: overflow
+        type: INTEGER
+        mode: NULLABLE
+      - name: range
+        type: FLOAT
+        mode: REPEATED
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: time_unit
+        type: STRING
+        mode: NULLABLE
+      - name: underflow
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+      description: 'Time waited for the uploader at shutdown.
+
+        '
+- name: normalized_app_name
+  type: STRING
+  mode: NULLABLE
+  description: Set to "Other" if this message contained an unrecognized app name
+- name: normalized_channel
+  type: STRING
+  mode: NULLABLE
+  description: Set to "Other" if this message contained an unrecognized channel name
+- name: normalized_country_code
+  type: STRING
+  mode: NULLABLE
+  description: An ISO 3166-1 alpha-2 country code
+- name: normalized_os
+  type: STRING
+  mode: NULLABLE
+  description: Set to "Other" if this message contained an unrecognized OS name
+- name: normalized_os_version
+  type: STRING
+  mode: NULLABLE
+- name: ping_info
+  type: RECORD
+  mode: NULLABLE
+  fields:
+  - name: end_time
+    type: STRING
+    mode: NULLABLE
+  - name: experiments
+    type: RECORD
+    mode: REPEATED
+    fields:
+    - name: key
+      type: STRING
+      mode: NULLABLE
+    - name: value
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: branch
+        type: STRING
+        mode: NULLABLE
+      - name: extra
+        type: RECORD
+        mode: NULLABLE
+        fields:
+        - name: enrollment_id
+          type: STRING
+          mode: NULLABLE
+        - name: type
+          type: STRING
+          mode: NULLABLE
+  - name: ping_type
+    type: STRING
+    mode: NULLABLE
+  - name: reason
+    type: STRING
+    mode: NULLABLE
+  - name: seq
+    type: INTEGER
+    mode: NULLABLE
+  - name: start_time
+    type: STRING
+    mode: NULLABLE
+  - name: parsed_start_time
+    type: TIMESTAMP
+    mode: NULLABLE
+  - name: parsed_end_time
+    type: TIMESTAMP
+    mode: NULLABLE
+- name: sample_id
+  type: INTEGER
+  mode: NULLABLE
+  description: Hashed version of client_id (if present) useful for partitioning; ranges
+    from 0 to 99
+- name: submission_timestamp
+  type: TIMESTAMP
+  mode: NULLABLE
+  description: Time when the ingestion edge server accepted this message
+- name: app_version_major
+  type: NUMERIC
+  mode: NULLABLE
+- name: app_version_minor
+  type: NUMERIC
+  mode: NULLABLE
+- name: app_version_patch
+  type: NUMERIC
+  mode: NULLABLE
+- name: is_bot_generated
+  type: BOOLEAN
+  mode: NULLABLE
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus/health/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus/health/view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus/health/view.sql	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus/health/view.sql	2025-09-08 18:07:31.000000000 +0000
@@ -0,0 +1,20 @@
+-- Generated via ./bqetl generate stable_views
+CREATE OR REPLACE VIEW
+  `moz-fx-data-shared-prod.accounts_cirrus.health`
+AS
+SELECT
+  * REPLACE (
+    mozfun.norm.metadata(metadata) AS metadata,
+    mozfun.norm.glean_ping_info(ping_info) AS ping_info,
+    mozfun.norm.glean_client_info_attribution(
+      client_info,
+      CAST(NULL AS JSON),
+      CAST(NULL AS JSON)
+    ) AS client_info
+  ),
+  mozfun.norm.extract_version(client_info.app_display_version, 'major') AS app_version_major,
+  mozfun.norm.extract_version(client_info.app_display_version, 'minor') AS app_version_minor,
+  mozfun.norm.extract_version(client_info.app_display_version, 'patch') AS app_version_patch,
+  LOWER(IFNULL(metadata.isp.name, "")) = "browserstack" AS is_bot_generated,
+FROM
+  `moz-fx-data-shared-prod.accounts_cirrus_stable.health_v1`
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus/metrics/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus/metrics/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus/metrics/schema.yaml	2025-09-08 18:09:53.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus/metrics/schema.yaml	2025-09-08 18:07:33.000000000 +0000
@@ -817,6 +817,27 @@
     - name: glean_ping_uploader_capabilities
       type: STRING
       mode: REPEATED
+  - name: object
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: glean_health_data_directory_info
+      type: JSON
+      mode: NULLABLE
+      description: "Information about the data directories and files used by FOG.\n\
+        \nStructure is an array of objects, each containing the following properties:\n\
+        - `dir_name`: The name of the directory. This is the subdirectory name relative\
+        \ to the\n  FOG data directory and should only include \"db\", \"events\"\
+        , and \"pending_pings\".\n- `dir_exists`: Whether the directory exists. This\
+        \ should only be false on the first\n  run of FOG, or if the directory was\
+        \ deleted.\n- `dir_created`: The creation time of the directory, in seconds\
+        \ since the unix epoch. If\n  the directory does not exist, this will be `null`\
+        \ and if the time cannot be determined,\n  it will default to `0`.\n- `dir_modified`:\
+        \ The last modification time of the directory, in seconds since the unix\n\
+        \  epoch. If the directory does not exist, this will be `null` and if the\
+        \ time cannot be\n  determined, it will default to `0`.\n- `file_count`: The\
+        \ number of files in the directory. If the directory does not exist,\n  this\
+        \ will be `0`.\n- `files`: An array of objects, each containing:\n  - `fil"
 - name: normalized_app_name
   type: STRING
   mode: NULLABLE
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/event_monitoring_live_v1/materialized_view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-08 18:09:53.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-08 18:12:44.000000000 +0000
@@ -60,7 +60,7 @@
 FROM
   combined
 WHERE
-  DATE(submission_timestamp) >= "2025-09-05"
+  DATE(submission_timestamp) >= "2025-09-08"
 GROUP BY
   submission_date,
   window_start,
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/event_monitoring_live_v1/materialized_view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-08 18:09:53.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_frontend_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-08 18:12:44.000000000 +0000
@@ -60,7 +60,7 @@
 FROM
   combined
 WHERE
-  DATE(submission_timestamp) >= "2025-09-05"
+  DATE(submission_timestamp) >= "2025-09-08"
 GROUP BY
   submission_date,
   window_start,
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/ads_backend/interaction/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/ads_backend/interaction/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/ads_backend/interaction/schema.yaml	2025-09-08 18:09:53.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/ads_backend/interaction/schema.yaml	2025-09-08 18:07:30.000000000 +0000
@@ -443,6 +443,13 @@
         in a specific ad. Will be null for a Kevel supplied ad, use flight_id instead.
 
         '
+    - name: ad_internal_line_item_id
+      type: STRING
+      mode: NULLABLE
+      description: 'Internally generated identifier mapped to the ad partner line
+        item used for internal reporting.
+
+        '
 - name: normalized_app_name
   type: STRING
   mode: NULLABLE
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-08 18:09:53.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/bedrock_derived/event_monitoring_live_v1/materialized_view.sql	2025-09-08 18:12:45.000000000 +0000
@@ -126,7 +126,7 @@
 FROM
   combined
 WHERE
-  DATE(submission_timestamp) >= "2025-09-05"
+  DATE(submission_timestamp) >= "2025-09-08"
 GROUP BY
   submission_date,
   window_start,
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham/health/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham/health/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham/health/metadata.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham/health/metadata.yaml	2025-09-08 18:34:33.000000000 +0000
@@ -0,0 +1,22 @@
+friendly_name: Historical Pings for `burnham/health`
+description: |-
+  A historical view of pings sent for the
+  `burnham/health`
+  document type.
+
+  This view is guaranteed to contain only complete days
+  (per `submission_timestamp`)
+  and to contain only one row per distinct `document_id` within a given date.
+
+  Clustering fields: `normalized_channel`, `sample_id`
+owners: []
+labels: {}
+bigquery: null
+workgroup_access:
+- role: roles/bigquery.dataViewer
+  members:
+  - workgroup:mozilla-confidential
+references:
+  view.sql:
+  - moz-fx-data-shared-prod.burnham_stable.health_v1
+require_column_descriptions: false
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham/health/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham/health/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham/health/schema.yaml	1970-01-01 00:00:00.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham/health/schema.yaml	2025-09-08 18:07:34.000000000 +0000
@@ -0,0 +1,878 @@
+fields:
+- name: additional_properties
+  type: STRING
+  mode: NULLABLE
+  description: A JSON string containing any payload properties not present in the
+    schema
+- name: client_info
+  type: RECORD
+  mode: NULLABLE
+  fields:
+  - name: android_sdk_version
+    type: STRING
+    mode: NULLABLE
+    description: The optional Android specific SDK version of the software running
+      on this hardware device.
+  - name: app_build
+    type: STRING
+    mode: NULLABLE
+    description: The build identifier generated by the CI system (e.g. "1234/A").
+      For language bindings that provide automatic detection for this value, (e.g.
+      Android/Kotlin), in the unlikely event that the build identifier can not be
+      retrieved from the OS, it is set to "inaccessible". For other language bindings,
+      if the value was not provided through configuration, this metric gets set to
+      `Unknown`.
+  - name: app_channel
+    type: STRING
+    mode: NULLABLE
+    description: The channel the application is being distributed on.
+  - name: app_display_version
+    type: STRING
+    mode: NULLABLE
+    description: The user visible version string (e.g. "1.0.3").  In the unlikely
+      event that the display version can not be retrieved, it is set to "inaccessible".
+  - name: architecture
+    type: STRING
+    mode: NULLABLE
+    description: The architecture of the device, (e.g. "arm", "x86").
+  - name: attribution
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: campaign
+      type: STRING
+      mode: NULLABLE
+      description: The attribution campaign (e.g. 'mozilla-org').
+    - name: content
+      type: STRING
+      mode: NULLABLE
+      description: The attribution content (e.g. 'firefoxview').
+    - name: medium
+      type: STRING
+      mode: NULLABLE
+      description: The attribution medium (e.g. 'organic' for a search engine).
+    - name: source
+      type: STRING
+      mode: NULLABLE
+      description: The attribution source (e.g. 'google-play').
+    - name: term
+      type: STRING
+      mode: NULLABLE
+      description: The attribution term (e.g. 'browser with developer tools for android').
+    - name: ext
+      type: JSON
+      mode: NULLABLE
+  - name: build_date
+    type: STRING
+    mode: NULLABLE
+    description: The date & time the application was built
+  - name: client_id
+    type: STRING
+    mode: NULLABLE
+    description: A UUID uniquely identifying the client.
+  - name: device_manufacturer
+    type: STRING
+    mode: NULLABLE
+    description: The manufacturer of the device the application is running on. Not
+      set if the device manufacturer can't be determined (e.g. on Desktop).
+  - name: device_model
+    type: STRING
+    mode: NULLABLE
+    description: The model of the device the application is running on. On Android,
+      this is Build.MODEL, the user-visible marketing name, like "Pixel 2 XL". Not
+      set if the device model can't be determined (e.g. on Desktop).
+  - name: distribution
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: name
+      type: STRING
+      mode: NULLABLE
+      description: The distribution name (e.g. 'MozillaOnline').
+    - name: ext
+      type: JSON
+      mode: NULLABLE
+  - name: first_run_date
+    type: STRING
+    mode: NULLABLE
+    description: The date of the first run of the application.
+  - name: locale
+    type: STRING
+    mode: NULLABLE
+    description: The locale of the application during initialization (e.g. "es-ES").
+      If the locale can't be determined on the system, the value is ["und"](https://unicode.org/reports/tr35/#Unknown_or_Invalid_Identifiers),
+      to indicate "undetermined".
+  - name: os
+    type: STRING
+    mode: NULLABLE
+    description: 'The name of the operating system. Possible values: Android, iOS,
+      Linux, Darwin, Windows, FreeBSD, NetBSD, OpenBSD, Solaris, unknown'
+  - name: os_version
+    type: STRING
+    mode: NULLABLE
+    description: The user-visible version of the operating system (e.g. "1.2.3").
+      If the version detection fails, this metric gets set to `Unknown`.
+  - name: session_count
+    type: INTEGER
+    mode: NULLABLE
+    description: An optional running counter of the number of sessions for a client.
+  - name: session_id
+    type: STRING
+    mode: NULLABLE
+    description: An optional UUID uniquely identifying the client's current session.
+  - name: telemetry_sdk_build
+    type: STRING
+    mode: NULLABLE
+    description: The version of the Glean SDK
+  - name: windows_build_number
+    type: INTEGER
+    mode: NULLABLE
+    description: The optional Windows build number, reported by Windows (e.g. 22000)
+      and not set for other platforms
+- name: document_id
+  type: STRING
+  mode: NULLABLE
+  description: The document ID specified in the URI when the client sent this message
+- name: events
+  type: RECORD
+  mode: REPEATED
+  fields:
+  - name: category
+    type: STRING
+    mode: NULLABLE
+  - name: extra
+    type: RECORD
+    mode: REPEATED
+    fields:
+    - name: key
+      type: STRING
+      mode: NULLABLE
+    - name: value
+      type: STRING
+      mode: NULLABLE
+  - name: name
+    type: STRING
+    mode: NULLABLE
+  - name: timestamp
+    type: INTEGER
+    mode: NULLABLE
+- name: metadata
+  type: RECORD
+  mode: NULLABLE
+  fields:
+  - name: geo
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: city
+      type: STRING
+      mode: NULLABLE
+    - name: country
+      type: STRING
+      mode: NULLABLE
+      description: An ISO 3166-1 alpha-2 country code
+    - name: db_version
+      type: STRING
+      mode: NULLABLE
+      description: The specific geo database version used for this lookup
+    - name: subdivision1
+      type: STRING
+      mode: NULLABLE
+      description: First major country subdivision, typically a state, province, or
+        county
+    - name: subdivision2
+      type: STRING
+      mode: NULLABLE
+      description: Second major country subdivision; not applicable for most countries
+    description: Results of a geographic lookup based on the client's IP address
+  - name: header
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: date
+      type: STRING
+      mode: NULLABLE
+      description: Date HTTP header
+    - name: dnt
+      type: STRING
+      mode: NULLABLE
+      description: DNT (Do Not Track) HTTP header
+    - name: x_debug_id
+      type: STRING
+      mode: NULLABLE
+      description: X-Debug-Id HTTP header
+    - name: x_foxsec_ip_reputation
+      type: STRING
+      mode: NULLABLE
+      description: X-Foxsec-IP-Reputation header
+    - name: x_lb_tags
+      type: STRING
+      mode: NULLABLE
+      description: X-LB-Tags HTTP header
+    - name: x_pingsender_version
+      type: STRING
+      mode: NULLABLE
+      description: X-PingSender-Version HTTP header
+    - name: x_source_tags
+      type: STRING
+      mode: NULLABLE
+      description: X-Source-Tags HTTP header
+    - name: x_telemetry_agent
+      type: STRING
+      mode: NULLABLE
+      description: X-Telemetry-Agent HTTP header
+    - name: parsed_date
+      type: TIMESTAMP
+      mode: NULLABLE
+    - name: parsed_x_source_tags
+      type: STRING
+      mode: REPEATED
+    - name: parsed_x_lb_tags
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: tls_version
+        type: STRING
+        mode: NULLABLE
+      - name: tls_cipher_hex
+        type: STRING
+        mode: NULLABLE
+    description: Headers included in the client's HTTP request
+  - name: isp
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: db_version
+      type: STRING
+      mode: NULLABLE
+      description: The specific geo ISP database version used for this lookup
+    - name: name
+      type: STRING
+      mode: NULLABLE
+      description: The name of the ISP associated with the client's IP address
+    - name: organization
+      type: STRING
+      mode: NULLABLE
+      description: The name of a specific business entity associated with the client's
+        IP address when available; otherwise the ISP name
+    description: Results of ISP lookup based on the client's IP address
+  - name: user_agent
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: browser
+      type: STRING
+      mode: NULLABLE
+    - name: os
+      type: STRING
+      mode: NULLABLE
+    - name: version
+      type: STRING
+      mode: NULLABLE
+    description: Parsed components of the client's user agent string
+- name: metrics
+  type: RECORD
+  mode: NULLABLE
+  fields:
+  - name: counter
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: glean_error_io
+      type: INTEGER
+      mode: NULLABLE
+      description: 'The number of times we encountered an IO error
+
+        when writing a pending ping to disk.
+
+        '
+    - name: glean_error_preinit_tasks_overflow
+      type: INTEGER
+      mode: NULLABLE
+      description: 'The number of tasks that overflowed the pre-initialization buffer.
+
+        Only sent if the buffer ever overflows.
+
+
+        In Version 0 this reported the total number of tasks enqueued.
+
+        '
+    - name: glean_upload_deleted_pings_after_quota_hit
+      type: INTEGER
+      mode: NULLABLE
+      description: 'The number of pings deleted after the quota
+
+        for the size of the pending pings directory or number of files is hit.
+
+        Since quota is only calculated for the pending pings directory,
+
+        and deletion request ping live in a different directory,
+
+        deletion request pings are never deleted.
+
+        '
+    - name: glean_upload_in_flight_pings_dropped
+      type: INTEGER
+      mode: NULLABLE
+      description: 'How many pings were dropped because we found them already in-flight.
+
+        '
+    - name: glean_upload_missing_send_ids
+      type: INTEGER
+      mode: NULLABLE
+      description: 'How many ping upload responses did we not record as a success
+        or failure
+
+        (in `glean.upload.send_success` or `glean.upload.send_failue`,
+
+        respectively) due to an inconsistency in our internal bookkeeping?
+
+        '
+    - name: glean_upload_pending_pings
+      type: INTEGER
+      mode: NULLABLE
+      description: 'The total number of pending pings at startup.
+
+        This does not include deletion-request pings.
+
+        '
+  - name: labeled_counter
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: glean_error_invalid_label
+      type: RECORD
+      mode: REPEATED
+      fields:
+      - name: key
+        type: STRING
+        mode: NULLABLE
+      - name: value
+        type: INTEGER
+        mode: NULLABLE
+      description: 'Counts the number of times a metric was set with an invalid label.
+
+        The labels are the `category.name` identifier of the metric.
+
+        '
+    - name: glean_error_invalid_overflow
+      type: RECORD
+      mode: REPEATED
+      fields:
+      - name: key
+        type: STRING
+        mode: NULLABLE
+      - name: value
+        type: INTEGER
+        mode: NULLABLE
+      description: 'Counts the number of times a metric was set a value that overflowed.
+
+        The labels are the `category.name` identifier of the metric.
+
+        '
+    - name: glean_error_invalid_state
+      type: RECORD
+      mode: REPEATED
+      fields:
+      - name: key
+        type: STRING
+        mode: NULLABLE
+      - name: value
+        type: INTEGER
+        mode: NULLABLE
+      description: 'Counts the number of times a timing metric was used incorrectly.
+
+        The labels are the `category.name` identifier of the metric.
+
+        '
+    - name: glean_error_invalid_value
+      type: RECORD
+      mode: REPEATED
+      fields:
+      - name: key
+        type: STRING
+        mode: NULLABLE
+      - name: value
+        type: INTEGER
+        mode: NULLABLE
+      description: 'Counts the number of times a metric was set to an invalid value.
+
+        The labels are the `category.name` identifier of the metric.
+
+        '
+    - name: glean_upload_ping_upload_failure
+      type: RECORD
+      mode: REPEATED
+      fields:
+      - name: key
+        type: STRING
+        mode: NULLABLE
+      - name: value
+        type: INTEGER
+        mode: NULLABLE
+      description: 'Counts the number of ping upload failures, by type of failure.
+
+        This includes failures for all ping types,
+
+        though the counts appear in the next successfully sent `metrics` ping.
+
+        '
+    - name: glean_validation_pings_submitted
+      type: RECORD
+      mode: REPEATED
+      fields:
+      - name: key
+        type: STRING
+        mode: NULLABLE
+      - name: value
+        type: INTEGER
+        mode: NULLABLE
+      description: "A count of the built-in pings submitted, by ping type.\n\nThis\
+        \ metric appears in both the metrics and baseline pings.\n\n- On the metrics\
+        \ ping, the counts include the number of pings sent since\n  the last metrics\
+        \ ping (including the last metrics ping)\n- On the baseline ping, the counts\
+        \ include the number of pings send since\n  the last baseline ping (including\
+        \ the last baseline ping)\n\nNote: Previously this also recorded the number\
+        \ of submitted custom pings.\nNow it only records counts for the Glean built-in\
+        \ pings.\n"
+  - name: memory_distribution
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: glean_database_size
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+        description: This was accidentally sent in the past and is now deprecated.
+          See https://bugzilla.mozilla.org/show_bug.cgi?id=1799509#c5
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+      description: 'The size of the database file at startup.
+
+        '
+    - name: glean_upload_discarded_exceeding_pings_size
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+        description: This was accidentally sent in the past and is now deprecated.
+          See https://bugzilla.mozilla.org/show_bug.cgi?id=1799509#c5
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+      description: 'The size of pings that exceeded the maximum ping size allowed
+        for upload.
+
+        '
+    - name: glean_upload_pending_pings_directory_size
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+        description: This was accidentally sent in the past and is now deprecated.
+          See https://bugzilla.mozilla.org/show_bug.cgi?id=1799509#c5
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+      description: 'The size of the pending pings directory upon initialization of
+        Glean.
+
+        This does not include the size of the deletion request pings directory.
+
+        '
+  - name: object
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: glean_health_data_directory_info
+      type: JSON
+      mode: NULLABLE
+      description: "Information about the data directories and files used by FOG.\n\
+        \nStructure is an array of objects, each containing the following properties:\n\
+        - `dir_name`: The name of the directory. This is the subdirectory name relative\
+        \ to the\n  FOG data directory and should only include \"db\", \"events\"\
+        , and \"pending_pings\".\n- `dir_exists`: Whether the directory exists. This\
+        \ should only be false on the first\n  run of FOG, or if the directory was\
+        \ deleted.\n- `dir_created`: The creation time of the directory, in seconds\
+        \ since the unix epoch. If\n  the directory does not exist, this will be `null`\
+        \ and if the time cannot be determined,\n  it will default to `0`.\n- `dir_modified`:\
+        \ The last modification time of the directory, in seconds since the unix\n\
+        \  epoch. If the directory does not exist, this will be `null` and if the\
+        \ time cannot be\n  determined, it will default to `0`.\n- `file_count`: The\
+        \ number of files in the directory. If the directory does not exist,\n  this\
+        \ will be `0`.\n- `files`: An array of objects, each containing:\n  - `fil"
+  - name: string
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: glean_client_annotation_experimentation_id
+      type: STRING
+      mode: NULLABLE
+      description: 'An experimentation identifier derived and provided by the application
+
+        for the purpose of experimentation enrollment.
+
+        '
+    - name: glean_database_rkv_load_error
+      type: STRING
+      mode: NULLABLE
+      description: 'If there was an error loading the RKV database, record it.
+
+        '
+  - name: string_list
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: glean_ping_uploader_capabilities
+      type: STRING
+      mode: REPEATED
+  - name: timing_distribution
+    type: RECORD
+    mode: NULLABLE
+    fields:
+    - name: glean_database_write_time
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: bucket_count
+        type: INTEGER
+        mode: NULLABLE
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+        description: This was accidentally sent in the past and is now deprecated.
+          See https://bugzilla.mozilla.org/show_bug.cgi?id=1799509#c5
+      - name: histogram_type
+        type: STRING
+        mode: NULLABLE
+      - name: overflow
+        type: INTEGER
+        mode: NULLABLE
+      - name: range
+        type: FLOAT
+        mode: REPEATED
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: time_unit
+        type: STRING
+        mode: NULLABLE
+      - name: underflow
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+      description: 'The time it takes for a write-commit for the Glean database.
+
+        '
+    - name: glean_upload_send_failure
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: bucket_count
+        type: INTEGER
+        mode: NULLABLE
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+        description: This was accidentally sent in the past and is now deprecated.
+          See https://bugzilla.mozilla.org/show_bug.cgi?id=1799509#c5
+      - name: histogram_type
+        type: STRING
+        mode: NULLABLE
+      - name: overflow
+        type: INTEGER
+        mode: NULLABLE
+      - name: range
+        type: FLOAT
+        mode: REPEATED
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: time_unit
+        type: STRING
+        mode: NULLABLE
+      - name: underflow
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+      description: 'Time needed for a failed send of a ping to the servers and getting
+        a reply back.
+
+        '
+    - name: glean_upload_send_success
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: bucket_count
+        type: INTEGER
+        mode: NULLABLE
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+        description: This was accidentally sent in the past and is now deprecated.
+          See https://bugzilla.mozilla.org/show_bug.cgi?id=1799509#c5
+      - name: histogram_type
+        type: STRING
+        mode: NULLABLE
+      - name: overflow
+        type: INTEGER
+        mode: NULLABLE
+      - name: range
+        type: FLOAT
+        mode: REPEATED
+      - name: sum
+        type: INTEGER
+        mode: NULLABLE
+      - name: time_unit
+        type: STRING
+        mode: NULLABLE
+      - name: underflow
+        type: INTEGER
+        mode: NULLABLE
+      - name: values
+        type: RECORD
+        mode: REPEATED
+        fields:
+        - name: key
+          type: STRING
+          mode: NULLABLE
+        - name: value
+          type: INTEGER
+          mode: NULLABLE
+      description: 'Time needed for a successful send of a ping to the servers and
+        getting a reply back
+
+        '
+    - name: glean_validation_shutdown_dispatcher_wait
+      type: RECORD
+      mode: NULLABLE
+      fields:
+      - name: bucket_count
+        type: INTEGER
+        mode: NULLABLE
+      - name: count
+        type: INTEGER
+        mode: NULLABLE
+        description: This was accidentally sent in the past and is now deprecated.
+          See https://bugzilla.mozilla.org/show_bug.cgi?id=1799509#c5
+      - name: histogram_type
+        type: STRING
+        mode: NULLABLE
+      - name: overflow
+        type: INTEGER
+        mode: NULLABLE
+      - name: range
+        type: FLOAT
+        mode: REPEATED
+      - name: sum
+

⚠️ Only part of the diff is displayed.

Link to full diff

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants