/*
- * Copyright (C) 1996-2016 The Squid Software Foundation and contributors
+ * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
*
* Squid software is distributed under GPLv2+ license and includes
* contributions from numerous individuals and organizations.
* external dependencies to the SBuf code
*/
-static StatHist sbufDestructTimeStats;
-static StatHist memblobDestructTimeStats;
-
-namespace SBufDetailedStatsHistInitializer
-{
-// run the post-instantiation initialization methods for StatHist objects
-struct Initializer {
- Initializer() {
- sbufDestructTimeStats.logInit(100,30.0,128000.0);
- memblobDestructTimeStats.logInit(100,30.0,128000.0);
- }
-};
-Initializer initializer;
+static StatHist *
+newStatHist() {
+ StatHist *stats = new StatHist;
+ stats->logInit(100, 30.0, 128000.0);
+ return stats;
}
-void
-recordSBufSizeAtDestruct(SBuf::size_type sz)
+StatHist &
+collectSBufDestructTimeStats()
{
- sbufDestructTimeStats.count(static_cast<double>(sz));
+ static StatHist *stats = newStatHist();
+ return *stats;
}
-const StatHist *
-collectSBufDestructTimeStats()
+StatHist &
+collectMemBlobDestructTimeStats()
{
- return &sbufDestructTimeStats;
+ static StatHist *stats = newStatHist();
+ return *stats;
}
void
-recordMemBlobSizeAtDestruct(SBuf::size_type sz)
+recordSBufSizeAtDestruct(SBuf::size_type sz)
{
- memblobDestructTimeStats.count(static_cast<double>(sz));
+ collectSBufDestructTimeStats().count(static_cast<double>(sz));
}
-const StatHist *
-collectMemBlobDestructTimeStats()
+void
+recordMemBlobSizeAtDestruct(SBuf::size_type sz)
{
- return &memblobDestructTimeStats;
+ collectMemBlobDestructTimeStats().count(static_cast<double>(sz));
}