<dependencies>
<!-- OpenTelemetry -->
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-sdk</artifactId>
<version>1.1.0</version>
</dependency>
<!-- OpenTelemetry Instrumentation -->
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-instrumentation</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
import io.opentelemetry.exporter.prometheus.PrometheusCollector;
import io.prometheus.client.exporter.HTTPServer;
import io.prometheus.client.hotspot.DefaultExports;
import io.prometheus.client.Registry;
public class Main {
public static void main(String[] args) throws Exception {
Registry registry = new Registry();
DefaultExports.initialize();
PrometheusCollector prometheusCollector = PrometheusCollector.builder()
.setRegistry(registry)
.build();
OpenTelemetrySdk.getTracerProviderBuilder()
.setMeterProvider(MeterProvider.builder().setRegistry(registry).build())
.addSpanProcessor(SimpleSpanProcessor.create(prometheusCollector))
.build();
HTTPServer server = new HTTPServer(8080);
server.stop();
}
}
import io.opentelemetry.metrics.LongCounter;
import io.opentelemetry.metrics.Meter;
Meter meter = OpenTelemetrySdk.getMeterProvider().get("my_meter");
LongCounter myCounter = meter.longCounterBuilder("my_counter").setDescription("My custom counter").build();
myCounter.add(10);