MetricSinkApm
using Relativity.DataExchange.Service;
using System.Runtime.CompilerServices;
using System.Threading.Tasks;
namespace Monitoring.Sinks
{
public class MetricSinkApm : IMetricSink
{
[CompilerGenerated]
internal sealed class _Closure$__2-0
{
public MetricBase $VB$Local_metric;
[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$__2-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;
[CompilerGenerated]
private bool _IsEnabled;
public bool IsEnabled { get; set; }
public MetricSinkApm(IKeplerProxy keplerProxy, bool isEnabled)
{
_keplerProxy = keplerProxy;
IsEnabled = isEnabled;
}
public void Log(MetricBase metric)
{
_keplerProxy.ExecuteAsync(delegate(IServiceProxyFactory serviceFactory) {
_Closure$__2-0.VB$StateMachine___Lambda$__0 stateMachine = default(_Closure$__2-0.VB$StateMachine___Lambda$__0);
_Closure$__2-0 $VB$NonLocal__Closure$__2-;
stateMachine.$VB$NonLocal__Closure$__2-0 = $VB$NonLocal__Closure$__2-;
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);
}
}
}