示例#1
0
        /// <summary>
        /// Enables AWS Instrumentation.
        /// </summary>
        /// <param name="builder"><see cref="TracerProviderBuilder"/> being configured.</param>
        /// <param name="configure">AWS client configuration options.</param>
        /// <returns>The instance of <see cref="TracerProviderBuilder"/> to chain the calls.</returns>
        public static TracerProviderBuilder AddAWSInstrumentation(
            this TracerProviderBuilder builder,
            Action <AWSClientInstrumentationOptions> configure = null)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            var awsClientOptions = new AWSClientInstrumentationOptions();

            configure?.Invoke(awsClientOptions);

            new AWSClientsInstrumentation(awsClientOptions);
            builder.AddSource("Amazon.AWS.AWSClientInstrumentation");
            return(builder);
        }
示例#2
0
 public AWSTracingPipelineHandler(AWSClientInstrumentationOptions options)
 {
     this.options = options;
 }
 public AWSTracingPipelineCustomizer(AWSClientInstrumentationOptions options)
 {
     this.options = options;
 }
示例#4
0
 public AWSClientsInstrumentation(AWSClientInstrumentationOptions options)
 {
     RuntimePipelineCustomizerRegistry.Instance.Register(new AWSTracingPipelineCustomizer(options));
 }