Skip to content

Commit 87c4f1a

Browse files
authored
Bump Glean metrics over legacy for GLAM searches (#2312)
* Bump Glean metrics over legacy for GLAM searches * Fix glean_etl: use first available sampled_text when release is not in metric_sample_info
1 parent aa0ff10 commit 87c4f1a

2 files changed

Lines changed: 15 additions & 5 deletions

File tree

‎.netlify/search.js‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,9 @@ exports.getSearchFunction = function (metricData, legacy) {
6464
const getScore = legacy
6565
? (item) => {
6666
let score = 0;
67-
// the only criteria for legacy data is if it's "active" or not
6867
score += item.active || item.active === undefined ? 1 : 0;
68+
// for glam searches, glean metrics take precedence over legacy metrics
69+
score += glamMode && item.glean ? 1 : 0;
6970
return score;
7071
}
7172
: (item) => {
@@ -75,7 +76,9 @@ exports.getSearchFunction = function (metricData, legacy) {
7576
// if in glam mode, we want to move unsupported metrics right to the bottom
7677
// (do this by adding a higher score to these types of metrics)
7778
score +=
78-
glamMode && SUPPORTED_GLAM_METRIC_TYPES.has(item.type) ? 10 : 0;
79+
glamMode && SUPPORTED_GLAM_METRIC_TYPES.has(item.type) ? 1 : 0;
80+
// for glam searches, glean metrics take precedence over legacy metrics
81+
score += glamMode && item.glean ? 1 : 0;
7982
return score;
8083
};
8184

‎etl/glean_etl.py‎

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,7 @@ def write_glean_metadata(output_dir, functions_dir, app_names=None):
434434
)
435435
is_sampled = metric_sample_info is not None
436436

437+
metric_sampled_text = None
437438
if is_sampled:
438439
for channel in metric_sample_info:
439440
sampled_text = (
@@ -447,11 +448,17 @@ def write_glean_metadata(output_dir, functions_dir, app_names=None):
447448
)
448449
metric_sample_info.get(channel)["sampled_text"] = sampled_text
449450

451+
# We prefer the release channel text, but if it's
452+
# not available, we use the first available
453+
if not metric_sampled_text:
454+
metric_sampled_text = sampled_text
455+
if channel == "release":
456+
metric_sampled_text = sampled_text
457+
450458
# Force all outside metrics as removed.
451459
if app_name in APPS_DEPENDENCIES_REMOVED:
452460
if metric.definition["origin"] != app_name:
453461
metric.definition.update({"in_source": False})
454-
455462
base_definition = _incorporate_annotation(
456463
dict(
457464
name=metric.identifier,
@@ -470,8 +477,8 @@ def write_glean_metadata(output_dir, functions_dir, app_names=None):
470477
metric.definition["expires"], app_name, product_details
471478
),
472479
sampled=is_sampled,
473-
sampled_text=(metric_sample_info.get("release")["sampled_text"])
474-
if metric_sample_info is not None
480+
sampled_text=metric_sampled_text
481+
if metric_sampled_text
475482
else "Not sampled",
476483
is_part_of_info_section=metric.bq_prefix
477484
in ["client_info", "ping_info"],

0 commit comments

Comments
 (0)