-
Notifications
You must be signed in to change notification settings - Fork 1k
Description
i have created my custom OtlpMeterRegistry object and running that in my app, It is pushing metrics to the endpoint which i mentioned in ENV value correctly.
But I am seeing some error logs in which some other thread named 'otlp-metrics-publisher' is trying to export metrics to the url "http://localhost:4318/v1/metrics" and getting failed, how to remove/disable that?
Note: I have added my OtlpMeterRegistry object to a compositeMeterRegistry and using that.
otel collector endpoint is set in the ENV as "OTEL_EXPORTER_OTLP_ENDPOINT".
MY CODE:
OtlpConfig otlpConfig = new OtlpConfig() {
@Override
public String get(@NonNull String key) {
return null;
}
@Override
@NonNull
public Duration step() {
return Duration.ofSeconds(10);
}
};
OtlpMeterRegistry otlpMeterRegistry = new OtlpMeterRegistry(otlpConfig, Clock.SYSTEM, new NamedThreadFactory("otlp.metrics.publisher.service-name"));
ERROR LOG:
2025-02-26 11:27:26.448 WARN [my-service-name : otlp-metrics-publisher : {}] : java.net.ConnectException: Connection refused at java.base/sun.nio.ch.Net.pollConnect(Native Method) at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672) at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:535) at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:585) at java.base/java.net.Socket.connect(Socket.java:666) at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:178) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:531) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:636) at java.base/sun.net.www.http.HttpClient.(HttpClient.java:279) at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:384) at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:406) at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1308) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1241) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1127) at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1056) at java.base/sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1429) at java.base/sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1400) at io.micrometer.core.ipc.http.HttpUrlConnectionSender.send(HttpUrlConnectionSender.java:98) at io.micrometer.core.ipc.http.HttpSender$Request$Builder.send(HttpSender.java:306) at io.micrometer.registry.otlp.OtlpMeterRegistry.publish(OtlpMeterRegistry.java:185) at io.micrometer.core.instrument.push.PushMeterRegistry.publishSafelyOrSkipIfInProgress(PushMeterRegistry.java:64) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577) at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Unknown Source) Failed to publish metrics to OTLP receiver (context: url=http://localhost:4318/v1/metrics, resource-attributes={service.name=my-service-name})
OTLP METER REGISTRY INTIALISATION LOGS FROM MICROMETER:
Publishing metrics for OtlpMeterRegistry every 1m to http://localhost:4318/v1/metrics with resource attributes {service.name=service-name, environment=int}
Publishing metrics for OtlpMeterRegistry every 10s to http://:4318/v1/metrics with resource attributes {environment=int, service.name=service-name}