Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
absl::profiling_internal::SampleRecorder< T > Class Template Reference

#include <sample_recorder.h>

Public Types

using DisposeCallback = void(*)(const T &)
 

Public Member Functions

int32_t GetMaxSamples () const
 
int64_t Iterate (const std::function< void(const T &stack)> &f)
 
template<typename... Targs>
TRegister (Targs &&... args)
 
 SampleRecorder ()
 
DisposeCallback SetDisposeCallback (DisposeCallback f)
 
void SetMaxSamples (int32_t max)
 
void Unregister (T *sample)
 
 ~SampleRecorder ()
 

Private Member Functions

template<typename... Targs>
TPopDead (Targs... args)
 
void PushDead (T *sample)
 
void PushNew (T *sample)
 

Private Attributes

std::atomic< T * > all_
 
std::atomic< DisposeCallbackdispose_
 
std::atomic< size_t > dropped_samples_
 
T graveyard_
 
std::atomic< int32_tmax_samples_ {1 << 20}
 
std::atomic< size_t > size_estimate_
 

Detailed Description

template<typename T>
class absl::profiling_internal::SampleRecorder< T >

Definition at line 57 of file sample_recorder.h.

Member Typedef Documentation

◆ DisposeCallback

template<typename T >
using absl::profiling_internal::SampleRecorder< T >::DisposeCallback = void (*)(const T&)

Definition at line 73 of file sample_recorder.h.

Constructor & Destructor Documentation

◆ SampleRecorder()

Definition at line 131 of file sample_recorder.h.

◆ ~SampleRecorder()

Definition at line 138 of file sample_recorder.h.

Member Function Documentation

◆ GetMaxSamples()

template<typename T >
int32_t absl::profiling_internal::SampleRecorder< T >::GetMaxSamples

Definition at line 237 of file sample_recorder.h.

◆ Iterate()

template<typename T >
int64_t absl::profiling_internal::SampleRecorder< T >::Iterate ( const std::function< void(const T &stack)> &  f)

Definition at line 217 of file sample_recorder.h.

◆ PopDead()

template<typename T >
template<typename... Targs>
T * absl::profiling_internal::SampleRecorder< T >::PopDead ( Targs...  args)
private

Definition at line 170 of file sample_recorder.h.

◆ PushDead()

template<typename T >
void absl::profiling_internal::SampleRecorder< T >::PushDead ( T sample)
private

Definition at line 157 of file sample_recorder.h.

◆ PushNew()

template<typename T >
void absl::profiling_internal::SampleRecorder< T >::PushNew ( T sample)
private

Definition at line 148 of file sample_recorder.h.

◆ Register()

template<typename T >
template<typename... Targs>
T * absl::profiling_internal::SampleRecorder< T >::Register ( Targs &&...  args)

Definition at line 188 of file sample_recorder.h.

◆ SetDisposeCallback()

template<typename T >
SampleRecorder< T >::DisposeCallback absl::profiling_internal::SampleRecorder< T >::SetDisposeCallback ( DisposeCallback  f)

Definition at line 126 of file sample_recorder.h.

◆ SetMaxSamples()

template<typename T >
void absl::profiling_internal::SampleRecorder< T >::SetMaxSamples ( int32_t  max)

Definition at line 232 of file sample_recorder.h.

◆ Unregister()

template<typename T >
void absl::profiling_internal::SampleRecorder< T >::Unregister ( T sample)

Definition at line 211 of file sample_recorder.h.

Member Data Documentation

◆ all_

template<typename T >
std::atomic<T*> absl::profiling_internal::SampleRecorder< T >::all_
private

Definition at line 118 of file sample_recorder.h.

◆ dispose_

template<typename T >
std::atomic<DisposeCallback> absl::profiling_internal::SampleRecorder< T >::dispose_
private

Definition at line 121 of file sample_recorder.h.

◆ dropped_samples_

template<typename T >
std::atomic<size_t> absl::profiling_internal::SampleRecorder< T >::dropped_samples_
private

Definition at line 89 of file sample_recorder.h.

◆ graveyard_

template<typename T >
T absl::profiling_internal::SampleRecorder< T >::graveyard_
private

Definition at line 119 of file sample_recorder.h.

◆ max_samples_

template<typename T >
std::atomic<int32_t> absl::profiling_internal::SampleRecorder< T >::max_samples_ {1 << 20}
private

Definition at line 91 of file sample_recorder.h.

◆ size_estimate_

template<typename T >
std::atomic<size_t> absl::profiling_internal::SampleRecorder< T >::size_estimate_
private

Definition at line 90 of file sample_recorder.h.


The documentation for this class was generated from the following file:


grpc
Author(s):
autogenerated on Fri May 16 2025 03:02:54