In the JSON stats channel data, each view contains a 'cachestats' element with the counters for the cache attached to the view. This happens even when the cache is shared between multiple views, with no indication in the data when this has happened. The XML stats channel data also contains a copy of the cache stats for each view, but it also adds a 'name' attribute to each 'cache' element, allowing someone using the stats data to identify when a cache is shared and which views are using it. By contrast, the named.stats output only includes one copy of the stats for each cache (for each class) no matter how many views share it. This is accomplished using the 'dns_view_iscacheshared' function. It also produces the name of the cache with every view so that sharing relationships are clear in the data. (side note: the "owning" view of a cache is not necessarily the one with the same name as the cache - it is instead the first view to attach to the cache). I've attached a named.conf and captured stats demonstrating this.