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
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    The property used to enable tracing.
    static final URI
    The trace scope to use.
    static final String
    The trace target to use.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected @NonNull io.micronaut.context.event.BeanCreatedEventListener<io.micronaut.tracing.brave.BraveTracerConfiguration>
    A BeanCreatedEventListener that modifies the brave trace configuration for Stackdriver compatibility.
    protected brave.propagation.Propagation.Factory
    The Propagation.Factory as a bean.
    zipkin2.reporter.AsyncReporter<zipkin2.Span>
    stackdriverReporter(@NonNull io.micronaut.tracing.brave.AsyncReporterConfiguration configuration)
    A custom AsyncReporter that uses StackdriverEncoder.V2.
    protected @NonNull zipkin2.reporter.Sender
    stackdriverSender(@NonNull io.micronaut.gcp.GoogleCloudConfiguration cloudConfiguration, @NonNull com.google.auth.oauth2.GoogleCredentials credentials, @NonNull io.grpc.ManagedChannel channel)
    The StackdriverSender bean.
    protected @NonNull io.grpc.ManagedChannel
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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 io.micronaut.gcp.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.