diff --git a/docs/antora.yml b/docs/antora.yml index 91060da494..7fde6e080c 100644 --- a/docs/antora.yml +++ b/docs/antora.yml @@ -18,3 +18,4 @@ asciidoc: include-java: 'example$docs-src/test/java/io/micrometer/docs' include-resources: 'example$docs-src/test/resources' include-core-test-java: 'example$core-test' + include-micrometer-test-java: 'example$micrometer-test' diff --git a/docs/modules/ROOT/examples/micrometer-test b/docs/modules/ROOT/examples/micrometer-test new file mode 120000 index 0000000000..8bace6b1f9 --- /dev/null +++ b/docs/modules/ROOT/examples/micrometer-test @@ -0,0 +1 @@ +../../../../micrometer-test/src/test/java \ No newline at end of file diff --git a/docs/modules/ROOT/pages/reference/jetty.adoc b/docs/modules/ROOT/pages/reference/jetty.adoc index 150d66fa5c..1f013411bb 100644 --- a/docs/modules/ROOT/pages/reference/jetty.adoc +++ b/docs/modules/ROOT/pages/reference/jetty.adoc @@ -1,3 +1,6 @@ +[[overview]] += Eclipse Jetty and Jersey Instrumentation + Micrometer supports binding metrics to `Jetty` through `Connection.Listener`. You can collect metrics from `Jetty` by adding `JettyConnectionMetrics` as follows: @@ -23,4 +26,16 @@ resourceConfig.register(new MetricsApplicationEventListener( "http.server.requests", true)); ServletContainer servletContainer = new ServletContainer(resourceConfig); ----- \ No newline at end of file +---- + +[[overview-observation]] +== Eclipse Observation Jersey Instrumentation + +Below you can find an example of how to instrument Jersey with https://docs.micrometer.io/micrometer/reference/observation.html[Micrometer Observation]. That means that depending on your Observation Handler configuration you instrument once, and can have multiple benefits out of it (e.g. metrics, distributed tracing). + +[source,java,subs=+attributes] +----- +// Setting up instrumentation +include::{include-micrometer-test-java}/io/micrometer/core/instrument/JerseyServerTimingInstrumentationVerificationTests.java[tags=setup, indent=0] +include::{include-micrometer-test-java}/io/micrometer/core/instrument/JerseyServerTimingInstrumentationVerificationTests.java[tags=setup_2, indent=0] +----- diff --git a/micrometer-test/src/test/java/io/micrometer/core/instrument/JerseyServerTimingInstrumentationVerificationTests.java b/micrometer-test/src/test/java/io/micrometer/core/instrument/JerseyServerTimingInstrumentationVerificationTests.java index f36656f522..7831633135 100644 --- a/micrometer-test/src/test/java/io/micrometer/core/instrument/JerseyServerTimingInstrumentationVerificationTests.java +++ b/micrometer-test/src/test/java/io/micrometer/core/instrument/JerseyServerTimingInstrumentationVerificationTests.java @@ -44,7 +44,11 @@ protected URI startInstrumentedWithMetricsServer() throws Exception { @Nullable @Override protected URI startInstrumentedWithObservationsServer() throws Exception { - jerseyTest = jerseyWithListener(new ObservationApplicationEventListener(getObservationRegistry(), timerName())); + jerseyTest = jerseyWithListener( + // tag::setup[] + new ObservationApplicationEventListener(getObservationRegistry(), timerName()) + // end::setup[] + ); return setupUri(jerseyTest); } @@ -57,8 +61,10 @@ private JerseyTest jerseyWithListener(Object listener) { return new JerseyTest() { @Override protected Application configure() { + // tag::setup_2[] ResourceConfig config = new ResourceConfig(); config.register(listener); + // end::setup_2[] config.register(TestResource.class); return config; }