Closed
Bug 1460305
Opened 7 years ago
Closed 7 years ago
DNS cache: add telemetry for evicting non-expired cache entries
Categories
(Core :: Networking: DNS, enhancement, P1)
Core
Networking: DNS
Tracking
()
RESOLVED
FIXED
mozilla62
Tracking | Status | |
---|---|---|
firefox62 | --- | fixed |
People
(Reporter: bagder, Assigned: bagder)
Details
(Whiteboard: [necko-triaged])
Attachments
(2 files, 1 obsolete file)
Telemetry data for DNS_CLEANUP_AGE shows that DNS cache entries are evicted fairly early; in the order of 16% are nuked within the first minute.
This existing data does not take into account if the cached entries are still valid or not when evicted. This new telemetry probe, DNS_PREMATURE_EVICTION, is very similar to DNS_CLEANUP_AGE but will only count entries that aren't expired. Entries that are prematurely evicted from the cache due to cache size.
This new probe is meant to be used to evaluate what gains that can be had by enlarging the default DNS cache size (number of entries).
Assignee | ||
Updated•7 years ago
|
Whiteboard: [necko-triaged]
Comment hidden (mozreview-request) |
Comment 2•7 years ago
|
||
mozreview-review |
Comment on attachment 8974435 [details]
bug 1460305 - add DNS_PREMATURE_EVICTION telemetry probe
https://reviewboard.mozilla.org/r/242776/#review248676
friendly reminder you also need a data collection review to add the new telem
::: netwerk/dns/nsHostResolver.cpp:1682
(Diff revision 1)
> // record the age of the entry upon eviction.
> TimeDuration age = TimeStamp::NowLoRes() - head->mValidStart;
> Telemetry::Accumulate(Telemetry::DNS_CLEANUP_AGE,
> static_cast<uint32_t>(age.ToSeconds() / 60));
> + if (head->CheckExpiration(TimeStamp::Now()) !=
> + nsHostRecord::EXP_EXPIRED) {
let's make this != VALID instead of == EXPIRED.. it could go either way, but != VALID is a little more conservative in the face of changing GRACE (which seems to also be a possibility now that we have reliable ttls)
::: toolkit/components/telemetry/Histograms.json:3240
(Diff revision 1)
> + "record_in_processes": ["main"],
> + "expires_in_version": "never",
> + "kind": "exponential",
> + "high": 1440,
> + "releaseChannelCollection": "opt-out",
> + "alert_emails": ["necko@mozilla.com", "pmcmanus@mozilla.com"],
pretty sure you mean bagder not mcmanus :)
Assignee | ||
Comment 3•7 years ago
|
||
mozreview-review-reply |
Comment on attachment 8974435 [details]
bug 1460305 - add DNS_PREMATURE_EVICTION telemetry probe
https://reviewboard.mozilla.org/r/242776/#review248676
> let's make this != VALID instead of == EXPIRED.. it could go either way, but != VALID is a little more conservative in the face of changing GRACE (which seems to also be a possibility now that we have reliable ttls)
I figured it was the other way around. VALID and GRACE are both still non-expired so I did the check for != EXPIRED. Shouldn't evicted entries still in the grace period still count as "non-expired" ?
> pretty sure you mean bagder not mcmanus :)
I blame my copy and paste fingers!
Comment 4•7 years ago
|
||
mozreview-review |
Comment on attachment 8974435 [details]
bug 1460305 - add DNS_PREMATURE_EVICTION telemetry probe
https://reviewboard.mozilla.org/r/242776/#review248710
Attachment #8974435 -
Flags: review?(mcmanus) → review-
Assignee | ||
Comment 5•7 years ago
|
||
Attachment #8974618 -
Flags: review?(francois)
Assignee | ||
Comment 6•7 years ago
|
||
Fixed the telemetry email address.
Kept the != EXPIRED logic to have the entries in the grace period included in this counter basically because they are counted as "still in the cache" by the code during that period as well.
Attachment #8974435 -
Attachment is obsolete: true
Attachment #8974689 -
Flags: review?(mcmanus)
Updated•7 years ago
|
Attachment #8974689 -
Flags: review?(mcmanus) → review+
Comment 7•7 years ago
|
||
Comment on attachment 8974618 [details]
data collection form for this new telemetry probe
1) Is there or will there be **documentation** that describes the schema for the ultimate data set available publicly, complete and accurate?
Yes, in Histograms.json.
2) Is there a control mechanism that allows the user to turn the data collection on and off?
Yes, telemetry setting.
3) If the request is for permanent data collection, is there someone who will monitor the data over time?**
Yes, Daniel Stenberg.
4) Using the **[category system of data types](https://wiki.mozilla.org/Firefox/Data_Collection)** on the Mozilla wiki, what collection type of data do the requested measurements fall under? **
Category 1.
5) Is the data collection request for default-on or default-off?
Default on, all channels.
6) Does the instrumentation include the addition of **any *new* identifiers** (whether anonymous or otherwise; e.g., username, random IDs, etc. See the appendix for more details)?
No.
7) Is the data collection covered by the existing Firefox privacy notice?
Yes.
8) Does there need to be a check-in in the future to determine whether to renew the data?
No, permanent.
Attachment #8974618 -
Flags: review?(francois) → review+
Assignee | ||
Updated•7 years ago
|
Keywords: checkin-needed
Pushed by ryanvm@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/07140868fd01
Add DNS_PREMATURE_EVICTION telemetry probe. r=mcmanus
Keywords: checkin-needed
Comment 9•7 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 7 years ago
status-firefox62:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
You need to log in
before you can comment on or make changes to this bug.
Description
•