StoreStats.cc
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
3  *
4  * Squid software is distributed under GPLv2+ license and includes
5  * contributions from numerous individuals and organizations.
6  * Please see the COPYING and CONTRIBUTORS files for details.
7  */
8 
9 /* DEBUG: section 20 Storage Manager Statistics */
10 
11 #include "squid.h"
12 #include "StoreStats.h"
13 #include "tools.h"
14 
17 {
18  swap.size += stats.swap.size;
19  swap.capacity += stats.swap.capacity;
20  swap.count += stats.swap.count;
22 
23  // Assume that either all workers use shared memory cache or none do.
24  // It is possible but difficult to report correct stats for an arbitrary
25  // mix, and only rather unusual deployments can benefit from mixing.
26 
27  // If workers share memory, we will get shared stats from those workers
28  // and non-shared stats from other processes. Ignore order and also
29  // ignore other processes stats because they are zero in most setups.
30  if (stats.mem.shared) { // workers share memory
31  // use the latest reported stats, they all should be about the same
32  mem.shared = true;
33  mem.size = stats.mem.size;
34  mem.capacity = stats.mem.capacity;
35  mem.count = stats.mem.count;
36  } else if (!mem.shared) { // do not corrupt shared stats, if any
37  // workers do not share so we must add everything up
38  mem.size += stats.mem.size;
39  mem.capacity += stats.mem.capacity;
40  mem.count += stats.mem.count;
41  }
42 
45 
46  return *this;
47 }
48 
49 /* StoreIoStats */
50 
52 {
53  memset(this, 0, sizeof(*this));
54 }
55 
double mem_object_count
number of MemObject objects in existence
Definition: StoreStats.h:52
double count
number of cached objects
Definition: StoreStats.h:21
double capacity
the size limit
Definition: StoreStats.h:22
double open_disk_fd
number of opened disk files
Definition: StoreStats.h:35
double size
bytes currently in use
Definition: StoreStats.h:20
StoreInfoStats & operator+=(const StoreInfoStats &stats)
Definition: StoreStats.cc:16
Mem mem
all cache_dirs stats
Definition: StoreStats.h:48
Swap swap
cache_mem stats
Definition: StoreStats.h:47
bool shared
whether memory cache is shared among workers
Definition: StoreStats.h:42
double store_entry_count
number of StoreEntry objects in existence
Definition: StoreStats.h:51
High-level store statistics used by mgr:info action. Used inside PODs!
Definition: StoreStats.h:13

 

Introduction

Documentation

Support

Miscellaneous