public MackerelMetricsReporter(MetricsReportingMackerelOptions options) { this.Options = options; var httpOptions = Options.HttpOptions; // https://mackerel.io/ja/api-docs/entry/host-metrics#post httpOptions.HttpSettings.RequestUri = new Uri(Options.ApiBase + "/tsdb"); httpOptions.MetricsOutputFormatter = new HostMetricsJsonOutputFormatter(Options.HostId); httpOptions.InnerHttpMessageHandler = new MackerelApiMessageHandler(Options.ApiKey); _httpReporter = new HttpMetricsReporter(httpOptions); }
public static IMetricsBuilder ToMackerel( this IMetricsReportingBuilder metricReporterProviderBuilder, Action <MetricsReportingMackerelOptions> setupAction) { if (metricReporterProviderBuilder == null) { throw new ArgumentNullException(nameof(metricReporterProviderBuilder)); } var options = new MetricsReportingMackerelOptions(); setupAction?.Invoke(options); var provider = new MackerelMetricsReporter(options); return(metricReporterProviderBuilder.Using(provider)); }