correcting minimum client count - desktop and fenix (#2544)
* correcting minimum client count - desktop and fenix * corrected test cases for desktop * corrected the join for desktop
This commit is contained in:
Родитель
a6523d1960
Коммит
5b743090b4
|
@ -145,6 +145,11 @@ def main():
|
|||
"minimum": 1,
|
||||
"description": "The number of users to filter the data on.",
|
||||
},
|
||||
"minimum_client_count": {
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"description": "The minimum client count for each build id.",
|
||||
},
|
||||
},
|
||||
"required": [
|
||||
"build_date_udf",
|
||||
|
@ -159,19 +164,22 @@ def main():
|
|||
"build_date_udf": "mozfun.glam.build_hour_to_datetime",
|
||||
"filter_version": True,
|
||||
"num_versions_to_keep": 3,
|
||||
"total_users": 800,
|
||||
"total_users": 10,
|
||||
"minimum_client_count": 800,
|
||||
},
|
||||
"org_mozilla_fenix_glam_beta": {
|
||||
"build_date_udf": "mozfun.glam.build_hour_to_datetime",
|
||||
"filter_version": True,
|
||||
"num_versions_to_keep": 3,
|
||||
"total_users": 2000,
|
||||
"total_users": 10,
|
||||
"minimum_client_count": 2000,
|
||||
},
|
||||
"org_mozilla_fenix_glam_release": {
|
||||
"build_date_udf": "mozfun.glam.build_hour_to_datetime",
|
||||
"filter_version": True,
|
||||
"num_versions_to_keep": 3,
|
||||
"total_users": 90000,
|
||||
"total_users": 10,
|
||||
"minimum_client_count": 90000,
|
||||
},
|
||||
"firefox_desktop_glam_nightly": {
|
||||
"build_date_udf": "mozfun.glam.build_hour_to_datetime",
|
||||
|
@ -242,13 +250,15 @@ def main():
|
|||
table(
|
||||
"scalar_bucket_counts_v1",
|
||||
**models.scalar_bucket_counts(
|
||||
source_table=f"glam_etl.{args.prefix}__clients_scalar_aggregates_v1"
|
||||
source_table=f"glam_etl.{args.prefix}__clients_scalar_aggregates_v1",
|
||||
**config[args.prefix],
|
||||
),
|
||||
),
|
||||
table(
|
||||
"histogram_bucket_counts_v1",
|
||||
**models.histogram_bucket_counts(
|
||||
source_table=f"glam_etl.{args.prefix}__clients_histogram_aggregates_v1"
|
||||
source_table=f"glam_etl.{args.prefix}__clients_histogram_aggregates_v1",
|
||||
**config[args.prefix],
|
||||
),
|
||||
),
|
||||
table(
|
||||
|
|
|
@ -10,6 +10,17 @@ WITH
|
|||
attribute_combinations
|
||||
)
|
||||
}},
|
||||
build_ids AS (
|
||||
SELECT
|
||||
app_build_id,
|
||||
channel,
|
||||
FROM
|
||||
all_combos
|
||||
GROUP BY
|
||||
1,
|
||||
2
|
||||
HAVING
|
||||
COUNT(DISTINCT client_id) > {{ minimum_client_count }}),
|
||||
normalized_histograms AS (
|
||||
SELECT
|
||||
{{ attributes }},
|
||||
|
@ -34,6 +45,8 @@ unnested AS (
|
|||
normalized_histograms,
|
||||
UNNEST(histogram_aggregates) AS histogram_aggregates,
|
||||
UNNEST(aggregates) AS aggregates
|
||||
INNER JOIN build_ids
|
||||
USING (app_build_id,channel)
|
||||
),
|
||||
-- Find information that can be used to construct the bucket range. Most of the
|
||||
-- distributions follow a bucketing rule of 8*log2(n). This doesn't apply to the
|
||||
|
|
|
@ -22,6 +22,17 @@ bucketed_booleans AS (
|
|||
FROM
|
||||
all_combos
|
||||
),
|
||||
build_ids AS (
|
||||
SELECT
|
||||
app_build_id,
|
||||
channel,
|
||||
FROM
|
||||
all_combos
|
||||
GROUP BY
|
||||
1,
|
||||
2
|
||||
HAVING
|
||||
COUNT(DISTINCT client_id) > {{ minimum_client_count }}),
|
||||
log_min_max AS (
|
||||
SELECT
|
||||
metric,
|
||||
|
@ -92,6 +103,14 @@ booleans_and_scalars AS (
|
|||
bucket
|
||||
FROM
|
||||
bucketed_scalars
|
||||
),
|
||||
valid_booleans_scalars AS (
|
||||
SELECT *
|
||||
FROM booleans_and_scalars
|
||||
INNER JOIN
|
||||
build_ids
|
||||
USING
|
||||
(app_build_id, channel)
|
||||
)
|
||||
SELECT
|
||||
{{ attributes }},
|
||||
|
@ -105,7 +124,7 @@ SELECT
|
|||
-- we could rely on count(*) because there is one row per client and bucket
|
||||
COUNT(DISTINCT client_id) AS count
|
||||
FROM
|
||||
booleans_and_scalars
|
||||
valid_booleans_scalars
|
||||
GROUP BY
|
||||
{{ attributes }},
|
||||
{{ aggregate_attributes }},
|
||||
|
|
|
@ -33,6 +33,18 @@ all_combos AS (
|
|||
CROSS JOIN
|
||||
static_combos combo
|
||||
),
|
||||
build_ids AS (
|
||||
SELECT
|
||||
app_build_id,
|
||||
channel,
|
||||
FROM
|
||||
all_combos
|
||||
GROUP BY
|
||||
1,
|
||||
2
|
||||
HAVING
|
||||
COUNT(DISTINCT client_id) > 800
|
||||
),
|
||||
normalized_histograms AS (
|
||||
SELECT
|
||||
ping_type,
|
||||
|
@ -70,6 +82,10 @@ unnested AS (
|
|||
normalized_histograms,
|
||||
UNNEST(histogram_aggregates) AS histogram_aggregates,
|
||||
UNNEST(aggregates) AS aggregates
|
||||
INNER JOIN
|
||||
build_ids
|
||||
USING
|
||||
(app_build_id, channel)
|
||||
),
|
||||
-- Find information that can be used to construct the bucket range. Most of the
|
||||
-- distributions follow a bucketing rule of 8*log2(n). This doesn't apply to the
|
||||
|
@ -82,6 +98,14 @@ distribution_metadata AS (
|
|||
FROM
|
||||
UNNEST(
|
||||
[
|
||||
STRUCT(
|
||||
"custom_distribution" AS metric_type,
|
||||
"search_terms_group_size_distribution" AS metric,
|
||||
1 AS range_min,
|
||||
4 AS range_max,
|
||||
5 AS bucket_count,
|
||||
"linear" AS histogram_type
|
||||
),
|
||||
STRUCT(
|
||||
"custom_distribution" AS metric_type,
|
||||
"geckoview_document_site_origins" AS metric,
|
||||
|
|
|
@ -138,6 +138,18 @@ bucketed_booleans AS (
|
|||
FROM
|
||||
all_combos
|
||||
),
|
||||
build_ids AS (
|
||||
SELECT
|
||||
app_build_id,
|
||||
channel,
|
||||
FROM
|
||||
all_combos
|
||||
GROUP BY
|
||||
1,
|
||||
2
|
||||
HAVING
|
||||
COUNT(DISTINCT client_id) > 800
|
||||
),
|
||||
log_min_max AS (
|
||||
SELECT
|
||||
metric,
|
||||
|
@ -237,6 +249,16 @@ booleans_and_scalars AS (
|
|||
bucket
|
||||
FROM
|
||||
bucketed_scalars
|
||||
),
|
||||
valid_booleans_scalars AS (
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
booleans_and_scalars
|
||||
INNER JOIN
|
||||
build_ids
|
||||
USING
|
||||
(app_build_id, channel)
|
||||
)
|
||||
SELECT
|
||||
ping_type,
|
||||
|
@ -256,7 +278,7 @@ SELECT
|
|||
-- we could rely on count(*) because there is one row per client and bucket
|
||||
COUNT(DISTINCT client_id) AS count
|
||||
FROM
|
||||
booleans_and_scalars
|
||||
valid_booleans_scalars
|
||||
GROUP BY
|
||||
ping_type,
|
||||
os,
|
||||
|
|
|
@ -44,6 +44,33 @@ static_combos AS (
|
|||
'*' AS os,
|
||||
'*' AS app_build_id
|
||||
),
|
||||
build_ids AS (
|
||||
SELECT
|
||||
app_build_id,
|
||||
channel,
|
||||
FROM
|
||||
filtered_data
|
||||
GROUP BY
|
||||
1,
|
||||
2
|
||||
HAVING
|
||||
CASE
|
||||
WHEN
|
||||
channel = 'release'
|
||||
THEN
|
||||
COUNT(DISTINCT client_id) > 625000
|
||||
WHEN
|
||||
channel = 'beta'
|
||||
THEN
|
||||
COUNT(DISTINCT client_id) > 9000
|
||||
WHEN
|
||||
channel = 'nightly'
|
||||
THEN
|
||||
COUNT(DISTINCT client_id) > 375
|
||||
ELSE
|
||||
COUNT(DISTINCT client_id) > 100
|
||||
END
|
||||
),
|
||||
all_combos AS (
|
||||
SELECT
|
||||
* EXCEPT (os, app_build_id),
|
||||
|
@ -51,6 +78,10 @@ all_combos AS (
|
|||
COALESCE(combo.app_build_id, table.app_build_id) AS app_build_id
|
||||
FROM
|
||||
filtered_data table
|
||||
INNER JOIN
|
||||
build_ids
|
||||
USING
|
||||
(app_build_id, channel)
|
||||
CROSS JOIN
|
||||
static_combos combo
|
||||
),
|
||||
|
|
|
@ -122,20 +122,47 @@ user_aggregates AS (
|
|||
app_version,
|
||||
app_build_id,
|
||||
channel),
|
||||
|
||||
build_ids AS (
|
||||
SELECT
|
||||
app_build_id,
|
||||
channel,
|
||||
FROM
|
||||
user_aggregates
|
||||
GROUP BY
|
||||
1,
|
||||
2
|
||||
HAVING
|
||||
CASE
|
||||
WHEN
|
||||
channel = 'release'
|
||||
THEN
|
||||
SUM(user_count) > 625000
|
||||
WHEN
|
||||
channel = 'beta'
|
||||
THEN
|
||||
SUM(user_count) > 9000
|
||||
WHEN
|
||||
channel = 'nightly'
|
||||
THEN
|
||||
SUM(user_count) > 375
|
||||
ELSE
|
||||
SUM(user_count) > 100
|
||||
END
|
||||
),
|
||||
bucketed_booleans AS (
|
||||
SELECT
|
||||
client_id,
|
||||
os,
|
||||
app_version,
|
||||
app_build_id,
|
||||
user_aggregates.app_build_id,
|
||||
channel,
|
||||
user_count,
|
||||
os = 'Windows' and channel = 'release' AS sampled,
|
||||
os = 'Windows'
|
||||
AND channel = 'release' AS sampled,
|
||||
udf_boolean_buckets(scalar_aggregates) AS scalar_aggregates
|
||||
FROM
|
||||
user_aggregates),
|
||||
|
||||
user_aggregates
|
||||
),
|
||||
bucketed_scalars AS (
|
||||
SELECT
|
||||
client_id,
|
||||
|
@ -144,32 +171,55 @@ bucketed_scalars AS (
|
|||
app_build_id,
|
||||
channel,
|
||||
user_count,
|
||||
os = 'Windows' and channel = 'release' AS sampled,
|
||||
os = 'Windows'
|
||||
AND channel = 'release' AS sampled,
|
||||
metric,
|
||||
metric_type,
|
||||
key,
|
||||
process,
|
||||
agg_type,
|
||||
-- Keep two decimal places before converting bucket to a string
|
||||
SAFE_CAST(FORMAT("%.*f", 2, mozfun.glam.histogram_bucket_from_value(buckets, SAFE_CAST(value AS FLOAT64)) + 0.0001) AS STRING) AS bucket
|
||||
SAFE_CAST(
|
||||
FORMAT(
|
||||
"%.*f",
|
||||
2,
|
||||
mozfun.glam.histogram_bucket_from_value(buckets, SAFE_CAST(value AS FLOAT64)) + 0.0001
|
||||
) AS STRING
|
||||
) AS bucket
|
||||
FROM
|
||||
user_aggregates
|
||||
CROSS JOIN UNNEST(scalar_aggregates)
|
||||
LEFT JOIN buckets_by_metric
|
||||
USING(metric, key)
|
||||
CROSS JOIN
|
||||
UNNEST(scalar_aggregates)
|
||||
LEFT JOIN
|
||||
buckets_by_metric
|
||||
USING
|
||||
(metric, key)
|
||||
WHERE
|
||||
metric_type = 'scalar' OR metric_type = 'keyed-scalar'),
|
||||
|
||||
metric_type = 'scalar'
|
||||
OR metric_type = 'keyed-scalar'
|
||||
),
|
||||
booleans_and_scalars AS (
|
||||
SELECT * EXCEPT(scalar_aggregates)
|
||||
FROM bucketed_booleans
|
||||
CROSS JOIN UNNEST(scalar_aggregates)
|
||||
|
||||
SELECT
|
||||
* EXCEPT (scalar_aggregates)
|
||||
FROM
|
||||
bucketed_booleans
|
||||
CROSS JOIN
|
||||
UNNEST(scalar_aggregates)
|
||||
UNION ALL
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
bucketed_scalars
|
||||
),
|
||||
|
||||
valid_booleans_scalars AS (
|
||||
SELECT *
|
||||
FROM bucketed_scalars),
|
||||
|
||||
FROM booleans_and_scalars
|
||||
INNER JOIN
|
||||
build_ids
|
||||
USING
|
||||
(app_build_id, channel)
|
||||
),
|
||||
clients_scalar_bucket_counts AS (
|
||||
SELECT
|
||||
os,
|
||||
|
@ -184,7 +234,8 @@ clients_scalar_bucket_counts AS (
|
|||
'histogram' AS agg_type,
|
||||
bucket,
|
||||
SUM(user_count) AS user_count,
|
||||
FROM booleans_and_scalars
|
||||
FROM
|
||||
valid_booleans_scalars
|
||||
GROUP BY
|
||||
os,
|
||||
app_version,
|
||||
|
@ -195,8 +246,8 @@ clients_scalar_bucket_counts AS (
|
|||
key,
|
||||
process,
|
||||
client_agg_type,
|
||||
bucket)
|
||||
|
||||
bucket
|
||||
)
|
||||
SELECT
|
||||
os,
|
||||
app_version,
|
||||
|
@ -214,20 +265,30 @@ SELECT
|
|||
agg_type,
|
||||
SUM(user_count) AS total_users,
|
||||
CASE
|
||||
WHEN metric_type = 'scalar' OR metric_type = 'keyed-scalar'
|
||||
THEN mozfun.glam.histogram_fill_buckets(
|
||||
WHEN
|
||||
metric_type = 'scalar'
|
||||
OR metric_type = 'keyed-scalar'
|
||||
THEN
|
||||
mozfun.glam.histogram_fill_buckets(
|
||||
ARRAY_AGG(STRUCT<key STRING, value FLOAT64>(bucket, user_count)),
|
||||
ANY_VALUE(buckets)
|
||||
)
|
||||
WHEN metric_type = 'boolean' OR metric_type = 'keyed-scalar-boolean'
|
||||
THEN mozfun.glam.histogram_fill_buckets(
|
||||
WHEN
|
||||
metric_type = 'boolean'
|
||||
OR metric_type = 'keyed-scalar-boolean'
|
||||
THEN
|
||||
mozfun.glam.histogram_fill_buckets(
|
||||
ARRAY_AGG(STRUCT<key STRING, value FLOAT64>(bucket, user_count)),
|
||||
['always','never','sometimes'])
|
||||
END AS aggregates
|
||||
['always', 'never', 'sometimes']
|
||||
)
|
||||
END
|
||||
AS aggregates
|
||||
FROM
|
||||
clients_scalar_bucket_counts
|
||||
LEFT JOIN buckets_by_metric
|
||||
USING(metric, key)
|
||||
LEFT JOIN
|
||||
buckets_by_metric
|
||||
USING
|
||||
(metric, key)
|
||||
GROUP BY
|
||||
os,
|
||||
app_version,
|
||||
|
|
|
@ -1,61 +1,24 @@
|
|||
WITH client_counts AS (
|
||||
SELECT
|
||||
channel,
|
||||
app_version,
|
||||
COALESCE(os, "*") AS os,
|
||||
COALESCE(app_build_id, "*") AS app_build_id,
|
||||
process,
|
||||
metric,
|
||||
-- BigQuery has some null unicode characters which Postgresql doesn't like, so we remove those here.
|
||||
-- Also limit string length to 200 to match column length.
|
||||
SUBSTR(REPLACE(key, r"\x00", ""), 0, 200) AS key,
|
||||
client_agg_type,
|
||||
metric_type,
|
||||
total_users,
|
||||
agg_type,
|
||||
aggregates,
|
||||
CASE
|
||||
WHEN
|
||||
channel = 'release'
|
||||
THEN
|
||||
total_users > 625000
|
||||
WHEN
|
||||
channel = 'beta'
|
||||
THEN
|
||||
total_users > 9000
|
||||
WHEN
|
||||
channel = 'nightly'
|
||||
THEN
|
||||
total_users > 375
|
||||
ELSE
|
||||
total_users > 100
|
||||
END
|
||||
AS user_count_check
|
||||
FROM
|
||||
`moz-fx-data-shared-prod.telemetry.client_probe_counts`
|
||||
WHERE
|
||||
channel = @channel
|
||||
AND app_version IS NOT NULL
|
||||
)
|
||||
SELECT
|
||||
app_version,
|
||||
os,
|
||||
app_build_id,
|
||||
COALESCE(os, "*") AS os,
|
||||
COALESCE(app_build_id, "*") AS app_build_id,
|
||||
process,
|
||||
metric,
|
||||
key,
|
||||
-- BigQuery has some null unicode characters which Postgresql doesn't like, so we remove those here.
|
||||
-- Also limit string length to 200 to match column length.
|
||||
SUBSTR(REPLACE(key, r"\x00", ""), 0, 200) AS key,
|
||||
client_agg_type,
|
||||
metric_type,
|
||||
total_users,
|
||||
-- Using MAX instead of COALESCE since this is not in the GROUP BY.
|
||||
MAX(IF(agg_type = "histogram", mozfun.glam.histogram_cast_json(aggregates), NULL)) AS histogram,
|
||||
MAX(
|
||||
IF(agg_type = "percentiles", mozfun.glam.histogram_cast_json(aggregates), NULL)
|
||||
) AS percentiles
|
||||
FROM
|
||||
client_counts
|
||||
`moz-fx-data-shared-prod.telemetry.client_probe_counts`
|
||||
WHERE
|
||||
user_count_check
|
||||
channel = @channel
|
||||
AND app_version IS NOT NULL
|
||||
GROUP BY
|
||||
channel,
|
||||
app_version,
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
from itertools import product
|
||||
from pathlib import Path
|
||||
from uuid import uuid4
|
||||
|
||||
import yaml
|
||||
|
||||
|
@ -12,13 +13,14 @@ SUBMISSION_DATE = "2020-10-01"
|
|||
APP_BUILD_ID = "2020100100"
|
||||
OS = "Android"
|
||||
PING_TYPE = "metrics"
|
||||
|
||||
MININUM_CLIENT_COUNT = 900
|
||||
# See the scalar_bucket_counts minimal example for more details on the
|
||||
# preconditions.
|
||||
CLIENTS_HISTOGRAM_AGGREGATES = [
|
||||
{
|
||||
CLIENTS_HISTOGRAM_AGGREGATES = []
|
||||
for i in range(MININUM_CLIENT_COUNT):
|
||||
data = {
|
||||
"sample_id": 1,
|
||||
"client_id": UUID,
|
||||
"client_id": str(uuid4()),
|
||||
"ping_type": PING_TYPE,
|
||||
"os": OS,
|
||||
"app_version": 84,
|
||||
|
@ -37,7 +39,7 @@ CLIENTS_HISTOGRAM_AGGREGATES = [
|
|||
}
|
||||
],
|
||||
}
|
||||
]
|
||||
CLIENTS_HISTOGRAM_AGGREGATES.append(data)
|
||||
|
||||
BASE_ROW = {
|
||||
"agg_type": "summed_histogram",
|
||||
|
|
|
@ -1,82 +1,16 @@
|
|||
- agg_type: summed_histogram
|
||||
app_build_id: '2020100100'
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: Android
|
||||
ping_type: metrics
|
||||
os: '*'
|
||||
ping_type: '*'
|
||||
range_max: 2
|
||||
record: &id001
|
||||
record:
|
||||
key: '1'
|
||||
value: 1.0
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: Android
|
||||
ping_type: metrics
|
||||
range_max: 2
|
||||
record: *id001
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: '*'
|
||||
ping_type: metrics
|
||||
range_max: 2
|
||||
record: *id001
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: '*'
|
||||
ping_type: metrics
|
||||
range_max: 2
|
||||
record: *id001
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: Android
|
||||
ping_type: '*'
|
||||
range_max: 2
|
||||
record: *id001
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: Android
|
||||
ping_type: '*'
|
||||
range_max: 2
|
||||
record: *id001
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: '*'
|
||||
ping_type: '*'
|
||||
range_max: 2
|
||||
record: *id001
|
||||
value: 900.0
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
|
@ -87,18 +21,59 @@
|
|||
os: '*'
|
||||
ping_type: '*'
|
||||
range_max: 2
|
||||
record: *id001
|
||||
record:
|
||||
key: '2'
|
||||
value: 0.0
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '2020100100'
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: '*'
|
||||
ping_type: metrics
|
||||
range_max: 2
|
||||
record:
|
||||
key: '1'
|
||||
value: 900.0
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: '*'
|
||||
ping_type: metrics
|
||||
range_max: 2
|
||||
record:
|
||||
key: '2'
|
||||
value: 0.0
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: Android
|
||||
ping_type: metrics
|
||||
ping_type: '*'
|
||||
range_max: 2
|
||||
record: &id002
|
||||
record:
|
||||
key: '1'
|
||||
value: 900.0
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: Android
|
||||
ping_type: '*'
|
||||
range_max: 2
|
||||
record:
|
||||
key: '2'
|
||||
value: 0.0
|
||||
- agg_type: summed_histogram
|
||||
|
@ -111,7 +86,48 @@
|
|||
os: Android
|
||||
ping_type: metrics
|
||||
range_max: 2
|
||||
record: *id002
|
||||
record:
|
||||
key: '1'
|
||||
value: 900.0
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: Android
|
||||
ping_type: metrics
|
||||
range_max: 2
|
||||
record:
|
||||
key: '2'
|
||||
value: 0.0
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: '*'
|
||||
ping_type: '*'
|
||||
range_max: 2
|
||||
record:
|
||||
key: '1'
|
||||
value: 900.0
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: '*'
|
||||
ping_type: '*'
|
||||
range_max: 2
|
||||
record:
|
||||
key: '2'
|
||||
value: 0.0
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
|
@ -122,9 +138,11 @@
|
|||
os: '*'
|
||||
ping_type: metrics
|
||||
range_max: 2
|
||||
record: *id002
|
||||
record:
|
||||
key: '1'
|
||||
value: 900.0
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '*'
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
|
@ -133,7 +151,9 @@
|
|||
os: '*'
|
||||
ping_type: metrics
|
||||
range_max: 2
|
||||
record: *id002
|
||||
record:
|
||||
key: '2'
|
||||
value: 0.0
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
|
@ -144,9 +164,11 @@
|
|||
os: Android
|
||||
ping_type: '*'
|
||||
range_max: 2
|
||||
record: *id002
|
||||
record:
|
||||
key: '1'
|
||||
value: 900.0
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '*'
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
|
@ -155,7 +177,9 @@
|
|||
os: Android
|
||||
ping_type: '*'
|
||||
range_max: 2
|
||||
record: *id002
|
||||
record:
|
||||
key: '2'
|
||||
value: 0.0
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
|
@ -163,18 +187,22 @@
|
|||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: '*'
|
||||
ping_type: '*'
|
||||
os: Android
|
||||
ping_type: metrics
|
||||
range_max: 2
|
||||
record: *id002
|
||||
record:
|
||||
key: '1'
|
||||
value: 900.0
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '*'
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: '*'
|
||||
ping_type: '*'
|
||||
os: Android
|
||||
ping_type: metrics
|
||||
range_max: 2
|
||||
record: *id002
|
||||
record:
|
||||
key: '2'
|
||||
value: 0.0
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -1,99 +0,0 @@
|
|||
"""Testing data for query."""
|
||||
|
||||
from itertools import product
|
||||
from pathlib import Path
|
||||
from uuid import uuid4
|
||||
|
||||
import yaml
|
||||
|
||||
ROOT = Path(__file__).parent
|
||||
|
||||
SUBMISSION_DATE = "2020-10-01"
|
||||
APP_BUILD_ID = "2020100100"
|
||||
OS = "Android"
|
||||
PING_TYPE = "metrics"
|
||||
|
||||
|
||||
# NOTE: each client contributes a total of 1 to the final aggregate
|
||||
CLIENTS_HISTOGRAM_AGGREGATES = [
|
||||
{
|
||||
"sample_id": 1,
|
||||
"client_id": str(uuid4()),
|
||||
"ping_type": PING_TYPE,
|
||||
"os": OS,
|
||||
"app_version": 84,
|
||||
"app_build_id": APP_BUILD_ID,
|
||||
"channel": "*",
|
||||
"histogram_aggregates": [
|
||||
{
|
||||
"metric": "network_tcp_connection",
|
||||
"metric_type": "timing_distribution",
|
||||
"key": "",
|
||||
"agg_type": "summed_histogram",
|
||||
"value": [
|
||||
{"key": "1", "value": 1},
|
||||
{"key": "2", "value": 0},
|
||||
],
|
||||
}
|
||||
],
|
||||
},
|
||||
{
|
||||
"sample_id": 1,
|
||||
"client_id": str(uuid4()),
|
||||
"ping_type": PING_TYPE,
|
||||
"os": OS,
|
||||
"app_version": 84,
|
||||
"app_build_id": APP_BUILD_ID,
|
||||
"channel": "*",
|
||||
"histogram_aggregates": [
|
||||
{
|
||||
"metric": "network_tcp_connection",
|
||||
"metric_type": "timing_distribution",
|
||||
"key": "",
|
||||
"agg_type": "summed_histogram",
|
||||
"value": [
|
||||
{"key": "1", "value": 1},
|
||||
{"key": "3", "value": 1},
|
||||
],
|
||||
}
|
||||
],
|
||||
},
|
||||
]
|
||||
|
||||
BASE_ROW = {
|
||||
"agg_type": "summed_histogram",
|
||||
"app_build_id": "*",
|
||||
"app_version": 84,
|
||||
"channel": "*",
|
||||
"key": "",
|
||||
"metric": "network_tcp_connection",
|
||||
"metric_type": "timing_distribution",
|
||||
"os": "*",
|
||||
"ping_type": "*",
|
||||
"range_max": 3,
|
||||
"record": {"key": "1", "value": 1.0},
|
||||
}
|
||||
|
||||
EXPECT = [
|
||||
{**BASE_ROW, **dict(zip(["record", "ping_type", "os", "app_build_id"], values))}
|
||||
for values in product(
|
||||
[
|
||||
{"key": "1", "value": 1.5},
|
||||
{"key": "2", "value": 0.0},
|
||||
{"key": "3", "value": 0.5},
|
||||
],
|
||||
*zip([PING_TYPE, OS, APP_BUILD_ID], ["*"] * 3),
|
||||
)
|
||||
]
|
||||
|
||||
prefix = "glam_etl"
|
||||
tables = [
|
||||
(
|
||||
f"{prefix}.org_mozilla_fenix_glam_nightly__clients_histogram_aggregates_v1.yaml",
|
||||
CLIENTS_HISTOGRAM_AGGREGATES,
|
||||
),
|
||||
("expect.yaml", EXPECT),
|
||||
]
|
||||
for name, data in tables:
|
||||
with (ROOT / name).open("w") as fp:
|
||||
yaml.dump(data, fp)
|
|
@ -1,270 +0,0 @@
|
|||
- agg_type: summed_histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: Android
|
||||
ping_type: metrics
|
||||
range_max: 3
|
||||
record: &id001
|
||||
key: '1'
|
||||
value: 1.5
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: Android
|
||||
ping_type: metrics
|
||||
range_max: 3
|
||||
record: *id001
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: '*'
|
||||
ping_type: metrics
|
||||
range_max: 3
|
||||
record: *id001
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: '*'
|
||||
ping_type: metrics
|
||||
range_max: 3
|
||||
record: *id001
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: Android
|
||||
ping_type: '*'
|
||||
range_max: 3
|
||||
record: *id001
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: Android
|
||||
ping_type: '*'
|
||||
range_max: 3
|
||||
record: *id001
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: '*'
|
||||
ping_type: '*'
|
||||
range_max: 3
|
||||
record: *id001
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: '*'
|
||||
ping_type: '*'
|
||||
range_max: 3
|
||||
record: *id001
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: Android
|
||||
ping_type: metrics
|
||||
range_max: 3
|
||||
record: &id002
|
||||
key: '2'
|
||||
value: 0.0
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: Android
|
||||
ping_type: metrics
|
||||
range_max: 3
|
||||
record: *id002
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: '*'
|
||||
ping_type: metrics
|
||||
range_max: 3
|
||||
record: *id002
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: '*'
|
||||
ping_type: metrics
|
||||
range_max: 3
|
||||
record: *id002
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: Android
|
||||
ping_type: '*'
|
||||
range_max: 3
|
||||
record: *id002
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: Android
|
||||
ping_type: '*'
|
||||
range_max: 3
|
||||
record: *id002
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: '*'
|
||||
ping_type: '*'
|
||||
range_max: 3
|
||||
record: *id002
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: '*'
|
||||
ping_type: '*'
|
||||
range_max: 3
|
||||
record: *id002
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: Android
|
||||
ping_type: metrics
|
||||
range_max: 3
|
||||
record: &id003
|
||||
key: '3'
|
||||
value: 0.5
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: Android
|
||||
ping_type: metrics
|
||||
range_max: 3
|
||||
record: *id003
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: '*'
|
||||
ping_type: metrics
|
||||
range_max: 3
|
||||
record: *id003
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: '*'
|
||||
ping_type: metrics
|
||||
range_max: 3
|
||||
record: *id003
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: Android
|
||||
ping_type: '*'
|
||||
range_max: 3
|
||||
record: *id003
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: Android
|
||||
ping_type: '*'
|
||||
range_max: 3
|
||||
record: *id003
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: '*'
|
||||
ping_type: '*'
|
||||
range_max: 3
|
||||
record: *id003
|
||||
- agg_type: summed_histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
os: '*'
|
||||
ping_type: '*'
|
||||
range_max: 3
|
||||
record: *id003
|
|
@ -1,47 +0,0 @@
|
|||
- mode: NULLABLE
|
||||
name: sample_id
|
||||
type: INTEGER
|
||||
- mode: NULLABLE
|
||||
name: client_id
|
||||
type: STRING
|
||||
- mode: NULLABLE
|
||||
name: ping_type
|
||||
type: STRING
|
||||
- mode: NULLABLE
|
||||
name: os
|
||||
type: STRING
|
||||
- mode: NULLABLE
|
||||
name: app_version
|
||||
type: INTEGER
|
||||
- mode: NULLABLE
|
||||
name: app_build_id
|
||||
type: STRING
|
||||
- mode: NULLABLE
|
||||
name: channel
|
||||
type: STRING
|
||||
- fields:
|
||||
- mode: NULLABLE
|
||||
name: metric
|
||||
type: STRING
|
||||
- mode: NULLABLE
|
||||
name: metric_type
|
||||
type: STRING
|
||||
- mode: NULLABLE
|
||||
name: key
|
||||
type: STRING
|
||||
- mode: NULLABLE
|
||||
name: agg_type
|
||||
type: STRING
|
||||
- fields:
|
||||
- mode: NULLABLE
|
||||
name: key
|
||||
type: STRING
|
||||
- mode: NULLABLE
|
||||
name: value
|
||||
type: INTEGER
|
||||
mode: REPEATED
|
||||
name: value
|
||||
type: RECORD
|
||||
mode: REPEATED
|
||||
name: histogram_aggregates
|
||||
type: RECORD
|
|
@ -1,34 +0,0 @@
|
|||
- app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
client_id: 5c2364fc-46d4-4537-9575-a8ddaba2b42f
|
||||
histogram_aggregates:
|
||||
- agg_type: summed_histogram
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
value:
|
||||
- key: '1'
|
||||
value: 1
|
||||
- key: '2'
|
||||
value: 0
|
||||
os: Android
|
||||
ping_type: metrics
|
||||
sample_id: 1
|
||||
- app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
channel: '*'
|
||||
client_id: 813d66e1-57dc-46aa-84ec-682b48cc2e3c
|
||||
histogram_aggregates:
|
||||
- agg_type: summed_histogram
|
||||
key: ''
|
||||
metric: network_tcp_connection
|
||||
metric_type: timing_distribution
|
||||
value:
|
||||
- key: '1'
|
||||
value: 1
|
||||
- key: '3'
|
||||
value: 1
|
||||
os: Android
|
||||
ping_type: metrics
|
||||
sample_id: 1
|
|
@ -1,12 +0,0 @@
|
|||
- name: submission_date
|
||||
type: DATE
|
||||
value: '2020-10-01'
|
||||
- name: min_sample_id
|
||||
type: INT64
|
||||
value: 0
|
||||
- name: max_sample_id
|
||||
type: INT64
|
||||
value: 99
|
||||
- name: sample_size
|
||||
type: INT64
|
||||
value: 100
|
|
@ -11,13 +11,14 @@ SUBMISSION_DATE = "2020-10-01"
|
|||
APP_BUILD_ID = "2020100100"
|
||||
OS = "Android"
|
||||
PING_TYPE = "metrics"
|
||||
|
||||
MINIMUM_CLIENT_COUNT = 900
|
||||
# Testing precondition: ping_type, os, and app_build_id must not be "*". See
|
||||
# models.py under the scalar_bucket_counts parameters to see that sets fields
|
||||
# are used in the static combinations. If these are set to "*", then they will
|
||||
# be double counted...
|
||||
CLIENTS_SCALAR_AGGREGATES = [
|
||||
{
|
||||
CLIENTS_SCALAR_AGGREGATES = []
|
||||
for i in range(MINIMUM_CLIENT_COUNT):
|
||||
data = {
|
||||
"client_id": str(uuid4()),
|
||||
"ping_type": PING_TYPE,
|
||||
"os": OS,
|
||||
|
@ -33,25 +34,9 @@ CLIENTS_SCALAR_AGGREGATES = [
|
|||
"value": 4.0,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
"client_id": str(uuid4()),
|
||||
"ping_type": PING_TYPE,
|
||||
"os": OS,
|
||||
"app_version": 84,
|
||||
"app_build_id": APP_BUILD_ID,
|
||||
"channel": "*",
|
||||
"scalar_aggregates": [
|
||||
{
|
||||
"metric": "places_manager_write_query_count",
|
||||
"metric_type": "counter",
|
||||
"key": "",
|
||||
"agg_type": "count",
|
||||
"value": 8.0,
|
||||
},
|
||||
],
|
||||
},
|
||||
]
|
||||
}
|
||||
CLIENTS_SCALAR_AGGREGATES.append(data)
|
||||
|
||||
|
||||
# we must generate the set of combinations. Each one of these have the same
|
||||
# values though.
|
||||
|
|
|
@ -1,240 +1,112 @@
|
|||
- agg_type: histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
bucket: '4.00'
|
||||
bucket_count: 100
|
||||
channel: '*'
|
||||
client_agg_type: count
|
||||
count: 1
|
||||
key: ''
|
||||
metric: places_manager_write_query_count
|
||||
metric_type: counter
|
||||
os: Android
|
||||
ping_type: metrics
|
||||
range_max: 3.0
|
||||
range_min: 2.0
|
||||
- agg_type: histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
bucket: '4.00'
|
||||
bucket_count: 100
|
||||
channel: '*'
|
||||
client_agg_type: count
|
||||
count: 1
|
||||
key: ''
|
||||
metric: places_manager_write_query_count
|
||||
metric_type: counter
|
||||
os: Android
|
||||
ping_type: metrics
|
||||
range_max: 3.0
|
||||
range_min: 2.0
|
||||
- agg_type: histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
bucket: '4.00'
|
||||
bucket_count: 100
|
||||
channel: '*'
|
||||
client_agg_type: count
|
||||
count: 1
|
||||
key: ''
|
||||
metric: places_manager_write_query_count
|
||||
metric_type: counter
|
||||
os: '*'
|
||||
ping_type: metrics
|
||||
range_max: 3.0
|
||||
range_min: 2.0
|
||||
- agg_type: histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
bucket: '4.00'
|
||||
bucket_count: 100
|
||||
channel: '*'
|
||||
client_agg_type: count
|
||||
count: 1
|
||||
key: ''
|
||||
metric: places_manager_write_query_count
|
||||
metric_type: counter
|
||||
os: '*'
|
||||
ping_type: metrics
|
||||
range_max: 3.0
|
||||
range_min: 2.0
|
||||
- agg_type: histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
bucket: '4.00'
|
||||
bucket_count: 100
|
||||
channel: '*'
|
||||
client_agg_type: count
|
||||
count: 1
|
||||
key: ''
|
||||
metric: places_manager_write_query_count
|
||||
metric_type: counter
|
||||
os: Android
|
||||
ping_type: '*'
|
||||
range_max: 3.0
|
||||
range_min: 2.0
|
||||
- agg_type: histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
bucket: '4.00'
|
||||
bucket_count: 100
|
||||
channel: '*'
|
||||
client_agg_type: count
|
||||
count: 1
|
||||
key: ''
|
||||
metric: places_manager_write_query_count
|
||||
metric_type: counter
|
||||
os: Android
|
||||
ping_type: '*'
|
||||
range_max: 3.0
|
||||
range_min: 2.0
|
||||
- agg_type: histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
bucket: '4.00'
|
||||
bucket_count: 100
|
||||
channel: '*'
|
||||
client_agg_type: count
|
||||
count: 1
|
||||
count: 900
|
||||
key: ''
|
||||
metric: places_manager_write_query_count
|
||||
metric_type: counter
|
||||
os: '*'
|
||||
ping_type: '*'
|
||||
range_max: 3.0
|
||||
range_max: 2.0
|
||||
range_min: 2.0
|
||||
- agg_type: histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
bucket: '4.00'
|
||||
bucket_count: 100
|
||||
channel: '*'
|
||||
client_agg_type: count
|
||||
count: 1
|
||||
key: ''
|
||||
metric: places_manager_write_query_count
|
||||
metric_type: counter
|
||||
os: '*'
|
||||
ping_type: '*'
|
||||
range_max: 3.0
|
||||
range_min: 2.0
|
||||
- agg_type: histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
bucket: '8.00'
|
||||
bucket_count: 100
|
||||
channel: '*'
|
||||
client_agg_type: count
|
||||
count: 1
|
||||
key: ''
|
||||
metric: places_manager_write_query_count
|
||||
metric_type: counter
|
||||
os: Android
|
||||
ping_type: metrics
|
||||
range_max: 3.0
|
||||
range_min: 2.0
|
||||
- agg_type: histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
bucket: '8.00'
|
||||
bucket_count: 100
|
||||
channel: '*'
|
||||
client_agg_type: count
|
||||
count: 1
|
||||
key: ''
|
||||
metric: places_manager_write_query_count
|
||||
metric_type: counter
|
||||
os: Android
|
||||
ping_type: metrics
|
||||
range_max: 3.0
|
||||
range_min: 2.0
|
||||
- agg_type: histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
bucket: '8.00'
|
||||
bucket_count: 100
|
||||
channel: '*'
|
||||
client_agg_type: count
|
||||
count: 1
|
||||
count: 900
|
||||
key: ''
|
||||
metric: places_manager_write_query_count
|
||||
metric_type: counter
|
||||
os: '*'
|
||||
ping_type: metrics
|
||||
range_max: 3.0
|
||||
range_max: 2.0
|
||||
range_min: 2.0
|
||||
- agg_type: histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
bucket: '8.00'
|
||||
bucket_count: 100
|
||||
channel: '*'
|
||||
client_agg_type: count
|
||||
count: 1
|
||||
count: 900
|
||||
key: ''
|
||||
metric: places_manager_write_query_count
|
||||
metric_type: counter
|
||||
os: Android
|
||||
ping_type: '*'
|
||||
range_max: 2.0
|
||||
range_min: 2.0
|
||||
- agg_type: histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
bucket_count: 100
|
||||
channel: '*'
|
||||
client_agg_type: count
|
||||
count: 900
|
||||
key: ''
|
||||
metric: places_manager_write_query_count
|
||||
metric_type: counter
|
||||
os: Android
|
||||
ping_type: metrics
|
||||
range_max: 2.0
|
||||
range_min: 2.0
|
||||
- agg_type: histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
bucket_count: 100
|
||||
channel: '*'
|
||||
client_agg_type: count
|
||||
count: 900
|
||||
key: ''
|
||||
metric: places_manager_write_query_count
|
||||
metric_type: counter
|
||||
os: '*'
|
||||
ping_type: '*'
|
||||
range_max: 2.0
|
||||
range_min: 2.0
|
||||
- agg_type: histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
bucket_count: 100
|
||||
channel: '*'
|
||||
client_agg_type: count
|
||||
count: 900
|
||||
key: ''
|
||||
metric: places_manager_write_query_count
|
||||
metric_type: counter
|
||||
os: '*'
|
||||
ping_type: metrics
|
||||
range_max: 3.0
|
||||
range_max: 2.0
|
||||
range_min: 2.0
|
||||
- agg_type: histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
bucket: '8.00'
|
||||
bucket_count: 100
|
||||
channel: '*'
|
||||
client_agg_type: count
|
||||
count: 1
|
||||
count: 900
|
||||
key: ''
|
||||
metric: places_manager_write_query_count
|
||||
metric_type: counter
|
||||
os: Android
|
||||
ping_type: '*'
|
||||
range_max: 3.0
|
||||
range_min: 2.0
|
||||
- agg_type: histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
bucket: '8.00'
|
||||
bucket_count: 100
|
||||
channel: '*'
|
||||
client_agg_type: count
|
||||
count: 1
|
||||
key: ''
|
||||
metric: places_manager_write_query_count
|
||||
metric_type: counter
|
||||
os: Android
|
||||
ping_type: '*'
|
||||
range_max: 3.0
|
||||
range_max: 2.0
|
||||
range_min: 2.0
|
||||
- agg_type: histogram
|
||||
app_build_id: '2020100100'
|
||||
app_version: 84
|
||||
bucket: '8.00'
|
||||
bucket_count: 100
|
||||
channel: '*'
|
||||
client_agg_type: count
|
||||
count: 1
|
||||
count: 900
|
||||
key: ''
|
||||
metric: places_manager_write_query_count
|
||||
metric_type: counter
|
||||
os: '*'
|
||||
ping_type: '*'
|
||||
range_max: 3.0
|
||||
range_min: 2.0
|
||||
- agg_type: histogram
|
||||
app_build_id: '*'
|
||||
app_version: 84
|
||||
bucket: '8.00'
|
||||
bucket_count: 100
|
||||
channel: '*'
|
||||
client_agg_type: count
|
||||
count: 1
|
||||
key: ''
|
||||
metric: places_manager_write_query_count
|
||||
metric_type: counter
|
||||
os: '*'
|
||||
ping_type: '*'
|
||||
range_max: 3.0
|
||||
os: Android
|
||||
ping_type: metrics
|
||||
range_max: 2.0
|
||||
range_min: 2.0
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -1,6 +1,2 @@
|
|||
{"agg_type":"histogram","aggregates":[{"key":"5.00","value":0},{"key":"5.03","value":0},{"key":"5.07","value":0},{"key":"5.11","value":0},{"key":"5.14","value":0},{"key":"5.18","value":0},{"key":"5.21","value":0},{"key":"5.25","value":0},{"key":"5.29","value":0},{"key":"5.32","value":0},{"key":"5.36","value":0},{"key":"5.40","value":0},{"key":"5.43","value":0},{"key":"5.47","value":0},{"key":"5.51","value":0},{"key":"5.55","value":0},{"key":"5.59","value":0},{"key":"5.63","value":0},{"key":"5.66","value":0},{"key":"5.70","value":0},{"key":"5.74","value":0},{"key":"5.78","value":0},{"key":"5.82","value":0},{"key":"5.86","value":0},{"key":"5.90","value":0},{"key":"5.95","value":0},{"key":"5.99","value":0},{"key":"6.03","value":0},{"key":"6.07","value":0},{"key":"6.11","value":0},{"key":"6.16","value":0},{"key":"6.20","value":0},{"key":"6.24","value":0},{"key":"6.29","value":0},{"key":"6.33","value":0},{"key":"6.37","value":0},{"key":"6.42","value":0},{"key":"6.46","value":0},{"key":"6.51","value":0},{"key":"6.55","value":0},{"key":"6.60","value":0},{"key":"6.64","value":0},{"key":"6.69","value":0},{"key":"6.74","value":0},{"key":"6.78","value":0},{"key":"6.83","value":0},{"key":"6.88","value":0},{"key":"6.93","value":0},{"key":"6.97","value":0},{"key":"7.02","value":0},{"key":"7.07","value":0},{"key":"7.12","value":0},{"key":"7.17","value":0},{"key":"7.22","value":0},{"key":"7.27","value":0},{"key":"7.32","value":0},{"key":"7.37","value":0},{"key":"7.42","value":0},{"key":"7.47","value":0},{"key":"7.53","value":0},{"key":"7.58","value":0},{"key":"7.63","value":0},{"key":"7.68","value":0},{"key":"7.74","value":0},{"key":"7.79","value":0},{"key":"7.85","value":0},{"key":"7.90","value":0},{"key":"7.96","value":0},{"key":"8.01","value":0},{"key":"8.07","value":0},{"key":"8.12","value":0},{"key":"8.18","value":0},{"key":"8.24","value":0},{"key":"8.29","value":0},{"key":"8.35","value":0},{"key":"8.41","value":0},{"key":"8.47","value":0},{"key":"8.53","value":0},{"key":"8.59","value":0},{"key":"8.65","value":0},{"key":"8.71","value":0},{"key":"8.77","value":0},{"key":"8.83","value":0},{"key":"8.89","value":0},{"key":"8.95","value":0},{"key":"9.01","value":0},{"key":"9.08","value":0},{"key":"9.14","value":0},{"key":"9.20","value":0},{"key":"9.27","value":0},{"key":"9.33","value":0},{"key":"9.40","value":0},{"key":"9.46","value":0},{"key":"9.53","value":0},{"key":"9.59","value":0},{"key":"9.66","value":0},{"key":"9.73","value":0},{"key":"9.79","value":0},{"key":"9.86","value":0},{"key":"9.93","value":0},{"key":"10.00","value":1}],"app_build_id":"first","app_version":75,"channel":"nightly","client_agg_type":"min","key":"","metric":"some_metric","metric_type":"scalar","os":"first","process":"parent","total_users":1}
|
||||
{"agg_type":"histogram","aggregates":[{"key":"5.00","value":0},{"key":"5.03","value":0},{"key":"5.07","value":0},{"key":"5.11","value":0},{"key":"5.14","value":0},{"key":"5.18","value":0},{"key":"5.21","value":0},{"key":"5.25","value":0},{"key":"5.29","value":0},{"key":"5.32","value":0},{"key":"5.36","value":0},{"key":"5.40","value":0},{"key":"5.43","value":0},{"key":"5.47","value":0},{"key":"5.51","value":0},{"key":"5.55","value":0},{"key":"5.59","value":0},{"key":"5.63","value":0},{"key":"5.66","value":0},{"key":"5.70","value":0},{"key":"5.74","value":0},{"key":"5.78","value":0},{"key":"5.82","value":0},{"key":"5.86","value":0},{"key":"5.90","value":0},{"key":"5.95","value":0},{"key":"5.99","value":0},{"key":"6.03","value":0},{"key":"6.07","value":0},{"key":"6.11","value":0},{"key":"6.16","value":0},{"key":"6.20","value":0},{"key":"6.24","value":0},{"key":"6.29","value":0},{"key":"6.33","value":0},{"key":"6.37","value":0},{"key":"6.42","value":0},{"key":"6.46","value":0},{"key":"6.51","value":0},{"key":"6.55","value":0},{"key":"6.60","value":0},{"key":"6.64","value":0},{"key":"6.69","value":0},{"key":"6.74","value":0},{"key":"6.78","value":0},{"key":"6.83","value":0},{"key":"6.88","value":0},{"key":"6.93","value":0},{"key":"6.97","value":0},{"key":"7.02","value":0},{"key":"7.07","value":0},{"key":"7.12","value":0},{"key":"7.17","value":0},{"key":"7.22","value":0},{"key":"7.27","value":0},{"key":"7.32","value":0},{"key":"7.37","value":0},{"key":"7.42","value":0},{"key":"7.47","value":0},{"key":"7.53","value":0},{"key":"7.58","value":0},{"key":"7.63","value":0},{"key":"7.68","value":0},{"key":"7.74","value":0},{"key":"7.79","value":0},{"key":"7.85","value":0},{"key":"7.90","value":0},{"key":"7.96","value":0},{"key":"8.01","value":0},{"key":"8.07","value":0},{"key":"8.12","value":0},{"key":"8.18","value":0},{"key":"8.24","value":0},{"key":"8.29","value":0},{"key":"8.35","value":0},{"key":"8.41","value":0},{"key":"8.47","value":0},{"key":"8.53","value":0},{"key":"8.59","value":0},{"key":"8.65","value":0},{"key":"8.71","value":0},{"key":"8.77","value":0},{"key":"8.83","value":0},{"key":"8.89","value":0},{"key":"8.95","value":0},{"key":"9.01","value":0},{"key":"9.08","value":0},{"key":"9.14","value":0},{"key":"9.20","value":0},{"key":"9.27","value":0},{"key":"9.33","value":0},{"key":"9.40","value":0},{"key":"9.46","value":0},{"key":"9.53","value":0},{"key":"9.59","value":0},{"key":"9.66","value":0},{"key":"9.73","value":0},{"key":"9.79","value":0},{"key":"9.86","value":0},{"key":"9.93","value":0},{"key":"10.00","value":1}],"app_build_id":"first","app_version":75,"channel":"nightly","client_agg_type":"min","key":"","metric":"some_metric","metric_type":"scalar","process":"parent","total_users":1}
|
||||
{"agg_type":"histogram","aggregates":[{"key":"5.00","value":1},{"key":"5.03","value":0},{"key":"5.07","value":0},{"key":"5.11","value":0},{"key":"5.14","value":0},{"key":"5.18","value":0},{"key":"5.21","value":0},{"key":"5.25","value":0},{"key":"5.29","value":0},{"key":"5.32","value":0},{"key":"5.36","value":0},{"key":"5.40","value":0},{"key":"5.43","value":0},{"key":"5.47","value":0},{"key":"5.51","value":0},{"key":"5.55","value":0},{"key":"5.59","value":0},{"key":"5.63","value":0},{"key":"5.66","value":0},{"key":"5.70","value":0},{"key":"5.74","value":0},{"key":"5.78","value":0},{"key":"5.82","value":0},{"key":"5.86","value":0},{"key":"5.90","value":0},{"key":"5.95","value":0},{"key":"5.99","value":0},{"key":"6.03","value":0},{"key":"6.07","value":0},{"key":"6.11","value":0},{"key":"6.16","value":0},{"key":"6.20","value":0},{"key":"6.24","value":0},{"key":"6.29","value":0},{"key":"6.33","value":0},{"key":"6.37","value":0},{"key":"6.42","value":0},{"key":"6.46","value":0},{"key":"6.51","value":0},{"key":"6.55","value":0},{"key":"6.60","value":0},{"key":"6.64","value":0},{"key":"6.69","value":0},{"key":"6.74","value":0},{"key":"6.78","value":0},{"key":"6.83","value":0},{"key":"6.88","value":0},{"key":"6.93","value":0},{"key":"6.97","value":0},{"key":"7.02","value":0},{"key":"7.07","value":0},{"key":"7.12","value":0},{"key":"7.17","value":0},{"key":"7.22","value":0},{"key":"7.27","value":0},{"key":"7.32","value":0},{"key":"7.37","value":0},{"key":"7.42","value":0},{"key":"7.47","value":0},{"key":"7.53","value":0},{"key":"7.58","value":0},{"key":"7.63","value":0},{"key":"7.68","value":0},{"key":"7.74","value":0},{"key":"7.79","value":0},{"key":"7.85","value":0},{"key":"7.90","value":0},{"key":"7.96","value":0},{"key":"8.01","value":0},{"key":"8.07","value":0},{"key":"8.12","value":0},{"key":"8.18","value":0},{"key":"8.24","value":0},{"key":"8.29","value":0},{"key":"8.35","value":0},{"key":"8.41","value":0},{"key":"8.47","value":0},{"key":"8.53","value":0},{"key":"8.59","value":0},{"key":"8.65","value":0},{"key":"8.71","value":0},{"key":"8.77","value":0},{"key":"8.83","value":0},{"key":"8.89","value":0},{"key":"8.95","value":0},{"key":"9.01","value":0},{"key":"9.08","value":0},{"key":"9.14","value":0},{"key":"9.20","value":0},{"key":"9.27","value":0},{"key":"9.33","value":0},{"key":"9.40","value":0},{"key":"9.46","value":0},{"key":"9.53","value":0},{"key":"9.59","value":0},{"key":"9.66","value":0},{"key":"9.73","value":0},{"key":"9.79","value":0},{"key":"9.86","value":0},{"key":"9.93","value":0},{"key":"10.00","value":0}],"app_build_id":"second","app_version":75,"channel":"nightly","client_agg_type":"min","key":"","metric":"some_metric","metric_type":"scalar","os":"first","process":"parent","total_users":1}
|
||||
{"agg_type":"histogram","aggregates":[{"key":"5.00","value":1},{"key":"5.03","value":0},{"key":"5.07","value":0},{"key":"5.11","value":0},{"key":"5.14","value":0},{"key":"5.18","value":0},{"key":"5.21","value":0},{"key":"5.25","value":0},{"key":"5.29","value":0},{"key":"5.32","value":0},{"key":"5.36","value":0},{"key":"5.40","value":0},{"key":"5.43","value":0},{"key":"5.47","value":0},{"key":"5.51","value":0},{"key":"5.55","value":0},{"key":"5.59","value":0},{"key":"5.63","value":0},{"key":"5.66","value":0},{"key":"5.70","value":0},{"key":"5.74","value":0},{"key":"5.78","value":0},{"key":"5.82","value":0},{"key":"5.86","value":0},{"key":"5.90","value":0},{"key":"5.95","value":0},{"key":"5.99","value":0},{"key":"6.03","value":0},{"key":"6.07","value":0},{"key":"6.11","value":0},{"key":"6.16","value":0},{"key":"6.20","value":0},{"key":"6.24","value":0},{"key":"6.29","value":0},{"key":"6.33","value":0},{"key":"6.37","value":0},{"key":"6.42","value":0},{"key":"6.46","value":0},{"key":"6.51","value":0},{"key":"6.55","value":0},{"key":"6.60","value":0},{"key":"6.64","value":0},{"key":"6.69","value":0},{"key":"6.74","value":0},{"key":"6.78","value":0},{"key":"6.83","value":0},{"key":"6.88","value":0},{"key":"6.93","value":0},{"key":"6.97","value":0},{"key":"7.02","value":0},{"key":"7.07","value":0},{"key":"7.12","value":0},{"key":"7.17","value":0},{"key":"7.22","value":0},{"key":"7.27","value":0},{"key":"7.32","value":0},{"key":"7.37","value":0},{"key":"7.42","value":0},{"key":"7.47","value":0},{"key":"7.53","value":0},{"key":"7.58","value":0},{"key":"7.63","value":0},{"key":"7.68","value":0},{"key":"7.74","value":0},{"key":"7.79","value":0},{"key":"7.85","value":0},{"key":"7.90","value":0},{"key":"7.96","value":0},{"key":"8.01","value":0},{"key":"8.07","value":0},{"key":"8.12","value":0},{"key":"8.18","value":0},{"key":"8.24","value":0},{"key":"8.29","value":0},{"key":"8.35","value":0},{"key":"8.41","value":0},{"key":"8.47","value":0},{"key":"8.53","value":0},{"key":"8.59","value":0},{"key":"8.65","value":0},{"key":"8.71","value":0},{"key":"8.77","value":0},{"key":"8.83","value":0},{"key":"8.89","value":0},{"key":"8.95","value":0},{"key":"9.01","value":0},{"key":"9.08","value":0},{"key":"9.14","value":0},{"key":"9.20","value":0},{"key":"9.27","value":0},{"key":"9.33","value":0},{"key":"9.40","value":0},{"key":"9.46","value":0},{"key":"9.53","value":0},{"key":"9.59","value":0},{"key":"9.66","value":0},{"key":"9.73","value":0},{"key":"9.79","value":0},{"key":"9.86","value":0},{"key":"9.93","value":0},{"key":"10.00","value":0}],"app_build_id":"second","app_version":75,"channel":"nightly","client_agg_type":"min","key":"","metric":"some_metric","metric_type":"scalar","process":"parent","total_users":1}
|
||||
{"agg_type":"histogram","aggregates":[{"key":"5.00","value":1},{"key":"5.03","value":0},{"key":"5.07","value":0},{"key":"5.11","value":0},{"key":"5.14","value":0},{"key":"5.18","value":0},{"key":"5.21","value":0},{"key":"5.25","value":0},{"key":"5.29","value":0},{"key":"5.32","value":0},{"key":"5.36","value":0},{"key":"5.40","value":0},{"key":"5.43","value":0},{"key":"5.47","value":0},{"key":"5.51","value":0},{"key":"5.55","value":0},{"key":"5.59","value":0},{"key":"5.63","value":0},{"key":"5.66","value":0},{"key":"5.70","value":0},{"key":"5.74","value":0},{"key":"5.78","value":0},{"key":"5.82","value":0},{"key":"5.86","value":0},{"key":"5.90","value":0},{"key":"5.95","value":0},{"key":"5.99","value":0},{"key":"6.03","value":0},{"key":"6.07","value":0},{"key":"6.11","value":0},{"key":"6.16","value":0},{"key":"6.20","value":0},{"key":"6.24","value":0},{"key":"6.29","value":0},{"key":"6.33","value":0},{"key":"6.37","value":0},{"key":"6.42","value":0},{"key":"6.46","value":0},{"key":"6.51","value":0},{"key":"6.55","value":0},{"key":"6.60","value":0},{"key":"6.64","value":0},{"key":"6.69","value":0},{"key":"6.74","value":0},{"key":"6.78","value":0},{"key":"6.83","value":0},{"key":"6.88","value":0},{"key":"6.93","value":0},{"key":"6.97","value":0},{"key":"7.02","value":0},{"key":"7.07","value":0},{"key":"7.12","value":0},{"key":"7.17","value":0},{"key":"7.22","value":0},{"key":"7.27","value":0},{"key":"7.32","value":0},{"key":"7.37","value":0},{"key":"7.42","value":0},{"key":"7.47","value":0},{"key":"7.53","value":0},{"key":"7.58","value":0},{"key":"7.63","value":0},{"key":"7.68","value":0},{"key":"7.74","value":0},{"key":"7.79","value":0},{"key":"7.85","value":0},{"key":"7.90","value":0},{"key":"7.96","value":0},{"key":"8.01","value":0},{"key":"8.07","value":0},{"key":"8.12","value":0},{"key":"8.18","value":0},{"key":"8.24","value":0},{"key":"8.29","value":0},{"key":"8.35","value":0},{"key":"8.41","value":0},{"key":"8.47","value":0},{"key":"8.53","value":0},{"key":"8.59","value":0},{"key":"8.65","value":0},{"key":"8.71","value":0},{"key":"8.77","value":0},{"key":"8.83","value":0},{"key":"8.89","value":0},{"key":"8.95","value":0},{"key":"9.01","value":0},{"key":"9.08","value":0},{"key":"9.14","value":0},{"key":"9.20","value":0},{"key":"9.27","value":0},{"key":"9.33","value":0},{"key":"9.40","value":0},{"key":"9.46","value":0},{"key":"9.53","value":0},{"key":"9.59","value":0},{"key":"9.66","value":0},{"key":"9.73","value":0},{"key":"9.79","value":0},{"key":"9.86","value":0},{"key":"9.93","value":0},{"key":"10.00","value":0}],"app_version":75,"channel":"nightly","client_agg_type":"min","key":"","metric":"some_metric","metric_type":"scalar","os":"first","process":"parent","total_users":1}
|
||||
{"agg_type":"histogram","aggregates":[{"key":"5.00","value":1},{"key":"5.03","value":0},{"key":"5.07","value":0},{"key":"5.11","value":0},{"key":"5.14","value":0},{"key":"5.18","value":0},{"key":"5.21","value":0},{"key":"5.25","value":0},{"key":"5.29","value":0},{"key":"5.32","value":0},{"key":"5.36","value":0},{"key":"5.40","value":0},{"key":"5.43","value":0},{"key":"5.47","value":0},{"key":"5.51","value":0},{"key":"5.55","value":0},{"key":"5.59","value":0},{"key":"5.63","value":0},{"key":"5.66","value":0},{"key":"5.70","value":0},{"key":"5.74","value":0},{"key":"5.78","value":0},{"key":"5.82","value":0},{"key":"5.86","value":0},{"key":"5.90","value":0},{"key":"5.95","value":0},{"key":"5.99","value":0},{"key":"6.03","value":0},{"key":"6.07","value":0},{"key":"6.11","value":0},{"key":"6.16","value":0},{"key":"6.20","value":0},{"key":"6.24","value":0},{"key":"6.29","value":0},{"key":"6.33","value":0},{"key":"6.37","value":0},{"key":"6.42","value":0},{"key":"6.46","value":0},{"key":"6.51","value":0},{"key":"6.55","value":0},{"key":"6.60","value":0},{"key":"6.64","value":0},{"key":"6.69","value":0},{"key":"6.74","value":0},{"key":"6.78","value":0},{"key":"6.83","value":0},{"key":"6.88","value":0},{"key":"6.93","value":0},{"key":"6.97","value":0},{"key":"7.02","value":0},{"key":"7.07","value":0},{"key":"7.12","value":0},{"key":"7.17","value":0},{"key":"7.22","value":0},{"key":"7.27","value":0},{"key":"7.32","value":0},{"key":"7.37","value":0},{"key":"7.42","value":0},{"key":"7.47","value":0},{"key":"7.53","value":0},{"key":"7.58","value":0},{"key":"7.63","value":0},{"key":"7.68","value":0},{"key":"7.74","value":0},{"key":"7.79","value":0},{"key":"7.85","value":0},{"key":"7.90","value":0},{"key":"7.96","value":0},{"key":"8.01","value":0},{"key":"8.07","value":0},{"key":"8.12","value":0},{"key":"8.18","value":0},{"key":"8.24","value":0},{"key":"8.29","value":0},{"key":"8.35","value":0},{"key":"8.41","value":0},{"key":"8.47","value":0},{"key":"8.53","value":0},{"key":"8.59","value":0},{"key":"8.65","value":0},{"key":"8.71","value":0},{"key":"8.77","value":0},{"key":"8.83","value":0},{"key":"8.89","value":0},{"key":"8.95","value":0},{"key":"9.01","value":0},{"key":"9.08","value":0},{"key":"9.14","value":0},{"key":"9.20","value":0},{"key":"9.27","value":0},{"key":"9.33","value":0},{"key":"9.40","value":0},{"key":"9.46","value":0},{"key":"9.53","value":0},{"key":"9.59","value":0},{"key":"9.66","value":0},{"key":"9.73","value":0},{"key":"9.79","value":0},{"key":"9.86","value":0},{"key":"9.93","value":0},{"key":"10.00","value":0}],"app_version":75,"channel":"nightly","client_agg_type":"min","key":"","metric":"some_metric","metric_type":"scalar","process":"parent","total_users":1}
|
||||
{"agg_type":"histogram","aggregates":[],"app_build_id":"first","app_version":75,"channel":"nightly","client_agg_type":"min","key":"","metric":"some_metric","metric_type":"scalar","os":"first","process":"parent","total_users":400}
|
||||
{"agg_type":"histogram","aggregates":[],"app_build_id":"first","app_version":75,"channel":"nightly","client_agg_type":"min","key":"","metric":"some_metric","metric_type":"scalar","process":"parent","total_users":400}
|
||||
|
|
Загрузка…
Ссылка в новой задаче