Skip to content

Commit c3221a6

Browse files
committed
add code removed previously
1 parent e5d705c commit c3221a6

File tree

1 file changed

+27
-1
lines changed
  • dd-java-agent/agent-otel/otel-shim/src/main/java/datadog/opentelemetry/shim/metrics

1 file changed

+27
-1
lines changed

dd-java-agent/agent-otel/otel-shim/src/main/java/datadog/opentelemetry/shim/metrics/OtelMeter.java

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,16 @@
66
import io.opentelemetry.api.metrics.LongCounterBuilder;
77
import io.opentelemetry.api.metrics.LongUpDownCounterBuilder;
88
import io.opentelemetry.api.metrics.Meter;
9+
import io.opentelemetry.api.metrics.MeterProvider;
910
import io.opentelemetry.api.metrics.ObservableMeasurement;
1011
import org.slf4j.Logger;
1112
import org.slf4j.LoggerFactory;
1213

1314
// https://www.javadoc.io/doc/io.opentelemetry/opentelemetry-api/1.47.0/io/opentelemetry/api/metrics/Meter.html
1415
public class OtelMeter implements Meter {
1516
private static final Logger LOGGER = LoggerFactory.getLogger(OtelMeter.class);
16-
17+
private static final Meter NOOP_METER = MeterProvider.noop().get("noop");
18+
private static final String NOOP_INSTRUMENT_NAME = "noop";
1719
private final String instrumentationScopeName;
1820
private final String schemaUrl;
1921
private final String instrumentationVersion;
@@ -76,4 +78,28 @@ public BatchCallback batchCallback(
7678
LOGGER.info("batchCallback is not yet supported");
7779
return Meter.super.batchCallback(callback, observableMeasurement, additionalMeasurements);
7880
}
81+
82+
private static boolean isInstrumentNameInvalid(String instrumentName) {
83+
if ((null == instrumentName)
84+
|| instrumentName.isEmpty()
85+
|| instrumentName.length() > 255
86+
|| !Character.isLetter(instrumentName.charAt(0))
87+
|| HasAnyInvalidCharacter(instrumentName)) {
88+
LOGGER.warn(
89+
"Invalid instrument name {}. Instrument names must be ASCII, start with letter, contain only alphanumeric characters, '_', '.', '/', '-' and be max 255 characters.",
90+
instrumentName);
91+
return true;
92+
}
93+
return false;
94+
}
95+
96+
private static boolean HasAnyInvalidCharacter(String instrumentName) {
97+
for (int i = 1; i < instrumentName.length(); i++) {
98+
char c = instrumentName.charAt(i);
99+
if (!Character.isLetterOrDigit(c) && c != '_' && c != '.' && c != '/' && c != '-') {
100+
return true;
101+
}
102+
}
103+
return false;
104+
}
79105
}

0 commit comments

Comments
 (0)