1
+ /*
2
+ * Copyright The OpenTelemetry Authors
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
1
6
package io .opentelemetry .contrib .gcp .auth ;
2
7
3
8
import com .google .auth .oauth2 .GoogleCredentials ;
@@ -34,10 +39,11 @@ public class GcpAuthCustomizerProvider implements DeclarativeConfigurationCustom
34
39
public void customize (DeclarativeConfigurationCustomizer customizer ) {
35
40
customizer .addModelCustomizer (
36
41
model -> {
37
- GoogleCredentials credentials = GcpAuthAutoConfigurationCustomizerProvider .getCredentials ();
42
+ GoogleCredentials credentials =
43
+ GcpAuthAutoConfigurationCustomizerProvider .getCredentials ();
38
44
// todo pass config bridge
39
- Map <String , String > headerMap = GcpAuthAutoConfigurationCustomizerProvider . getRequiredHeaderMap (
40
- credentials , null );
45
+ Map <String , String > headerMap =
46
+ GcpAuthAutoConfigurationCustomizerProvider . getRequiredHeaderMap ( credentials , null );
41
47
customizeMeter (model , headerMap );
42
48
// todo are loggers supported now (not covered in old variant)?
43
49
customizeLogger (model , headerMap );
@@ -47,23 +53,21 @@ public void customize(DeclarativeConfigurationCustomizer customizer) {
47
53
});
48
54
}
49
55
50
- private void customizeMeter (OpenTelemetryConfigurationModel model ,
51
- Map <String , String > headerMap ) {
56
+ private void customizeMeter (
57
+ OpenTelemetryConfigurationModel model , Map <String , String > headerMap ) {
52
58
MeterProviderModel meterProvider = model .getMeterProvider ();
53
59
if (meterProvider == null ) {
54
60
return ;
55
61
}
56
62
57
63
for (MetricReaderModel reader : meterProvider .getReaders ()) {
58
64
if (reader .getPeriodic () != null ) {
59
- addAuth (meterModelHeaders (reader .getPeriodic ().getExporter ()),
60
- headerMap );
65
+ addAuth (meterModelHeaders (reader .getPeriodic ().getExporter ()), headerMap );
61
66
}
62
67
}
63
68
}
64
69
65
- private List <List <NameStringValuePairModel >> meterModelHeaders (
66
- PushMetricExporterModel exporter ) {
70
+ private List <List <NameStringValuePairModel >> meterModelHeaders (PushMetricExporterModel exporter ) {
67
71
ArrayList <List <NameStringValuePairModel >> list = new ArrayList <>();
68
72
if (exporter == null ) {
69
73
return list ;
@@ -79,22 +83,20 @@ private List<List<NameStringValuePairModel>> meterModelHeaders(
79
83
return list ;
80
84
}
81
85
82
- private void customizeLogger (OpenTelemetryConfigurationModel model ,
83
- Map <String , String > headerMap ) {
86
+ private void customizeLogger (
87
+ OpenTelemetryConfigurationModel model , Map <String , String > headerMap ) {
84
88
LoggerProviderModel loggerProvider = model .getLoggerProvider ();
85
89
if (loggerProvider == null ) {
86
90
return ;
87
91
}
88
92
for (LogRecordProcessorModel processor : loggerProvider .getProcessors ()) {
89
93
BatchLogRecordProcessorModel batch = processor .getBatch ();
90
94
if (batch != null ) {
91
- addAuth (logRecordModelHeaders (batch .getExporter ()),
92
- headerMap );
95
+ addAuth (logRecordModelHeaders (batch .getExporter ()), headerMap );
93
96
}
94
97
SimpleLogRecordProcessorModel simple = processor .getSimple ();
95
98
if (simple != null ) {
96
- addAuth (logRecordModelHeaders (simple .getExporter ()),
97
- headerMap );
99
+ addAuth (logRecordModelHeaders (simple .getExporter ()), headerMap );
98
100
}
99
101
}
100
102
}
@@ -117,37 +119,35 @@ private List<List<NameStringValuePairModel>> logRecordModelHeaders(
117
119
return list ;
118
120
}
119
121
120
- private void customizeTracer (OpenTelemetryConfigurationModel model ,
121
- Map <String , String > headerMap ) {
122
+ private void customizeTracer (
123
+ OpenTelemetryConfigurationModel model , Map <String , String > headerMap ) {
122
124
TracerProviderModel tracerProvider = model .getTracerProvider ();
123
125
if (tracerProvider == null ) {
124
126
return ;
125
127
}
126
128
127
129
// todo here we would want a simplified version of the declarative config bridge
128
130
// https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/DeclarativeConfigPropertiesBridge.java
129
- // googleNode(model)
130
-
131
- // if (!isSignalTargeted(SIGNAL_TYPE_TRACES, configProperties)) {
132
- // todo
133
- // String[] params = {SIGNAL_TYPE_TRACES, SIGNAL_TARGET_WARNING_FIX_SUGGESTION};
134
- // logger.log(
135
- // Level.WARNING,
136
- // "GCP Authentication Extension is not configured for signal type: {0}. {1}",
137
- // params);
138
- // return;
139
- // }
131
+ // googleNode(model)
132
+
133
+ // if (!isSignalTargeted(SIGNAL_TYPE_TRACES, configProperties)) {
134
+ // todo
135
+ // String[] params = {SIGNAL_TYPE_TRACES, SIGNAL_TARGET_WARNING_FIX_SUGGESTION};
136
+ // logger.log(
137
+ // Level.WARNING,
138
+ // "GCP Authentication Extension is not configured for signal type: {0}. {1}",
139
+ // params);
140
+ // return;
141
+ // }
140
142
141
143
for (SpanProcessorModel processor : tracerProvider .getProcessors ()) {
142
144
BatchSpanProcessorModel batch = processor .getBatch ();
143
145
if (batch != null ) {
144
- addAuth (spanExporterModelHeaders (batch .getExporter ()),
145
- headerMap );
146
+ addAuth (spanExporterModelHeaders (batch .getExporter ()), headerMap );
146
147
}
147
148
SimpleSpanProcessorModel simple = processor .getSimple ();
148
149
if (simple != null ) {
149
- addAuth (spanExporterModelHeaders (simple .getExporter ()),
150
- headerMap );
150
+ addAuth (spanExporterModelHeaders (simple .getExporter ()), headerMap );
151
151
}
152
152
}
153
153
}
@@ -176,8 +176,7 @@ private List<List<NameStringValuePairModel>> spanExporterModelHeaders(
176
176
177
177
private void addAuth (
178
178
List <List <NameStringValuePairModel >> headerConsumers , Map <String , String > headerMap ) {
179
- headerConsumers .forEach (
180
- headers -> addHeaders (headers , headerMap ));
179
+ headerConsumers .forEach (headers -> addHeaders (headers , headerMap ));
181
180
}
182
181
183
182
private void addHeaders (List <NameStringValuePairModel > headers , Map <String , String > add ) {
0 commit comments