semantic-conventions/docs/dotnet/dotnet-aspnetcore-metrics.md

81 KiB

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

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.routing.match_attempts Counter {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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.routing.match_status string Match result - success or failure success; failure Required Stable
aspnetcore.routing.is_fallback boolean A value that indicates whether the matched route is a fallback route. true Conditionally Required if and only if a route was successfully matched. Stable
http.route string The matched route template for the request. This MUST be low-cardinality and include all static path segments, with dynamic path segments represented with placeholders. [1] /users/:userID?; my-controller/my-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.

A static path segment is a part of the route template with a fixed, low-cardinality value. This includes literal strings like /users/ and placeholders that are constrained to a finite, predefined set of values, e.g. {controller} or {action}.

A dynamic path segment is a placeholder for a value that can have high cardinality and is not constrained to a predefined list like static path segments.

Instrumentations SHOULD use routing information provided by the corresponding web framework. They SHOULD pick the most precise source of routing information and MAY support custom route formatting. Instrumentations SHOULD document the format and the API used to obtain the route string.


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.

Value Description Stability
failure Match failed Stable
success Match succeeded Stable

Exceptions

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

Metric: aspnetcore.diagnostics.exceptions

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.diagnostics.exceptions Counter {exception} Number of exceptions caught by exception handling middleware. [1] Stable

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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.diagnostics.exception.result string ASP.NET Core exception middleware handling result. handled; unhandled Required Stable
error.type string The full name of exception type. System.OperationCanceledException; Contoso.MyException Required Stable
aspnetcore.diagnostics.handler.type string Full type name of the IExceptionHandler implementation that handled the exception. Contoso.MyHandler Conditionally 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.

Value Description Stability
aborted Exception handling didn't run because the request was aborted. Stable
handled Exception was handled by the exception handling middleware. Stable
skipped Exception handling was skipped because the response had started. Stable
unhandled Exception 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.

Value Description Stability
_OTHER A 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

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.rate_limiting.active_request_leases UpDownCounter {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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.rate_limiting.policy string Rate limiting policy name. fixed; sliding; token Conditionally 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 ].

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.rate_limiting.request_lease.duration Histogram s The 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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.rate_limiting.policy string Rate limiting policy name. fixed; sliding; token Conditionally 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

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.rate_limiting.queued_requests UpDownCounter {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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.rate_limiting.policy string Rate limiting policy name. fixed; sliding; token Conditionally 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 ].

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.rate_limiting.request.time_in_queue Histogram s The 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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.rate_limiting.result string Rate-limiting result, shows whether the lease was acquired or contains a rejection reason acquired; request_canceled Required Stable
aspnetcore.rate_limiting.policy string Rate limiting policy name. fixed; sliding; token Conditionally 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.

Value Description Stability
acquired Lease was acquired Stable
endpoint_limiter Lease request was rejected by the endpoint limiter Stable
global_limiter Lease request was rejected by the global limiter Stable
request_canceled Lease request was canceled Stable

Metric: aspnetcore.rate_limiting.requests

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.rate_limiting.requests Counter {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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.rate_limiting.result string Rate-limiting result, shows whether the lease was acquired or contains a rejection reason acquired; request_canceled Required Stable
aspnetcore.rate_limiting.policy string Rate limiting policy name. fixed; sliding; token Conditionally 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.

Value Description Stability
acquired Lease was acquired Stable
endpoint_limiter Lease request was rejected by the endpoint limiter Stable
global_limiter Lease request was rejected by the global limiter Stable
request_canceled Lease request was canceled Stable

Memory pool

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

Metric: aspnetcore.memory_pool.pooled

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.memory_pool.pooled UpDownCounter By Number of bytes currently pooled and available for reuse. [1] Development

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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.memory_pool.owner string The name of the library or subsystem using the memory pool instance. kestrel; iis Conditionally Required [1] Development

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

Metric: aspnetcore.memory_pool.evicted

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.memory_pool.evicted Counter By Total 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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.memory_pool.owner string The name of the library or subsystem using the memory pool instance. kestrel; iis Conditionally Required [1] Development

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

Metric: aspnetcore.memory_pool.allocated

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.memory_pool.allocated Counter By Total 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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.memory_pool.owner string The name of the library or subsystem using the memory pool instance. kestrel; iis Conditionally Required [1] Development

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

Metric: aspnetcore.memory_pool.rented

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.memory_pool.rented Counter By Total number of bytes rented from the memory pool. [1] Development

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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.memory_pool.owner string The name of the library or subsystem using the memory pool instance. kestrel; iis Conditionally 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

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.authentication.authenticate.duration Histogram s The authentication duration for a request. [1] Development

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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.authentication.result string The result of the authentication operation. success; failure Required Development
aspnetcore.authentication.scheme string The identifier that names a particular authentication handler. Cookies; Bearer; Identity.Application Conditionally Required if a scheme is specified during authentication. Development
error.type string The full name of exception type. System.OperationCanceledException Conditionally 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.

Value Description Stability
failure Authentication failed. Development
none No authentication information returned. Development
success Authentication 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.

Value Description Stability
_OTHER A fallback error value to be used when the instrumentation doesn't define a custom value. Stable

Metric: aspnetcore.authentication.challenges

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.authentication.challenges Counter {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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.authentication.scheme string The identifier that names a particular authentication handler. Cookies; Bearer; Identity.Application Conditionally Required if a scheme is specified during authentication. Development
error.type string The full name of exception type. System.OperationCanceledException Conditionally 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.

Value Description Stability
_OTHER A fallback error value to be used when the instrumentation doesn't define a custom value. Stable

Metric: aspnetcore.authentication.forbids

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.authentication.forbids Counter {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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.authentication.scheme string The identifier that names a particular authentication handler. Cookies; Bearer; Identity.Application Conditionally Required if a scheme is specified during authentication. Development
error.type string The full name of exception type. System.OperationCanceledException Conditionally 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.

Value Description Stability
_OTHER A fallback error value to be used when the instrumentation doesn't define a custom value. Stable

Metric: aspnetcore.authentication.sign_ins

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.authentication.sign_ins Counter {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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.authentication.scheme string The identifier that names a particular authentication handler. Cookies; Bearer; Identity.Application Conditionally Required if a scheme is specified during authentication. Development
error.type string The full name of exception type. System.OperationCanceledException Conditionally 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.

Value Description Stability
_OTHER A fallback error value to be used when the instrumentation doesn't define a custom value. Stable

Metric: aspnetcore.authentication.sign_outs

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.authentication.sign_outs Counter {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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.authentication.scheme string The identifier that names a particular authentication handler. Cookies; Bearer; Identity.Application Conditionally Required if a scheme is specified during authentication. Development
error.type string The full name of exception type. System.OperationCanceledException Conditionally 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.

Value Description Stability
_OTHER A 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

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.authorization.attempts Counter {attempt} The total number of authorization attempts. [1] Development

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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.user.is_authenticated boolean A value that indicates whether the user is authenticated. true Required Stable
aspnetcore.authorization.policy string The name of the authorization policy. RequireAdminRole Conditionally Required if a policy is specified. Development
aspnetcore.authorization.result string The result of calling the authorization service. success; failure Conditionally Required if no exception was thrown. Development
error.type string The full name of exception type. System.OperationCanceledException Conditionally 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.

Value Description Stability
failure Authorization failed. Development
success Authorization 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.

Value Description Stability
_OTHER A 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

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.identity.user.create.duration Histogram s The duration of user creation operations. [1] Development

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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.identity.user_type string The full name of the identity user type. Contoso.ContosoUser Required Development
aspnetcore.identity.error_code string The error code for a failed identity operation. DefaultError; PasswordMismatch Conditionally Required if an error was set on a failed identity result. Development
aspnetcore.identity.result string The result of the identity operation. success; failure Conditionally Required if no exception was thrown. Development
error.type string The full name of exception type or the identity error code. System.OperationCanceledException; PasswordMismatch Conditionally 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.

Value Description Stability
failure Identity operation failed. Development
success Identity 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.

Value Description Stability
_OTHER A fallback error value to be used when the instrumentation doesn't define a custom value. Stable

Metric: aspnetcore.identity.user.update.duration

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.identity.user.update.duration Histogram s The duration of user update operations. [1] Development

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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.identity.user.update_type string The user update type. update; user_name; reset_password Required Development
aspnetcore.identity.user_type string The full name of the identity user type. Contoso.ContosoUser Required Development
aspnetcore.identity.error_code string The error code for a failed identity operation. DefaultError; PasswordMismatch Conditionally Required if an error was set on a failed identity result. Development
aspnetcore.identity.result string The result of the identity operation. success; failure Conditionally Required if no exception was thrown. Development
error.type string The full name of exception type or the identity error code. System.OperationCanceledException; PasswordMismatch Conditionally 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.

Value Description Stability
failure Identity operation failed. Development
success Identity 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.

Value Description Stability
_OTHER Any update type that the instrumentation has no prior knowledge of. Development
access_failed Identity user access failure recorded. Development
add_claims Identity user claims added. Development
add_login Identity user login added. Development
add_password Identity user password added. Development
add_to_roles Identity user added to roles. Development
change_email Identity user email changed. Development
change_password Identity user password changed. Development
change_phone_number Identity user phone number changed. Development
confirm_email Identity user email confirmed. Development
generate_new_two_factor_recovery_codes Identity user new two-factor recovery codes generated. Development
password_rehash Identity user password rehashed. Development
redeem_two_factor_recovery_code Identity user two-factor recovery code redeemed. Development
remove_authentication_token Identity user authentication token removed. Development
remove_claims Identity user claims removed. Development
remove_from_roles Identity user removed from roles. Development
remove_login Identity user login removed. Development
remove_passkey Identity user passkey removed. Development
remove_password Identity user password removed. Development
replace_claim Identity user claim replaced. Development
reset_access_failed_count Identity user access failure count reset. Development
reset_authenticator_key Identity user authenticator key reset. Development
reset_password Identity user password reset. Development
security_stamp Identity user security stamp updated. Development
set_authentication_token Identity user authentication token set. Development
set_email Identity user email set. Development
set_lockout_enabled Identity user lockout enabled or disabled. Development
set_lockout_end_date Identity user lockout end date set. Development
set_passkey Identity user passkey set. Development
set_phone_number Identity user phone number set. Development
set_two_factor_enabled Identity user two-factor authentication enabled or disabled. Development
update Identity user updated. Development
user_name Identity 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.

Value Description Stability
_OTHER A fallback error value to be used when the instrumentation doesn't define a custom value. Stable

Metric: aspnetcore.identity.user.delete.duration

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.identity.user.delete.duration Histogram s The duration of user deletion operations. [1] Development

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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.identity.user_type string The full name of the identity user type. Contoso.ContosoUser Required Development
aspnetcore.identity.error_code string The error code for a failed identity operation. DefaultError; PasswordMismatch Conditionally Required if an error was set on a failed identity result. Development
aspnetcore.identity.result string The result of the identity operation. success; failure Conditionally Required if no exception was thrown. Development
error.type string The full name of exception type or the identity error code. System.OperationCanceledException; PasswordMismatch Conditionally 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.

Value Description Stability
failure Identity operation failed. Development
success Identity 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.

Value Description Stability
_OTHER A fallback error value to be used when the instrumentation doesn't define a custom value. Stable

Metric: aspnetcore.identity.user.check_password_attempts

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.identity.user.check_password_attempts Counter {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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.identity.user_type string The full name of the identity user type. Contoso.ContosoUser Required Development
aspnetcore.identity.password_check_result string The result from checking the password. success; failure Conditionally Required if no exception was thrown. Development
error.type string The full name of exception type. System.OperationCanceledException Conditionally 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.

Value Description Stability
failure Password check failed. Development
password_missing Password check couldn't proceed because the password was missing from the user. Development
success Password check was successful. Development
success_rehash_needed Password check was successful however the password was encoded using a deprecated algorithm and should be rehashed and updated. Development
user_missing Password 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.

Value Description Stability
_OTHER A fallback error value to be used when the instrumentation doesn't define a custom value. Stable

Metric: aspnetcore.identity.user.generated_tokens

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.identity.user.generated_tokens Counter {count} The total number of token generations. [1] Development

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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.identity.token_purpose string What the token will be used for. success; failure Required Development
aspnetcore.identity.user_type string The full name of the identity user type. Contoso.ContosoUser Required Development
error.type string The full name of exception type. System.OperationCanceledException Conditionally 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.

Value Description Stability
_OTHER Any token purpose that the instrumentation has no prior knowledge of. Development
change_email The token is for changing the user email address. Development
change_phone_number The token is for changing a user phone number. Development
email_confirmation The token is for confirming user email address. Development
reset_password The token is for resetting a user password. Development
two_factor The 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.

Value Description Stability
_OTHER A fallback error value to be used when the instrumentation doesn't define a custom value. Stable

Metric: aspnetcore.identity.user.verify_token_attempts

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.identity.user.verify_token_attempts Counter {attempt} The total number of token verification attempts. [1] Development

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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.identity.token_purpose string What the token will be used for. success; failure Required Development
aspnetcore.identity.user_type string The full name of the identity user type. Contoso.ContosoUser Required Development
aspnetcore.identity.token_verified string The result of token verification. success; failure Conditionally Required if no exception was thrown. Development
error.type string The full name of exception type. System.OperationCanceledException Conditionally 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.

Value Description Stability
_OTHER Any token purpose that the instrumentation has no prior knowledge of. Development
change_email The token is for changing the user email address. Development
change_phone_number The token is for changing a user phone number. Development
email_confirmation The token is for confirming user email address. Development
reset_password The token is for resetting a user password. Development
two_factor The 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.

Value Description Stability
failure Token verification failed. Development
success Token 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.

Value Description Stability
_OTHER A fallback error value to be used when the instrumentation doesn't define a custom value. Stable

Metric: aspnetcore.identity.sign_in.authenticate.duration

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.identity.sign_in.authenticate.duration Histogram s The 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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.authentication.scheme string The identifier that names a particular authentication handler. Cookies; Bearer; Identity.Application Required Development
aspnetcore.identity.sign_in.type string The authentication type. password; two_factor Required Development
aspnetcore.identity.user_type string The full name of the identity user type. Contoso.ContosoUser Required Development
aspnetcore.identity.sign_in.result string Whether the sign in result was success or failure. password; two_factor Conditionally Required if no exception was thrown. Development
aspnetcore.sign_in.is_persistent boolean A flag indicating whether the sign in is persistent. Conditionally Required if no exception was thrown. Development
error.type string The full name of exception type. System.OperationCanceledException Conditionally 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.

Value Description Stability
failure Sign in failed. Development
locked_out User is locked out. Development
not_allowed User is not allowed to sign in. Development
requires_two_factor User requires two factory authentication to sign in. Development
success Sign 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.

Value Description Stability
external Sign in with a previously registered third-party login. Development
passkey Sign in with passkey. Development
password Sign in with password. Development
two_factor Sign in with a two factor provider. Development
two_factor_authenticator Sign in with two factor authenticator app. Development
two_factor_recovery_code Sign 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.

Value Description Stability
_OTHER A fallback error value to be used when the instrumentation doesn't define a custom value. Stable

Metric: aspnetcore.identity.sign_in.check_password_attempts

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.identity.sign_in.check_password_attempts Counter {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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.identity.user_type string The full name of the identity user type. Contoso.ContosoUser Required Development
aspnetcore.identity.sign_in.result string Whether the sign in result was success or failure. password; two_factor Conditionally Required if no exception was thrown. Development
error.type string The full name of exception type. System.OperationCanceledException Conditionally 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.

Value Description Stability
failure Sign in failed. Development
locked_out User is locked out. Development
not_allowed User is not allowed to sign in. Development
requires_two_factor User requires two factory authentication to sign in. Development
success Sign 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.

Value Description Stability
_OTHER A fallback error value to be used when the instrumentation doesn't define a custom value. Stable

Metric: aspnetcore.identity.sign_in.sign_ins

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.identity.sign_in.sign_ins Counter {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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.authentication.scheme string The identifier that names a particular authentication handler. Cookies; Bearer; Identity.Application Required Development
aspnetcore.identity.user_type string The full name of the identity user type. Contoso.ContosoUser Required Development
aspnetcore.sign_in.is_persistent boolean A flag indicating whether the sign in is persistent. Conditionally Required if no exception was thrown. Development
error.type string The full name of exception type. System.OperationCanceledException Conditionally 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.

Value Description Stability
_OTHER A fallback error value to be used when the instrumentation doesn't define a custom value. Stable

Metric: aspnetcore.identity.sign_in.sign_outs

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.identity.sign_in.sign_outs Counter {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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.authentication.scheme string The identifier that names a particular authentication handler. Cookies; Bearer; Identity.Application Required Development
aspnetcore.identity.user_type string The full name of the identity user type. Contoso.ContosoUser Required Development
error.type string The full name of exception type. System.OperationCanceledException Conditionally 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.

Value Description Stability
_OTHER A 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

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.identity.sign_in.two_factor_clients_remembered Counter {client} The total number of two factor clients remembered. [1] Development

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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.authentication.scheme string The identifier that names a particular authentication handler. Cookies; Bearer; Identity.Application Required Development
aspnetcore.identity.user_type string The full name of the identity user type. Contoso.ContosoUser Required Development
error.type string The full name of exception type. System.OperationCanceledException Conditionally 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.

Value Description Stability
_OTHER A 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

Name Instrument Type Unit (UCUM) Description Stability Entity Associations
aspnetcore.identity.sign_in.two_factor_clients_forgotten Counter {client} The total number of two factor clients forgotten. [1] Development

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

Attribute Type Description Examples Requirement Level Stability
aspnetcore.authentication.scheme string The identifier that names a particular authentication handler. Cookies; Bearer; Identity.Application Required Development
aspnetcore.identity.user_type string The full name of the identity user type. Contoso.ContosoUser Required Development
error.type string The full name of exception type. System.OperationCanceledException Conditionally 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.

Value Description Stability
_OTHER A fallback error value to be used when the instrumentation doesn't define a custom value. Stable