Commit 27f15a05 by Abseil Team Committed by Copybara-Service

Use absl::NoDestructor for global HashtablezSampler.

PiperOrigin-RevId: 601156448
Change-Id: Id6d19bda7eb3acee11cfab3a95e611996d6ef4cc
parent 6dda8e52
...@@ -563,6 +563,7 @@ cc_library( ...@@ -563,6 +563,7 @@ cc_library(
"//absl/base", "//absl/base",
"//absl/base:config", "//absl/base:config",
"//absl/base:core_headers", "//absl/base:core_headers",
"//absl/base:no_destructor",
"//absl/base:raw_logging_internal", "//absl/base:raw_logging_internal",
"//absl/debugging:stacktrace", "//absl/debugging:stacktrace",
"//absl/memory", "//absl/memory",
......
...@@ -602,6 +602,7 @@ absl_cc_library( ...@@ -602,6 +602,7 @@ absl_cc_library(
absl::base absl::base
absl::config absl::config
absl::exponential_biased absl::exponential_biased
absl::no_destructor
absl::raw_logging_internal absl::raw_logging_internal
absl::sample_recorder absl::sample_recorder
absl::synchronization absl::synchronization
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include "absl/base/attributes.h" #include "absl/base/attributes.h"
#include "absl/base/config.h" #include "absl/base/config.h"
#include "absl/base/internal/raw_logging.h" #include "absl/base/internal/raw_logging.h"
#include "absl/base/no_destructor.h"
#include "absl/debugging/stacktrace.h" #include "absl/debugging/stacktrace.h"
#include "absl/memory/memory.h" #include "absl/memory/memory.h"
#include "absl/profiling/internal/exponential_biased.h" #include "absl/profiling/internal/exponential_biased.h"
...@@ -64,7 +65,7 @@ ABSL_PER_THREAD_TLS_KEYWORD SamplingState global_next_sample = {0, 0}; ...@@ -64,7 +65,7 @@ ABSL_PER_THREAD_TLS_KEYWORD SamplingState global_next_sample = {0, 0};
#endif // defined(ABSL_INTERNAL_HASHTABLEZ_SAMPLE) #endif // defined(ABSL_INTERNAL_HASHTABLEZ_SAMPLE)
HashtablezSampler& GlobalHashtablezSampler() { HashtablezSampler& GlobalHashtablezSampler() {
static auto* sampler = new HashtablezSampler(); static absl::NoDestructor<HashtablezSampler> sampler;
return *sampler; return *sampler;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment