Class ZPageServer
- java.lang.Object
-
- io.opentelemetry.sdk.extension.zpages.ZPageServer
-
@ThreadSafe public final class ZPageServer extends Object
A collection of HTML pages to display stats and trace data and allow library configuration control. To use, add the z-pages span processor, the z-pages dynamic trace config and the z-pages dynamic sampler to aSdkTracerProviderBuilder. Currently all tracers can only be made visible to a singletonZPageServer.Example usage with private
HttpServerpublic class Main { public static void main(String[] args) throws Exception { OpenTelemetry openTelemetry = OpenTelemetrySdk.builder() .setTracerProvider(SdkTracerProvider.builder() .addSpanProcessor(ZPageServer.getSpanProcessor()) .setTraceConfigSupplier(ZPageServer.getTraceConfigSupplier()) .setSampler(ZPageServer.getSampler()) .build(); .build(); ZPageServer.startHttpServerAndRegisterAllPages(8000); ... // do work } }Example usage with shared
HttpServerpublic class Main { public static void main(String[] args) throws Exception { OpenTelemetry openTelemetry = OpenTelemetrySdk.builder() .setTracerProvider(SdkTracerProvider.builder() .addSpanProcessor(ZPageServer.getSpanProcessor()) .setTraceConfigSupplier(ZPageServer.getTraceConfigSupplier()) .setSampler(ZPageServer.getSampler()) .build(); .build(); HttpServer server = HttpServer.create(new InetSocketAddress(8000), 10); ZPageServer.registerAllPagesToHttpServer(server); server.start(); ... // do work } }
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static io.opentelemetry.sdk.trace.SpanProcessorgetSpanProcessor()Returns aSpanProcessorwhich will allow processing of spans byZPageServer.static io.opentelemetry.sdk.trace.samplers.SamplergetTracezSampler()Returns aSamplerwhich can be reconfigured using zpages.static Supplier<io.opentelemetry.sdk.trace.SpanLimits>getTracezTraceConfigSupplier()Returns a supplier ofSpanLimitswhich can be reconfigured using zpages.static voidregisterAllPagesToHttpServer(com.sun.net.httpserver.HttpServer server)Registers all zPages to the givenHttpServerserver.static voidstartHttpServerAndRegisterAllPages(int port)Starts a privateHttpServerand registers all zPages to it.
-
-
-
Method Detail
-
getTracezTraceConfigSupplier
public static Supplier<io.opentelemetry.sdk.trace.SpanLimits> getTracezTraceConfigSupplier()
Returns a supplier ofSpanLimitswhich can be reconfigured using zpages.
-
getTracezSampler
public static io.opentelemetry.sdk.trace.samplers.Sampler getTracezSampler()
Returns aSamplerwhich can be reconfigured using zpages.
-
getSpanProcessor
public static io.opentelemetry.sdk.trace.SpanProcessor getSpanProcessor()
Returns aSpanProcessorwhich will allow processing of spans byZPageServer.
-
registerAllPagesToHttpServer
public static void registerAllPagesToHttpServer(com.sun.net.httpserver.HttpServer server)
Registers all zPages to the givenHttpServerserver.- Parameters:
server- theHttpServerfor the page to register to.
-
startHttpServerAndRegisterAllPages
public static void startHttpServerAndRegisterAllPages(int port) throws IOExceptionStarts a privateHttpServerand registers all zPages to it. When the JVM shuts down the server is stopped.Users can only call this function once per process.
- Parameters:
port- the port used to bind theHttpServerserver- Throws:
IllegalStateException- if the server is already started.IOException- if the server cannot bind to the specified port.
-
-