Search in sources :

Example 66 with Qualifier

use of org.springframework.beans.factory.annotation.Qualifier in project zipkin by openzipkin.

the class ZipkinElasticsearchStorageConfiguration method esTracing.

@Bean
@Qualifier(QUALIFIER)
@ConditionalOnSelfTracing
Consumer<ClientOptionsBuilder> esTracing(Optional<HttpTracing> maybeHttpTracing) {
    if (!maybeHttpTracing.isPresent()) {
        // Alternatively, check why we would ever get here if ConditionalOnSelfTracing matches
        return client -> {
        };
    }
    HttpTracing httpTracing = maybeHttpTracing.get().clientOf("elasticsearch");
    SpanCustomizer spanCustomizer = CurrentSpanCustomizer.create(httpTracing.tracing());
    return client -> {
        client.decorator((delegate, ctx, req) -> {
            // We only need the name if it's available and can unsafely access the partially filled log.
            RequestLog log = ctx.log().partial();
            if (log.isAvailable(RequestLogProperty.NAME)) {
                String name = log.name();
                if (name != null) {
                    // override the span name if set
                    spanCustomizer.name(name);
                }
            }
            return delegate.execute(ctx, req);
        });
        // the tracing decorator is added last so that it encloses the attempt to overwrite the name.
        client.decorator(BraveClient.newDecorator(httpTracing));
    };
}
Also used : CurrentSpanCustomizer(brave.CurrentSpanCustomizer) SessionProtocol(com.linecorp.armeria.common.SessionProtocol) ConditionalOnSelfTracing(zipkin2.server.internal.ConditionalOnSelfTracing) SpanCustomizer(brave.SpanCustomizer) ScheduledFuture(java.util.concurrent.ScheduledFuture) BraveClient(com.linecorp.armeria.client.brave.BraveClient) RequestLog(com.linecorp.armeria.common.logging.RequestLog) Supplier(java.util.function.Supplier) ElasticsearchStorage(zipkin2.elasticsearch.ElasticsearchStorage) NamedThreadFactory(io.micrometer.core.instrument.util.NamedThreadFactory) Value(org.springframework.beans.factory.annotation.Value) ConditionContext(org.springframework.context.annotation.ConditionContext) RequestLogProperty(com.linecorp.armeria.common.logging.RequestLogProperty) EnableConfigurationProperties(org.springframework.boot.context.properties.EnableConfigurationProperties) ScheduledExecutorService(java.util.concurrent.ScheduledExecutorService) Qualifier(org.springframework.beans.factory.annotation.Qualifier) StorageComponent(zipkin2.storage.StorageComponent) ConditionalOnProperty(org.springframework.boot.autoconfigure.condition.ConditionalOnProperty) ClientFactoryBuilder(com.linecorp.armeria.client.ClientFactoryBuilder) HttpTracing(brave.http.HttpTracing) ConditionalOnMissingBean(org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean) Ssl(zipkin2.server.internal.elasticsearch.ZipkinElasticsearchStorageProperties.Ssl) ClientFactory(com.linecorp.armeria.client.ClientFactory) TrustManagerFactory(javax.net.ssl.TrustManagerFactory) Condition(org.springframework.context.annotation.Condition) KeyManagerFactory(javax.net.ssl.KeyManagerFactory) EndpointGroup(com.linecorp.armeria.client.endpoint.EndpointGroup) IOException(java.io.IOException) Executors(java.util.concurrent.Executors) TimeUnit(java.util.concurrent.TimeUnit) Consumer(java.util.function.Consumer) Configuration(org.springframework.context.annotation.Configuration) List(java.util.List) ClientOptionsBuilder(com.linecorp.armeria.client.ClientOptionsBuilder) MeterRegistry(io.micrometer.core.instrument.MeterRegistry) Optional(java.util.Optional) Bean(org.springframework.context.annotation.Bean) Conditional(org.springframework.context.annotation.Conditional) AnnotatedTypeMetadata(org.springframework.core.type.AnnotatedTypeMetadata) HttpTracing(brave.http.HttpTracing) RequestLog(com.linecorp.armeria.common.logging.RequestLog) CurrentSpanCustomizer(brave.CurrentSpanCustomizer) SpanCustomizer(brave.SpanCustomizer) ConditionalOnSelfTracing(zipkin2.server.internal.ConditionalOnSelfTracing) Qualifier(org.springframework.beans.factory.annotation.Qualifier) ConditionalOnMissingBean(org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean) Bean(org.springframework.context.annotation.Bean)

Aggregations

Qualifier (org.springframework.beans.factory.annotation.Qualifier)66 Bean (org.springframework.context.annotation.Bean)59 RmiProxyFactoryBean (org.springframework.remoting.rmi.RmiProxyFactoryBean)18 ConditionalOnMissingBean (org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean)12 Configuration (org.springframework.context.annotation.Configuration)7 EnableConfigurationProperties (org.springframework.boot.context.properties.EnableConfigurationProperties)6 lombok.val (lombok.val)5 CasConfigurationProperties (org.apereo.cas.configuration.CasConfigurationProperties)5 ConfigurationProperties (org.springframework.boot.context.properties.ConfigurationProperties)5 RequestResponseClientConfigProperties (org.eclipse.hono.client.RequestResponseClientConfigProperties)4 RefreshScope (org.springframework.cloud.context.config.annotation.RefreshScope)4 ScopedProxyMode (org.springframework.context.annotation.ScopedProxyMode)4 ArrayList (java.util.ArrayList)3 HashMap (java.util.HashMap)3 HashSet (java.util.HashSet)3 List (java.util.List)3 Collectors (java.util.stream.Collectors)3 ClientFactoryBuilder (com.linecorp.armeria.client.ClientFactoryBuilder)2 IdMCacheConfiguration (eu.bcvsolutions.idm.core.api.config.cache.IdMCacheConfiguration)2 Supplier (java.util.function.Supplier)2