Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 649dd97

Browse files
committed
Autoconfigure redis tracing
Signed-off-by: Đặng Minh Dũng <dungdm93@live.com>
1 parent f272fb6 commit 649dd97

File tree

2 files changed

+49
-0
lines changed

2 files changed

+49
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
/*
2+
* Copyright 2012-present the original author or authors.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package org.springframework.boot.data.redis.autoconfigure;
18+
19+
import io.lettuce.core.RedisClient;
20+
import io.lettuce.core.tracing.MicrometerTracing;
21+
import io.micrometer.observation.ObservationRegistry;
22+
import org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration;
23+
import org.springframework.boot.autoconfigure.AutoConfiguration;
24+
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
25+
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
26+
import org.springframework.boot.autoconfigure.data.redis.ClientResourcesBuilderCustomizer;
27+
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
28+
import org.springframework.context.annotation.Bean;
29+
30+
/**
31+
* Auto-configuration for Lettuce tracing.
32+
*
33+
* @author Dũng Đăng Minh
34+
* @since 4.0.0
35+
*/
36+
@AutoConfiguration(
37+
before = RedisAutoConfiguration.class,
38+
after = ObservationAutoConfiguration.class
39+
)
40+
@ConditionalOnClass({RedisClient.class, MicrometerTracing.class, ObservationRegistry.class})
41+
@ConditionalOnBean(ObservationRegistry.class)
42+
public final class LettuceTracingAutoConfiguration {
43+
/// [lettuce doc](https://redis.github.io/lettuce/advanced-usage/#tracing)
44+
@Bean
45+
public ClientResourcesBuilderCustomizer lettuceTracing(ObservationRegistry observationRegistry) {
46+
return (client) -> client.tracing(new MicrometerTracing(observationRegistry, "Redis"));
47+
}
48+
}

‎module/spring-boot-data-redis/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
org.springframework.boot.data.redis.autoconfigure.LettuceMetricsAutoConfiguration
2+
org.springframework.boot.data.redis.autoconfigure.LettuceTracingAutoConfiguration
23
org.springframework.boot.data.redis.autoconfigure.RedisAutoConfiguration
34
org.springframework.boot.data.redis.autoconfigure.RedisReactiveAutoConfiguration
45
org.springframework.boot.data.redis.autoconfigure.RedisRepositoriesAutoConfiguration

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /