18
18
import org .springframework .boot .SpringApplication ;
19
19
import org .springframework .boot .autoconfigure .SpringBootApplication ;
20
20
import org .springframework .context .annotation .Bean ;
21
+ import software .amazon .awssdk .auth .credentials .ProfileCredentialsProvider ;
21
22
import software .amazon .awssdk .services .cloudwatch .CloudWatchAsyncClient ;
22
23
23
24
import java .lang .invoke .MethodHandles ;
24
25
25
26
@ SpringBootApplication
26
27
public class ConnectorApplication {
27
28
29
+ private static final String AWS_SERVICE_PROFILE_NAME = "service-profile" ;
28
30
private static final Logger LOG = LoggerFactory .getLogger (MethodHandles .lookup ().lookupClass ());
29
31
private final MetricsProperties metricsProperties ;
30
32
@@ -38,8 +40,13 @@ public static void main(String[] args) {
38
40
39
41
@ Bean
40
42
public MeterRegistry meterRegistry () {
41
- CloudWatchMeterRegistry cloudWatchMeterRegistry = new CloudWatchMeterRegistry (cloudWatchConfig (), Clock .SYSTEM , CloudWatchAsyncClient .create ());
42
- cloudWatchMeterRegistry .config ()
43
+ CloudWatchAsyncClient cloudWatchAsyncClient = CloudWatchAsyncClient .builder ()
44
+ .credentialsProvider (ProfileCredentialsProvider .create (AWS_SERVICE_PROFILE_NAME ))
45
+ .build ();
46
+
47
+ CloudWatchMeterRegistry cloudWatchMeterRegistry = new CloudWatchMeterRegistry (cloudWatchConfig (), Clock .SYSTEM , cloudWatchAsyncClient );
48
+
49
+ cloudWatchMeterRegistry .config ()
43
50
.meterFilter (MeterFilter .deny (id -> !id .getName ().startsWith ("message" )))
44
51
.commonTags (metricsProperties .getDimensionName (), metricsProperties .getDimensionValue ());
45
52
return cloudWatchMeterRegistry ;
0 commit comments