Class StackdriverSenderFactory

java.lang.Object
io.micronaut.gcp.tracing.zipkin.StackdriverSenderFactory

@Factory @Requires(classes=zipkin2.reporter.stackdriver.StackdriverSender.class) @Requires(property="gcp.tracing.enabled",value="true",defaultValue="true") public class StackdriverSenderFactory extends Object
Configures the StackdriverSender for Micronaut if present on the classpath.
Since:
1.0
Author:
graemerocher, Ray Tsang
  • Field Details

    • TRACE_SCOPE

      public static final URI TRACE_SCOPE
      The trace scope to use.
    • TRACE_TARGET

      public static final String TRACE_TARGET
      The trace target to use.
      See Also:
    • PROPERTY_ENABLED

      public static final String PROPERTY_ENABLED
      The property used to enable tracing.
      See Also:
  • Constructor Details

    • StackdriverSenderFactory

      public StackdriverSenderFactory()
  • Method Details

    • stackdriverTraceSenderChannel

      @Singleton @Bean(preDestroy="shutdownNow") @Named("stackdriverTraceSenderChannel") @NonNull protected @NonNull io.grpc.ManagedChannel stackdriverTraceSenderChannel()
      Returns:
      A GRPC channel to use to send traces.
    • stackdriverSender

      @RequiresGoogleProjectId @Requires(classes=zipkin2.reporter.stackdriver.StackdriverSender.class) @Singleton @NonNull protected @NonNull zipkin2.reporter.Sender stackdriverSender(@NonNull @NonNull GoogleCloudConfiguration cloudConfiguration, @NonNull @NonNull com.google.auth.oauth2.GoogleCredentials credentials, @NonNull @Named("stackdriverTraceSenderChannel") @NonNull io.grpc.ManagedChannel channel)
      The StackdriverSender bean.
      Parameters:
      cloudConfiguration - The google cloud configuration
      credentials - The credentials
      channel - The channel to use
      Returns:
      The sender
    • braveTracerConfigurationBeanCreatedEventListener

      @Singleton @Requires(classes=zipkin2.reporter.stackdriver.StackdriverSender.class) @NonNull protected @NonNull io.micronaut.context.event.BeanCreatedEventListener<io.micronaut.tracing.brave.BraveTracerConfiguration> braveTracerConfigurationBeanCreatedEventListener()
      A BeanCreatedEventListener that modifies the brave trace configuration for Stackdriver compatibility.
      Returns:
      The BeanCreatedEventListener
    • stackdriverPropagation

      @Singleton @Requires(beans=zipkin2.reporter.stackdriver.StackdriverSender.class) protected brave.propagation.Propagation.Factory stackdriverPropagation()
      The Propagation.Factory as a bean.
      Returns:
      The bean.
    • stackdriverReporter

      @Singleton @Requires(classes=zipkin2.reporter.stackdriver.StackdriverSender.class) @Requires(beans=io.micronaut.tracing.brave.AsyncReporterConfiguration.class) public zipkin2.reporter.AsyncReporter<zipkin2.Span> stackdriverReporter(@NonNull @NonNull io.micronaut.tracing.brave.AsyncReporterConfiguration configuration)
      A custom AsyncReporter that uses StackdriverEncoder.V2.
      Parameters:
      configuration - The configuration
      Returns:
      The bean.