Semantic conventions for ASP.NET Core metrics

Status: Stable

This article defines semantic conventions for ASP.NET Core metrics.

Server

Routing

All routing metrics are reported by the Microsoft.AspNetCore.Routing meter.

Metric: aspnetcore.routing.match_attempts

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.routing.match_attemptsCounter{match_attempt}Number of requests that were attempted to be matched to an endpoint. [1]Stable

[1]: Meter name: Microsoft.AspNetCore.Routing; Added in: ASP.NET Core 8.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.routing.match_statusstringMatch result - success or failuresuccess; failureRequiredStable
aspnetcore.routing.is_fallbackbooleanA value that indicates whether the matched route is a fallback route.trueConditionally Required if and only if a route was successfully matched.Stable
http.routestringThe matched route, that is, the path template in the format used by the respective server framework. [1]/users/:userID?; {controller}/{action}/{id?}Conditionally Required if and only if a route was successfully matched.Stable

[1] http.route: MUST NOT be populated when this is not supported by the HTTP server framework as the route attribute should have low-cardinality and the URI path can NOT substitute it. SHOULD include the application root if there is one.


aspnetcore.routing.match_status has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
failureMatch failedStable
successMatch succeededStable

Exceptions

Exceptions Metric is reported by the Microsoft.AspNetCore.Diagnostics meter.

Metric: aspnetcore.diagnostics.exceptions

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.diagnostics.exceptionsCounter{exception}Number of exceptions caught by exception handling middleware. [1]Stable

[1]: Meter name: Microsoft.AspNetCore.Diagnostics; Added in: ASP.NET Core 8.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.diagnostics.exception.resultstringASP.NET Core exception middleware handling result.handled; unhandledRequiredStable
error.typestringThe full name of exception type.System.OperationCanceledException; Contoso.MyExceptionRequiredStable
aspnetcore.diagnostics.handler.typestringFull type name of the IExceptionHandler implementation that handled the exception.Contoso.MyHandlerConditionally Required [1]Stable

[1] aspnetcore.diagnostics.handler.type: if and only if the exception was handled by this handler.


aspnetcore.diagnostics.exception.result has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
abortedException handling didn’t run because the request was aborted.Stable
handledException was handled by the exception handling middleware.Stable
skippedException handling was skipped because the response had started.Stable
unhandledException was not handled by the exception handling middleware.Stable

error.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
_OTHERA fallback error value to be used when the instrumentation doesn’t define a custom value.Stable

Rate-limiting

All rate-limiting metrics are reported by the Microsoft.AspNetCore.RateLimiting meter.

Metric: aspnetcore.rate_limiting.active_request_leases

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.rate_limiting.active_request_leasesUpDownCounter{request}Number of requests that are currently active on the server that hold a rate limiting lease. [1]Stable

[1]: Meter name: Microsoft.AspNetCore.RateLimiting; Added in: ASP.NET Core 8.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.rate_limiting.policystringRate limiting policy name.fixed; sliding; tokenConditionally Required [1]Stable

[1] aspnetcore.rate_limiting.policy: if the matched endpoint for the request had a rate-limiting policy.

Metric: aspnetcore.rate_limiting.request_lease.duration

this metric SHOULD be specified with ExplicitBucketBoundaries of [ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ].

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.rate_limiting.request_lease.durationHistogramsThe duration of rate limiting lease held by requests on the server. [1]Stable

[1]: Meter name: Microsoft.AspNetCore.RateLimiting; Added in: ASP.NET Core 8.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.rate_limiting.policystringRate limiting policy name.fixed; sliding; tokenConditionally Required [1]Stable

[1] aspnetcore.rate_limiting.policy: if the matched endpoint for the request had a rate-limiting policy.

Metric: aspnetcore.rate_limiting.queued_requests

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.rate_limiting.queued_requestsUpDownCounter{request}Number of requests that are currently queued, waiting to acquire a rate limiting lease. [1]Stable

[1]: Meter name: Microsoft.AspNetCore.RateLimiting; Added in: ASP.NET Core 8.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.rate_limiting.policystringRate limiting policy name.fixed; sliding; tokenConditionally Required [1]Stable

[1] aspnetcore.rate_limiting.policy: if the matched endpoint for the request had a rate-limiting policy.

Metric: aspnetcore.rate_limiting.request.time_in_queue

this metric SHOULD be specified with ExplicitBucketBoundaries of [ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ].

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.rate_limiting.request.time_in_queueHistogramsThe time the request spent in a queue waiting to acquire a rate limiting lease. [1]Stable

[1]: Meter name: Microsoft.AspNetCore.RateLimiting; Added in: ASP.NET Core 8.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.rate_limiting.resultstringRate-limiting result, shows whether the lease was acquired or contains a rejection reasonacquired; request_canceledRequiredStable
aspnetcore.rate_limiting.policystringRate limiting policy name.fixed; sliding; tokenConditionally Required [1]Stable

[1] aspnetcore.rate_limiting.policy: if the matched endpoint for the request had a rate-limiting policy.


aspnetcore.rate_limiting.result has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
acquiredLease was acquiredStable
endpoint_limiterLease request was rejected by the endpoint limiterStable
global_limiterLease request was rejected by the global limiterStable
request_canceledLease request was canceledStable

Metric: aspnetcore.rate_limiting.requests

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.rate_limiting.requestsCounter{request}Number of requests that tried to acquire a rate limiting lease. [1]Stable

[1]: Requests could be:

  • Rejected by global or endpoint rate limiting policies
  • Canceled while waiting for the lease.

Meter name: Microsoft.AspNetCore.RateLimiting; Added in: ASP.NET Core 8.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.rate_limiting.resultstringRate-limiting result, shows whether the lease was acquired or contains a rejection reasonacquired; request_canceledRequiredStable
aspnetcore.rate_limiting.policystringRate limiting policy name.fixed; sliding; tokenConditionally Required [1]Stable

[1] aspnetcore.rate_limiting.policy: if the matched endpoint for the request had a rate-limiting policy.


aspnetcore.rate_limiting.result has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
acquiredLease was acquiredStable
endpoint_limiterLease request was rejected by the endpoint limiterStable
global_limiterLease request was rejected by the global limiterStable
request_canceledLease request was canceledStable

Memory pool

All memory pool metrics are reported by the Microsoft.AspNetCore.MemoryPool meter.

Metric: aspnetcore.memory_pool.pooled

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.memory_pool.pooledUpDownCounterByNumber of bytes currently pooled and available for reuse. [1]Development

[1]: Meter name: Microsoft.AspNetCore.MemoryPool; Added in: ASP.NET Core 10.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.memory_pool.ownerstringThe name of the library or subsystem using the memory pool instance.kestrel; iisConditionally Required [1]Development

[1] aspnetcore.memory_pool.owner: if owner is specified when the memory pool is created.

Metric: aspnetcore.memory_pool.evicted

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.memory_pool.evictedCounterByTotal number of bytes evicted from the memory pool. Eviction occurs when idle pooled memory is reclaimed. [1]Development

[1]: Meter name: Microsoft.AspNetCore.MemoryPool; Added in: ASP.NET Core 10.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.memory_pool.ownerstringThe name of the library or subsystem using the memory pool instance.kestrel; iisConditionally Required [1]Development

[1] aspnetcore.memory_pool.owner: if owner is specified when the memory pool is created.

Metric: aspnetcore.memory_pool.allocated

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.memory_pool.allocatedCounterByTotal number of bytes allocated by the memory pool. Allocation occurs when a memory rental request exceeds the available pooled memory. [1]Development

[1]: Meter name: Microsoft.AspNetCore.MemoryPool; Added in: ASP.NET Core 10.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.memory_pool.ownerstringThe name of the library or subsystem using the memory pool instance.kestrel; iisConditionally Required [1]Development

[1] aspnetcore.memory_pool.owner: if owner is specified when the memory pool is created.

Metric: aspnetcore.memory_pool.rented

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.memory_pool.rentedCounterByTotal number of bytes rented from the memory pool. [1]Development

[1]: Meter name: Microsoft.AspNetCore.MemoryPool; Added in: ASP.NET Core 10.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.memory_pool.ownerstringThe name of the library or subsystem using the memory pool instance.kestrel; iisConditionally Required [1]Development

[1] aspnetcore.memory_pool.owner: if owner is specified when the memory pool is created.

Authentication

All authentication metrics are reported by the Microsoft.AspNetCore.Authentication meter.

Metric: aspnetcore.authentication.authenticate.duration

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.authentication.authenticate.durationHistogramsThe authentication duration for a request. [1]Development

[1]: Meter name: Microsoft.AspNetCore.Authentication; Added in: ASP.NET Core 10.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.authentication.resultstringThe result of the authentication operation.success; failureRequiredDevelopment
aspnetcore.authentication.schemestringThe identifier that names a particular authentication handler.Cookies; Bearer; Identity.ApplicationConditionally Required if a scheme is specified during authentication.Development
error.typestringThe full name of exception type.System.OperationCanceledExceptionConditionally Required if and only if an error has occurred.Stable

aspnetcore.authentication.result has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
failureAuthentication failed.Development
noneNo authentication information returned.Development
successAuthentication was successful.Development

error.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
_OTHERA fallback error value to be used when the instrumentation doesn’t define a custom value.Stable

Metric: aspnetcore.authentication.challenges

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.authentication.challengesCounter{challenge}The total number of times a scheme is challenged. [1]Development

[1]: Meter name: Microsoft.AspNetCore.Authentication; Added in: ASP.NET Core 10.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.authentication.schemestringThe identifier that names a particular authentication handler.Cookies; Bearer; Identity.ApplicationConditionally Required if a scheme is specified during authentication.Development
error.typestringThe full name of exception type.System.OperationCanceledExceptionConditionally Required if and only if an error has occurred.Stable

error.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
_OTHERA fallback error value to be used when the instrumentation doesn’t define a custom value.Stable

Metric: aspnetcore.authentication.forbids

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.authentication.forbidsCounter{forbid}The total number of times an authenticated user attempts to access a resource they are not permitted to access. [1]Development

[1]: Meter name: Microsoft.AspNetCore.Authentication; Added in: ASP.NET Core 10.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.authentication.schemestringThe identifier that names a particular authentication handler.Cookies; Bearer; Identity.ApplicationConditionally Required if a scheme is specified during authentication.Development
error.typestringThe full name of exception type.System.OperationCanceledExceptionConditionally Required if and only if an error has occurred.Stable

error.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
_OTHERA fallback error value to be used when the instrumentation doesn’t define a custom value.Stable

Metric: aspnetcore.authentication.sign_ins

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.authentication.sign_insCounter{sign_in}The total number of times a principal is signed in with a scheme. [1]Development

[1]: Meter name: Microsoft.AspNetCore.Authentication; Added in: ASP.NET Core 10.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.authentication.schemestringThe identifier that names a particular authentication handler.Cookies; Bearer; Identity.ApplicationConditionally Required if a scheme is specified during authentication.Development
error.typestringThe full name of exception type.System.OperationCanceledExceptionConditionally Required if and only if an error has occurred.Stable

error.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
_OTHERA fallback error value to be used when the instrumentation doesn’t define a custom value.Stable

Metric: aspnetcore.authentication.sign_outs

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.authentication.sign_outsCounter{sign_out}The total number of times a principal is signed out with a scheme. [1]Development

[1]: Meter name: Microsoft.AspNetCore.Authentication; Added in: ASP.NET Core 10.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.authentication.schemestringThe identifier that names a particular authentication handler.Cookies; Bearer; Identity.ApplicationConditionally Required if a scheme is specified during authentication.Development
error.typestringThe full name of exception type.System.OperationCanceledExceptionConditionally Required if and only if an error has occurred.Stable

error.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
_OTHERA fallback error value to be used when the instrumentation doesn’t define a custom value.Stable

Authorization

All authorization metrics are reported by the Microsoft.AspNetCore.Authorization meter.

Metric: aspnetcore.authorization.attempts

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.authorization.attemptsCounter{attempt}The total number of authorization attempts. [1]Development

[1]: Meter name: Microsoft.AspNetCore.Authorization; Added in: ASP.NET Core 10.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.user.is_authenticatedbooleanA value that indicates whether the user is authenticated.trueRequiredStable
aspnetcore.authorization.policystringThe name of the authorization policy.RequireAdminRoleConditionally Required if a policy is specified.Development
aspnetcore.authorization.resultstringThe result of calling the authorization service.success; failureConditionally Required if no exception was thrown.Development
error.typestringThe full name of exception type.System.OperationCanceledExceptionConditionally Required if and only if an error has occurred.Stable

aspnetcore.authorization.result has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
failureAuthorization failed.Development
successAuthorization was successful.Development

error.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
_OTHERA fallback error value to be used when the instrumentation doesn’t define a custom value.Stable

Identity

All ASP.NET Core Identity metrics are reported by the Microsoft.AspNetCore.Identity meter.

Metric: aspnetcore.identity.user.create.duration

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.identity.user.create.durationHistogramsThe duration of user creation operations. [1]Development

[1]: Meter name: Microsoft.AspNetCore.Identity; Added in: ASP.NET Core 10.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.identity.user_typestringThe full name of the identity user type.Contoso.ContosoUserRequiredDevelopment
aspnetcore.identity.error_codestringThe error code for a failed identity operation.DefaultError; PasswordMismatchConditionally Required if an error was set on a failed identity result.Development
aspnetcore.identity.resultstringThe result of the identity operation.success; failureConditionally Required if no exception was thrown.Development
error.typestringThe full name of exception type or the identity error code.System.OperationCanceledException; PasswordMismatchConditionally Required if and only if an error has occurred.Stable

aspnetcore.identity.result has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
failureIdentity operation failed.Development
successIdentity operation was successful.Development

error.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
_OTHERA fallback error value to be used when the instrumentation doesn’t define a custom value.Stable

Metric: aspnetcore.identity.user.update.duration

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.identity.user.update.durationHistogramsThe duration of user update operations. [1]Development

[1]: Meter name: Microsoft.AspNetCore.Identity; Added in: ASP.NET Core 10.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.identity.user.update_typestringThe user update type.update; user_name; reset_passwordRequiredDevelopment
aspnetcore.identity.user_typestringThe full name of the identity user type.Contoso.ContosoUserRequiredDevelopment
aspnetcore.identity.error_codestringThe error code for a failed identity operation.DefaultError; PasswordMismatchConditionally Required if an error was set on a failed identity result.Development
aspnetcore.identity.resultstringThe result of the identity operation.success; failureConditionally Required if no exception was thrown.Development
error.typestringThe full name of exception type or the identity error code.System.OperationCanceledException; PasswordMismatchConditionally Required if and only if an error has occurred.Stable

aspnetcore.identity.result has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
failureIdentity operation failed.Development
successIdentity operation was successful.Development

aspnetcore.identity.user.update_type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
_OTHERAny update type that the instrumentation has no prior knowledge of.Development
access_failedIdentity user access failure recorded.Development
add_claimsIdentity user claims added.Development
add_loginIdentity user login added.Development
add_passwordIdentity user password added.Development
add_to_rolesIdentity user added to roles.Development
change_emailIdentity user email changed.Development
change_passwordIdentity user password changed.Development
change_phone_numberIdentity user phone number changed.Development
confirm_emailIdentity user email confirmed.Development
generate_new_two_factor_recovery_codesIdentity user new two-factor recovery codes generated.Development
password_rehashIdentity user password rehashed.Development
redeem_two_factor_recovery_codeIdentity user two-factor recovery code redeemed.Development
remove_authentication_tokenIdentity user authentication token removed.Development
remove_claimsIdentity user claims removed.Development
remove_from_rolesIdentity user removed from roles.Development
remove_loginIdentity user login removed.Development
remove_passkeyIdentity user passkey removed.Development
remove_passwordIdentity user password removed.Development
replace_claimIdentity user claim replaced.Development
reset_access_failed_countIdentity user access failure count reset.Development
reset_authenticator_keyIdentity user authenticator key reset.Development
reset_passwordIdentity user password reset.Development
security_stampIdentity user security stamp updated.Development
set_authentication_tokenIdentity user authentication token set.Development
set_emailIdentity user email set.Development
set_lockout_enabledIdentity user lockout enabled or disabled.Development
set_lockout_end_dateIdentity user lockout end date set.Development
set_passkeyIdentity user passkey set.Development
set_phone_numberIdentity user phone number set.Development
set_two_factor_enabledIdentity user two-factor authentication enabled or disabled.Development
updateIdentity user updated.Development
user_nameIdentity user name updated.Development

error.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
_OTHERA fallback error value to be used when the instrumentation doesn’t define a custom value.Stable

Metric: aspnetcore.identity.user.delete.duration

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.identity.user.delete.durationHistogramsThe duration of user deletion operations. [1]Development

[1]: Meter name: Microsoft.AspNetCore.Identity; Added in: ASP.NET Core 10.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.identity.user_typestringThe full name of the identity user type.Contoso.ContosoUserRequiredDevelopment
aspnetcore.identity.error_codestringThe error code for a failed identity operation.DefaultError; PasswordMismatchConditionally Required if an error was set on a failed identity result.Development
aspnetcore.identity.resultstringThe result of the identity operation.success; failureConditionally Required if no exception was thrown.Development
error.typestringThe full name of exception type or the identity error code.System.OperationCanceledException; PasswordMismatchConditionally Required if and only if an error has occurred.Stable

aspnetcore.identity.result has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
failureIdentity operation failed.Development
successIdentity operation was successful.Development

error.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
_OTHERA fallback error value to be used when the instrumentation doesn’t define a custom value.Stable

Metric: aspnetcore.identity.user.check_password_attempts

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.identity.user.check_password_attemptsCounter{attempt}The number of check password attempts. Only checks whether the password is valid and not whether the user account is in a state that can log in. [1]Development

[1]: Meter name: Microsoft.AspNetCore.Identity; Added in: ASP.NET Core 10.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.identity.user_typestringThe full name of the identity user type.Contoso.ContosoUserRequiredDevelopment
aspnetcore.identity.password_check_resultstringThe result from checking the password.success; failureConditionally Required if no exception was thrown.Development
error.typestringThe full name of exception type.System.OperationCanceledExceptionConditionally Required if and only if an error has occurred.Stable

aspnetcore.identity.password_check_result has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
failurePassword check failed.Development
password_missingPassword check couldn’t proceed because the password was missing from the user.Development
successPassword check was successful.Development
success_rehash_neededPassword check was successful however the password was encoded using a deprecated algorithm and should be rehashed and updated.Development
user_missingPassword check couldn’t proceed because the user was missing.Development

error.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
_OTHERA fallback error value to be used when the instrumentation doesn’t define a custom value.Stable

Metric: aspnetcore.identity.user.generated_tokens

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.identity.user.generated_tokensCounter{count}The total number of token generations. [1]Development

[1]: Meter name: Microsoft.AspNetCore.Identity; Added in: ASP.NET Core 10.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.identity.token_purposestringWhat the token will be used for.success; failureRequiredDevelopment
aspnetcore.identity.user_typestringThe full name of the identity user type.Contoso.ContosoUserRequiredDevelopment
error.typestringThe full name of exception type.System.OperationCanceledExceptionConditionally Required if and only if an error has occurred.Stable

aspnetcore.identity.token_purpose has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
_OTHERAny token purpose that the instrumentation has no prior knowledge of.Development
change_emailThe token is for changing the user email address.Development
change_phone_numberThe token is for changing a user phone number.Development
email_confirmationThe token is for confirming user email address.Development
reset_passwordThe token is for resetting a user password.Development
two_factorThe token is for changing user two factor settings.Development

error.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
_OTHERA fallback error value to be used when the instrumentation doesn’t define a custom value.Stable

Metric: aspnetcore.identity.user.verify_token_attempts

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.identity.user.verify_token_attemptsCounter{attempt}The total number of token verification attempts. [1]Development

[1]: Meter name: Microsoft.AspNetCore.Identity; Added in: ASP.NET Core 10.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.identity.token_purposestringWhat the token will be used for.success; failureRequiredDevelopment
aspnetcore.identity.user_typestringThe full name of the identity user type.Contoso.ContosoUserRequiredDevelopment
aspnetcore.identity.token_verifiedstringThe result of token verification.success; failureConditionally Required if no exception was thrown.Development
error.typestringThe full name of exception type.System.OperationCanceledExceptionConditionally Required if and only if an error has occurred.Stable

aspnetcore.identity.token_purpose has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
_OTHERAny token purpose that the instrumentation has no prior knowledge of.Development
change_emailThe token is for changing the user email address.Development
change_phone_numberThe token is for changing a user phone number.Development
email_confirmationThe token is for confirming user email address.Development
reset_passwordThe token is for resetting a user password.Development
two_factorThe token is for changing user two factor settings.Development

aspnetcore.identity.token_verified has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
failureToken verification failed.Development
successToken verification was successful.Development

error.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
_OTHERA fallback error value to be used when the instrumentation doesn’t define a custom value.Stable

Metric: aspnetcore.identity.sign_in.authenticate.duration

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.identity.sign_in.authenticate.durationHistogramsThe duration of authenticate attempts. The authenticate metrics is recorded by sign in methods such as PasswordSignInAsync and TwoFactorSignInAsync. [1]Development

[1]: Meter name: Microsoft.AspNetCore.Identity; Added in: ASP.NET Core 10.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.authentication.schemestringThe identifier that names a particular authentication handler.Cookies; Bearer; Identity.ApplicationRequiredDevelopment
aspnetcore.identity.sign_in.typestringThe authentication type.password; two_factorRequiredDevelopment
aspnetcore.identity.user_typestringThe full name of the identity user type.Contoso.ContosoUserRequiredDevelopment
aspnetcore.identity.sign_in.resultstringWhether the sign in result was success or failure.password; two_factorConditionally Required if no exception was thrown.Development
aspnetcore.sign_in.is_persistentbooleanA flag indicating whether the sign in is persistent.Conditionally Required if no exception was thrown.Development
error.typestringThe full name of exception type.System.OperationCanceledExceptionConditionally Required if and only if an error has occurred.Stable

aspnetcore.identity.sign_in.result has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
failureSign in failed.Development
locked_outUser is locked out.Development
not_allowedUser is not allowed to sign in.Development
requires_two_factorUser requires two factory authentication to sign in.Development
successSign in was successful.Development

aspnetcore.identity.sign_in.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
externalSign in with a previously registered third-party login.Development
passkeySign in with passkey.Development
passwordSign in with password.Development
two_factorSign in with a two factor provider.Development
two_factor_authenticatorSign in with two factor authenticator app.Development
two_factor_recovery_codeSign in with two factory recovery code.Development

error.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
_OTHERA fallback error value to be used when the instrumentation doesn’t define a custom value.Stable

Metric: aspnetcore.identity.sign_in.check_password_attempts

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.identity.sign_in.check_password_attemptsCounter{attempt}The total number of check password attempts. Checks that the account is in a state that can log in and that the password is valid using the UserManager.CheckPasswordAsync method. [1]Development

[1]: Meter name: Microsoft.AspNetCore.Identity; Added in: ASP.NET Core 10.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.identity.user_typestringThe full name of the identity user type.Contoso.ContosoUserRequiredDevelopment
aspnetcore.identity.sign_in.resultstringWhether the sign in result was success or failure.password; two_factorConditionally Required if no exception was thrown.Development
error.typestringThe full name of exception type.System.OperationCanceledExceptionConditionally Required if and only if an error has occurred.Stable

aspnetcore.identity.sign_in.result has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
failureSign in failed.Development
locked_outUser is locked out.Development
not_allowedUser is not allowed to sign in.Development
requires_two_factorUser requires two factory authentication to sign in.Development
successSign in was successful.Development

error.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
_OTHERA fallback error value to be used when the instrumentation doesn’t define a custom value.Stable

Metric: aspnetcore.identity.sign_in.sign_ins

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.identity.sign_in.sign_insCounter{sign_in}The total number of calls to sign in user principals. [1]Development

[1]: Meter name: Microsoft.AspNetCore.Identity; Added in: ASP.NET Core 10.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.authentication.schemestringThe identifier that names a particular authentication handler.Cookies; Bearer; Identity.ApplicationRequiredDevelopment
aspnetcore.identity.user_typestringThe full name of the identity user type.Contoso.ContosoUserRequiredDevelopment
aspnetcore.sign_in.is_persistentbooleanA flag indicating whether the sign in is persistent.Conditionally Required if no exception was thrown.Development
error.typestringThe full name of exception type.System.OperationCanceledExceptionConditionally Required if and only if an error has occurred.Stable

error.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
_OTHERA fallback error value to be used when the instrumentation doesn’t define a custom value.Stable

Metric: aspnetcore.identity.sign_in.sign_outs

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.identity.sign_in.sign_outsCounter{sign_out}The total number of calls to sign out user principals. [1]Development

[1]: Meter name: Microsoft.AspNetCore.Identity; Added in: ASP.NET Core 10.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.authentication.schemestringThe identifier that names a particular authentication handler.Cookies; Bearer; Identity.ApplicationRequiredDevelopment
aspnetcore.identity.user_typestringThe full name of the identity user type.Contoso.ContosoUserRequiredDevelopment
error.typestringThe full name of exception type.System.OperationCanceledExceptionConditionally Required if and only if an error has occurred.Stable

error.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
_OTHERA fallback error value to be used when the instrumentation doesn’t define a custom value.Stable

Metric: aspnetcore.identity.sign_in.two_factor_clients_remembered

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.identity.sign_in.two_factor_clients_rememberedCounter{client}The total number of two factor clients remembered. [1]Development

[1]: Meter name: Microsoft.AspNetCore.Identity; Added in: ASP.NET Core 10.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.authentication.schemestringThe identifier that names a particular authentication handler.Cookies; Bearer; Identity.ApplicationRequiredDevelopment
aspnetcore.identity.user_typestringThe full name of the identity user type.Contoso.ContosoUserRequiredDevelopment
error.typestringThe full name of exception type.System.OperationCanceledExceptionConditionally Required if and only if an error has occurred.Stable

error.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
_OTHERA fallback error value to be used when the instrumentation doesn’t define a custom value.Stable

Metric: aspnetcore.identity.sign_in.two_factor_clients_forgotten

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
aspnetcore.identity.sign_in.two_factor_clients_forgottenCounter{client}The total number of two factor clients forgotten. [1]Development

[1]: Meter name: Microsoft.AspNetCore.Identity; Added in: ASP.NET Core 10.0

AttributeTypeDescriptionExamplesRequirement LevelStability
aspnetcore.authentication.schemestringThe identifier that names a particular authentication handler.Cookies; Bearer; Identity.ApplicationRequiredDevelopment
aspnetcore.identity.user_typestringThe full name of the identity user type.Contoso.ContosoUserRequiredDevelopment
error.typestringThe full name of exception type.System.OperationCanceledExceptionConditionally Required if and only if an error has occurred.Stable

error.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
_OTHERA fallback error value to be used when the instrumentation doesn’t define a custom value.Stable