#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include <memory>
#include <set>
#include <string>
#include <vector>
#include "base/atomicops.h"
#include "base/containers/span.h"
#include "base/memory/raw_span.h"
#include "base/metrics/bucket_ranges.h"
#include "base/metrics/histogram.h"
#include "base/metrics/persistent_histogram_allocator.h"
#include "base/metrics/sparse_histogram.h"
#include "base/no_destructor.h"
#include "base/strings/stringprintf.h"
#include "base/test/scoped_feature_list.h"
#include "base/threading/simple_thread.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace base {
namespace {
char const* GetPermanentName(const std::string& name) { … }
size_t GetBucketIndex(HistogramBase::Sample value, const BucketRanges* ranges) { … }
class SnapshotDeltaThread : public SimpleThread { … };
}
class HistogramThreadsafeTest : public testing::Test { … };
TEST_F(HistogramThreadsafeTest, SnapshotDeltaThreadsafe) { … }
}