package io.dropwizard.metrics.jersey2.resources; import io.dropwizard.metrics.annotation.ExceptionMetered; import io.dropwizard.metrics.annotation.Metered; import io.dropwizard.metrics.annotation.Timed; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import java.io.IOException; @Path("/") @Produces(MediaType.TEXT_PLAIN) public class InstrumentedResource { @GET @Timed @Path("/timed") public String timed() { return "yay"; } @GET @Metered @Path("/metered") public String metered() { return "woo"; } @GET @ExceptionMetered(cause = IOException.class) @Path("/exception-metered") public String exceptionMetered(@QueryParam("splode") @DefaultValue("false") boolean splode) throws IOException { if (splode) { throw new IOException("AUGH"); } return "fuh"; } @Path("/subresource") public InstrumentedSubResource locateSubResource() { return new InstrumentedSubResource(); } }