ImportApiMetricSinkConfig
using Relativity.DataExchange;
using System;
namespace Monitoring.Sinks
{
public class ImportApiMetricSinkConfig : IMetricSinkConfig
{
private TimeSpan? _throttleTimeout;
private bool? _sendSumMetrics;
private bool? _sendApmMetrics;
public TimeSpan ThrottleTimeout {
get {
if (!_throttleTimeout.HasValue)
return TimeSpan.FromSeconds((double)AppSettings.Instance.TelemetryMetricsThrottlingSeconds);
return _throttleTimeout.Value;
}
set {
_throttleTimeout = value;
}
}
public bool SendSumMetrics {
get {
if (!_sendSumMetrics.HasValue)
return AppSettings.Instance.TelemetrySubmitSumMetrics;
return _sendSumMetrics.Value;
}
set {
_sendSumMetrics = value;
}
}
public bool SendApmMetrics {
get {
if (!_sendApmMetrics.HasValue)
return AppSettings.Instance.TelemetrySubmitApmMetrics;
return _sendApmMetrics.Value;
}
set {
_sendApmMetrics = value;
}
}
public ImportApiMetricSinkConfig()
{
_throttleTimeout = null;
_sendSumMetrics = null;
_sendApmMetrics = null;
}
}
}