Bug 1918702 - Migrate telemetry events to use Glean APIs for doh, r=chutten.
Differential Revision: https://phabricator.services.mozilla.com/D222631
This commit is contained in:
@@ -506,14 +506,9 @@ export const DoHController = {
|
|||||||
resultsForTelemetry.filtering = filtering.join(",");
|
resultsForTelemetry.filtering = filtering.join(",");
|
||||||
resultsForTelemetry.enterprise = enterprise.join(",");
|
resultsForTelemetry.enterprise = enterprise.join(",");
|
||||||
resultsForTelemetry.platform = platform.join(",");
|
resultsForTelemetry.platform = platform.join(",");
|
||||||
|
resultsForTelemetry.value = decision;
|
||||||
|
|
||||||
Services.telemetry.recordEvent(
|
Glean.doh.evaluateV2Heuristics.record(resultsForTelemetry);
|
||||||
HEURISTICS_TELEMETRY_CATEGORY,
|
|
||||||
"evaluate_v2",
|
|
||||||
"heuristics",
|
|
||||||
decision,
|
|
||||||
resultsForTelemetry
|
|
||||||
);
|
|
||||||
},
|
},
|
||||||
|
|
||||||
async setState(state) {
|
async setState(state) {
|
||||||
@@ -542,12 +537,9 @@ export const DoHController = {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
Services.telemetry.recordEvent(
|
Glean.doh["state" + state[0].toUpperCase() + state.slice(1)].record({
|
||||||
HEURISTICS_TELEMETRY_CATEGORY,
|
value: "null",
|
||||||
"state",
|
});
|
||||||
state,
|
|
||||||
"null"
|
|
||||||
);
|
|
||||||
|
|
||||||
let modePref = lazy.Preferences.get(NETWORK_TRR_MODE_PREF);
|
let modePref = lazy.Preferences.get(NETWORK_TRR_MODE_PREF);
|
||||||
if (state == "manuallyDisabled") {
|
if (state == "manuallyDisabled") {
|
||||||
@@ -648,12 +640,9 @@ export const DoHController = {
|
|||||||
|
|
||||||
let setDryRunResultAndRecordTelemetry = trrUri => {
|
let setDryRunResultAndRecordTelemetry = trrUri => {
|
||||||
lazy.Preferences.set(TRR_SELECT_DRY_RUN_RESULT_PREF, trrUri);
|
lazy.Preferences.set(TRR_SELECT_DRY_RUN_RESULT_PREF, trrUri);
|
||||||
Services.telemetry.recordEvent(
|
Glean.securityDohTrrPerformance.trrselectDryrunresult.record({
|
||||||
TRRSELECT_TELEMETRY_CATEGORY,
|
value: trrUri.substring(0, 40), // Telemetry payload max length
|
||||||
"trrselect",
|
});
|
||||||
"dryrunresult",
|
|
||||||
trrUri.substring(0, 40) // Telemetry payload max length
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
if (lazy.kIsInAutomation) {
|
if (lazy.kIsInAutomation) {
|
||||||
|
|||||||
@@ -206,21 +206,16 @@ export class LookupAggregator {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Services.telemetry.recordEvent(
|
Glean.securityDohTrrPerformance.resolvedRecord.record({
|
||||||
"security.doh.trrPerformance",
|
value: "success",
|
||||||
"resolved",
|
domain,
|
||||||
"record",
|
trr,
|
||||||
"success",
|
status,
|
||||||
{
|
time,
|
||||||
domain,
|
retryCount,
|
||||||
trr,
|
networkUnstable: this.networkUnstable,
|
||||||
status: status.toString(),
|
captivePortal: this.captivePortal,
|
||||||
time: time.toString(),
|
});
|
||||||
retryCount: retryCount.toString(),
|
|
||||||
networkUnstable: this.networkUnstable.toString(),
|
|
||||||
captivePortal: this.captivePortal.toString(),
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this.onCompleteCallback();
|
this.onCompleteCallback();
|
||||||
|
|||||||
281
browser/components/doh/metrics.yaml
Normal file
281
browser/components/doh/metrics.yaml
Normal file
@@ -0,0 +1,281 @@
|
|||||||
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
|
# Adding a new metric? We have docs for that!
|
||||||
|
# https://firefox-source-docs.mozilla.org/toolkit/components/glean/user/new_definitions_file.html
|
||||||
|
|
||||||
|
---
|
||||||
|
$schema: moz://mozilla.org/schemas/glean/metrics/2-0-0
|
||||||
|
$tags:
|
||||||
|
- 'Firefox :: Security'
|
||||||
|
|
||||||
|
doh:
|
||||||
|
evaluate_v2_heuristics:
|
||||||
|
type: event
|
||||||
|
description: >
|
||||||
|
Results of DoH heuristics at startup and after network changes.
|
||||||
|
This event was generated to correspond to the Legacy Telemetry event
|
||||||
|
doh.evaluate_v2#heuristics.
|
||||||
|
bugs:
|
||||||
|
- https://bugzil.la/1573840
|
||||||
|
- https://bugzil.la/1631609
|
||||||
|
- https://bugzil.la/1603779
|
||||||
|
- https://bugzil.la/1654714
|
||||||
|
data_reviews:
|
||||||
|
- https://bugzil.la/1573840
|
||||||
|
- https://bugzil.la/1631609
|
||||||
|
- https://bugzil.la/1603779
|
||||||
|
- https://bugzil.la/1654714
|
||||||
|
notification_emails:
|
||||||
|
- nhnt11@mozilla.com
|
||||||
|
- ddamjanovic@mozilla.com
|
||||||
|
- seceng-telemetry@mozilla.com
|
||||||
|
- necko@mozilla.com
|
||||||
|
expires: never
|
||||||
|
extra_keys:
|
||||||
|
value:
|
||||||
|
description: >
|
||||||
|
The `value` of the event. Mirrors to the Legacy Telemetry
|
||||||
|
event's `value` parameter.
|
||||||
|
type: string
|
||||||
|
canaries:
|
||||||
|
description: >
|
||||||
|
Comma-separated list of canaries that were detected (canary,zscalerCanary)
|
||||||
|
type: string
|
||||||
|
filtering:
|
||||||
|
description: >
|
||||||
|
Comma-separated list of detected parental controls/content filtering (browserParent,google,youtube)
|
||||||
|
type: string
|
||||||
|
enterprise:
|
||||||
|
description: >
|
||||||
|
Comma-separated list of detected enterprise config (policy,modifiedRoots,thirdPartyRoots)
|
||||||
|
type: string
|
||||||
|
steeredProvider:
|
||||||
|
description: >
|
||||||
|
Whether we detected a steering provider
|
||||||
|
type: string
|
||||||
|
evaluateReason:
|
||||||
|
description: >
|
||||||
|
The reason for running heuristics - startup or netchange
|
||||||
|
type: string
|
||||||
|
networkID:
|
||||||
|
description: >
|
||||||
|
An ID representing the network on which heuristics were run, unique to this client
|
||||||
|
type: string
|
||||||
|
captiveState:
|
||||||
|
description: >
|
||||||
|
The Captive Portal Service state - unknown, not_captive, locked, or unlocked
|
||||||
|
type: string
|
||||||
|
platform:
|
||||||
|
description: >
|
||||||
|
Comma-separated list of platform attributes that would cause split-horizon issues (vpn, proxy, nrpt)
|
||||||
|
type: string
|
||||||
|
telemetry_mirror: Doh_EvaluateV2_Heuristics
|
||||||
|
|
||||||
|
state_enabled:
|
||||||
|
type: event
|
||||||
|
description: >
|
||||||
|
Results of DoH heuristics at startup and after network changes.
|
||||||
|
This event was generated to correspond to the Legacy Telemetry event
|
||||||
|
doh.state#enabled.
|
||||||
|
bugs: &doh_state_bugs
|
||||||
|
- https://bugzil.la/1573840
|
||||||
|
- https://bugzil.la/1631609
|
||||||
|
- https://bugzil.la/1603779
|
||||||
|
data_reviews: &doh_state_data_reviews
|
||||||
|
- https://bugzil.la/1573840
|
||||||
|
- https://bugzil.la/1631609
|
||||||
|
- https://bugzil.la/1603779
|
||||||
|
notification_emails: &doh_state_emails
|
||||||
|
- nhnt11@mozilla.com
|
||||||
|
- ddamjanovic@mozilla.com
|
||||||
|
- seceng-telemetry@mozilla.com
|
||||||
|
- necko@mozilla.com
|
||||||
|
expires: never
|
||||||
|
extra_keys: &doh_state_extra
|
||||||
|
value:
|
||||||
|
description: >
|
||||||
|
The `value` of the event. Mirrors to the Legacy Telemetry
|
||||||
|
event's `value` parameter.
|
||||||
|
type: string
|
||||||
|
telemetry_mirror: Doh_State_Enabled
|
||||||
|
|
||||||
|
state_disabled:
|
||||||
|
type: event
|
||||||
|
description: >
|
||||||
|
Results of DoH heuristics at startup and after network changes.
|
||||||
|
This event was generated to correspond to the Legacy Telemetry event
|
||||||
|
doh.state#disabled.
|
||||||
|
bugs: *doh_state_bugs
|
||||||
|
data_reviews: *doh_state_data_reviews
|
||||||
|
notification_emails: *doh_state_emails
|
||||||
|
expires: never
|
||||||
|
extra_keys: *doh_state_extra
|
||||||
|
telemetry_mirror: Doh_State_Disabled
|
||||||
|
|
||||||
|
state_manually_disabled:
|
||||||
|
type: event
|
||||||
|
description: >
|
||||||
|
Results of DoH heuristics at startup and after network changes.
|
||||||
|
This event was generated to correspond to the Legacy Telemetry event
|
||||||
|
doh.state#manuallyDisabled.
|
||||||
|
bugs: *doh_state_bugs
|
||||||
|
data_reviews: *doh_state_data_reviews
|
||||||
|
notification_emails: *doh_state_emails
|
||||||
|
expires: never
|
||||||
|
extra_keys: *doh_state_extra
|
||||||
|
telemetry_mirror: Doh_State_Manuallydisabled
|
||||||
|
|
||||||
|
state_policy_disabled:
|
||||||
|
type: event
|
||||||
|
description: >
|
||||||
|
Results of DoH heuristics at startup and after network changes.
|
||||||
|
This event was generated to correspond to the Legacy Telemetry event
|
||||||
|
doh.state#policyDisabled.
|
||||||
|
bugs: *doh_state_bugs
|
||||||
|
data_reviews: *doh_state_data_reviews
|
||||||
|
notification_emails: *doh_state_emails
|
||||||
|
expires: never
|
||||||
|
extra_keys: *doh_state_extra
|
||||||
|
telemetry_mirror: Doh_State_Policydisabled
|
||||||
|
|
||||||
|
state_uninstalled:
|
||||||
|
type: event
|
||||||
|
description: >
|
||||||
|
Results of DoH heuristics at startup and after network changes.
|
||||||
|
This event was generated to correspond to the Legacy Telemetry event
|
||||||
|
doh.state#uninstalled.
|
||||||
|
bugs: *doh_state_bugs
|
||||||
|
data_reviews: *doh_state_data_reviews
|
||||||
|
notification_emails: *doh_state_emails
|
||||||
|
expires: never
|
||||||
|
extra_keys: *doh_state_extra
|
||||||
|
telemetry_mirror: Doh_State_Uninstalled
|
||||||
|
|
||||||
|
state_uiok:
|
||||||
|
type: event
|
||||||
|
description: >
|
||||||
|
Results of DoH heuristics at startup and after network changes.
|
||||||
|
This event was generated to correspond to the Legacy Telemetry event
|
||||||
|
doh.state#UIOk.
|
||||||
|
bugs: *doh_state_bugs
|
||||||
|
data_reviews: *doh_state_data_reviews
|
||||||
|
notification_emails: *doh_state_emails
|
||||||
|
expires: never
|
||||||
|
extra_keys: *doh_state_extra
|
||||||
|
telemetry_mirror: Doh_State_Uiok
|
||||||
|
|
||||||
|
state_uidisabled:
|
||||||
|
type: event
|
||||||
|
description: >
|
||||||
|
Results of DoH heuristics at startup and after network changes.
|
||||||
|
This event was generated to correspond to the Legacy Telemetry event
|
||||||
|
doh.state#UIDisabled.
|
||||||
|
bugs: *doh_state_bugs
|
||||||
|
data_reviews: *doh_state_data_reviews
|
||||||
|
notification_emails: *doh_state_emails
|
||||||
|
expires: never
|
||||||
|
extra_keys: *doh_state_extra
|
||||||
|
telemetry_mirror: Doh_State_Uidisabled
|
||||||
|
|
||||||
|
state_rollback:
|
||||||
|
type: event
|
||||||
|
description: >
|
||||||
|
Results of DoH heuristics at startup and after network changes.
|
||||||
|
This event was generated to correspond to the Legacy Telemetry event
|
||||||
|
doh.state#rollback.
|
||||||
|
bugs: *doh_state_bugs
|
||||||
|
data_reviews: *doh_state_data_reviews
|
||||||
|
notification_emails: *doh_state_emails
|
||||||
|
expires: never
|
||||||
|
extra_keys: *doh_state_extra
|
||||||
|
telemetry_mirror: Doh_State_Rollback
|
||||||
|
|
||||||
|
state_shutdown:
|
||||||
|
type: event
|
||||||
|
description: >
|
||||||
|
Results of DoH heuristics at startup and after network changes.
|
||||||
|
This event was generated to correspond to the Legacy Telemetry event
|
||||||
|
doh.state#shutdown.
|
||||||
|
bugs: *doh_state_bugs
|
||||||
|
data_reviews: *doh_state_data_reviews
|
||||||
|
notification_emails: *doh_state_emails
|
||||||
|
expires: never
|
||||||
|
extra_keys: *doh_state_extra
|
||||||
|
telemetry_mirror: Doh_State_Shutdown
|
||||||
|
|
||||||
|
security.doh.trr_performance:
|
||||||
|
resolved_record:
|
||||||
|
type: event
|
||||||
|
description: >
|
||||||
|
How long it took to resolve a test domain using TRR.
|
||||||
|
This event was generated to correspond to the Legacy Telemetry event
|
||||||
|
security.doh.trrPerformance.resolved#record.
|
||||||
|
bugs:
|
||||||
|
- https://bugzil.la/1613790
|
||||||
|
data_reviews:
|
||||||
|
- https://bugzil.la/1613790
|
||||||
|
notification_emails:
|
||||||
|
- nhnt11@mozilla.com
|
||||||
|
- ddamjanovic@mozilla.com
|
||||||
|
- seceng-telemetry@mozilla.com
|
||||||
|
expires: never
|
||||||
|
extra_keys:
|
||||||
|
value:
|
||||||
|
description: >
|
||||||
|
The `value` of the event. Mirrors to the Legacy Telemetry
|
||||||
|
event's `value` parameter.
|
||||||
|
type: string
|
||||||
|
domain:
|
||||||
|
description: >
|
||||||
|
The resolved domain.
|
||||||
|
type: string
|
||||||
|
trr:
|
||||||
|
description: >
|
||||||
|
The TRR provider used.
|
||||||
|
type: string
|
||||||
|
time:
|
||||||
|
description: >
|
||||||
|
The network time for the resolution.
|
||||||
|
type: string
|
||||||
|
status:
|
||||||
|
description: >
|
||||||
|
The DNS status code.
|
||||||
|
type: string
|
||||||
|
retryCount:
|
||||||
|
description: >
|
||||||
|
The number of lookup attempts before success.
|
||||||
|
type: string
|
||||||
|
networkUnstable:
|
||||||
|
description: >
|
||||||
|
Whether there was network fluctuation while gathering the results.
|
||||||
|
type: string
|
||||||
|
captivePortal:
|
||||||
|
description: >
|
||||||
|
Whether there a captive portal was detected during the run.
|
||||||
|
type: string
|
||||||
|
telemetry_mirror: SecurityDohTrrperformance_Resolved_Record
|
||||||
|
|
||||||
|
trrselect_dryrunresult:
|
||||||
|
type: event
|
||||||
|
description: >
|
||||||
|
The URL of the DoH provider chosen by the TRR selection dry-run
|
||||||
|
This event was generated to correspond to the Legacy Telemetry event
|
||||||
|
security.doh.trrPerformance.trrselect#dryrunresult.
|
||||||
|
bugs:
|
||||||
|
- https://bugzil.la/1631822
|
||||||
|
data_reviews:
|
||||||
|
- https://bugzil.la/1631822
|
||||||
|
notification_emails:
|
||||||
|
- nhnt11@mozilla.com
|
||||||
|
- ddamjanovic@mozilla.com
|
||||||
|
- seceng-telemetry@mozilla.com
|
||||||
|
expires: never
|
||||||
|
extra_keys:
|
||||||
|
value:
|
||||||
|
description: >
|
||||||
|
The `value` of the event. Mirrors to the Legacy Telemetry
|
||||||
|
event's `value` parameter.
|
||||||
|
type: string
|
||||||
|
telemetry_mirror: SecurityDohTrrperformance_Trrselect_Dryrunresult
|
||||||
@@ -60,6 +60,7 @@ gecko_metrics = [
|
|||||||
# Order is lexicographical, enforced by t/c/glean/tests/pytest/test_yaml_indices.py
|
# Order is lexicographical, enforced by t/c/glean/tests/pytest/test_yaml_indices.py
|
||||||
firefox_desktop_metrics = [
|
firefox_desktop_metrics = [
|
||||||
"browser/components/backup/metrics.yaml",
|
"browser/components/backup/metrics.yaml",
|
||||||
|
"browser/components/doh/metrics.yaml",
|
||||||
"browser/components/firefoxview/metrics.yaml",
|
"browser/components/firefoxview/metrics.yaml",
|
||||||
"browser/components/genai/metrics.yaml",
|
"browser/components/genai/metrics.yaml",
|
||||||
"browser/components/metrics.yaml",
|
"browser/components/metrics.yaml",
|
||||||
|
|||||||
Reference in New Issue
Block a user