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;
21 swap.open_disk_fd += stats.swap.open_disk_fd;
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
43 store_entry_count += stats.store_entry_count;
44 mem_object_count += stats.mem_object_count;
45
46 return *this;
47}
48
49/* StoreIoStats */
50
52{
53 memset(this, 0, sizeof(*this));
54}
55
bool shared
whether memory cache is shared among workers
Definition: StoreStats.h:42
double capacity
the size limit
Definition: StoreStats.h:22
double count
number of cached objects
Definition: StoreStats.h:21
double size
bytes currently in use
Definition: StoreStats.h:20
double open_disk_fd
number of opened disk files
Definition: StoreStats.h:35
High-level store statistics used by mgr:info action. Used inside PODs!
Definition: StoreStats.h:14
double store_entry_count
number of StoreEntry objects in existence
Definition: StoreStats.h:51
Swap swap
cache_mem stats
Definition: StoreStats.h:47
Mem mem
all cache_dirs stats
Definition: StoreStats.h:48
double mem_object_count
number of MemObject objects in existence
Definition: StoreStats.h:52
StoreInfoStats & operator+=(const StoreInfoStats &stats)
Definition: StoreStats.cc:16
class Ping::pingStats_ stats

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors