Keybase proof
I hereby claim:
- I am jkuipers on github.
- I am jkuipers (https://keybase.io/jkuipers) on keybase.
- I have a public key ASCj78lyxPW8_W1t735luDbfcfDboljNT1nxLwkDZvK7rQo
To claim this, I am signing this object:
/** | |
* Starting with Boot 3, the {@code client.name} tag is no longer included by default | |
* in the {@code http.client.requests} metrics. Restore it by overriding | |
* {@link DefaultClientRequestObservationConvention#getLowCardinalityKeyValues(ClientRequestObservationContext)}. | |
* | |
* @return {@link ClientRequestObservationConvention} that adds the {@code client.name} to the low cardinality key-values. | |
*/ | |
@Bean | |
ClientRequestObservationConvention clientNameAddingObservationConvention() { | |
return new DefaultClientRequestObservationConvention() { |
import org.apache.catalina.connector.Connector; | |
import org.apache.coyote.AbstractProtocol; | |
import org.springframework.boot.context.properties.ConfigurationProperties; | |
import org.springframework.boot.context.properties.EnableConfigurationProperties; | |
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; | |
import org.springframework.boot.web.server.WebServerFactoryCustomizer; | |
import org.springframework.context.annotation.Bean; | |
import org.springframework.context.annotation.Configuration; | |
import org.springframework.context.annotation.Profile; |
import io.micrometer.core.instrument.Gauge; | |
import io.micrometer.core.instrument.MeterRegistry; | |
import io.micrometer.core.instrument.binder.BaseUnits; | |
import io.micrometer.core.instrument.binder.MeterBinder; | |
import org.slf4j.Logger; | |
import org.slf4j.LoggerFactory; | |
import org.springframework.util.ReflectionUtils; | |
import java.lang.reflect.Method; |
import org.slf4j.MDC; | |
import org.springframework.core.task.TaskDecorator; | |
import java.util.Map; | |
public class MDCPropagatingTaskDecorator implements TaskDecorator { | |
@Override | |
public Runnable decorate(Runnable runnable) { | |
Map<String, String> callerContext = MDC.getCopyOfContextMap(); |
subprojects { subproject -> | |
// ... | |
plugins.withId('org.springframework.boot') { | |
springBoot { | |
bootJar { | |
layered { | |
// application follows Boot's defaults | |
application { | |
intoLayer("spring-boot-loader") { |
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; | |
import org.springframework.boot.actuate.health.Health; | |
import org.springframework.boot.actuate.health.HealthIndicator; | |
import org.springframework.boot.actuate.health.Status; | |
import org.springframework.util.ReflectionUtils; | |
import java.lang.reflect.Field; | |
import java.util.LinkedHashMap; | |
import java.util.Map; | |
import java.util.concurrent.atomic.AtomicBoolean; |
I hereby claim:
To claim this, I am signing this object:
import com.netflix.hystrix.HystrixThreadPoolKey; | |
import com.netflix.hystrix.HystrixThreadPoolProperties; | |
import com.netflix.hystrix.strategy.HystrixPlugins; | |
import com.netflix.hystrix.strategy.concurrency.HystrixConcurrencyStrategy; | |
import com.netflix.hystrix.strategy.concurrency.HystrixRequestVariable; | |
import com.netflix.hystrix.strategy.concurrency.HystrixRequestVariableLifecycle; | |
import com.netflix.hystrix.strategy.eventnotifier.HystrixEventNotifier; | |
import com.netflix.hystrix.strategy.executionhook.HystrixCommandExecutionHook; | |
import com.netflix.hystrix.strategy.metrics.HystrixMetricsPublisher; | |
import com.netflix.hystrix.strategy.properties.HystrixPropertiesStrategy; |
import com.netflix.zuul.ZuulFilter; | |
import com.netflix.zuul.context.RequestContext; | |
import com.netflix.zuul.exception.ZuulException; | |
import static org.springframework.cloud.netflix.zuul.filters.support.FilterConstants.PRE_DECORATION_FILTER_ORDER; | |
import static org.springframework.cloud.netflix.zuul.filters.support.FilterConstants.PRE_TYPE; | |
import static org.springframework.cloud.netflix.zuul.filters.support.FilterConstants.PROXY_KEY; | |
/** | |
* Adds an API key in the form of a request header to proxied requests. |
import brave.Span; | |
import brave.Tracer; | |
import brave.Tracing; | |
import brave.propagation.Propagation; | |
import brave.propagation.TraceContext; | |
import com.amazonaws.services.sqs.AmazonSQSAsync; | |
import io.micrometer.core.instrument.MeterRegistry; | |
import io.micrometer.core.instrument.Timer; | |
import org.springframework.cloud.aws.messaging.core.QueueMessageChannel; | |
import org.springframework.cloud.aws.messaging.core.QueueMessagingTemplate; |