Added sample counts for glam fenix (#2355)
* added sample counts for glam fenix
* formatted for black format check
* Revert "formatted for black format check"
This reverts commit cf71fed487
.
* formated for black format check
* added the sample coubt scripts
This commit is contained in:
Родитель
4a1b34e47f
Коммит
df5eb5e77e
|
@ -140,8 +140,18 @@ def main():
|
|||
"minimum": 1,
|
||||
"description": "The number of versions to keep.",
|
||||
},
|
||||
"total_users": {
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"description": "The number of users to filter the data on.",
|
||||
},
|
||||
},
|
||||
"required": ["build_date_udf", "filter_version", "num_versions_to_keep"],
|
||||
"required": [
|
||||
"build_date_udf",
|
||||
"filter_version",
|
||||
"num_versions_to_keep",
|
||||
"total_users",
|
||||
],
|
||||
},
|
||||
}
|
||||
config = {
|
||||
|
@ -149,16 +159,19 @@ def main():
|
|||
"build_date_udf": "mozfun.glam.build_hour_to_datetime",
|
||||
"filter_version": True,
|
||||
"num_versions_to_keep": 3,
|
||||
"total_users": 10,
|
||||
},
|
||||
"org_mozilla_fenix_glam_beta": {
|
||||
"build_date_udf": "mozfun.glam.build_hour_to_datetime",
|
||||
"filter_version": True,
|
||||
"num_versions_to_keep": 3,
|
||||
"total_users": 10,
|
||||
},
|
||||
"org_mozilla_fenix_glam_release": {
|
||||
"build_date_udf": "mozfun.glam.build_hour_to_datetime",
|
||||
"filter_version": True,
|
||||
"num_versions_to_keep": 3,
|
||||
"total_users": 10,
|
||||
},
|
||||
}
|
||||
validate(instance=config, schema=config_schema)
|
||||
|
@ -245,7 +258,9 @@ def main():
|
|||
table("histogram_percentiles_v1"),
|
||||
view("view_probe_counts_v1"),
|
||||
view("view_user_counts_v1", **models.user_counts()),
|
||||
view("view_sample_counts_v1", **models.sample_counts()),
|
||||
table("extract_user_counts_v1", **config[args.prefix]),
|
||||
table("extract_sample_counts_v1", **config[args.prefix]),
|
||||
table("extract_probe_counts_v1", **config[args.prefix]),
|
||||
]
|
||||
|
||||
|
|
|
@ -181,3 +181,25 @@ def user_counts(**kwargs):
|
|||
attribute_combinations=compute_datacube_groupings(cubed_attributes),
|
||||
**kwargs,
|
||||
)
|
||||
|
||||
|
||||
def sample_counts(**kwargs):
|
||||
"""Variables for sample counts."""
|
||||
attributes = [
|
||||
"ping_type",
|
||||
"os",
|
||||
"app_version",
|
||||
"app_build_id",
|
||||
"channel",
|
||||
"key",
|
||||
"metric",
|
||||
"value",
|
||||
]
|
||||
fixed_attributes = ["app_version", "channel", "metric", "value", "key"]
|
||||
cubed_attributes = [x for x in attributes if x not in fixed_attributes]
|
||||
return dict(
|
||||
attributes=",".join(attributes),
|
||||
cubed_attributes=cubed_attributes,
|
||||
attribute_combinations=compute_datacube_groupings(cubed_attributes),
|
||||
**kwargs,
|
||||
)
|
||||
|
|
|
@ -20,7 +20,7 @@ SELECT
|
|||
FROM
|
||||
`{{ dataset }}.{{ prefix }}__view_probe_counts_v1`
|
||||
WHERE
|
||||
total_users > 10
|
||||
total_users > {{ total_users }}
|
||||
GROUP BY
|
||||
channel,
|
||||
app_version,
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
{{ header }}
|
||||
|
||||
SELECT
|
||||
channel,
|
||||
app_version,
|
||||
metric,
|
||||
key,
|
||||
coalesce(ping_type, "*") as ping_type,
|
||||
COALESCE(app_build_id, "*") as app_build_id,
|
||||
IF(app_build_id="*", NULL, SAFE_CAST({{ build_date_udf }}(app_build_id) AS STRING))AS build_date,
|
||||
COALESCE(os, "*") AS os,
|
||||
total_sample
|
||||
FROM
|
||||
`{{ dataset }}.{{ prefix }}__view_sample_counts_v1`
|
|
@ -0,0 +1,44 @@
|
|||
{{ header }}
|
||||
|
||||
{% from 'macros.sql' import enumerate_table_combinations %}
|
||||
|
||||
CREATE OR REPLACE VIEW
|
||||
`{{ project }}.{{ dataset }}.{{ prefix }}__view_sample_counts_v1`
|
||||
AS
|
||||
WITH all_clients AS (
|
||||
SELECT
|
||||
{{ attributes }}
|
||||
FROM `{{ project }}`.{{ dataset }}.{{ prefix }}__clients_histogram_aggregates_v1,
|
||||
UNNEST(histogram_aggregates) h1
|
||||
|
||||
),
|
||||
{{
|
||||
enumerate_table_combinations(
|
||||
"all_clients",
|
||||
"all_combos",
|
||||
cubed_attributes,
|
||||
attribute_combinations
|
||||
)
|
||||
}}
|
||||
SELECT
|
||||
ping_type,
|
||||
os,
|
||||
app_version,
|
||||
app_build_id,
|
||||
channel,
|
||||
all_combos.key,
|
||||
metric,
|
||||
SUM(v1.value) AS total_sample
|
||||
FROM
|
||||
all_combos,
|
||||
UNNEST(value) AS v1
|
||||
GROUP BY
|
||||
ping_type,
|
||||
os,
|
||||
app_version,
|
||||
app_build_id,
|
||||
channel,
|
||||
key,
|
||||
metric
|
||||
|
||||
|
|
@ -21,3 +21,8 @@ bq extract --destination_format CSV --noprint_header \
|
|||
bq extract --destination_format CSV --noprint_header \
|
||||
"${src_project}:${dataset}.${product}__extract_user_counts_v1" \
|
||||
"$bucket/glam-extract-${product}-counts.csv"
|
||||
|
||||
bq extract --destination_format CSV --noprint_header \
|
||||
"${src_project}:${dataset}.${product}__extract_sample_counts_v1" \
|
||||
"$bucket/glam-extract-${product}-sample-counts.csv"
|
||||
|
|
@ -284,11 +284,15 @@ function run_glean_sql {
|
|||
pids+=($!)
|
||||
run_view "${product}__view_user_counts_v1" &
|
||||
pids+=($!)
|
||||
run_view "${product}__view_sample_counts_v1" &
|
||||
pids+=($!)
|
||||
wait_pids "${pids[@]}"
|
||||
|
||||
pids=()
|
||||
run_query "${product}__extract_user_counts_v1" &
|
||||
pids+=($!)
|
||||
run_query "${product}__extract_sample_counts_v1" &
|
||||
pids+=($!)
|
||||
run_query "${product}__extract_probe_counts_v1" &
|
||||
pids+=($!)
|
||||
wait_pids "${pids[@]}"
|
||||
|
|
|
@ -238,6 +238,41 @@ unlabeled_metrics AS (
|
|||
'sum',
|
||||
sum(CAST(metrics.counter.credit_cards_delete_card AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_deleted',
|
||||
'counter',
|
||||
'',
|
||||
'avg',
|
||||
avg(CAST(metrics.counter.credit_cards_deleted AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_deleted',
|
||||
'counter',
|
||||
'',
|
||||
'count',
|
||||
IF(MIN(metrics.counter.credit_cards_deleted) IS NULL, NULL, COUNT(*))
|
||||
),
|
||||
(
|
||||
'credit_cards_deleted',
|
||||
'counter',
|
||||
'',
|
||||
'max',
|
||||
max(CAST(metrics.counter.credit_cards_deleted AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_deleted',
|
||||
'counter',
|
||||
'',
|
||||
'min',
|
||||
min(CAST(metrics.counter.credit_cards_deleted AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_deleted',
|
||||
'counter',
|
||||
'',
|
||||
'sum',
|
||||
sum(CAST(metrics.counter.credit_cards_deleted AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_manual_save',
|
||||
'counter',
|
||||
|
@ -273,6 +308,41 @@ unlabeled_metrics AS (
|
|||
'sum',
|
||||
sum(CAST(metrics.counter.credit_cards_manual_save AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_saved',
|
||||
'counter',
|
||||
'',
|
||||
'avg',
|
||||
avg(CAST(metrics.counter.credit_cards_saved AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_saved',
|
||||
'counter',
|
||||
'',
|
||||
'count',
|
||||
IF(MIN(metrics.counter.credit_cards_saved) IS NULL, NULL, COUNT(*))
|
||||
),
|
||||
(
|
||||
'credit_cards_saved',
|
||||
'counter',
|
||||
'',
|
||||
'max',
|
||||
max(CAST(metrics.counter.credit_cards_saved AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_saved',
|
||||
'counter',
|
||||
'',
|
||||
'min',
|
||||
min(CAST(metrics.counter.credit_cards_saved AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_saved',
|
||||
'counter',
|
||||
'',
|
||||
'sum',
|
||||
sum(CAST(metrics.counter.credit_cards_saved AS INT64))
|
||||
),
|
||||
(
|
||||
'engine_kill_background_age',
|
||||
'timespan',
|
||||
|
@ -1613,6 +1683,76 @@ unlabeled_metrics AS (
|
|||
'',
|
||||
'true',
|
||||
SUM(CAST(metrics.boolean.preferences_voice_search_enabled AS INT64))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_bookmark_clicked',
|
||||
'counter',
|
||||
'',
|
||||
'avg',
|
||||
avg(CAST(metrics.counter.recent_bookmarks_bookmark_clicked AS INT64))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_bookmark_clicked',
|
||||
'counter',
|
||||
'',
|
||||
'count',
|
||||
IF(MIN(metrics.counter.recent_bookmarks_bookmark_clicked) IS NULL, NULL, COUNT(*))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_bookmark_clicked',
|
||||
'counter',
|
||||
'',
|
||||
'max',
|
||||
max(CAST(metrics.counter.recent_bookmarks_bookmark_clicked AS INT64))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_bookmark_clicked',
|
||||
'counter',
|
||||
'',
|
||||
'min',
|
||||
min(CAST(metrics.counter.recent_bookmarks_bookmark_clicked AS INT64))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_bookmark_clicked',
|
||||
'counter',
|
||||
'',
|
||||
'sum',
|
||||
sum(CAST(metrics.counter.recent_bookmarks_bookmark_clicked AS INT64))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_show_all_bookmarks',
|
||||
'counter',
|
||||
'',
|
||||
'avg',
|
||||
avg(CAST(metrics.counter.recent_bookmarks_show_all_bookmarks AS INT64))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_show_all_bookmarks',
|
||||
'counter',
|
||||
'',
|
||||
'count',
|
||||
IF(MIN(metrics.counter.recent_bookmarks_show_all_bookmarks) IS NULL, NULL, COUNT(*))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_show_all_bookmarks',
|
||||
'counter',
|
||||
'',
|
||||
'max',
|
||||
max(CAST(metrics.counter.recent_bookmarks_show_all_bookmarks AS INT64))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_show_all_bookmarks',
|
||||
'counter',
|
||||
'',
|
||||
'min',
|
||||
min(CAST(metrics.counter.recent_bookmarks_show_all_bookmarks AS INT64))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_show_all_bookmarks',
|
||||
'counter',
|
||||
'',
|
||||
'sum',
|
||||
sum(CAST(metrics.counter.recent_bookmarks_show_all_bookmarks AS INT64))
|
||||
)
|
||||
] AS scalar_aggregates
|
||||
FROM
|
||||
|
@ -1636,9 +1776,16 @@ grouped_labeled_metrics AS (
|
|||
app_build_id,
|
||||
channel,
|
||||
ARRAY<STRUCT<name STRING, type STRING, value ARRAY<STRUCT<key STRING, value INT64>>>>[
|
||||
('avif_alpha', 'labeled_counter', metrics.labeled_counter.avif_alpha),
|
||||
('avif_bit_depth', 'labeled_counter', metrics.labeled_counter.avif_bit_depth),
|
||||
('avif_cicp_cp', 'labeled_counter', metrics.labeled_counter.avif_cicp_cp),
|
||||
('avif_cicp_mc', 'labeled_counter', metrics.labeled_counter.avif_cicp_mc),
|
||||
('avif_cicp_tc', 'labeled_counter', metrics.labeled_counter.avif_cicp_tc),
|
||||
('avif_colr', 'labeled_counter', metrics.labeled_counter.avif_colr),
|
||||
('avif_decode_result', 'labeled_counter', metrics.labeled_counter.avif_decode_result),
|
||||
('avif_decoder', 'labeled_counter', metrics.labeled_counter.avif_decoder),
|
||||
('avif_ispe', 'labeled_counter', metrics.labeled_counter.avif_ispe),
|
||||
('avif_pixi', 'labeled_counter', metrics.labeled_counter.avif_pixi),
|
||||
('avif_yuv_color_space', 'labeled_counter', metrics.labeled_counter.avif_yuv_color_space),
|
||||
(
|
||||
'browser_search_ad_clicks',
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
-- query for org_mozilla_fenix_glam_nightly__extract_sample_counts_v1;
|
||||
SELECT
|
||||
channel,
|
||||
app_version,
|
||||
metric,
|
||||
key,
|
||||
coalesce(ping_type, "*") AS ping_type,
|
||||
COALESCE(app_build_id, "*") AS app_build_id,
|
||||
IF(
|
||||
app_build_id = "*",
|
||||
NULL,
|
||||
SAFE_CAST(mozfun.glam.build_hour_to_datetime(app_build_id) AS STRING)
|
||||
) AS build_date,
|
||||
COALESCE(os, "*") AS os,
|
||||
total_sample
|
||||
FROM
|
||||
`glam_etl.org_mozilla_fenix_glam_nightly__view_sample_counts_v1`
|
|
@ -0,0 +1,28 @@
|
|||
fields:
|
||||
- mode: NULLABLE
|
||||
name: channel
|
||||
type: STRING
|
||||
- mode: NULLABLE
|
||||
name: app_version
|
||||
type: INTEGER
|
||||
- mode: NULLABLE
|
||||
name: metric
|
||||
type: STRING
|
||||
- mode: NULLABLE
|
||||
name: key
|
||||
type: STRING
|
||||
- mode: NULLABLE
|
||||
name: ping_type
|
||||
type: STRING
|
||||
- mode: NULLABLE
|
||||
name: app_build_id
|
||||
type: STRING
|
||||
- mode: NULLABLE
|
||||
name: build_date
|
||||
type: STRING
|
||||
- mode: NULLABLE
|
||||
name: os
|
||||
type: STRING
|
||||
- mode: NULLABLE
|
||||
name: total_sample
|
||||
type: INTEGER
|
|
@ -185,6 +185,14 @@ distribution_metadata AS (
|
|||
100 AS range_max,
|
||||
20 AS bucket_count,
|
||||
"linear" AS histogram_type
|
||||
),
|
||||
STRUCT(
|
||||
"custom_distribution" AS metric_type,
|
||||
"performance_clone_deserialize_items" AS metric,
|
||||
1 AS range_min,
|
||||
2147483646 AS range_max,
|
||||
50 AS bucket_count,
|
||||
"exponential" AS histogram_type
|
||||
)
|
||||
]
|
||||
)
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
fields:
|
||||
- name: ping_type
|
||||
type: STRING
|
||||
- name: os
|
||||
type: STRING
|
||||
- name: app_version
|
||||
type: INTEGER
|
||||
- name: app_build_id
|
||||
type: STRING
|
||||
- name: channel
|
||||
type: STRING
|
||||
- name: key
|
||||
type: STRING
|
||||
- name: metric
|
||||
type: STRING
|
||||
- name: total_sample
|
||||
type: INTEGER
|
|
@ -0,0 +1,71 @@
|
|||
-- view for org_mozilla_fenix_glam_nightly__view_sample_counts_v1;
|
||||
CREATE OR REPLACE VIEW
|
||||
`glam-fenix-dev.glam_etl.org_mozilla_fenix_glam_nightly__view_sample_counts_v1`
|
||||
AS
|
||||
WITH all_clients AS (
|
||||
SELECT
|
||||
ping_type,
|
||||
os,
|
||||
app_version,
|
||||
app_build_id,
|
||||
channel,
|
||||
key,
|
||||
metric,
|
||||
value
|
||||
FROM
|
||||
`glam-fenix-dev`.glam_etl.org_mozilla_fenix_glam_nightly__clients_histogram_aggregates_v1,
|
||||
UNNEST(histogram_aggregates) h1
|
||||
),
|
||||
-- Cross join with the attribute combinations to reduce the query complexity
|
||||
-- with respect to the number of operations. A table with n rows cross joined
|
||||
-- with a combination of m attributes will generate a new table with n*m rows.
|
||||
-- The glob ("*") symbol can be understood as selecting all of values belonging
|
||||
-- to that group.
|
||||
static_combos AS (
|
||||
SELECT
|
||||
combos.*
|
||||
FROM
|
||||
UNNEST(
|
||||
ARRAY<STRUCT<ping_type STRING, os STRING, app_build_id STRING>>[
|
||||
(NULL, NULL, NULL),
|
||||
(NULL, NULL, "*"),
|
||||
(NULL, "*", NULL),
|
||||
("*", NULL, NULL),
|
||||
(NULL, "*", "*"),
|
||||
("*", NULL, "*"),
|
||||
("*", "*", NULL),
|
||||
("*", "*", "*")
|
||||
]
|
||||
) AS combos
|
||||
),
|
||||
all_combos AS (
|
||||
SELECT
|
||||
table.* EXCEPT (ping_type, os, app_build_id),
|
||||
COALESCE(combo.ping_type, table.ping_type) AS ping_type,
|
||||
COALESCE(combo.os, table.os) AS os,
|
||||
COALESCE(combo.app_build_id, table.app_build_id) AS app_build_id
|
||||
FROM
|
||||
all_clients table
|
||||
CROSS JOIN
|
||||
static_combos combo
|
||||
)
|
||||
SELECT
|
||||
ping_type,
|
||||
os,
|
||||
app_version,
|
||||
app_build_id,
|
||||
channel,
|
||||
all_combos.key,
|
||||
metric,
|
||||
SUM(v1.value) AS total_sample
|
||||
FROM
|
||||
all_combos,
|
||||
UNNEST(value) AS v1
|
||||
GROUP BY
|
||||
ping_type,
|
||||
os,
|
||||
app_version,
|
||||
app_build_id,
|
||||
channel,
|
||||
key,
|
||||
metric
|
|
@ -238,6 +238,41 @@ unlabeled_metrics AS (
|
|||
'sum',
|
||||
sum(CAST(metrics.counter.credit_cards_delete_card AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_deleted',
|
||||
'counter',
|
||||
'',
|
||||
'avg',
|
||||
avg(CAST(metrics.counter.credit_cards_deleted AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_deleted',
|
||||
'counter',
|
||||
'',
|
||||
'count',
|
||||
IF(MIN(metrics.counter.credit_cards_deleted) IS NULL, NULL, COUNT(*))
|
||||
),
|
||||
(
|
||||
'credit_cards_deleted',
|
||||
'counter',
|
||||
'',
|
||||
'max',
|
||||
max(CAST(metrics.counter.credit_cards_deleted AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_deleted',
|
||||
'counter',
|
||||
'',
|
||||
'min',
|
||||
min(CAST(metrics.counter.credit_cards_deleted AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_deleted',
|
||||
'counter',
|
||||
'',
|
||||
'sum',
|
||||
sum(CAST(metrics.counter.credit_cards_deleted AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_manual_save',
|
||||
'counter',
|
||||
|
@ -273,6 +308,41 @@ unlabeled_metrics AS (
|
|||
'sum',
|
||||
sum(CAST(metrics.counter.credit_cards_manual_save AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_saved',
|
||||
'counter',
|
||||
'',
|
||||
'avg',
|
||||
avg(CAST(metrics.counter.credit_cards_saved AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_saved',
|
||||
'counter',
|
||||
'',
|
||||
'count',
|
||||
IF(MIN(metrics.counter.credit_cards_saved) IS NULL, NULL, COUNT(*))
|
||||
),
|
||||
(
|
||||
'credit_cards_saved',
|
||||
'counter',
|
||||
'',
|
||||
'max',
|
||||
max(CAST(metrics.counter.credit_cards_saved AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_saved',
|
||||
'counter',
|
||||
'',
|
||||
'min',
|
||||
min(CAST(metrics.counter.credit_cards_saved AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_saved',
|
||||
'counter',
|
||||
'',
|
||||
'sum',
|
||||
sum(CAST(metrics.counter.credit_cards_saved AS INT64))
|
||||
),
|
||||
(
|
||||
'engine_kill_background_age',
|
||||
'timespan',
|
||||
|
@ -1613,6 +1683,76 @@ unlabeled_metrics AS (
|
|||
'',
|
||||
'true',
|
||||
SUM(CAST(metrics.boolean.preferences_voice_search_enabled AS INT64))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_bookmark_clicked',
|
||||
'counter',
|
||||
'',
|
||||
'avg',
|
||||
avg(CAST(metrics.counter.recent_bookmarks_bookmark_clicked AS INT64))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_bookmark_clicked',
|
||||
'counter',
|
||||
'',
|
||||
'count',
|
||||
IF(MIN(metrics.counter.recent_bookmarks_bookmark_clicked) IS NULL, NULL, COUNT(*))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_bookmark_clicked',
|
||||
'counter',
|
||||
'',
|
||||
'max',
|
||||
max(CAST(metrics.counter.recent_bookmarks_bookmark_clicked AS INT64))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_bookmark_clicked',
|
||||
'counter',
|
||||
'',
|
||||
'min',
|
||||
min(CAST(metrics.counter.recent_bookmarks_bookmark_clicked AS INT64))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_bookmark_clicked',
|
||||
'counter',
|
||||
'',
|
||||
'sum',
|
||||
sum(CAST(metrics.counter.recent_bookmarks_bookmark_clicked AS INT64))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_show_all_bookmarks',
|
||||
'counter',
|
||||
'',
|
||||
'avg',
|
||||
avg(CAST(metrics.counter.recent_bookmarks_show_all_bookmarks AS INT64))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_show_all_bookmarks',
|
||||
'counter',
|
||||
'',
|
||||
'count',
|
||||
IF(MIN(metrics.counter.recent_bookmarks_show_all_bookmarks) IS NULL, NULL, COUNT(*))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_show_all_bookmarks',
|
||||
'counter',
|
||||
'',
|
||||
'max',
|
||||
max(CAST(metrics.counter.recent_bookmarks_show_all_bookmarks AS INT64))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_show_all_bookmarks',
|
||||
'counter',
|
||||
'',
|
||||
'min',
|
||||
min(CAST(metrics.counter.recent_bookmarks_show_all_bookmarks AS INT64))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_show_all_bookmarks',
|
||||
'counter',
|
||||
'',
|
||||
'sum',
|
||||
sum(CAST(metrics.counter.recent_bookmarks_show_all_bookmarks AS INT64))
|
||||
)
|
||||
] AS scalar_aggregates
|
||||
FROM
|
||||
|
@ -1636,9 +1776,16 @@ grouped_labeled_metrics AS (
|
|||
app_build_id,
|
||||
channel,
|
||||
ARRAY<STRUCT<name STRING, type STRING, value ARRAY<STRUCT<key STRING, value INT64>>>>[
|
||||
('avif_alpha', 'labeled_counter', metrics.labeled_counter.avif_alpha),
|
||||
('avif_bit_depth', 'labeled_counter', metrics.labeled_counter.avif_bit_depth),
|
||||
('avif_cicp_cp', 'labeled_counter', metrics.labeled_counter.avif_cicp_cp),
|
||||
('avif_cicp_mc', 'labeled_counter', metrics.labeled_counter.avif_cicp_mc),
|
||||
('avif_cicp_tc', 'labeled_counter', metrics.labeled_counter.avif_cicp_tc),
|
||||
('avif_colr', 'labeled_counter', metrics.labeled_counter.avif_colr),
|
||||
('avif_decode_result', 'labeled_counter', metrics.labeled_counter.avif_decode_result),
|
||||
('avif_decoder', 'labeled_counter', metrics.labeled_counter.avif_decoder),
|
||||
('avif_ispe', 'labeled_counter', metrics.labeled_counter.avif_ispe),
|
||||
('avif_pixi', 'labeled_counter', metrics.labeled_counter.avif_pixi),
|
||||
('avif_yuv_color_space', 'labeled_counter', metrics.labeled_counter.avif_yuv_color_space),
|
||||
(
|
||||
'browser_search_ad_clicks',
|
||||
|
|
|
@ -238,6 +238,41 @@ unlabeled_metrics AS (
|
|||
'sum',
|
||||
sum(CAST(metrics.counter.credit_cards_delete_card AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_deleted',
|
||||
'counter',
|
||||
'',
|
||||
'avg',
|
||||
avg(CAST(metrics.counter.credit_cards_deleted AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_deleted',
|
||||
'counter',
|
||||
'',
|
||||
'count',
|
||||
IF(MIN(metrics.counter.credit_cards_deleted) IS NULL, NULL, COUNT(*))
|
||||
),
|
||||
(
|
||||
'credit_cards_deleted',
|
||||
'counter',
|
||||
'',
|
||||
'max',
|
||||
max(CAST(metrics.counter.credit_cards_deleted AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_deleted',
|
||||
'counter',
|
||||
'',
|
||||
'min',
|
||||
min(CAST(metrics.counter.credit_cards_deleted AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_deleted',
|
||||
'counter',
|
||||
'',
|
||||
'sum',
|
||||
sum(CAST(metrics.counter.credit_cards_deleted AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_manual_save',
|
||||
'counter',
|
||||
|
@ -273,6 +308,41 @@ unlabeled_metrics AS (
|
|||
'sum',
|
||||
sum(CAST(metrics.counter.credit_cards_manual_save AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_saved',
|
||||
'counter',
|
||||
'',
|
||||
'avg',
|
||||
avg(CAST(metrics.counter.credit_cards_saved AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_saved',
|
||||
'counter',
|
||||
'',
|
||||
'count',
|
||||
IF(MIN(metrics.counter.credit_cards_saved) IS NULL, NULL, COUNT(*))
|
||||
),
|
||||
(
|
||||
'credit_cards_saved',
|
||||
'counter',
|
||||
'',
|
||||
'max',
|
||||
max(CAST(metrics.counter.credit_cards_saved AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_saved',
|
||||
'counter',
|
||||
'',
|
||||
'min',
|
||||
min(CAST(metrics.counter.credit_cards_saved AS INT64))
|
||||
),
|
||||
(
|
||||
'credit_cards_saved',
|
||||
'counter',
|
||||
'',
|
||||
'sum',
|
||||
sum(CAST(metrics.counter.credit_cards_saved AS INT64))
|
||||
),
|
||||
(
|
||||
'engine_kill_background_age',
|
||||
'timespan',
|
||||
|
@ -1613,6 +1683,76 @@ unlabeled_metrics AS (
|
|||
'',
|
||||
'true',
|
||||
SUM(CAST(metrics.boolean.preferences_voice_search_enabled AS INT64))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_bookmark_clicked',
|
||||
'counter',
|
||||
'',
|
||||
'avg',
|
||||
avg(CAST(metrics.counter.recent_bookmarks_bookmark_clicked AS INT64))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_bookmark_clicked',
|
||||
'counter',
|
||||
'',
|
||||
'count',
|
||||
IF(MIN(metrics.counter.recent_bookmarks_bookmark_clicked) IS NULL, NULL, COUNT(*))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_bookmark_clicked',
|
||||
'counter',
|
||||
'',
|
||||
'max',
|
||||
max(CAST(metrics.counter.recent_bookmarks_bookmark_clicked AS INT64))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_bookmark_clicked',
|
||||
'counter',
|
||||
'',
|
||||
'min',
|
||||
min(CAST(metrics.counter.recent_bookmarks_bookmark_clicked AS INT64))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_bookmark_clicked',
|
||||
'counter',
|
||||
'',
|
||||
'sum',
|
||||
sum(CAST(metrics.counter.recent_bookmarks_bookmark_clicked AS INT64))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_show_all_bookmarks',
|
||||
'counter',
|
||||
'',
|
||||
'avg',
|
||||
avg(CAST(metrics.counter.recent_bookmarks_show_all_bookmarks AS INT64))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_show_all_bookmarks',
|
||||
'counter',
|
||||
'',
|
||||
'count',
|
||||
IF(MIN(metrics.counter.recent_bookmarks_show_all_bookmarks) IS NULL, NULL, COUNT(*))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_show_all_bookmarks',
|
||||
'counter',
|
||||
'',
|
||||
'max',
|
||||
max(CAST(metrics.counter.recent_bookmarks_show_all_bookmarks AS INT64))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_show_all_bookmarks',
|
||||
'counter',
|
||||
'',
|
||||
'min',
|
||||
min(CAST(metrics.counter.recent_bookmarks_show_all_bookmarks AS INT64))
|
||||
),
|
||||
(
|
||||
'recent_bookmarks_show_all_bookmarks',
|
||||
'counter',
|
||||
'',
|
||||
'sum',
|
||||
sum(CAST(metrics.counter.recent_bookmarks_show_all_bookmarks AS INT64))
|
||||
)
|
||||
] AS scalar_aggregates
|
||||
FROM
|
||||
|
@ -1636,9 +1776,16 @@ grouped_labeled_metrics AS (
|
|||
app_build_id,
|
||||
channel,
|
||||
ARRAY<STRUCT<name STRING, type STRING, value ARRAY<STRUCT<key STRING, value INT64>>>>[
|
||||
('avif_alpha', 'labeled_counter', metrics.labeled_counter.avif_alpha),
|
||||
('avif_bit_depth', 'labeled_counter', metrics.labeled_counter.avif_bit_depth),
|
||||
('avif_cicp_cp', 'labeled_counter', metrics.labeled_counter.avif_cicp_cp),
|
||||
('avif_cicp_mc', 'labeled_counter', metrics.labeled_counter.avif_cicp_mc),
|
||||
('avif_cicp_tc', 'labeled_counter', metrics.labeled_counter.avif_cicp_tc),
|
||||
('avif_colr', 'labeled_counter', metrics.labeled_counter.avif_colr),
|
||||
('avif_decode_result', 'labeled_counter', metrics.labeled_counter.avif_decode_result),
|
||||
('avif_decoder', 'labeled_counter', metrics.labeled_counter.avif_decoder),
|
||||
('avif_ispe', 'labeled_counter', metrics.labeled_counter.avif_ispe),
|
||||
('avif_pixi', 'labeled_counter', metrics.labeled_counter.avif_pixi),
|
||||
('avif_yuv_color_space', 'labeled_counter', metrics.labeled_counter.avif_yuv_color_space),
|
||||
(
|
||||
'browser_search_ad_clicks',
|
||||
|
|
Загрузка…
Ссылка в новой задаче