1- # Library Instrumentation for Java HTTP Server
1+ # Library Instrumentation for Helidon
22
3- Provides OpenTelemetry instrumentation for [ Java HTTP Server ] ( https://docs.oracle.com/en/java/javase/21/docs/api/jdk.httpserver/module-summary.html ) .
3+ Provides OpenTelemetry instrumentation for [ Helidon ] ( https://helidon.io/ ) .
44
55## Quickstart
66
77### Add these dependencies to your project
88
99Replace ` OPENTELEMETRY_VERSION ` with the [ latest
10- release] ( https://search.maven.org/search?q=g:io.opentelemetry.instrumentation%20AND%20a:opentelemetry-java-http-server ) .
10+ release] ( https://search.maven.org/search?q=g:io.opentelemetry.instrumentation%20AND%20a:opentelemetry-helidon-4.3.0 ) .
1111
1212For Maven, add to your ` pom.xml ` dependencies:
1313
1414``` xml
1515<dependencies >
1616 <dependency >
1717 <groupId >io.opentelemetry.instrumentation</groupId >
18- <artifactId >opentelemetry-java-http-server </artifactId >
18+ <artifactId >opentelemetry-helidon-4.3.0 </artifactId >
1919 <version >OPENTELEMETRY_VERSION</version >
2020 </dependency >
2121</dependencies >
@@ -24,40 +24,32 @@ For Maven, add to your `pom.xml` dependencies:
2424For Gradle, add to your dependencies:
2525
2626``` groovy
27- implementation("io.opentelemetry.instrumentation:opentelemetry-java-http-server :OPENTELEMETRY_VERSION")
27+ implementation("io.opentelemetry.instrumentation:opentelemetry-helidon-4.3.0 :OPENTELEMETRY_VERSION")
2828```
2929
3030### Usage
3131
32- The instrumentation library contains a ` Filter ` wrapper that provides OpenTelemetry-based spans
32+ The instrumentation library contains an ` HttpFeature ` that provides OpenTelemetry-based spans
3333and context propagation.
3434
3535``` java
36-
3736import java.io.IOException ;
38- import java.net.InetSocketAddress ;
39-
40- import com.sun.net.httpserver.HttpContext ;
41- import com.sun.net.httpserver.HttpServer ;
4237
38+ import io.helidon.webserver.WebServer ;
39+ import io.helidon.webserver.http.HttpRouting ;
4340import io.opentelemetry.api.OpenTelemetry ;
44- import io.opentelemetry.sdk.OpenTelemetrySdk ;
4541
4642public class Application {
4743
4844 static void main (String args ) throws IOException {
4945
50- final HttpServer server = HttpServer . create(new InetSocketAddress (8080 ), 0 );
51- final HttpContext context =
52- server. createContext(
53- " /" ,
54- ctx - > {
55- // http logic
56- });
57-
58- OpenTelemetry openTelemetry = // ...
59-
60- JavaHttpServerTelemetry . create(openTelemetry). configure(context);
46+ OpenTelemetry openTelemetry = // ...
47+ WebServer . builder()
48+ .addRouting(
49+ HttpRouting . builder()
50+ .addFeature(HelidonTelemetry . create(openTelemetry))
51+ .get(" /greet" , (req, res) - > res. send(" Hello World!" )))
52+ .build();
6153 }
6254}
6355```
0 commit comments