Class StackdriverSenderFactory


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

      Fields 
      Modifier and Type Field Description
      static java.lang.String PROPERTY_ENABLED
      The property used to enable tracing.
      static java.net.URI TRACE_SCOPE
      The trace scope to use.
      static java.lang.String TRACE_TARGET
      The trace target to use.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected io.micronaut.context.event.BeanCreatedEventListener<io.micronaut.tracing.brave.BraveTracerConfiguration> braveTracerConfigurationBeanCreatedEventListener()
      A BeanCreatedEventListener that modifies the brave trace configuration for Stackdriver compatibility.
      protected brave.propagation.Propagation.Factory stackdriverPropagation()
      The Propagation.Factory as a bean.
      zipkin2.reporter.AsyncReporter<zipkin2.Span> stackdriverReporter​(io.micronaut.tracing.brave.AsyncReporterConfiguration configuration)
      A custom AsyncReporter that uses StackdriverEncoder.V2.
      protected zipkin2.reporter.Sender stackdriverSender​(GoogleCloudConfiguration cloudConfiguration, com.google.auth.oauth2.GoogleCredentials credentials, io.grpc.ManagedChannel channel)
      The StackdriverSender bean.
      protected io.grpc.ManagedChannel stackdriverTraceSenderChannel()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • TRACE_SCOPE

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

        public static final java.lang.String TRACE_TARGET
        The trace target to use.
        See Also:
        Constant Field Values
      • PROPERTY_ENABLED

        public static final java.lang.String PROPERTY_ENABLED
        The property used to enable tracing.
        See Also:
        Constant Field Values
    • Constructor Detail

      • StackdriverSenderFactory

        public StackdriverSenderFactory()
    • Method Detail

      • stackdriverTraceSenderChannel

        @Singleton
        @Bean(preDestroy="shutdownNow")
        @Named("stackdriverTraceSenderChannel")
        @Nonnull
        protected 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 zipkin2.reporter.Sender stackdriverSender​(@Nonnull
                                                            GoogleCloudConfiguration cloudConfiguration,
                                                            @Nonnull
                                                            com.google.auth.oauth2.GoogleCredentials credentials,
                                                            @Nonnull @Named("stackdriverTraceSenderChannel")
                                                            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 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
                                                                                io.micronaut.tracing.brave.AsyncReporterConfiguration configuration)
        A custom AsyncReporter that uses StackdriverEncoder.V2.
        Parameters:
        configuration - The configuration
        Returns:
        The bean.