Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,14 @@
import io.micrometer.common.docs.KeyName;
import io.micrometer.observation.Observation;
import io.micrometer.observation.ObservationConvention;
import io.micrometer.observation.docs.DocumentedObservation;
import io.micrometer.observation.docs.ObservationDocumentation;

/**
* {@link DocumentedObservation} for Apache HTTP client instrumentation.
* {@link ObservationDocumentation} for Apache HTTP client instrumentation.
* @since 1.10.0
* @see MicrometerHttpRequestExecutor
*/
public enum ApacheHttpClientDocumentedObservation implements DocumentedObservation {
public enum ApacheHttpClientObservationDocumentation implements ObservationDocumentation {

DEFAULT {
@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
* Default implementation of {@link ApacheHttpClientObservationConvention}.
*
* @since 1.10.0
* @see ApacheHttpClientDocumentedObservation
* @see ApacheHttpClientObservationDocumentation
*/
public class DefaultApacheHttpClientObservationConvention implements ApacheHttpClientObservationConvention {

Expand All @@ -54,11 +54,11 @@ public String getContextualName(ApacheHttpClientContext context) {
@Override
public KeyValues getLowCardinalityKeyValues(ApacheHttpClientContext context) {
KeyValues keyValues = KeyValues.of(
ApacheHttpClientDocumentedObservation.ApacheHttpClientKeyNames.METHOD
ApacheHttpClientObservationDocumentation.ApacheHttpClientKeyNames.METHOD
.withValue(getMethodString(context.getCarrier())),
ApacheHttpClientDocumentedObservation.ApacheHttpClientKeyNames.URI
ApacheHttpClientObservationDocumentation.ApacheHttpClientKeyNames.URI
.withValue(context.getUriMapper().apply(context.getCarrier())),
ApacheHttpClientDocumentedObservation.ApacheHttpClientKeyNames.STATUS
ApacheHttpClientObservationDocumentation.ApacheHttpClientKeyNames.STATUS
.withValue(getStatusValue(context.getResponse(), context.getError())));
if (context.shouldExportTagsForRoute()) {
keyValues = keyValues.and(HttpContextUtils.generateTagStringsForRoute(context.getApacheHttpContext()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,10 @@ static String[] generateTagStringsForRoute(HttpContext context) {
targetHost = host.getHostName();
targetPort = String.valueOf(host.getPort());
}
return new String[] { ApacheHttpClientDocumentedObservation.ApacheHttpClientKeyNames.TARGET_SCHEME.asString(),
targetScheme, ApacheHttpClientDocumentedObservation.ApacheHttpClientKeyNames.TARGET_HOST.asString(),
targetHost, ApacheHttpClientDocumentedObservation.ApacheHttpClientKeyNames.TARGET_PORT.asString(),
return new String[] {
ApacheHttpClientObservationDocumentation.ApacheHttpClientKeyNames.TARGET_SCHEME.asString(),
targetScheme, ApacheHttpClientObservationDocumentation.ApacheHttpClientKeyNames.TARGET_HOST.asString(),
targetHost, ApacheHttpClientObservationDocumentation.ApacheHttpClientKeyNames.TARGET_PORT.asString(),
targetPort };
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,22 +29,22 @@
*/
class JerseyKeyValues {

private static final KeyValue URI_NOT_FOUND = JerseyDocumentedObservation.JerseyLegacyLowCardinalityTags.URI
private static final KeyValue URI_NOT_FOUND = JerseyObservationDocumentation.JerseyLegacyLowCardinalityTags.URI
.withValue("NOT_FOUND");

private static final KeyValue URI_REDIRECTION = JerseyDocumentedObservation.JerseyLegacyLowCardinalityTags.URI
private static final KeyValue URI_REDIRECTION = JerseyObservationDocumentation.JerseyLegacyLowCardinalityTags.URI
.withValue("REDIRECTION");

private static final KeyValue URI_ROOT = JerseyDocumentedObservation.JerseyLegacyLowCardinalityTags.URI
private static final KeyValue URI_ROOT = JerseyObservationDocumentation.JerseyLegacyLowCardinalityTags.URI
.withValue("root");

private static final KeyValue EXCEPTION_NONE = JerseyDocumentedObservation.JerseyLegacyLowCardinalityTags.EXCEPTION
private static final KeyValue EXCEPTION_NONE = JerseyObservationDocumentation.JerseyLegacyLowCardinalityTags.EXCEPTION
.withValue("None");

private static final KeyValue STATUS_SERVER_ERROR = JerseyDocumentedObservation.JerseyLegacyLowCardinalityTags.STATUS
private static final KeyValue STATUS_SERVER_ERROR = JerseyObservationDocumentation.JerseyLegacyLowCardinalityTags.STATUS
.withValue("500");

private static final KeyValue METHOD_UNKNOWN = JerseyDocumentedObservation.JerseyLegacyLowCardinalityTags.METHOD
private static final KeyValue METHOD_UNKNOWN = JerseyObservationDocumentation.JerseyLegacyLowCardinalityTags.METHOD
.withValue("UNKNOWN");

private JerseyKeyValues() {
Expand All @@ -58,7 +58,7 @@ private JerseyKeyValues() {
*/
static KeyValue method(ContainerRequest request) {
return (request != null)
? JerseyDocumentedObservation.JerseyLegacyLowCardinalityTags.METHOD.withValue(request.getMethod())
? JerseyObservationDocumentation.JerseyLegacyLowCardinalityTags.METHOD.withValue(request.getMethod())
: METHOD_UNKNOWN;
}

Expand All @@ -70,7 +70,7 @@ static KeyValue method(ContainerRequest request) {
*/
static KeyValue status(ContainerResponse response) {
/* In case there is no response we are dealing with an unmapped exception. */
return (response != null) ? JerseyDocumentedObservation.JerseyLegacyLowCardinalityTags.STATUS
return (response != null) ? JerseyObservationDocumentation.JerseyLegacyLowCardinalityTags.STATUS
.withValue(Integer.toString(response.getStatus())) : STATUS_SERVER_ERROR;
}

Expand All @@ -96,7 +96,7 @@ static KeyValue uri(RequestEvent event) {
if (matchingPattern.equals("/")) {
return URI_ROOT;
}
return JerseyDocumentedObservation.JerseyLegacyLowCardinalityTags.URI.withValue(matchingPattern);
return JerseyObservationDocumentation.JerseyLegacyLowCardinalityTags.URI.withValue(matchingPattern);
}

/**
Expand Down Expand Up @@ -134,10 +134,10 @@ static KeyValue exception(RequestEvent event) {
static KeyValue outcome(ContainerResponse response) {
if (response != null) {
Outcome outcome = Outcome.forStatus(response.getStatus());
return JerseyDocumentedObservation.JerseyLegacyLowCardinalityTags.OUTCOME.withValue(outcome.name());
return JerseyObservationDocumentation.JerseyLegacyLowCardinalityTags.OUTCOME.withValue(outcome.name());
}
/* In case there is no response we are dealing with an unmapped exception. */
return JerseyDocumentedObservation.JerseyLegacyLowCardinalityTags.OUTCOME
return JerseyObservationDocumentation.JerseyLegacyLowCardinalityTags.OUTCOME
.withValue(Outcome.SERVER_ERROR.name());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,16 @@
import io.micrometer.common.lang.NonNullApi;
import io.micrometer.observation.Observation;
import io.micrometer.observation.ObservationConvention;
import io.micrometer.observation.docs.DocumentedObservation;
import io.micrometer.observation.docs.ObservationDocumentation;

/**
* A {@link DocumentedObservation} for Jersey.
* A {@link ObservationDocumentation} for Jersey.
*
* @author Marcin Grzejszczak
* @since 1.10.0
*/
@NonNullApi
public enum JerseyDocumentedObservation implements DocumentedObservation {
public enum JerseyObservationDocumentation implements ObservationDocumentation {

/**
* Default observation for Jersey.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ public void onEvent(RequestEvent event) {
}
case REQUEST_MATCHED:
JerseyContext jerseyContext = new JerseyContext(event);
Observation observation = JerseyDocumentedObservation.DEFAULT.start(this.jerseyObservationConvention,
Observation observation = JerseyObservationDocumentation.DEFAULT.start(this.jerseyObservationConvention,
new DefaultJerseyObservationConvention(this.metricName), jerseyContext, this.registry);
Observation.Scope scope = observation.openScope();
observations.put(event.getContainerRequest(), new ObservationScopeAndContext(scope, jerseyContext));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
import java.util.stream.Collectors;
import java.util.stream.Stream;

import static io.micrometer.core.instrument.binder.okhttp3.OkHttpDocumentedObservation.OkHttpLegacyLowCardinalityTags.*;
import static io.micrometer.core.instrument.binder.okhttp3.OkHttpObservationDocumentation.OkHttpLegacyLowCardinalityTags.*;
import static java.util.stream.Collectors.toList;
import static java.util.stream.StreamSupport.stream;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,16 @@
import io.micrometer.common.lang.NonNullApi;
import io.micrometer.observation.Observation;
import io.micrometer.observation.ObservationConvention;
import io.micrometer.observation.docs.DocumentedObservation;
import io.micrometer.observation.docs.ObservationDocumentation;

/**
* A {@link DocumentedObservation} for OkHttp3 metrics.
* A {@link ObservationDocumentation} for OkHttp3 metrics.
*
* @author Marcin Grzejszczak
* @since 1.10.0
*/
@NonNullApi
public enum OkHttpDocumentedObservation implements DocumentedObservation {
public enum OkHttpObservationDocumentation implements ObservationDocumentation {

/**
* Default observation for OK HTTP.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ public Response intercept(@NonNull Chain chain) throws IOException {
this.unknownRequestTags, this.includeHostTag, request);
okHttpContext.setCarrier(newRequestBuilder);
okHttpContext.setState(new CallState(newRequestBuilder.build()));
Observation observation = OkHttpDocumentedObservation.DEFAULT.observation(this.observationConvention,
Observation observation = OkHttpObservationDocumentation.DEFAULT.observation(this.observationConvention,
new DefaultOkHttpObservationConvention(requestMetricName), okHttpContext, this.registry).start();
Request newRequest = newRequestBuilder.build();
OkHttpObservationInterceptor.CallState callState = new CallState(newRequest);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,18 +29,18 @@
*
* <ul>
* <li>Metrics are grouped within an enum - the enum implements the
* {@link DocumentedMeter} interface</li>
* {@link MeterDocumentation} interface</li>
* <li>If the span contains {@link KeyName} then those need to be declared as nested
* enums</li>
* <li>The {@link DocumentedMeter#getKeyNames()} need to call the nested enum's
* <li>The {@link MeterDocumentation#getKeyNames()} need to call the nested enum's
* {@code values()} method to retrieve the array of allowed keys / events</li>
* <li>Javadocs around enums will be used as description</li>
* </ul>
*
* @author Marcin Grzejszczak
* @since 1.10.0
*/
public interface DocumentedMeter {
public interface MeterDocumentation {

/**
* Empty key names.
Expand Down Expand Up @@ -84,7 +84,7 @@ default String getName(String... vars) {
/**
* Allowed key names.
* @return allowed key names - if set will override any key names coming from
* {@link DocumentedMeter#overridesDefaultMetricFrom()}
* {@link MeterDocumentation#overridesDefaultMetricFrom()}
*/
default KeyName[] getKeyNames() {
return EMPTY;
Expand All @@ -93,7 +93,7 @@ default KeyName[] getKeyNames() {
/**
* Additional key names.
* @return additional key names - if set will append any key names coming from
* {@link DocumentedMeter#overridesDefaultMetricFrom()}
* {@link MeterDocumentation#overridesDefaultMetricFrom()}
*/
default KeyName[] getAdditionalKeyNames() {
return EMPTY;
Expand All @@ -102,8 +102,8 @@ default KeyName[] getAdditionalKeyNames() {
/**
* Override this when custom metric should be documented instead of the default one.
* Requires the Observation module on the classpath.
* @return {@link io.micrometer.observation.docs.DocumentedObservation} for which you
* don't want to create a default metric documentation
* @return {@link MeterDocumentation} for which you don't want to create a default
* metric documentation
*/
default Enum<?> overridesDefaultMetricFrom() {
return null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,11 @@ public KeyValues getLowCardinalityKeyValues(HttpClientContext context) {
}
HttpRequest httpRequest = context.getCarrier().build();
KeyValues keyValues = KeyValues.of(
HttpClientDocumentedObservation.LowCardinalityKeys.METHOD.withValue(httpRequest.method()),
HttpClientDocumentedObservation.LowCardinalityKeys.URI
HttpClientObservationDocumentation.LowCardinalityKeys.METHOD.withValue(httpRequest.method()),
HttpClientObservationDocumentation.LowCardinalityKeys.URI
.withValue(getUriTag(httpRequest, context.getResponse(), context.getUriMapper())));
if (context.getResponse() != null) {
keyValues = keyValues.and(HttpClientDocumentedObservation.LowCardinalityKeys.STATUS
keyValues = keyValues.and(HttpClientObservationDocumentation.LowCardinalityKeys.STATUS
.withValue(String.valueOf(context.getResponse().statusCode())));
}
return keyValues;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@
import io.micrometer.common.docs.KeyName;
import io.micrometer.observation.Observation;
import io.micrometer.observation.ObservationConvention;
import io.micrometer.observation.docs.DocumentedObservation;
import io.micrometer.observation.docs.ObservationDocumentation;

enum HttpClientDocumentedObservation implements DocumentedObservation {
enum HttpClientObservationDocumentation implements ObservationDocumentation {

/**
* Observation when an HTTP call is being made.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -233,11 +233,11 @@ private <T> void stopObservationOrTimer(
@Nullable HttpResponse<T> res) {
instrumentation.stop(DefaultHttpClientObservationConvention.INSTANCE.getName(), "Timer for JDK's HttpClient",
() -> {
Tags tags = Tags.of(HttpClientDocumentedObservation.LowCardinalityKeys.METHOD.asString(),
request.method(), HttpClientDocumentedObservation.LowCardinalityKeys.URI.asString(),
Tags tags = Tags.of(HttpClientObservationDocumentation.LowCardinalityKeys.METHOD.asString(),
request.method(), HttpClientObservationDocumentation.LowCardinalityKeys.URI.asString(),
DefaultHttpClientObservationConvention.INSTANCE.getUriTag(request, res, uriMapper));
if (res != null) {
tags = tags.and(Tag.of(HttpClientDocumentedObservation.LowCardinalityKeys.STATUS.asString(),
tags = tags.and(Tag.of(HttpClientObservationDocumentation.LowCardinalityKeys.STATUS.asString(),
String.valueOf(res.statusCode())));
}
return tags;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ public Object observeMethod(ProceedingJoinPoint pjp) throws Throwable {
}

private Object observe(ProceedingJoinPoint pjp, Method method, Observed observed) throws Throwable {
Observation observation = ObservedAspectObservation.of(pjp, observed, this.registry,
Observation observation = ObservedAspectObservationDocumentation.of(pjp, observed, this.registry,
this.observationConvention);
if (CompletionStage.class.isAssignableFrom(method.getReturnType())) {
observation.start();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,20 +22,20 @@
import io.micrometer.observation.ObservationRegistry;
import io.micrometer.observation.annotation.Observed;
import io.micrometer.observation.ObservationConvention;
import io.micrometer.observation.docs.DocumentedObservation;
import io.micrometer.observation.docs.ObservationDocumentation;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.Signature;

import static io.micrometer.observation.aop.ObservedAspectObservation.ObservedAspectLowCardinalityKeyName.CLASS_NAME;
import static io.micrometer.observation.aop.ObservedAspectObservation.ObservedAspectLowCardinalityKeyName.METHOD_NAME;
import static io.micrometer.observation.aop.ObservedAspectObservationDocumentation.ObservedAspectLowCardinalityKeyName.CLASS_NAME;
import static io.micrometer.observation.aop.ObservedAspectObservationDocumentation.ObservedAspectLowCardinalityKeyName.METHOD_NAME;

/**
* A {@link DocumentedObservation} for {@link ObservedAspect}.
* A {@link ObservationDocumentation} for {@link ObservedAspect}.
*
* @author Jonatan Ivanov
* @since 1.10.0
*/
enum ObservedAspectObservation implements DocumentedObservation {
enum ObservedAspectObservationDocumentation implements ObservationDocumentation {

DEFAULT;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,12 @@
*
* <ul>
* <li>Observations are grouped within an enum - the enum implements the
* {@code DocumentedObservation} interface</li>
* {@code ObservationDocumentation} interface</li>
* <li>If the observation contains {@link KeyName} then those need to be declared as
* nested enums</li>
* <li>The {@link DocumentedObservation#getHighCardinalityKeyNames()} need to call the
* <li>The {@link ObservationDocumentation#getHighCardinalityKeyNames()} need to call the
* nested enum's {@code values()} method to retrieve the array of allowed keys</li>
* <li>The {@link DocumentedObservation#getLowCardinalityKeyNames()} need to call the
* <li>The {@link ObservationDocumentation#getLowCardinalityKeyNames()} need to call the
* nested enum's {@code values()} method to retrieve the array of allowed keys</li>
* <li>Javadocs around enums will be used as description</li>
* <li>If you want to merge different {@link KeyName} enum {@code values()} methods you
Expand All @@ -52,7 +52,7 @@
* @author Marcin Grzejszczak
* @since 1.10.0
*/
public interface DocumentedObservation {
public interface ObservationDocumentation {

/**
* Empty key names.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
import static org.assertj.core.api.BDDAssertions.then;
import static org.assertj.core.api.BDDAssertions.thenThrownBy;

class DocumentedObservationTests {
class ObservationDocumentationTests {

@Test
void iseShouldBeThrownWhenDocumentedObservationHasNotOverriddenDefaultConvention() {
Expand Down Expand Up @@ -142,7 +142,7 @@ private ObservationRegistry observationRegistry() {
return registry;
}

enum TestConventionObservation implements DocumentedObservation {
enum TestConventionObservation implements ObservationDocumentation {

NOT_OVERRIDDEN_METHODS {

Expand Down