/// <summary> /// Add the <see cref="WavefrontReporter" /> allowing metrics to be reported to /// Wavefront. /// </summary> /// <param name="metricReporterProviderBuilder"> /// The <see cref="IMetricsReportingBuilder" /> used to configure metrics reporters. /// </param> /// <param name="options">The Wavefront reporting options to use.</param> /// <returns> /// An <see cref="IMetricsBuilder" /> that can be used to further configure App Metrics. /// </returns> public static IMetricsBuilder ToWavefront( this IMetricsReportingBuilder metricReporterProviderBuilder, MetricsReportingWavefrontOptions options) { if (metricReporterProviderBuilder == null) { throw new ArgumentNullException(nameof(metricReporterProviderBuilder)); } var provider = new WavefrontReporter(options); return(metricReporterProviderBuilder.Using(provider)); }
/// <summary> /// Add the <see cref="WavefrontReporter" /> allowing metrics to be reported to /// Wavefront. /// </summary> /// <param name="metricReporterProviderBuilder"> /// The <see cref="IMetricsReportingBuilder" /> used to configure metrics reporters. /// </param> /// <param name="setupAction">The Wavefront reporting options to use.</param> /// <returns> /// An <see cref="IMetricsBuilder" /> that can be used to further configure App Metrics. /// </returns> public static IMetricsBuilder ToWavefront( this IMetricsReportingBuilder metricReporterProviderBuilder, Action <MetricsReportingWavefrontOptions> setupAction) { if (metricReporterProviderBuilder == null) { throw new ArgumentNullException(nameof(metricReporterProviderBuilder)); } var options = new MetricsReportingWavefrontOptions(); setupAction?.Invoke(options); var provider = new WavefrontReporter(options); return(metricReporterProviderBuilder.Using(provider)); }
/// <summary> /// Add the <see cref="WavefrontReporter" /> allowing metrics to be reported to /// Wavefront. /// </summary> /// <param name="metricReporterProviderBuilder"> /// The <see cref="IMetricsReportingBuilder" /> used to configure metrics reporters. /// </param> /// <param name="wavefrontSender"> /// The <see cref="IWavefrontSender" /> that handles the formatting and flushing of /// metrics to Wavefront, either via direct ingestion or the Wavefront Proxy Agent. /// </param> /// <param name="source"> /// The source of your metrics. /// </param> /// <returns> /// An <see cref="IMetricsBuilder" /> that can be used to further configure App Metrics. /// </returns> public static IMetricsBuilder ToWavefront( this IMetricsReportingBuilder metricReporterProviderBuilder, IWavefrontSender wavefrontSender, string source) { if (metricReporterProviderBuilder == null) { throw new ArgumentNullException(nameof(metricReporterProviderBuilder)); } var options = new MetricsReportingWavefrontOptions { WavefrontSender = wavefrontSender, Source = source }; var provider = new WavefrontReporter(options); return(metricReporterProviderBuilder.Using(provider)); }