Polish Span and Meter Names

Closes gh-12156
This commit is contained in:
Josh Cummings
2022-11-16 13:52:06 -07:00
parent 88e64bac0c
commit e08ed89403
7 changed files with 94 additions and 94 deletions

View File

@@ -43,6 +43,21 @@ public final class AuthenticationObservationConvention
return OBSERVATION_NAME;
}
@Override
public String getContextualName(AuthenticationObservationContext context) {
if (context.getAuthenticationRequest() != null) {
String authenticationType = context.getAuthenticationRequest().getClass().getSimpleName();
if (authenticationType.endsWith("Token")) {
authenticationType = authenticationType.substring(0, authenticationType.lastIndexOf("Token"));
}
if (authenticationType.endsWith("Authentication")) {
authenticationType = authenticationType.substring(0, authenticationType.lastIndexOf("Authentication"));
}
return "authenticate " + authenticationType.toLowerCase();
}
return "authenticate";
}
/**
* {@inheritDoc}
*/

View File

@@ -19,6 +19,9 @@ package org.springframework.security.authorization;
import io.micrometer.common.KeyValues;
import io.micrometer.observation.Observation;
import io.micrometer.observation.ObservationConvention;
import org.aopalliance.intercept.MethodInvocation;
import org.springframework.security.authorization.method.MethodInvocationResult;
/**
* An {@link ObservationConvention} for translating authorizations into {@link KeyValues}.
@@ -39,14 +42,19 @@ public final class AuthorizationObservationConvention
return OBSERVATION_NAME;
}
@Override
public String getContextualName(AuthorizationObservationContext<?> context) {
return "authorize " + getObjectType(context);
}
/**
* {@inheritDoc}
*/
@Override
public KeyValues getLowCardinalityKeyValues(AuthorizationObservationContext<?> context) {
return KeyValues.of("authentication.type", getAuthenticationType(context))
.and("object.type", getObjectType(context))
.and("authorization.decision", getAuthorizationDecision(context));
return KeyValues.of("spring.security.authentication.type", getAuthenticationType(context))
.and("spring.security.object", getObjectType(context))
.and("spring.security.authorization.decision", getAuthorizationDecision(context));
}
/**
@@ -54,8 +62,8 @@ public final class AuthorizationObservationConvention
*/
@Override
public KeyValues getHighCardinalityKeyValues(AuthorizationObservationContext<?> context) {
return KeyValues.of("authentication.authorities", getAuthorities(context)).and("authorization.decision.details",
getDecisionDetails(context));
return KeyValues.of("spring.security.authentication.authorities", getAuthorities(context))
.and("spring.security.authorization.decision.details", getDecisionDetails(context));
}
@Override
@@ -74,7 +82,20 @@ public final class AuthorizationObservationConvention
if (context.getObject() == null) {
return "unknown";
}
return context.getObject().getClass().getSimpleName();
if (context.getObject() instanceof MethodInvocation) {
return "method";
}
if (context.getObject() instanceof MethodInvocationResult) {
return "method";
}
String className = context.getObject().getClass().getSimpleName();
if (className.contains("Request")) {
return "request";
}
if (className.contains("Message")) {
return "message";
}
return className;
}
private String getAuthorizationDecision(AuthorizationObservationContext<?> context) {

View File

@@ -33,11 +33,11 @@ import org.springframework.security.core.Authentication;
*/
public final class ObservationSecurityContextChangedListener implements SecurityContextChangedListener {
static final String SECURITY_CONTEXT_CREATED = "security.context.created";
static final String SECURITY_CONTEXT_CREATED = "spring.security.context.created";
static final String SECURITY_CONTEXT_CHANGED = "security.context.changed";
static final String SECURITY_CONTEXT_CHANGED = "spring.security.context.changed";
static final String SECURITY_CONTEXT_CLEARED = "security.context.cleared";
static final String SECURITY_CONTEXT_CLEARED = "spring.security.context.cleared";
private final ObservationRegistry registry;