Skip to content

Commit 54f248f

Browse files
committed
update the OTLP builder helper to actually add later added attributes
1 parent e289cf5 commit 54f248f

2 files changed

Lines changed: 22 additions & 4 deletions

File tree

IoTDBJDBC/src/main/java/com/oracle/demo/timg/iot/iotdbjdbc/messagehandler/outputs/http/normalizeddata/timeseriesdb/TimeSeriesDBOutputOTLP.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,8 @@ public NormalizedData[] processNormalizedData(NormalizedData normalizedData) thr
137137
}
138138

139139
private void addScopeAttributes(NormalizedDataMetricsDataBuilder builder) {
140-
// for now this does nothing
141-
// builder.scopeAttribute("my.scope.attribute", "some scope attribute");
140+
// include this to figure out what it does
141+
builder.scopeAttribute("my.scope.attribute", "some scope attribute");
142142
}
143143

144144
private void addResourceAttributes(NormalizedDataMetricsDataBuilder builder, NormalizedData normalizedData) {
@@ -147,10 +147,12 @@ private void addResourceAttributes(NormalizedDataMetricsDataBuilder builder, Nor
147147
try {
148148
String modelId = deviceModelInstancesCache.getModelIdByInstanceId(instanceId, true);
149149
builder.resourceAttribute("iot.digital_twin.model_id", modelId);
150+
log.info("Added model ID resource attribute of " + modelId);
150151
String modelName;
151152
try {
152153
modelName = deviceModelInstancesCache.getModelNameByModelId(modelId, true);
153154
builder.resourceAttribute("iot.digital_twin.model_name", modelName);
155+
log.info("Added model name resource attribute of " + modelName);
154156
} catch (MissingModelException e) {
155157
log.severe("No model name found for modelid " + modelId);
156158
} catch (SQLException e) {

IoTDBJDBC/src/main/java/com/oracle/demo/timg/iot/iotdbjdbc/messagehandler/outputs/http/normalizeddata/timeseriesdb/otlp/NormalizedDataMetricsDataBuilder.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,16 @@ public NormalizedDataMetricsDataBuilder gaugeMetric(NormalizedData normalizedDat
148148
}
149149

150150
public MetricsData build() {
151+
for (ResourceMetrics resourceMetrics : metricsData.getResourceMetrics()) {
152+
if (resourceMetrics.getResource() != null) {
153+
addMissingAttributes(resourceMetrics.getResource().getAttributes(), resourceAttributes);
154+
}
155+
for (ScopeMetrics scopeMetrics : resourceMetrics.getScopeMetrics()) {
156+
if (scopeMetrics.getScope() != null) {
157+
addMissingAttributes(scopeMetrics.getScope().getAttributes(), scopeAttributes);
158+
}
159+
}
160+
}
151161
return metricsData;
152162
}
153163

@@ -303,7 +313,6 @@ private ResourceMetrics resourceMetrics(NormalizedData normalizedData) {
303313
resource.getAttributes().add(OtlpAttributeUtils.attribute("service.name", serviceName));
304314
resource.getAttributes().add(OtlpAttributeUtils.attribute("iot.digital_twin.instance_id",
305315
normalizedData.getDigitalTwinInstanceId()));
306-
resource.getAttributes().addAll(resourceAttributes);
307316

308317
ResourceMetrics resourceMetrics = new ResourceMetrics();
309318
resourceMetrics.setResource(resource);
@@ -314,13 +323,20 @@ private ScopeMetrics scopeMetrics() {
314323
InstrumentationScope scope = new InstrumentationScope();
315324
scope.setName(scopeName);
316325
scope.setVersion(scopeVersion);
317-
scope.getAttributes().addAll(scopeAttributes);
318326

319327
ScopeMetrics scopeMetrics = new ScopeMetrics();
320328
scopeMetrics.setScope(scope);
321329
return scopeMetrics;
322330
}
323331

332+
private static void addMissingAttributes(List<KeyValue> target, List<KeyValue> attributes) {
333+
for (KeyValue attribute : attributes) {
334+
if (!target.contains(attribute)) {
335+
target.add(attribute);
336+
}
337+
}
338+
}
339+
324340
private static boolean hasText(String value) {
325341
return value != null && !value.isBlank();
326342
}

0 commit comments

Comments
 (0)