MetricSinkSum
using Relativity.DataExchange.Service;
using Relativity.Telemetry.DataContracts.Shared;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Threading.Tasks;
namespace Monitoring.Sinks
{
public class MetricSinkSum : IMetricSink
{
[CompilerGenerated]
internal sealed class _Closure$__3-0
{
public List<MetricRef> $VB$Local_metrics;
[AsyncStateMachine(typeof(VB$StateMachine___Lambda$__0))]
internal Task _Lambda$__0(IServiceProxyFactory serviceFactory)
{
VB$StateMachine___Lambda$__0 stateMachine = default(VB$StateMachine___Lambda$__0);
stateMachine.$VB$NonLocal__Closure$__3-0 = this;
stateMachine.$VB$Local_serviceFactory = serviceFactory;
stateMachine.$State = -1;
stateMachine.$Builder = AsyncTaskMethodBuilder.Create();
stateMachine.$Builder.Start(ref stateMachine);
return stateMachine.$Builder.Task;
}
}
private readonly IKeplerProxy _keplerProxy;
private readonly ISumMetricFormatter _sumMetricFormatter;
[CompilerGenerated]
private bool _IsEnabled;
public bool IsEnabled { get; set; }
public MetricSinkSum(IKeplerProxy keplerProxy, ISumMetricFormatter sumMetricFormatter, bool isEnabled)
{
_keplerProxy = keplerProxy;
_sumMetricFormatter = sumMetricFormatter;
IsEnabled = isEnabled;
}
public void Log(MetricBase metric)
{
_Closure$__3-0 closure$__3-;
closure$__3-.$VB$Local_metrics = _sumMetricFormatter.GenerateSumMetrics(metric);
if (closure$__3-.$VB$Local_metrics != null && closure$__3-.$VB$Local_metrics.Count != 0)
_keplerProxy.ExecuteAsync(delegate(IServiceProxyFactory serviceFactory) {
_Closure$__3-0.VB$StateMachine___Lambda$__0 stateMachine = default(_Closure$__3-0.VB$StateMachine___Lambda$__0);
stateMachine.$VB$NonLocal__Closure$__3-0 = closure$__3-;
stateMachine.$VB$Local_serviceFactory = serviceFactory;
stateMachine.$State = -1;
stateMachine.$Builder = AsyncTaskMethodBuilder.Create();
stateMachine.$Builder.Start(ref stateMachine);
return stateMachine.$Builder.Task;
}).GetAwaiter().GetResult();
}
void IMetricSink.Log(MetricBase metric)
{
this.Log(metric);
}
}
}