Show / Hide Table of Contents

Class AggregatingValueRecorder

IValueRecorder aggregating data by specific period. I.e. per second or per minute. Aggregates number of recorded values and total duration per period.

Inheritance
System.Object
AggregatingValueRecorder
Implements
IValueRecorder
Namespace: Eco.Shared.Tools
Assembly: Eco.Shared.dll
Syntax
public class AggregatingValueRecorder : Object, IValueRecorder

Constructors

AggregatingValueRecorder(TimeSpan, Boolean)

Declaration
public AggregatingValueRecorder(TimeSpan period, bool aggregateEmpty = true)
Parameters
Type Name Description
System.TimeSpan period
System.Boolean aggregateEmpty

Properties

AggregatedCount

Returns number of events per period aggregated data. I.e. per second.

Declaration
public AggregatedValue AggregatedCount { get; }
Property Value
Type Description
AggregatedValue

AggregateDuration

Returns duration of all events per period aggregated data. I.e. per second.

Declaration
public AggregatedValue AggregateDuration { get; }
Property Value
Type Description
AggregatedValue

Period

Aggregation period.

Declaration
public TimeSpan Period { get; }
Property Value
Type Description
System.TimeSpan

Methods

FlushCompleted()

Ensures all periods data aggregated. Usually it auto flushes when next period starts, but for rare events it may not happen and require manual flush.

Declaration
public void FlushCompleted()

RecordValue(in PerformanceCounterValue)

Declaration
public void RecordValue(in PerformanceCounterValue value)
Parameters
Type Name Description
PerformanceCounterValue value

Explicit Interface Implementations

IValueRecorder.RecordValue(in PerformanceCounterValue)

Declaration
void IValueRecorder.RecordValue(in PerformanceCounterValue value)
Parameters
Type Name Description
PerformanceCounterValue value

Implements

IValueRecorder

Extension Methods

CommandLine.FeedFromCommandLine(Object)
CommandLine.ToCommandLineArgs(Object, Func<Object, Boolean>)
ListUtil.DepthFirstTraversal<T>(T, Func<T, IEnumerable<T>>)
EnumerableExtensions.SingleItemAsEnumerable<T>(T)
EventUtils.RaiseEvent<TEventArgs>(Object, String, TEventArgs)
PredicateUtils.MatchesAll<TEnumerable, T>(T, TEnumerable)
PredicateUtils.MatchesAll<T>(T, Func<T, Boolean>[])
PredicateUtils.MatchesAny<TEnumerable, T>(T, TEnumerable)
ReflectionUtils.PropertyValue<T>(Object, PropertyInfo)
ReflectionUtils.TryGetPropertyValueByName<T>(Object, String, out T)
ReflectionUtils.GetPropertyValueByName<T>(Object, String)
ReflectionUtils.SetPropertyByName(Object, String, Object)
ReflectionUtils.GetStructPropertyByName<T>(Object, String)
ReflectionUtils.GetStringPropertyByName(Object, String)
ReflectionUtils.ZipByProperty<T>(Object, Object, Object, Func<T, T, T>)
☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾