Bug 1588056 - Add telemetry about the time between network change events if we do the events coalescing. r=valentin

Differential Revision: https://phabricator.services.mozilla.com/D48954

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Dragana Damjanovic 2019-10-29 22:25:40 +00:00
parent a2bad4c3c2
commit 3071f2992e
3 changed files with 57 additions and 0 deletions

View File

@ -65,6 +65,11 @@ class nsNetworkLinkService : public nsINetworkLinkService,
// The timer used to delay the calculation of network id since it takes some
// time to discover the gateway's MAC address.
nsCOMPtr<nsITimer> mNetworkIdTimer;
// Time stamp of last NS_NETWORK_LINK_DATA_CHANGED_1MIN event
mozilla::TimeStamp mChangeTime_1min;
// Time stamp of last NS_NETWORK_LINK_DATA_CHANGED_5MIN event
mozilla::TimeStamp mChangeTime_5min;
};
#endif /* NSNETWORKLINKSERVICEMAC_H_ */

View File

@ -634,6 +634,30 @@ void nsNetworkLinkService::SendEvent(bool aNetworkChanged) {
mNetworkChangeTime);
}
mNetworkChangeTime = TimeStamp::Now();
// Telemetry probe if we coalesce network change events with period of 1min.
if (!mChangeTime_1min.IsNull()) {
double period = (TimeStamp::Now() - mChangeTime_1min).ToSeconds();
if (period >= 60) { // 1minute
Telemetry::AccumulateTimeDelta(Telemetry::NETWORK_TIME_BETWEEN_NETWORK_CHANGE_EVENTS_1MIN,
mChangeTime_1min);
mChangeTime_1min = TimeStamp::Now();
}
} else {
mChangeTime_1min = TimeStamp::Now();
}
// Telemetry probe if we coalesce network change events with period of 5min.
if (!mChangeTime_5min.IsNull()) {
double period = (TimeStamp::Now() - mChangeTime_5min).ToSeconds();
if (period >= 300) { // 5minutes.
Telemetry::AccumulateTimeDelta(Telemetry::NETWORK_TIME_BETWEEN_NETWORK_CHANGE_EVENTS_5min,
mChangeTime_5min);
mChangeTime_5min = TimeStamp::Now();
}
} else {
mChangeTime_5min = TimeStamp::Now();
}
} else if (!mStatusKnown) {
event = NS_NETWORK_LINK_DATA_UNKNOWN;
} else {

View File

@ -5344,6 +5344,34 @@
"n_buckets": 50,
"description": "Time in ms between two NS_NETWORK_LINK_DATA_CHANGED events sent"
},
"NETWORK_TIME_BETWEEN_NETWORK_CHANGE_EVENTS_1MIN": {
"record_in_processes": ["main"],
"products": ["firefox"],
"alert_emails": ["necko@mozilla.com", "ddamjanovic@mozilla.com"],
"bug_numbers": [1588056],
"expires_in_version": "72",
"kind": "exponential",
"low": 60000,
"high": 7200000,
"n_buckets": 50,
"releaseChannelCollection": "opt-out",
"operating_systems": ["mac"],
"description": "Time in ms between two NS_NETWORK_LINK_DATA_CHANGED events sent if a 1 minute coelescing is in place."
},
"NETWORK_TIME_BETWEEN_NETWORK_CHANGE_EVENTS_5MIN": {
"record_in_processes": ["main"],
"products": ["firefox"],
"alert_emails": ["necko@mozilla.com", "ddamjanovic@mozilla.com"],
"bug_numbers": [1588056],
"expires_in_version": "72",
"kind": "exponential",
"low": 300000,
"high": 7200000,
"n_buckets": 50,
"releaseChannelCollection": "opt-out",
"operating_systems": ["mac"],
"description": "Time in ms between two NS_NETWORK_LINK_DATA_CHANGED events sent if a 5 minute coelescing is in place."
},
"IDLE_NOTIFY_IDLE_MS": {
"record_in_processes": ["main", "content"],
"products": ["firefox", "fennec", "geckoview"],