View Source AntikytheraCore.Metrics.Buffer (antikythera v0.5.1)
A bin-like data structure to hold per-minute, per-epool metrics data.
%{
{time_minute, epool_id} => %{
{metrics_type, strategy} => data_in_processing,
{metrics_type, strategy} => data_in_processing,
...
},
...
}
Summary
Types
@type epool_id() :: Antikythera.ExecutorPool.Id.nopool_t() | Antikythera.ExecutorPool.Id.t()
@type metrics_data_map() :: %{required(metrics_type()) => metrics_value()}
@type metrics_type() :: {String.t(), AntikytheraCore.Metrics.AggregateStrategy.t()}
@type metrics_value() :: AntikytheraCore.Metrics.AggregateStrategy.data_t()
@type minute() :: Antikythera.Time.t()
@type t() :: %{required(metrics_unit()) => metrics_data_map()}
Functions
@spec add( t(), Antikythera.Time.t(), [{String.t(), AntikytheraCore.Metrics.AggregateStrategy.t(), number()}], epool_id() ) :: t()
@spec new() :: t()
@spec partition_ongoing_and_past(t(), Antikythera.Time.t()) :: {t(), [{metrics_unit(), metrics_data_map()}]}