Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Nov 13, 2025

Bumps protobuf from 4.21.12 to 4.25.8.

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Nov 13, 2025
@dependabot dependabot bot requested a review from a team as a code owner November 13, 2025 20:01
@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Nov 13, 2025
@dataops-ci-bot

This comment has been minimized.

@dependabot dependabot bot force-pushed the dependabot/pip/protobuf-4.25.8 branch from 132c060 to 6ff1e41 Compare November 14, 2025 07:10
@dataops-ci-bot

This comment has been minimized.

@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Nov 17, 2025

Dependabot tried to update this pull request, but something went wrong. We're looking into it, but in the meantime you can retry the update by commenting @dependabot recreate.

@dependabot dependabot bot force-pushed the dependabot/pip/protobuf-4.25.8 branch from 6ff1e41 to ed24b3a Compare November 18, 2025 07:11
@dataops-ci-bot

This comment has been minimized.

@dependabot dependabot bot force-pushed the dependabot/pip/protobuf-4.25.8 branch from ed24b3a to ca06025 Compare November 19, 2025 07:10
@dataops-ci-bot

This comment has been minimized.

Bumps [protobuf](https://github.com/protocolbuffers/protobuf) from 4.21.12 to 4.25.8.
- [Release notes](https://github.com/protocolbuffers/protobuf/releases)
- [Changelog](https://github.com/protocolbuffers/protobuf/blob/main/protobuf_release.bzl)
- [Commits](https://github.com/protocolbuffers/protobuf/commits/v4.25.8)

---
updated-dependencies:
- dependency-name: protobuf
  dependency-version: 4.25.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot force-pushed the dependabot/pip/protobuf-4.25.8 branch from ca06025 to aa3d6db Compare November 20, 2025 07:10
@dataops-ci-bot
Copy link

Integration report for "chore(deps): bump protobuf from 4.21.12 to 4.25.8"

sql.diff

Click to expand!
Only in /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix/metrics: schema.yaml
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/metrics/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/metrics/view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/metrics/view.sql	2025-11-20 07:26:12.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/metrics/view.sql	2025-11-20 07:19:40.000000000 +0000
@@ -4093,42 +4093,12 @@
     client_info.windows_build_number,
     client_info.session_count,
     client_info.session_id,
-    STRUCT(
-      client_info.attribution.campaign,
-      client_info.attribution.content,
-      client_info.attribution.medium,
-      client_info.attribution.source,
-      client_info.attribution.term,
-      client_info.attribution.ext
-    ) AS `attribution`,
-    STRUCT(client_info.distribution.name, client_info.distribution.ext) AS `distribution`
+    client_info.attribution,
+    client_info.distribution
   ) AS `client_info`,
   document_id,
   events,
-  STRUCT(
-    STRUCT(
-      metadata.geo.city,
-      metadata.geo.country,
-      metadata.geo.db_version,
-      metadata.geo.subdivision1,
-      metadata.geo.subdivision2
-    ) AS `geo`,
-    STRUCT(
-      metadata.header.date,
-      metadata.header.dnt,
-      metadata.header.x_debug_id,
-      metadata.header.x_pingsender_version,
-      metadata.header.x_source_tags,
-      metadata.header.x_telemetry_agent,
-      metadata.header.x_foxsec_ip_reputation,
-      metadata.header.x_lb_tags,
-      metadata.header.parsed_date,
-      metadata.header.parsed_x_source_tags,
-      metadata.header.parsed_x_lb_tags
-    ) AS `header`,
-    metadata.user_agent,
-    STRUCT(metadata.isp.db_version, metadata.isp.name, metadata.isp.organization) AS `isp`
-  ) AS `metadata`,
+  metadata,
   STRUCT(
     STRUCT(
       metrics.boolean.gfx_status_headless,
@@ -4487,1641 +4457,333 @@
       metrics.counter.update_state_write_failure
     ) AS `counter`,
     STRUCT(
-      STRUCT(
-        metrics.custom_distribution.geckoview_document_site_origins.sum,
-        metrics.custom_distribution.geckoview_document_site_origins.values,
-        metrics.custom_distribution.geckoview_document_site_origins.count
-      ) AS `geckoview_document_site_origins`,
-      STRUCT(
-        metrics.custom_distribution.gfx_checkerboard_peak_pixel_count.sum,
-        metrics.custom_distribution.gfx_checkerboard_peak_pixel_count.values,
-        metrics.custom_distribution.gfx_checkerboard_peak_pixel_count.count
-      ) AS `gfx_checkerboard_peak_pixel_count`,
-      STRUCT(
-        metrics.custom_distribution.gfx_checkerboard_severity.sum,
-        metrics.custom_distribution.gfx_checkerboard_severity.values,
-        metrics.custom_distribution.gfx_checkerboard_severity.count
-      ) AS `gfx_checkerboard_severity`,
-      STRUCT(
-        metrics.custom_distribution.gfx_content_frame_time_from_paint.sum,
-        metrics.custom_distribution.gfx_content_frame_time_from_paint.values,
-        metrics.custom_distribution.gfx_content_frame_time_from_paint.count
-      ) AS `gfx_content_frame_time_from_paint`,
-      STRUCT(
-        metrics.custom_distribution.gfx_content_frame_time_from_vsync.sum,
-        metrics.custom_distribution.gfx_content_frame_time_from_vsync.values,
-        metrics.custom_distribution.gfx_content_frame_time_from_vsync.count
-      ) AS `gfx_content_frame_time_from_vsync`,
-      STRUCT(
-        metrics.custom_distribution.gfx_content_frame_time_with_svg.sum,
-        metrics.custom_distribution.gfx_content_frame_time_with_svg.values,
-        metrics.custom_distribution.gfx_content_frame_time_with_svg.count
-      ) AS `gfx_content_frame_time_with_svg`,
-      STRUCT(
-        metrics.custom_distribution.gfx_content_frame_time_without_resource_upload.sum,
-        metrics.custom_distribution.gfx_content_frame_time_without_resource_upload.values,
-        metrics.custom_distribution.gfx_content_frame_time_without_resource_upload.count
-      ) AS `gfx_content_frame_time_without_resource_upload`,
-      STRUCT(
-        metrics.custom_distribution.gfx_content_frame_time_without_upload.sum,
-        metrics.custom_distribution.gfx_content_frame_time_without_upload.values,
-        metrics.custom_distribution.gfx_content_frame_time_without_upload.count
-      ) AS `gfx_content_frame_time_without_upload`,
-      STRUCT(
-        metrics.custom_distribution.geckoview_per_document_site_origins.sum,
-        metrics.custom_distribution.geckoview_per_document_site_origins.values,
-        metrics.custom_distribution.geckoview_per_document_site_origins.count
-      ) AS `geckoview_per_document_site_origins`,
-      STRUCT(
-        metrics.custom_distribution.js_baseline_compile_percentage.sum,
-        metrics.custom_distribution.js_baseline_compile_percentage.values,
-        metrics.custom_distribution.js_baseline_compile_percentage.count
-      ) AS `js_baseline_compile_percentage`,
-      STRUCT(
-        metrics.custom_distribution.js_delazification_percentage.sum,
-        metrics.custom_distribution.js_delazification_percentage.values,
-        metrics.custom_distribution.js_delazification_percentage.count
-      ) AS `js_delazification_percentage`,
-      STRUCT(
-        metrics.custom_distribution.js_execution_percentage.sum,
-        metrics.custom_distribution.js_execution_percentage.values,
-        metrics.custom_distribution.js_execution_percentage.count
-      ) AS `js_execution_percentage`,
-      STRUCT(
-        metrics.custom_distribution.js_xdr_encode_percentage.sum,
-        metrics.custom_distribution.js_xdr_encode_percentage.values,
-        metrics.custom_distribution.js_xdr_encode_percentage.count
-      ) AS `js_xdr_encode_percentage`,
-      STRUCT(
-        metrics.custom_distribution.performance_clone_deserialize_items.sum,
-        metrics.custom_distribution.performance_clone_deserialize_items.values,
-        metrics.custom_distribution.performance_clone_deserialize_items.count
-      ) AS `performance_clone_deserialize_items`,
-      STRUCT(
-        metrics.custom_distribution.search_terms_group_size_distribution.sum,
-        metrics.custom_distribution.search_terms_group_size_distribution.values,
-        metrics.custom_distribution.search_terms_group_size_distribution.count
-      ) AS `search_terms_group_size_distribution`,
-      STRUCT(
-        metrics.custom_distribution.power_battery_percentage_when_user_active.sum,
-        metrics.custom_distribution.power_battery_percentage_when_user_active.values,
-        metrics.custom_distribution.power_battery_percentage_when_user_active.count
-      ) AS `power_battery_percentage_when_user_active`,
-      STRUCT(
-        metrics.custom_distribution.pdfjs_time_to_view.count,
-        metrics.custom_distribution.pdfjs_time_to_view.sum,
-        metrics.custom_distribution.pdfjs_time_to_view.values
-      ) AS `pdfjs_time_to_view`,
-      STRUCT(
-        metrics.custom_distribution.timer_thread_timers_fired_per_wakeup.count,
-        metrics.custom_distribution.timer_thread_timers_fired_per_wakeup.sum,
-        metrics.custom_distribution.timer_thread_timers_fired_per_wakeup.values
-      ) AS `timer_thread_timers_fired_per_wakeup`,
-      STRUCT(
-        metrics.custom_distribution.networking_cookie_access_fixup_diff.count,
-        metrics.custom_distribution.networking_cookie_access_fixup_diff.sum,
-        metrics.custom_distribution.networking_cookie_access_fixup_diff.values
-      ) AS `networking_cookie_access_fixup_diff`,
-      STRUCT(
-        metrics.custom_distribution.networking_cookie_creation_fixup_diff.count,
-        metrics.custom_distribution.networking_cookie_creation_fixup_diff.sum,
-        metrics.custom_distribution.networking_cookie_creation_fixup_diff.values
-      ) AS `networking_cookie_creation_fixup_diff`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_1_download_throughput.count,
-        metrics.custom_distribution.networking_http_1_download_throughput.sum,
-        metrics.custom_distribution.networking_http_1_download_throughput.values
-      ) AS `networking_http_1_download_throughput`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_2_download_throughput.count,
-        metrics.custom_distribution.networking_http_2_download_throughput.sum,
-        metrics.custom_distribution.networking_http_2_download_throughput.values
-      ) AS `networking_http_2_download_throughput`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_3_download_throughput.count,
-        metrics.custom_distribution.networking_http_3_download_throughput.sum,
-        metrics.custom_distribution.networking_http_3_download_throughput.values
-      ) AS `networking_http_3_download_throughput`,
-      STRUCT(
-        metrics.custom_distribution.cookie_banners_click_query_selector_run_count_per_window_frame.count,
-        metrics.custom_distribution.cookie_banners_click_query_selector_run_count_per_window_frame.sum,
-        metrics.custom_distribution.cookie_banners_click_query_selector_run_count_per_window_frame.values
-      ) AS `cookie_banners_click_query_selector_run_count_per_window_frame`,
-      STRUCT(
-        metrics.custom_distribution.cookie_banners_click_query_selector_run_count_per_window_top_level.count,
-        metrics.custom_distribution.cookie_banners_click_query_selector_run_count_per_window_top_level.sum,
-        metrics.custom_distribution.cookie_banners_click_query_selector_run_count_per_window_top_level.values
-      ) AS `cookie_banners_click_query_selector_run_count_per_window_top_level`,
-      STRUCT(
-        metrics.custom_distribution.cookie_banners_click_query_selector_run_duration_per_window_frame.count,
-        metrics.custom_distribution.cookie_banners_click_query_selector_run_duration_per_window_frame.sum,
-        metrics.custom_distribution.cookie_banners_click_query_selector_run_duration_per_window_frame.values
-      ) AS `cookie_banners_click_query_selector_run_duration_per_window_frame`,
-      STRUCT(
-        metrics.custom_distribution.cookie_banners_click_query_selector_run_duration_per_window_top_level.count,
-        metrics.custom_distribution.cookie_banners_click_query_selector_run_duration_per_window_top_level.sum,
-        metrics.custom_distribution.cookie_banners_click_query_selector_run_duration_per_window_top_level.values
-      ) AS `cookie_banners_click_query_selector_run_duration_per_window_top_level`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_1_upload_throughput.count,
-        metrics.custom_distribution.networking_http_1_upload_throughput.sum,
-        metrics.custom_distribution.networking_http_1_upload_throughput.values
-      ) AS `networking_http_1_upload_throughput`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_2_upload_throughput.count,
-        metrics.custom_distribution.networking_http_2_upload_throughput.sum,
-        metrics.custom_distribution.networking_http_2_upload_throughput.values
-      ) AS `networking_http_2_upload_throughput`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_3_upload_throughput.count,
-        metrics.custom_distribution.networking_http_3_upload_throughput.sum,
-        metrics.custom_distribution.networking_http_3_upload_throughput.values
-      ) AS `networking_http_3_upload_throughput`,
-      STRUCT(
-        metrics.custom_distribution.fog_validation_gvsv_number_of_unique_site_origins_all_tabs.count,
-        metrics.custom_distribution.fog_validation_gvsv_number_of_unique_site_origins_all_tabs.sum,
-        metrics.custom_distribution.fog_validation_gvsv_number_of_unique_site_origins_all_tabs.values
-      ) AS `fog_validation_gvsv_number_of_unique_site_origins_all_tabs`,
-      STRUCT(
-        metrics.custom_distribution.extensions_timing_event_page_running_time.count,
-        metrics.custom_distribution.extensions_timing_event_page_running_time.sum,
-        metrics.custom_distribution.extensions_timing_event_page_running_time.values
-      ) AS `extensions_timing_event_page_running_time`,
-      STRUCT(
-        metrics.custom_distribution.networking_cookie_count_part_by_key.count,
-        metrics.custom_distribution.networking_cookie_count_part_by_key.sum,
-        metrics.custom_distribution.networking_cookie_count_part_by_key.values
-      ) AS `networking_cookie_count_part_by_key`,
-      STRUCT(
-        metrics.custom_distribution.networking_cookie_count_partitioned.count,
-        metrics.custom_distribution.networking_cookie_count_partitioned.sum,
-        metrics.custom_distribution.networking_cookie_count_partitioned.values
-      ) AS `networking_cookie_count_partitioned`,
-      STRUCT(
-        metrics.custom_distribution.networking_cookie_count_total.count,
-        metrics.custom_distribution.networking_cookie_count_total.sum,
-        metrics.custom_distribution.networking_cookie_count_total.values
-      ) AS `networking_cookie_count_total`,
-      STRUCT(
-        metrics.custom_distribution.networking_cookie_count_unpart_by_key.count,
-        metrics.custom_distribution.networking_cookie_count_unpart_by_key.sum,
-        metrics.custom_distribution.networking_cookie_count_unpart_by_key.values
-      ) AS `networking_cookie_count_unpart_by_key`,
-      STRUCT(
-        metrics.custom_distribution.networking_cookie_count_unpartitioned.count,
-        metrics.custom_distribution.networking_cookie_count_unpartitioned.sum,
-        metrics.custom_distribution.networking_cookie_count_unpartitioned.values
-      ) AS `networking_cookie_count_unpartitioned`,
-      STRUCT(
-        metrics.custom_distribution.networking_cookie_purge_entry_max.count,
-        metrics.custom_distribution.networking_cookie_purge_entry_max.sum,
-        metrics.custom_distribution.networking_cookie_purge_entry_max.values
-      ) AS `networking_cookie_purge_entry_max`,
-      STRUCT(
-        metrics.custom_distribution.networking_cookie_purge_max.count,
-        metrics.custom_distribution.networking_cookie_purge_max.sum,
-        metrics.custom_distribution.networking_cookie_purge_max.values
-      ) AS `networking_cookie_purge_max`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_1_upload_throughput_100.count,
-        metrics.custom_distribution.networking_http_1_upload_throughput_100.sum,
-        metrics.custom_distribution.networking_http_1_upload_throughput_100.values
-      ) AS `networking_http_1_upload_throughput_100`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_1_upload_throughput_10_50.count,
-        metrics.custom_distribution.networking_http_1_upload_throughput_10_50.sum,
-        metrics.custom_distribution.networking_http_1_upload_throughput_10_50.values
-      ) AS `networking_http_1_upload_throughput_10_50`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_1_upload_throughput_50_100.count,
-        metrics.custom_distribution.networking_http_1_upload_throughput_50_100.sum,
-        metrics.custom_distribution.networking_http_1_upload_throughput_50_100.values
-      ) AS `networking_http_1_upload_throughput_50_100`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_2_upload_throughput_100.count,
-        metrics.custom_distribution.networking_http_2_upload_throughput_100.sum,
-        metrics.custom_distribution.networking_http_2_upload_throughput_100.values
-      ) AS `networking_http_2_upload_throughput_100`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_2_upload_throughput_10_50.count,
-        metrics.custom_distribution.networking_http_2_upload_throughput_10_50.sum,
-        metrics.custom_distribution.networking_http_2_upload_throughput_10_50.values
-      ) AS `networking_http_2_upload_throughput_10_50`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_2_upload_throughput_50_100.count,
-        metrics.custom_distribution.networking_http_2_upload_throughput_50_100.sum,
-        metrics.custom_distribution.networking_http_2_upload_throughput_50_100.values
-      ) AS `networking_http_2_upload_throughput_50_100`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_3_upload_throughput_100.count,
-        metrics.custom_distribution.networking_http_3_upload_throughput_100.sum,
-        metrics.custom_distribution.networking_http_3_upload_throughput_100.values
-      ) AS `networking_http_3_upload_throughput_100`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_3_upload_throughput_10_50.count,
-        metrics.custom_distribution.networking_http_3_upload_throughput_10_50.sum,
-        metrics.custom_distribution.networking_http_3_upload_throughput_10_50.values
-      ) AS `networking_http_3_upload_throughput_10_50`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_3_upload_throughput_50_100.count,
-        metrics.custom_distribution.networking_http_3_upload_throughput_50_100.sum,
-        metrics.custom_distribution.networking_http_3_upload_throughput_50_100.values
-      ) AS `networking_http_3_upload_throughput_50_100`,
-      STRUCT(
-        metrics.custom_distribution.pdfjs_editing_highlight_thickness.count,
-        metrics.custom_distribution.pdfjs_editing_highlight_thickness.sum,
-        metrics.custom_distribution.pdfjs_editing_highlight_thickness.values
-      ) AS `pdfjs_editing_highlight_thickness`,
-      STRUCT(
-        metrics.custom_distribution.network_tls_early_data_bytes_written.count,
-        metrics.custom_distribution.network_tls_early_data_bytes_written.sum,
-        metrics.custom_distribution.network_tls_early_data_bytes_written.values
-      ) AS `network_tls_early_data_bytes_written`,
-      STRUCT(
-        metrics.custom_distribution.cert_compression_brotli_saved_bytes.count,
-        metrics.custom_distribution.cert_compression_brotli_saved_bytes.sum,
-        metrics.custom_distribution.cert_compression_brotli_saved_bytes.values
-      ) AS `cert_compression_brotli_saved_bytes`,
-      STRUCT(
-        metrics.custom_distribution.cert_compression_zlib_saved_bytes.count,
-        metrics.custom_distribution.cert_compression_zlib_saved_bytes.sum,
-        metrics.custom_distribution.cert_compression_zlib_saved_bytes.values
-      ) AS `cert_compression_zlib_saved_bytes`,
-      STRUCT(
-        metrics.custom_distribution.bounce_tracking_protection_num_hosts_per_purge_run.count,
-        metrics.custom_distribution.bounce_tracking_protection_num_hosts_per_purge_run.sum,
-        metrics.custom_distribution.bounce_tracking_protection_num_hosts_per_purge_run.values
-      ) AS `bounce_tracking_protection_num_hosts_per_purge_run`,
-      STRUCT(
-        metrics.custom_distribution.cert_compression_zstd_saved_bytes.count,
-        metrics.custom_distribution.cert_compression_zstd_saved_bytes.sum,
-        metrics.custom_distribution.cert_compression_zstd_saved_bytes.values
-      ) AS `cert_compression_zstd_saved_bytes`,
-      STRUCT(
-        metrics.custom_distribution.networking_cookie_chips_partition_limit_overflow.count,
-        metrics.custom_distribution.networking_cookie_chips_partition_limit_overflow.sum,
-        metrics.custom_distribution.networking_cookie_chips_partition_limit_overflow.values
-      ) AS `networking_cookie_chips_partition_limit_overflow`,
-      STRUCT(
-        metrics.custom_distribution.geolocation_accuracy.count,
-        metrics.custom_distribution.geolocation_accuracy.sum,
-        metrics.custom_distribution.geolocation_accuracy.values
-      ) AS `geolocation_accuracy`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_3_download_throughput_100.count,
-        metrics.custom_distribution.networking_http_3_download_throughput_100.sum,
-        metrics.custom_distribution.networking_http_3_download_throughput_100.values
-      ) AS `networking_http_3_download_throughput_100`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_3_download_throughput_10_50.count,
-        metrics.custom_distribution.networking_http_3_download_throughput_10_50.sum,
-        metrics.custom_distribution.networking_http_3_download_throughput_10_50.values
-      ) AS `networking_http_3_download_throughput_10_50`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_3_download_throughput_50_100.count,
-        metrics.custom_distribution.networking_http_3_download_throughput_50_100.sum,
-        metrics.custom_distribution.networking_http_3_download_throughput_50_100.values
-      ) AS `networking_http_3_download_throughput_50_100`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_3_udp_datagram_segments_received.count,
-        metrics.custom_distribution.networking_http_3_udp_datagram_segments_received.sum,
-        metrics.custom_distribution.networking_http_3_udp_datagram_segments_received.values
-      ) AS `networking_http_3_udp_datagram_segments_received`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_3_loss_ratio.count,
-        metrics.custom_distribution.networking_http_3_loss_ratio.sum,
-        metrics.custom_distribution.networking_http_3_loss_ratio.values
-      ) AS `networking_http_3_loss_ratio`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_3_ecn_ce_ect0_ratio_received.count,
-        metrics.custom_distribution.networking_http_3_ecn_ce_ect0_ratio_received.sum,
-        metrics.custom_distribution.networking_http_3_ecn_ce_ect0_ratio_received.values
-      ) AS `networking_http_3_ecn_ce_ect0_ratio_received`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_3_ecn_ce_ect0_ratio_sent.count,
-        metrics.custom_distribution.networking_http_3_ecn_ce_ect0_ratio_sent.sum,
-        metrics.custom_distribution.networking_http_3_ecn_ce_ect0_ratio_sent.values
-      ) AS `networking_http_3_ecn_ce_ect0_ratio_sent`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_1_download_throughput_100.count,
-        metrics.custom_distribution.networking_http_1_download_throughput_100.sum,
-        metrics.custom_distribution.networking_http_1_download_throughput_100.values
-      ) AS `networking_http_1_download_throughput_100`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_1_download_throughput_10_50.count,
-        metrics.custom_distribution.networking_http_1_download_throughput_10_50.sum,
-        metrics.custom_distribution.networking_http_1_download_throughput_10_50.values
-      ) AS `networking_http_1_download_throughput_10_50`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_1_download_throughput_50_100.count,
-        metrics.custom_distribution.networking_http_1_download_throughput_50_100.sum,
-        metrics.custom_distribution.networking_http_1_download_throughput_50_100.values
-      ) AS `networking_http_1_download_throughput_50_100`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_2_download_throughput_100.count,
-        metrics.custom_distribution.networking_http_2_download_throughput_100.sum,
-        metrics.custom_distribution.networking_http_2_download_throughput_100.values
-      ) AS `networking_http_2_download_throughput_100`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_2_download_throughput_10_50.count,
-        metrics.custom_distribution.networking_http_2_download_throughput_10_50.sum,
-        metrics.custom_distribution.networking_http_2_download_throughput_10_50.values
-      ) AS `networking_http_2_download_throughput_10_50`,
-      STRUCT(
-        metrics.custom_distribution.networking_http_2_download_throughput_50_100.count,
-        metrics.custom_distribution.networking_http_2_download_throughput_50_100.sum,
-        metrics.custom_distribution.networking_http_2_download_throughput_50_100.values
-      ) AS `networking_http_2_download_throughput_50_100`,
-      STRUCT(
-        metrics.custom_distribution.javascript_gc_effectiveness.count,
-        metrics.custom_distribution.javascript_gc_effectiveness.sum,
-        metrics.custom_distribution.javascript_gc_effectiveness.values
-      ) AS `javascript_gc_effectiveness`,
-      STRUCT(
-        metrics.custom_distribution.javascript_gc_mark_rate.count,
-        metrics.custom_distribution.javascript_gc_mark_rate.sum,
-        metrics.custom_distribution.javascript_gc_mark_rate.values
-      ) AS `javascript_gc_mark_rate`,
-      STRUCT(
-        metrics.custom_distribution.javascript_gc_mmu_50.count,
-        metrics.custom_distribution.javascript_gc_mmu_50.sum,
-        metrics.custom_distribution.javascript_gc_mmu_50.values
-      ) AS `javascript_gc_mmu_50`,
-      STRUCT(
-        metrics.custom_distribution.javascript_gc_nursery_promotion_rate.count,
-        metrics.custom_distribution.javascript_gc_nursery_promotion_rate.sum,
-        metrics.custom_distribution.javascript_gc_nursery_promotion_rate.values
-      ) AS `javascript_gc_nursery_promotion_rate`,
-      STRUCT(
-        metrics.custom_distribution.javascript_gc_parallel_mark_interruptions.count,
-        metrics.custom_distribution.javascript_gc_parallel_mark_interruptions.sum,
-        metrics.custom_distribution.javascript_gc_parallel_mark_interruptions.values
-      ) AS `javascript_gc_parallel_mark_interruptions`,
-      STRUCT(
-        metrics.custom_distribution.javascript_gc_parallel_mark_speedup.count,
-        metrics.custom_distribution.javascript_gc_parallel_mark_speedup.sum,
-        metrics.custom_distribution.javascript_gc_parallel_mark_speedup.values
-      ) AS `javascript_gc_parallel_mark_speedup`,
-      STRUCT(
-        metrics.custom_distribution.javascript_gc_parallel_mark_utilization.count,
-        metrics.custom_distribution.javascript_gc_parallel_mark_utilization.sum,
-        metrics.custom_distribution.javascript_gc_parallel_mark_utilization.values
-      ) AS `javascript_gc_parallel_mark_utilization`,
-      STRUCT(
-        metrics.custom_distribution.javascript_gc_pretenure_count.count,
-        metrics.custom_distribution.javascript_gc_pretenure_count.sum,
-        metrics.custom_distribution.javascript_gc_pretenure_count.values
-      ) AS `javascript_gc_pretenure_count`,
-      STRUCT(
-        metrics.custom_distribution.javascript_gc_slice_count.count,
-        metrics.custom_distribution.javascript_gc_slice_count.sum,
-        metrics.custom_distribution.javascript_gc_slice_count.values
-      ) AS `javascript_gc_slice_count`,
-      STRUCT(
-        metrics.custom_distribution.javascript_gc_tenured_survival_rate.count,
-        metrics.custom_distribution.javascript_gc_tenured_survival_rate.sum,
-        metrics.custom_distribution.javascript_gc_tenured_survival_rate.values
-      ) AS `javascript_gc_tenured_survival_rate`,
-      STRUCT(
-        metrics.custom_distribution.javascript_gc_zone_count.count,
-        metrics.custom_distribution.javascript_gc_zone_count.sum,
-        metrics.custom_distribution.javascript_gc_zone_count.values
-      ) AS `javascript_gc_zone_count`,
-      STRUCT(
-        metrics.custom_distribution.javascript_gc_zones_collected.count,
-        metrics.custom_distribution.javascript_gc_zones_collected.sum,
-        metrics.custom_distribution.javascript_gc_zones_collected.values
-      ) AS `javascript_gc_zones_collected`,
-      STRUCT(
-        metrics.custom_distribution.cycle_collector_collected.count,
-        metrics.custom_distribution.cycle_collector_collected.sum,
-        metrics.custom_distribution.cycle_collector_collected.values
-      ) AS `cycle_collector_collected`,
-      STRUCT(
-        metrics.custom_distribution.cycle_collector_slice_during_idle.count,
-        metrics.custom_distribution.cycle_collector_slice_during_idle.sum,
-        metrics.custom_distribution.cycle_collector_slice_during_idle.values
-      ) AS `cycle_collector_slice_during_idle`,
-      STRUCT(
-        metrics.custom_distribution.cycle_collector_visited_gced.count,
-        metrics.custom_distribution.cycle_collector_visited_gced.sum,
-        metrics.custom_distribution.cycle_collector_visited_gced.values
-      ) AS `cycle_collector_visited_gced`,
-      STRUCT(
-        metrics.custom_distribution.cycle_collector_visited_ref_counted.count,
-        metrics.custom_distribution.cycle_collector_visited_ref_counted.sum,
-        metrics.custom_distribution.cycle_collector_visited_ref_counted.values
-      ) AS `cycle_collector_visited_ref_counted`,
-      STRUCT(
-        metrics.custom_distribution.cycle_collector_worker_collected.count,
-        metrics.custom_distribution.cycle_collector_worker_collected.sum,
-        metrics.custom_distribution.cycle_collector_worker_collected.values
-      ) AS `cycle_collector_worker_collected`,
-      STRUCT(
-        metrics.custom_distribution.cycle_collector_worker_visited_gced.count,
-        metrics.custom_distribution.cycle_collector_worker_visited_gced.sum,
-        metrics.custom_distribution.cycle_collector_worker_visited_gced.values
-      ) AS `cycle_collector_worker_visited_gced`,
-      STRUCT(
-        metrics.custom_distribution.cycle_collector_worker_visited_ref_counted.count,
-        metrics.custom_distribution.cycle_collector_worker_visited_ref_counted.sum,
-        metrics.custom_distribution.cycle_collector_worker_visited_ref_counted.values
-      ) AS `cycle_collector_worker_visited_ref_counted`,
-      STRUCT(
-        metrics.custom_distribution.memory_phc_slots_allocated.count,
-        metrics.custom_distribution.memory_phc_slots_allocated.sum,
-        metrics.custom_distribution.memory_phc_slots_allocated.values
-      ) AS `memory_phc_slots_allocated`,
-      STRUCT(
-        metrics.custom_distribution.memory_phc_slots_freed.count,
-        metrics.custom_distribution.memory_phc_slots_freed.sum,
-        metrics.custom_distribution.memory_phc_slots_freed.values
-      ) AS `memory_phc_slots_freed`,
-      STRUCT(
-        metrics.custom_distribution.application_reputation_local.count,
-        metrics.custom_distribution.application_reputation_local.sum,
-        metrics.custom_distribution.application_reputation_local.values
-      ) AS `application_reputation_local`,
-      STRUCT(
-        metrics.custom_distribution.application_reputation_server.count,
-        metrics.custom_distribution.application_reputation_server.sum,
-        metrics.custom_distribution.application_reputation_server.values
-      ) AS `application_reputation_server`,
-      STRUCT(
-        metrics.custom_distribution.application_reputation_server_verdict.count,
-        metrics.custom_distribution.application_reputation_server_verdict.sum,
-        metrics.custom_distribution.application_reputation_server_verdict.values
-      ) AS `application_reputation_server_verdict`,
-      STRUCT(
-        metrics.custom_distribution.a11y_consumers.count,
-        metrics.custom_distribution.a11y_consumers.sum,
-        metrics.custom_distribution.a11y_consumers.values
-      ) AS `a11y_consumers`,
-      STRUCT(
-        metrics.custom_distribution.contentblocking_cookie_behavior.count,
-        metrics.custom_distribution.contentblocking_cookie_behavior.sum,
-        metrics.custom_distribution.contentblocking_cookie_behavior.values
-      ) AS `contentblocking_cookie_behavior`,
-      STRUCT(
-        metrics.custom_distribution.contentblocking_query_stripping_param_count.count,
-        metrics.custom_distribution.contentblocking_query_stripping_param_count.sum,
-        metrics.custom_distribution.contentblocking_query_stripping_param_count.values
-      ) AS `contentblocking_query_stripping_param_count`,
-      STRUCT(
-        metrics.custom_distribution.contentblocking_storage_access_remaining_days.count,
-        metrics.custom_distribution.contentblocking_storage_access_remaining_days.sum,
-        metrics.custom_distribution.contentblocking_storage_access_remaining_days.values
-      ) AS `contentblocking_storage_access_remaining_days`,
-      STRUCT(
-        metrics.custom_distribution.contentblocking_strip_on_share_length_decrease.count,
-        metrics.custom_distribution.contentblocking_strip_on_share_length_decrease.sum,
-        metrics.custom_distribution.contentblocking_strip_on_share_length_decrease.values
-      ) AS `contentblocking_strip_on_share_length_decrease`,
-      STRUCT(
-        metrics.custom_distribution.contentblocking_strip_on_share_params_removed.count,
-        metrics.custom_distribution.contentblocking_strip_on_share_params_removed.sum,
-        metrics.custom_distribution.contentblocking_strip_on_share_params_removed.values
-      ) AS `contentblocking_strip_on_share_params_removed`,
-      STRUCT(
-        metrics.custom_distribution.contentblocking_tracking_protection_shield.count,
-        metrics.custom_distribution.contentblocking_tracking_protection_shield.sum,
-        metrics.custom_distribution.contentblocking_tracking_protection_shield.values
-      ) AS `contentblocking_tracking_protection_shield`,
-      STRUCT(
-        metrics.custom_distribution.cookie_purging_origins_purged.count,
-        metrics.custom_distribution.cookie_purging_origins_purged.sum,
-        metrics.custom_distribution.cookie_purging_origins_purged.values
-      ) AS `cookie_purging_origins_purged`,
-      STRUCT(
-        metrics.custom_distribution.cookie_purging_trackers_with_user_interaction.count,
-        metrics.custom_distribution.cookie_purging_trackers_with_user_interaction.sum,
-        metrics.custom_distribution.cookie_purging_trackers_with_user_interaction.values
-      ) AS `cookie_purging_trackers_with_user_interaction`,
-      STRUCT(
-        metrics.custom_distribution.fontlist_dwritefont_delayedinit_count.count,
-        metrics.custom_distribution.fontlist_dwritefont_delayedinit_count.sum,
-        metrics.custom_distribution.fontlist_dwritefont_delayedinit_count.values
-      ) AS `fontlist_dwritefont_delayedinit_count`,
-      STRUCT(
-        metrics.custom_distribution.fontlist_dwritefont_init_problem.count,
-        metrics.custom_distribution.fontlist_dwritefont_init_problem.sum,
-        metrics.custom_distribution.fontlist_dwritefont_init_problem.values
-      ) AS `fontlist_dwritefont_init_problem`,
-      STRUCT(
-        metrics.custom_distribution.predictor_base_confidence.count,
-        metrics.custom_distribution.predictor_base_confidence.sum,
-        metrics.custom_distribution.predictor_base_confidence.values
-      ) AS `predictor_base_confidence`,
-      STRUCT(
-        metrics.custom_distribution.predictor_confidence.count,
-        metrics.custom_distribution.predictor_confidence.sum,
-        metrics.custom_distribution.predictor_confidence.values
-      ) AS `predictor_confidence`,
-      STRUCT(
-        metrics.custom_distribution.predictor_global_degradation.count,
-        metrics.custom_distribution.predictor_global_degradation.sum,
-        metrics.custom_distribution.predictor_global_degradation.values
-      ) AS `predictor_global_degradation`,
-      STRUCT(
-        metrics.custom_distribution.predictor_learn_attempts.count,
-        metrics.custom_distribution.predictor_learn_attempts.sum,
-        metrics.custom_distribution.predictor_learn_attempts.values
-      ) AS `predictor_learn_attempts`,
-      STRUCT(
-        metrics.custom_distribution.predictor_predictions_calculated.count,
-        metrics.custom_distribution.predictor_predictions_calculated.sum,
-        metrics.custom_distribution.predictor_predictions_calculated.values
-      ) AS `predictor_predictions_calculated`,
-      STRUCT(
-        metrics.custom_distribution.predictor_prefetch_decision_reason.count,
-        metrics.custom_distribution.predictor_prefetch_decision_reason.sum,
-        metrics.custom_distribution.predictor_prefetch_decision_reason.values
-      ) AS `predictor_prefetch_decision_reason`,
-      STRUCT(
-        metrics.custom_distribution.predictor_prefetch_ignore_reason.count,
-        metrics.custom_distribution.predictor_prefetch_ignore_reason.sum,
-        metrics.custom_distribution.predictor_prefetch_ignore_reason.values
-      ) AS `predictor_prefetch_ignore_reason`,
-      STRUCT(
-        metrics.custom_distribution.predictor_subresource_degradation.count,
-        metrics.custom_distribution.predictor_subresource_degradation.sum,
-        metrics.custom_distribution.predictor_subresource_degradation.values
-      ) AS `predictor_subresource_degradation`,
-      STRUCT(
-        metrics.custom_distribution.predictor_total_preconnects.count,
-        metrics.custom_distribution.predictor_total_preconnects.sum,
-        metrics.custom_distribution.predictor_total_preconnects.values
-      ) AS `predictor_total_preconnects`,
-      STRUCT(
-        metrics.custom_distribution.predictor_total_predictions.count,
-        metrics.custom_distribution.predictor_total_predictions.sum,
-        metrics.custom_distribution.predictor_total_predictions.values
-      ) AS `predictor_total_predictions`,
-      STRUCT(
-        metrics.custom_distribution.predictor_total_prefetches.count,
-        metrics.custom_distribution.predictor_total_prefetches.sum,
-        metrics.custom_distribution.predictor_total_prefetches.values
-      ) AS `predictor_total_prefetches`,
-      STRUCT(
-        metrics.custom_distribution.predictor_total_preresolves.count,
-        metrics.custom_distribution.predictor_total_preresolves.sum,
-        metrics.custom_distribution.predictor_total_preresolves.values
-      ) AS `predictor_total_preresolves`,
-      STRUCT(
-        metrics.custom_distribution.thumbnails_capture_done_reason_2.count,
-        metrics.custom_distribution.thumbnails_capture_done_reason_2.sum,
-        metrics.custom_distribution.thumbnails_capture_done_reason_2.values
-      ) AS `thumbnails_capture_done_reason_2`,
-      STRUCT(
-        metrics.custom_distribution.thumbnails_queue_size_on_capture.count,
-        metrics.custom_distribution.thumbnails_queue_size_on_capture.sum,
-        metrics.custom_distribution.thumbnails_queue_size_on_capture.values
-      ) AS `thumbnails_queue_size_on_capture`,
-      STRUCT(
-        metrics.custom_distribution.urlclassifier_completion_error.count,
-        metrics.custom_distribution.urlclassifier_completion_error.sum,
-        metrics.custom_distribution.urlclassifier_completion_error.values
-      ) AS `urlclassifier_completion_error`,
-      STRUCT(
-        metrics.custom_distribution.urlclassifier_threathit_network_error.count,
-        metrics.custom_distribution.urlclassifier_threathit_network_error.sum,
-        metrics.custom_distribution.urlclassifier_threathit_network_error.values
-      ) AS `urlclassifier_threathit_network_error`,
-      STRUCT(
-        metrics.custom_distribution.urlclassifier_threathit_remote_status.count,
-        metrics.custom_distribution.urlclassifier_threathit_remote_status.sum,
-        metrics.custom_distribution.urlclassifier_threathit_remote_status.values
-      ) AS `urlclassifier_threathit_remote_status`,
-      STRUCT(
-        metrics.custom_distribution.urlclassifier_ui_events.count,
-        metrics.custom_distribution.urlclassifier_ui_events.sum,
-        metrics.custom_distribution.urlclassifier_ui_events.values
-      ) AS `urlclassifier_ui_events`,
-      STRUCT(
-        metrics.custom_distribution.webcrypto_alg.count,
-        metrics.custom_distribution.webcrypto_alg.sum,
-        metrics.custom_distribution.webcrypto_alg.values
-      ) AS `webcrypto_alg`,
-      STRUCT(
-        metrics.custom_distribution.webcrypto_method.count,
-        metrics.custom_distribution.webcrypto_method.sum,
-        metrics.custom_distribution.webcrypto_method.values
-      ) AS `webcrypto_method`,
-      STRUCT(
-        metrics.custom_distribution.image_decode_chunks.count,
-        metrics.custom_distribution.image_decode_chunks.sum,
-        metrics.custom_distribution.image_decode_chunks.values
-      ) AS `image_decode_chunks`,
-      STRUCT(
-        metrics.custom_distribution.image_decode_count.count,
-        metrics.custom_distribution.image_decode_count.sum,
-        metrics.custom_distribution.image_decode_count.values
-      ) AS `image_decode_count`,
-      STRUCT(
-        metrics.custom_distribution.media_mp4_parse_num_sample_description_entries.count,
-        metrics.custom_distribution.media_mp4_parse_num_sample_description_entries.sum,
-        metrics.custom_distribution.media_mp4_parse_num_sample_description_entries.values
-      ) AS `media_mp4_parse_num_sample_description_entries`,
-      STRUCT(
-        metrics.custom_distribution.webrtc_audio_quality_inbound_bandwidth_kbits.count,
-        metrics.custom_distribution.webrtc_audio_quality_inbound_bandwidth_kbits.sum,
-        metrics.custom_distribution.webrtc_audio_quality_inbound_bandwidth_kbits.values
-      ) AS `webrtc_audio_quality_inbound_bandwidth_kbits`,
-      STRUCT(
-        metrics.custom_distribution.webrtc_audio_quality_inbound_packetloss_rate.count,
-        metrics.custom_distribution.webrtc_audio_quality_inbound_packetloss_rate.sum,
-        metrics.custom_distribution.webrtc_audio_quality_inbound_packetloss_rate.values
-      ) AS `webrtc_audio_quality_inbound_packetloss_rate`,
-      STRUCT(
-        metrics.custom_distribution.webrtc_audio_quality_outbound_packetloss_rate.count,
-        metrics.custom_distribution.webrtc_audio_quality_outbound_packetloss_rate.sum,
-        metrics.custom_distribution.webrtc_audio_quality_outbound_packetloss_rate.values
-      ) AS `webrtc_audio_quality_outbound_packetloss_rate`,
-      STRUCT(
-        metrics.custom_distribution.webrtc_call_type.count,
-        metrics.custom_distribution.webrtc_call_type.sum,
-        metrics.custom_distribution.webrtc_call_type.values
-      ) AS `webrtc_call_type`,
-      STRUCT(
-        metrics.custom_distribution.webrtc_get_user_media_type.count,
-        metrics.custom_distribution.webrtc_get_user_media_type.sum,
-        metrics.custom_distribution.webrtc_get_user_media_type.values
-      ) AS `webrtc_get_user_media_type`,
-      STRUCT(
-        metrics.custom_distribution.webrtc_max_audio_receive_track.count,
-        metrics.custom_distribution.webrtc_max_audio_receive_track.sum,
-        metrics.custom_distribution.webrtc_max_audio_receive_track.values
-      ) AS `webrtc_max_audio_receive_track`,
-      STRUCT(
-        metrics.custom_distribution.webrtc_max_audio_send_track.count,
-        metrics.custom_distribution.webrtc_max_audio_send_track.sum,
-        metrics.custom_distribution.webrtc_max_audio_send_track.values
-      ) AS `webrtc_max_audio_send_track`,
-      STRUCT(
-        metrics.custom_distribution.webrtc_max_video_receive_track.count,
-        metrics.custom_distribution.webrtc_max_video_receive_track.sum,
-        metrics.custom_distribution.webrtc_max_video_receive_track.values
-      ) AS `webrtc_max_video_receive_track`,
-      STRUCT(
-        metrics.custom_distribution.webrtc_max_video_send_track.count,
-        metrics.custom_distribution.webrtc_max_video_send_track.sum,
-        metrics.custom_distribution.webrtc_max_video_send_track.values
-      ) AS `webrtc_max_video_send_track`,
-      STRUCT(
-        metrics.custom_distribution.webrtc_renegotiations.count,
-        metrics.custom_distribution.webrtc_renegotiations.sum,
-        metrics.custom_distribution.webrtc_renegotiations.values
-      ) AS `webrtc_renegotiations`,
-      STRUCT(
-        metrics.custom_distribution.webrtc_video_decoder_bitrate_avg_per_call_kbps.count,
-        metrics.custom_distribution.webrtc_video_decoder_bitrate_avg_per_call_kbps.sum,
-        metrics.custom_distribution.webrtc_video_decoder_bitrate_avg_per_call_kbps.values
-      ) AS `webrtc_video_decoder_bitrate_avg_per_call_kbps`,
-      STRUCT(
-        metrics.custom_distribution.webrtc_video_decoder_bitrate_std_dev_per_call_kbps.count,
-        metrics.custom_distribution.webrtc_video_decoder_bitrate_std_dev_per_call_kbps.sum,
-        metrics.custom_distribution.webrtc_video_decoder_bitrate_std_dev_per_call_kbps.values
-      ) AS `webrtc_video_decoder_bitrate_std_dev_per_call_kbps`,
-      STRUCT(
-        metrics.custom_distribution.webrtc_video_decoder_discarded_packets_per_call_ppm.count,
-        metrics.custom_distribution.webrtc_video_decoder_discarded_packets_per_call_ppm.sum,
-        metrics.custom_distribution.webrtc_video_decoder_discarded_packets_per_call_ppm.values
-      ) AS `webrtc_video_decoder_discarded_packets_per_call_ppm`,
-      STRUCT(
-        metrics.custom_distribution.webrtc_video_decoder_framerate_10x_std_dev_per_call.count,
-        metrics.custom_distribution.webrtc_video_decoder_framerate_10x_std_dev_per_call.sum,
-        metrics.custom_distribution.webrtc_video_decoder_framerate_10x_std_dev_per_call.values
-      ) AS `webrtc_video_decoder_framerate_10x_std_dev_per_call`,
-      STRUCT(
-        metrics.custom_distribution.webrtc_video_decoder_framerate_avg_per_call.count,
-        metrics.custom_distribution.webrtc_video_decoder_framerate_avg_per_call.sum,
-        metrics.custom_distribution.webrtc_video_decoder_framerate_avg_per_call.values
-      ) AS `webrtc_video_decoder_framerate_avg_per_call`,
-      STRUCT(
-        metrics.custom_distribution.webrtc_video_encoder_bitrate_avg_per_call_kbps.count,
-        metrics.custom_distribution.webrtc_video_encoder_bitrate_avg_per_call_kbps.sum,
-        metrics.custom_distribution.webrtc_video_encoder_bitrate_avg_per_call_kbps.values
-      ) AS `webrtc_video_encoder_bitrate_avg_per_call_kbps`,
-      STRUCT(
-        metrics.custom_distribution.webrtc_video_encoder_bitrate_std_dev_per_call_kbps.count,
-        metrics.custom_distribution.webrtc_video_encoder_bitrate_std_dev_per_call_kbps.sum,
-        metrics.custom_distribution.webrtc_video_encoder_bitrate_std_dev_per_call_kbps.values
-      ) AS `webrtc_video_encoder_bitrate_std_dev_per_call_kbps`,
-      STRUCT(
-        metrics.custom_distribution.webrtc_video_encoder_framerate_10x_std_dev_per_call.count,
-        metrics.custom_distribution.webrtc_video_encoder_framerate_10x_std_dev_per_call.sum,
-        metrics.custom_distribution.webrtc_video_encoder_framerate_10x_std_dev_per_call.values
-      ) AS `webrtc_video_encoder_framerate_10x_std_dev_per_call`,
-      STRUCT(
-        metrics.custom_distribution.webrtc_video_encoder_framerate_avg_per_call.count,
-        metrics.custom_distribution.webrtc_video_encoder_framerate_avg_per_call.sum,
-        metrics.custom_distribution.webrtc_video_encoder_framerate_avg_per_call.values
-      ) AS `webrtc_video_encoder_framerate_avg_per_call`,
-      STRUCT(
-        metrics.custom_distribution.webrtc_video_quality_inbound_bandwidth_kbits.count,
-        metrics.custom_distribution.webrtc_video_quality_inbound_bandwidth_kbits.sum,
-        metrics.custom_distribution.webrtc_video_quality_inbound_bandwidth_kbits.values
-      ) AS `webrtc_video_quality_inbound_bandwidth_kbits`,
-      STRUCT(
-        metrics.custom_distribution.webrtc_video_quality_inbound_packetloss_rate.count,
-        metrics.custom_distribution.webrtc_video_quality_inbound_packetloss_rate.sum,
-        metrics.custom_distribution.webrtc_video_quality_inbound_packetloss_rate.values
-      ) AS `webrtc_video_quality_inbound_packetloss_rate`,
-      STRUCT(
-        metrics.custom_distribution.webrtc_video_quality_outbound_packetloss_rate.count,
-        metrics.custom_distribution.webrtc_video_quality_outbound_packetloss_rate.sum,
-        metrics.custom_distribution.webrtc_video_quality_outbound_packetloss_rate.values
-      ) AS `webrtc_video_quality_outbound_packetloss_rate`,
-      STRUCT(
-        metrics.custom_distribution.mixed_content_hsts.count,
-        metrics.custom_distribution.mixed_content_hsts.sum,
-        metrics.custom_distribution.mixed_content_hsts.values
-      ) AS `mixed_content_hsts`,
-      STRUCT(
-        metrics.custom_distribution.mixed_content_page_load.count,
-        metrics.custom_distribution.mixed_content_page_load.sum,
-        metrics.custom_distribution.mixed_content_page_load.values
-      ) AS `mixed_content_page_load`,
-      STRUCT(
-        metrics.custom_distribution.mixed_content_unblock_counter.count,
-        metrics.custom_distribution.mixed_content_unblock_counter.sum,
-        metrics.custom_distribution.mixed_content_unblock_counter.values
-      ) AS `mixed_content_unblock_counter`,
-      STRUCT(
-        metrics.custom_distribution.cert_chain_key_size_status.count,
-        metrics.custom_distribution.cert_chain_key_size_status.sum,
-        metrics.custom_distribution.cert_chain_key_size_status.values
-      ) AS `cert_chain_key_size_status`,
-      STRUCT(
-        metrics.custom_distribution.cert_ev_status.count,
-        metrics.custom_distribution.cert_ev_status.sum,
-        metrics.custom_distribution.cert_ev_status.values
-      ) AS `cert_ev_status`,
-      STRUCT(
-        metrics.custom_distribution.cert_pinning_failures_by_ca.count,
-        metrics.custom_distribution.cert_pinning_failures_by_ca.sum,
-        metrics.custom_distribution.cert_pinning_failures_by_ca.values
-      ) AS `cert_pinning_failures_by_ca`,
-      STRUCT(
-        metrics.custom_distribution.cert_pinning_moz_results_by_host.count,
-        metrics.custom_distribution.cert_pinning_moz_results_by_host.sum,
-        metrics.custom_distribution.cert_pinning_moz_results_by_host.values
-      ) AS `cert_pinning_moz_results_by_host`,
-      STRUCT(
-        metrics.custom_distribution.cert_pinning_moz_test_results_by_host.count,
-        metrics.custom_distribution.cert_pinning_moz_test_results_by_host.sum,
-        metrics.custom_distribution.cert_pinning_moz_test_results_by_host.values
-      ) AS `cert_pinning_moz_test_results_by_host`,
-      STRUCT(
-        metrics.custom_distribution.cert_validation_http_request_result.count,
-        metrics.custom_distribution.cert_validation_http_request_result.sum,
-        metrics.custom_distribution.cert_validation_http_request_result.values
-      ) AS `cert_validation_http_request_result`,
-      STRUCT(
-        metrics.custom_distribution.cert_validation_success_by_ca.count,
-        metrics.custom_distribution.cert_validation_success_by_ca.sum,
-        metrics.custom_distribution.cert_validation_success_by_ca.values
-      ) AS `cert_validation_success_by_ca`,
-      STRUCT(
-        metrics.custom_distribution.dns_blocklist_count.count,
-        metrics.custom_distribution.dns_blocklist_count.sum,
-        metrics.custom_distribution.dns_blocklist_count.values
-      ) AS `dns_blocklist_count`,
-      STRUCT(
-        metrics.custom_distribution.dns_lookup_method.count,
-        metrics.custom_distribution.dns_lookup_method.sum,
-        metrics.custom_distribution.dns_lookup_method.values
-      ) AS `dns_lookup_method`,
-      STRUCT(
-        metrics.custom_distribution.hpack_bytes_evicted_ratio_compressor.count,
-        metrics.custom_distribution.hpack_bytes_evicted_ratio_compressor.sum,
-        metrics.custom_distribution.hpack_bytes_evicted_ratio_compressor.values
-      ) AS `hpack_bytes_evicted_ratio_compressor`,
-      STRUCT(
-        metrics.custom_distribution.hpack_bytes_evicted_ratio_decompressor.count,
-        metrics.custom_distribution.hpack_bytes_evicted_ratio_decompressor.sum,
-        metrics.custom_distribution.hpack_bytes_evicted_ratio_decompressor.values
-      ) AS `hpack_bytes_evicted_ratio_decompressor`,
-      STRUCT(
-        metrics.custom_distribution.hpack_elements_evicted_compressor.count,
-        metrics.custom_distribution.hpack_elements_evicted_compressor.sum,
-        metrics.custom_distribution.hpack_elements_evicted_compressor.values
-      ) AS `hpack_elements_evicted_compressor`,
-      STRUCT(
-        metrics.custom_distribution.hpack_elements_evicted_decompressor.count,
-        metrics.custom_distribution.hpack_elements_evicted_decompressor.sum,
-        metrics.custom_distribution.hpack_elements_evicted_decompressor.values
-      ) AS `hpack_elements_evicted_decompressor`,
-      STRUCT(
-        metrics.custom_distribution.hpack_peak_count_compressor.count,
-        metrics.custom_distribution.hpack_peak_count_compressor.sum,
-        metrics.custom_distribution.hpack_peak_count_compressor.values
-      ) AS `hpack_peak_count_compressor`,
-      STRUCT(
-        metrics.custom_distribution.hpack_peak_count_decompressor.count,
-        metrics.custom_distribution.hpack_peak_count_decompressor.sum,
-        metrics.custom_distribution.hpack_peak_count_decompressor.values
-      ) AS `hpack_peak_count_decompressor`,
-      STRUCT(
-        metrics.custom_distribution.http_altsvc_entries_per_header.count,
-        metrics.custom_distribution.http_altsvc_entries_per_header.sum,
-        metrics.custom_distribution.http_altsvc_entries_per_header.values
-      ) AS `http_altsvc_entries_per_header`,
-      STRUCT(
-        metrics.custom_distribution.http_channel_disposition.count,
-        metrics.custom_distribution.http_channel_disposition.sum,
-        metrics.custom_distribution.http_channel_disposition.values
-      ) AS `http_channel_disposition`,
-      STRUCT(
-        metrics.custom_distribution.http_content_encoding.count,
-        metrics.custom_distribution.http_content_encoding.sum,
-        metrics.custom_distribution.http_content_encoding.values
-      ) AS `http_content_encoding`,
-      STRUCT(
-        metrics.custom_distribution.http_proxy_type.count,
-        metrics.custom_distribution.http_proxy_type.sum,
-        metrics.custom_distribution.http_proxy_type.values
-      ) AS `http_proxy_type`,
-      STRUCT(
-        metrics.custom_distribution.http_request_per_conn.count,
-        metrics.custom_distribution.http_request_per_conn.sum,
-        metrics.custom_distribution.http_request_per_conn.values
-      ) AS `http_request_per_conn`,
-      STRUCT(
-        metrics.custom_distribution.http_request_per_page.count,
-        metrics.custom_distribution.http_request_per_page.sum,
-        metrics.custom_distribution.http_request_per_page.values
-      ) AS `http_request_per_page`,
-      STRUCT(
-        metrics.custom_distribution.http_request_per_page_from_cache.count,
-        metrics.custom_distribution.http_request_per_page_from_cache.sum,
-        metrics.custom_distribution.http_request_per_page_from_cache.values
-      ) AS `http_request_per_page_from_cache`,
-      STRUCT(
-        metrics.custom_distribution.http_response_version.count,
-        metrics.custom_distribution.http_response_version.sum,
-        metrics.custom_distribution.http_response_version.values
-      ) AS `http_response_version`,
-      STRUCT(
-        metrics.custom_distribution.http_saw_quic_alt_protocol.count,
-        metrics.custom_distribution.http_saw_quic_alt_protocol.sum,
-        metrics.custom_distribution.http_saw_quic_alt_protocol.values
-      ) AS `http_saw_quic_alt_protocol`,
-      STRUCT(
-        metrics.custom_distribution.http_transaction_ech_retry_ech_failed_count.count,
-        metrics.custom_distribution.http_transaction_ech_retry_ech_failed_count.sum,
-        metrics.custom_distribution.http_transaction_ech_retry_ech_failed_count.values
-      ) AS `http_transaction_ech_retry_ech_failed_count`,
-      STRUCT(
-        metrics.custom_distribution.http_transaction_ech_retry_others_count.count,
-        metrics.custom_distribution.http_transaction_ech_retry_others_count.sum,
-        metrics.custom_distribution.http_transaction_ech_retry_others_count.values
-      ) AS `http_transaction_ech_retry_others_count`,
-      STRUCT(
-        metrics.custom_distribution.http_transaction_ech_retry_with_ech_count.count,
-        metrics.custom_distribution.http_transaction_ech_retry_with_ech_count.sum,
-        metrics.custom_distribution.http_transaction_ech_retry_with_ech_count.values
-      ) AS `http_transaction_ech_retry_with_ech_count`,
-      STRUCT(
-        metrics.custom_distribution.http_transaction_ech_retry_without_ech_count.count,
-        metrics.custom_distribution.http_transaction_ech_retry_without_ech_count.sum,
-        metrics.custom_distribution.http_transaction_ech_retry_without_ech_count.values
-      ) AS `http_transaction_ech_retry_without_ech_count`,
-      STRUCT(
-        metrics.custom_distribution.http_transaction_restart_reason.count,
-        metrics.custom_distribution.http_transaction_restart_reason.sum,
-        metrics.custom_distribution.http_transaction_restart_reason.values
-      ) AS `http_transaction_restart_reason`,
-      STRUCT(
-        metrics.custom_distribution.media_video_dropped_compositor_frames_proportion_exponential.count,
-        metrics.custom_distribution.media_video_dropped_compositor_frames_proportion_exponential.sum,
-        metrics.custom_distribution.media_video_dropped_compositor_frames_proportion_exponential.values
-      ) AS `media_video_dropped_compositor_frames_proportion_exponential`,
-      STRUCT(
-        metrics.custom_distribution.media_video_dropped_decoded_frames_proportion_exponential.count,
-        metrics.custom_distribution.media_video_dropped_decoded_frames_proportion_exponential.sum,
-        metrics.custom_distribution.media_video_dropped_decoded_frames_proportion_exponential.values
-      ) AS `media_video_dropped_decoded_frames_proportion_exponential`,
-      STRUCT(
-        metrics.custom_distribution.media_video_dropped_frames_proportion.count,
-        metrics.custom_distribution.media_video_dropped_frames_proportion.sum,
-        metrics.custom_distribution.media_video_dropped_frames_proportion.values
-      ) AS `media_video_dropped_frames_proportion`,
-      STRUCT(
-        metrics.custom_distribution.media_video_dropped_frames_proportion_exponential.count,
-        metrics.custom_distribution.media_video_dropped_frames_proportion_exponential.sum,
-        metrics.custom_distribution.media_video_dropped_frames_proportion_exponential.values
-      ) AS `media_video_dropped_frames_proportion_exponential`,
-      STRUCT(
-        metrics.custom_distribution.media_video_dropped_sink_frames_proportion_exponential.count,
-        metrics.custom_distribution.media_video_dropped_sink_frames_proportion_exponential.sum,
-        metrics.custom_distribution.media_video_dropped_sink_frames_proportion_exponential.values
-      ) AS `media_video_dropped_sink_frames_proportion_exponential`,
-      STRUCT(
-        metrics.custom_distribution.network_back_pressure_suspension_cp_type.count,
-        metrics.custom_distribution.network_back_pressure_suspension_cp_type.sum,
-        metrics.custom_distribution.network_back_pressure_suspension_cp_type.values
-      ) AS `network_back_pressure_suspension_cp_type`,
-      STRUCT(
-        metrics.custom_distribution.network_cache_v2_input_stream_status.count,
-        metrics.custom_distribution.network_cache_v2_input_stream_status.sum,
-        metrics.custom_distribution.network_cache_v2_input_stream_status.values
-      ) AS `network_cache_v2_input_stream_status`,
-      STRUCT(
-        metrics.custom_distribution.network_cache_v2_output_stream_status.count,
-        metrics.custom_distribution.network_cache_v2_output_stream_status.sum,
-        metrics.custom_distribution.network_cache_v2_output_stream_status.values
-      ) AS `network_cache_v2_output_stream_status`,
-      STRUCT(
-        metrics.custom_distribution.network_http_cache_entry_reuse_count.count,
-        metrics.custom_distribution.network_http_cache_entry_reuse_count.sum,
-        metrics.custom_distribution.network_http_cache_entry_reuse_count.values
-      ) AS `network_http_cache_entry_reuse_count`,
-      STRUCT(
-        metrics.custom_distribution.spdy_goaway_local.count,
-        metrics.custom_distribution.spdy_goaway_local.sum,
-        metrics.custom_distribution.spdy_goaway_local.values
-      ) AS `spdy_goaway_local`,
-      STRUCT(
-        metrics.custom_distribution.spdy_goaway_peer.count,
-        metrics.custom_distribution.spdy_goaway_peer.sum,
-        metrics.custom_distribution.spdy_goaway_peer.values
-      ) AS `spdy_goaway_peer`,
-      STRUCT(
-        metrics.custom_distribution.spdy_parallel_streams.count,
-        metrics.custom_distribution.spdy_parallel_streams.sum,
-        metrics.custom_distribution.spdy_parallel_streams.values
-      ) AS `spdy_parallel_streams`,
-      STRUCT(
-        metrics.custom_distribution.spdy_request_per_conn.count,
-        metrics.custom_distribution.spdy_request_per_conn.sum,
-        metrics.custom_distribution.spdy_request_per_conn.values
-      ) AS `spdy_request_per_conn`,
-      STRUCT(
-        metrics.custom_distribution.spdy_server_initiated_streams.count,
-        metrics.custom_distribution.spdy_server_initiated_streams.sum,
-        metrics.custom_distribution.spdy_server_initiated_streams.values
-      ) AS `spdy_server_initiated_streams`,
-      STRUCT(
-        metrics.custom_distribution.spdy_settings_max_streams.count,
-        metrics.custom_distribution.spdy_settings_max_streams.sum,
-        metrics.custom_distribution.spdy_settings_max_streams.values
-      ) AS `spdy_settings_max_streams`,
-      STRUCT(
-        metrics.custom_distribution.spdy_syn_ratio.count,
-        metrics.custom_distribution.spdy_syn_ratio.sum,
-        metrics.custom_distribution.spdy_syn_ratio.values
-      ) AS `spdy_syn_ratio`,
-      STRUCT(
-        metrics.custom_distribution.spdy_syn_reply_ratio.count,
-        metrics.custom_distribution.spdy_syn_reply_ratio.sum,
-        metrics.custom_distribution.spdy_syn_reply_ratio.values
-      ) AS `spdy_syn_reply_ratio`,
-      STRUCT(
-        metrics.custom_distribution.ssl_auth_algorithm_full.count,
-        metrics.custom_distribution.ssl_auth_algorithm_full.sum,
-        metrics.custom_distribution.ssl_auth_algorithm_full.values
-      ) AS `ssl_auth_algorithm_full`,
-      STRUCT(
-        metrics.custom_distribution.ssl_auth_ecdsa_curve_full.count,
-        metrics.custom_distribution.ssl_auth_ecdsa_curve_full.sum,
-        metrics.custom_distribution.ssl_auth_ecdsa_curve_full.values
-      ) AS `ssl_auth_ecdsa_curve_full`,
-      STRUCT(
-        metrics.custom_distribution.ssl_auth_rsa_key_size_full.count,
-        metrics.custom_distribution.ssl_auth_rsa_key_size_full.sum,
-        metrics.custom_distribution.ssl_auth_rsa_key_size_full.values
-      ) AS `ssl_auth_rsa_key_size_full`,
-      STRUCT(
-        metrics.custom_distribution.ssl_cert_error_overrides.count,
-        metrics.custom_distribution.ssl_cert_error_overrides.sum,
-        metrics.custom_distribution.ssl_cert_error_overrides.values
-      ) AS `ssl_cert_error_overrides`,
-      STRUCT(
-        metrics.custom_distribution.ssl_cert_verification_errors.count,
-        metrics.custom_distribution.ssl_cert_verification_errors.sum,
-        metrics.custom_distribution.ssl_cert_verification_errors.values
-      ) AS `ssl_cert_verification_errors`,
-      STRUCT(
-        metrics.custom_distribution.ssl_ct_policy_non_compliant_connections_by_ca.count,
-        metrics.custom_distribution.ssl_ct_policy_non_compliant_connections_by_ca.sum,
-        metrics.custom_distribution.ssl_ct_policy_non_compliant_connections_by_ca.values
-      ) AS `ssl_ct_policy_non_compliant_connections_by_ca`,
-      STRUCT(
-        metrics.custom_distribution.ssl_handshake_completed.count,
-        metrics.custom_distribution.ssl_handshake_completed.sum,
-        metrics.custom_distribution.ssl_handshake_completed.values
-      ) AS `ssl_handshake_completed`,
-      STRUCT(
-        metrics.custom_distribution.ssl_handshake_privacy.count,
-        metrics.custom_distribution.ssl_handshake_privacy.sum,
-        metrics.custom_distribution.ssl_handshake_privacy.values
-      ) AS `ssl_handshake_privacy`,
-      STRUCT(
-        metrics.custom_distribution.ssl_handshake_result.count,
-        metrics.custom_distribution.ssl_handshake_result.sum,
-        metrics.custom_distribution.ssl_handshake_result.values
-      ) AS `ssl_handshake_result`,
-      STRUCT(
-        metrics.custom_distribution.ssl_handshake_result_conservative.count,
-        metrics.custom_distribution.ssl_handshake_result_conservative.sum,
-        metrics.custom_distribution.ssl_handshake_result_conservative.values
-      ) AS `ssl_handshake_result_conservative`,
-      STRUCT(
-        metrics.custom_distribution.ssl_handshake_result_ech.count,
-        metrics.custom_distribution.ssl_handshake_result_ech.sum,
-        metrics.custom_distribution.ssl_handshake_result_ech.values
-      ) AS `ssl_handshake_result_ech`,
-      STRUCT(
-        metrics.custom_distribution.ssl_handshake_result_ech_grease.count,
-        metrics.custom_distribution.ssl_handshake_result_ech_grease.sum,
-        metrics.custom_distribution.ssl_handshake_result_ech_grease.values
-      ) AS `ssl_han

⚠️ 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

dependencies Pull requests that update a dependency file python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants