12#ifndef ROC_AUDIO_PROFILER_H_
13#define ROC_AUDIO_PROFILER_H_
88 const size_t chunk_length_;
89 const size_t num_chunks_;
91 size_t first_chunk_num_;
92 size_t last_chunk_num_;
93 size_t last_chunk_samples_;
Profiler The role of the profiler is to report the average processing speed (# of samples processed p...
void add_frame(size_t frame_size, core::nanoseconds_t elapsed)
Profile frame speed.
Profiler(core::IAllocator &allocator, const audio::SampleSpec &sample_spec, ProfilerConfig profiler_config)
Initialization.
float get_moving_avg()
For Testing Only.
bool valid() const
Check if the profiler was succefully constructed.
Sample stream specification. Defines sample rate and channel layout.
Memory allocator interface.
Base class for non-copyable objects.
Memory allocator interface.
Intrusive doubly-linked list.
int64_t nanoseconds_t
Nanoseconds.
Profiler Configuration Parameters. Controls profiling interval and duration of each circular buffer c...
core::nanoseconds_t chunk_duration
Duration of samples each chunk can hold in the circular buffer.
ProfilerConfig()
Default Initialization.
ProfilerConfig(core::nanoseconds_t interval, core::nanoseconds_t duration)
Override Initialization.
core::nanoseconds_t profiling_interval
Rolling window duration and reporting interval.
Various units used in packets.