Example #1
0
        /// <summary>
        /// Registers a ConsoleActivity exporter to a processing pipeline.
        /// </summary>
        /// <param name="builder"><see cref="OpenTelemetryBuilder"/> builder to use.</param>
        /// <param name="configure">Exporter configuration options.</param>
        /// <param name="processorConfigure">Activity processor configuration.</param>
        /// <returns>The instance of <see cref="OpenTelemetryBuilder"/> to chain the calls.</returns>
        public static OpenTelemetryBuilder UseConsoleActivityExporter(this OpenTelemetryBuilder builder, Action <ConsoleActivityExporterOptions> configure, Action <ActivityProcessorPipelineBuilder> processorConfigure)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (configure == null)
            {
                throw new ArgumentNullException(nameof(configure));
            }

            if (processorConfigure == null)
            {
                throw new ArgumentNullException(nameof(processorConfigure));
            }

            return(builder.AddProcessorPipeline(pipeline =>
            {
                var exporterOptions = new ConsoleActivityExporterOptions();
                configure(exporterOptions);

                var consoleExporter = new ConsoleActivityExporter(exporterOptions);
                pipeline.SetExporter(consoleExporter);
                processorConfigure(pipeline);
            }));
        }
        /// <summary>
        /// Enables the OpenTelemetry Protocol (OTLP) exporter.
        /// </summary>
        /// <param name="builder">Open Telemetry builder to use.</param>
        /// <param name="configure">Exporter configuration options.</param>
        /// <returns>The instance of <see cref="OpenTelemetryBuilder"/> to chain the calls.</returns>
        public static OpenTelemetryBuilder UseOpenTelemetryProtocolActivityExporter(this OpenTelemetryBuilder builder, Action <ExporterOptions> configure)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (configure == null)
            {
                throw new ArgumentNullException(nameof(configure));
            }

            return(builder.AddProcessorPipeline(pipeline =>
            {
                var exporterOptions = new ExporterOptions();
                configure(exporterOptions);

                var activityExporter = new OtlpActivityExporter(exporterOptions);
                pipeline.SetExporter(activityExporter);
            }));
        }
Example #3
0
        public void AddDependencyInstrumentation_BadArgs()
        {
            OpenTelemetryBuilder builder = null;

            Assert.Throws <ArgumentNullException>(() => builder.AddDependencyInstrumentation());
        }