This documentation has an index for AI agents at /llms.txt. A Markdown version of this page is available at https://explorer.opentelemetry.io/java-agent/instrumentation/java-http-server.md.

Java HTTP Server

OpenTelemetry Java agent instrumentation

This instrumentation enables HTTP server spans and HTTP server metrics for the Java HTTP server.

  • Name: java-http-server
  • Scope: io.opentelemetry.java-http-server
  • Target versions: Java 8+
  • Library: https://docs.oracle.com/en/java/javase/21/docs/api/jdk.httpserver/module-summary.html

Telemetry

When default

Metrics

MetricInstrumentTypeUnitDescription
http.server.request.durationhistogramHISTOGRAMsDuration of HTTP server requests.
MetricAttributes
http.server.request.durationhttp.request.method (STRING), http.response.status_code (LONG), http.route (STRING), network.protocol.version (STRING), url.scheme (STRING)

Spans

Span kindAttributes
SERVERclient.address (STRING), error.type (STRING), http.request.method (STRING), http.response.status_code (LONG), http.route (STRING), network.peer.address (STRING), network.peer.port (LONG), network.protocol.version (STRING), server.address (STRING), server.port (LONG), url.path (STRING), url.query (STRING), url.scheme (STRING), user_agent.original (STRING)

Configuration

OptionTypeDefaultDescription
otel.instrumentation.common.peer-service-mappingmapUsed to specify a mapping from host names or IP addresses to peer services.
otel.instrumentation.http.known-methodslistCONNECT,DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT,TRACEConfigures the instrumentation to recognize an alternative set of HTTP request methods. All other methods will be treated as _OTHER.
otel.instrumentation.http.server.capture-request-headerslistList of HTTP request headers to capture in HTTP server telemetry.
otel.instrumentation.http.server.capture-response-headerslistList of HTTP response headers to capture in HTTP server telemetry.
otel.instrumentation.http.server.emit-experimental-telemetrybooleanfalseEnable the capture of experimental HTTP server telemetry. Adds the http.request.body.size and http.response.body.size attributes to spans, and records http.server.request.body.size and http.server.response.body.size metrics.

Data

  • JSON (latest): /data/javaagent/instrumentations/java-http-server/latest.json
  • JSON (pinned): /data/javaagent/instrumentations/java-http-server/java-http-server-165dfb7d370d.json
  • Explore: /java-agent/instrumentation/java-http-server