Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(37)

Unified Diff: chrome/browser/resources/net_internals/dns_view.js

Issue 2773023003: Add more data to net-internals view of DNS cache (Closed)
Patch Set: undefined -> empty string Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/net_internals/dns_view.js
diff --git a/chrome/browser/resources/net_internals/dns_view.js b/chrome/browser/resources/net_internals/dns_view.js
index 05bb521f92a24408d95d72919cf0b9fc5a255b2b..dc03a9d23abdd1e9897df0256070991bc077a71f 100644
--- a/chrome/browser/resources/net_internals/dns_view.js
+++ b/chrome/browser/resources/net_internals/dns_view.js
@@ -55,6 +55,7 @@ var DnsView = (function() {
DnsView.ACTIVE_SPAN_ID = 'dns-view-cache-active';
DnsView.EXPIRED_SPAN_ID = 'dns-view-cache-expired';
+ DnsView.NETWORK_SPAN_ID = 'dns-view-network-changes';
DnsView.CACHE_TBODY_ID = 'dns-view-cache-tbody';
cr.addSingletonGetter(DnsView);
@@ -73,6 +74,7 @@ var DnsView = (function() {
$(DnsView.CACHE_TBODY_ID).innerHTML = '';
$(DnsView.ACTIVE_SPAN_ID).innerHTML = '0';
$(DnsView.EXPIRED_SPAN_ID).innerHTML = '0';
+ $(DnsView.NETWORK_SPAN_ID).innerHTML = '0';
// Update fields containing async DNS configuration information.
displayAsyncDnsConfig_(hostResolverInfo);
@@ -84,6 +86,8 @@ var DnsView = (function() {
// Fill in the basic cache information.
var hostResolverCache = hostResolverInfo.cache;
$(DnsView.CAPACITY_SPAN_ID).innerText = hostResolverCache.capacity;
+ $(DnsView.NETWORK_SPAN_ID).innerText =
+ valueOrDefault(hostResolverCache.network_changes, '');
var expiredEntries = 0;
// Date the cache was logged. This will be either now, when actively
@@ -99,6 +103,7 @@ var DnsView = (function() {
for (var i = 0; i < hostResolverCache.entries.length; ++i) {
var e = hostResolverCache.entries[i];
var tr = addNode($(DnsView.CACHE_TBODY_ID), 'tr');
+ var expired = false;
var hostnameCell = addNode(tr, 'td');
addTextNode(hostnameCell, e.hostname);
@@ -116,15 +121,35 @@ var DnsView = (function() {
addListToNode_(addNode(addressesCell, 'div'), e.addresses);
}
+ var ttlCell = addNode(tr, 'td');
+ addTextNode(ttlCell, valueOrDefault(e.ttl, ''));
+
var expiresDate = timeutil.convertTimeTicksToDate(e.expiration);
var expiresCell = addNode(tr, 'td');
timeutil.addNodeWithDate(expiresCell, expiresDate);
if (logDate > timeutil.convertTimeTicksToDate(e.expiration)) {
- ++expiredEntries;
+ expired = true;
var expiredSpan = addNode(expiresCell, 'span');
expiredSpan.classList.add('warning-text');
addTextNode(expiredSpan, ' [Expired]');
}
+
+ // HostCache keeps track of how many network changes have happened since
+ // it was created, and entries store what that number was at the time
+ // they were created. If more network changes have happened since an
+ // entry was created, the entry is expired.
+ var networkChangesCell = addNode(tr, 'td');
+ addTextNode(networkChangesCell, valueOrDefault(e.network_changes, ''));
+ if (e.network_changes < hostResolverCache.network_changes) {
+ expired = true;
+ var expiredSpan = addNode(networkChangesCell, 'span');
+ expiredSpan.classList.add('warning-text');
+ addTextNode(expiredSpan, ' [Expired]');
+ }
+
+ if (expired) {
+ expiredEntries++;
+ }
}
$(DnsView.ACTIVE_SPAN_ID).innerText =
@@ -192,5 +217,13 @@ var DnsView = (function() {
addNodeWithText(node, 'div', list[i]);
}
+ // TODO(mgersh): The |ttl| and |network_changes| properties were introduced in
+ // M59 and may not exist when loading older logs. This can be removed in M62.
+ function valueOrDefault(value, defaultValue) {
+ if (value != undefined)
+ return value;
+ return defaultValue;
+ }
+
return DnsView;
})();

Powered by Google App Engine
This is Rietveld 408576698