diff --git a/src/Http/Authentication.Core/src/AuthenticationMetrics.cs b/src/Http/Authentication.Core/src/AuthenticationMetrics.cs index bb44be81f852..59a2e8d5abf7 100644 --- a/src/Http/Authentication.Core/src/AuthenticationMetrics.cs +++ b/src/Http/Authentication.Core/src/AuthenticationMetrics.cs @@ -31,22 +31,22 @@ public AuthenticationMetrics(IMeterFactory meterFactory) _challengeCount = _meter.CreateCounter( "aspnetcore.authentication.challenges", - unit: "{request}", + unit: "{challenge}", description: "The total number of times a scheme is challenged."); _forbidCount = _meter.CreateCounter( "aspnetcore.authentication.forbids", - unit: "{request}", + unit: "{forbid}", description: "The total number of times an authenticated user attempts to access a resource they are not permitted to access."); _signInCount = _meter.CreateCounter( "aspnetcore.authentication.sign_ins", - unit: "{request}", + unit: "{sign_in}", description: "The total number of times a principal is signed in with a scheme."); _signOutCount = _meter.CreateCounter( "aspnetcore.authentication.sign_outs", - unit: "{request}", + unit: "{sign_out}", description: "The total number of times a principal is signed out with a scheme."); } diff --git a/src/Security/Authorization/Core/src/AuthorizationMetrics.cs b/src/Security/Authorization/Core/src/AuthorizationMetrics.cs index eb1d4060c593..6812d2faa470 100644 --- a/src/Security/Authorization/Core/src/AuthorizationMetrics.cs +++ b/src/Security/Authorization/Core/src/AuthorizationMetrics.cs @@ -18,31 +18,31 @@ internal sealed class AuthorizationMetrics public const string MeterName = "Microsoft.AspNetCore.Authorization"; private readonly Meter _meter; - private readonly Counter _authorizedRequestCount; + private readonly Counter _authorizedCount; public AuthorizationMetrics(IMeterFactory meterFactory) { _meter = meterFactory.Create(MeterName); - _authorizedRequestCount = _meter.CreateCounter( + _authorizedCount = _meter.CreateCounter( "aspnetcore.authorization.attempts", - unit: "{request}", - description: "The total number of requests for which authorization was attempted."); + unit: "{attempt}", + description: "The total number of authorization attempts."); } - public void AuthorizedRequestCompleted(ClaimsPrincipal user, string? policyName, AuthorizationResult? result, Exception? exception) + public void AuthorizeAttemptCompleted(ClaimsPrincipal user, string? policyName, AuthorizationResult? result, Exception? exception) { - if (_authorizedRequestCount.Enabled) + if (_authorizedCount.Enabled) { - AuthorizedRequestCompletedCore(user, policyName, result, exception); + AuthorizeAttemptCore(user, policyName, result, exception); } } [MethodImpl(MethodImplOptions.NoInlining)] - private void AuthorizedRequestCompletedCore(ClaimsPrincipal user, string? policyName, AuthorizationResult? result, Exception? exception) + private void AuthorizeAttemptCore(ClaimsPrincipal user, string? policyName, AuthorizationResult? result, Exception? exception) { var tags = new TagList([ - new("user.is_authenticated", user.Identity?.IsAuthenticated ?? false) + new("aspnetcore.user.is_authenticated", user.Identity?.IsAuthenticated ?? false) ]); if (policyName is not null) @@ -61,6 +61,6 @@ private void AuthorizedRequestCompletedCore(ClaimsPrincipal user, string? policy tags.Add("error.type", exception.GetType().FullName); } - _authorizedRequestCount.Add(1, tags); + _authorizedCount.Add(1, tags); } } diff --git a/src/Security/Authorization/Core/src/DefaultAuthorizationServiceImpl.cs b/src/Security/Authorization/Core/src/DefaultAuthorizationServiceImpl.cs index 0912acb47792..a63033783472 100644 --- a/src/Security/Authorization/Core/src/DefaultAuthorizationServiceImpl.cs +++ b/src/Security/Authorization/Core/src/DefaultAuthorizationServiceImpl.cs @@ -30,11 +30,11 @@ public override async Task AuthorizeAsync(ClaimsPrincipal u } catch (Exception ex) { - metrics.AuthorizedRequestCompleted(user, policyName: null, result: null, ex); + metrics.AuthorizeAttemptCompleted(user, policyName: null, result: null, ex); throw; } - metrics.AuthorizedRequestCompleted(user, policyName: null, result, exception: null); + metrics.AuthorizeAttemptCompleted(user, policyName: null, result, exception: null); return result; } @@ -52,11 +52,11 @@ public override async Task AuthorizeAsync(ClaimsPrincipal u } catch (Exception ex) { - metrics.AuthorizedRequestCompleted(user, policyName, result: null, ex); + metrics.AuthorizeAttemptCompleted(user, policyName, result: null, ex); throw; } - metrics.AuthorizedRequestCompleted(user, policyName, result, exception: null); + metrics.AuthorizeAttemptCompleted(user, policyName, result, exception: null); return result; } } diff --git a/src/Security/Authorization/test/AuthorizationMetricsTest.cs b/src/Security/Authorization/test/AuthorizationMetricsTest.cs index affbc91de9da..7b9253232498 100644 --- a/src/Security/Authorization/test/AuthorizationMetricsTest.cs +++ b/src/Security/Authorization/test/AuthorizationMetricsTest.cs @@ -32,7 +32,7 @@ public async Task Authorize_WithPolicyName_Success() Assert.Equal(1, measurement.Value); Assert.Equal("Basic", (string)measurement.Tags["aspnetcore.authorization.policy"]); Assert.Equal("success", (string)measurement.Tags["aspnetcore.authorization.result"]); - Assert.True((bool)measurement.Tags["user.is_authenticated"]); + Assert.True((bool)measurement.Tags["aspnetcore.user.is_authenticated"]); } [Fact] @@ -57,7 +57,7 @@ public async Task Authorize_WithPolicyName_Failure() Assert.Equal(1, measurement.Value); Assert.Equal("Basic", (string)measurement.Tags["aspnetcore.authorization.policy"]); Assert.Equal("failure", (string)measurement.Tags["aspnetcore.authorization.result"]); - Assert.False((bool)measurement.Tags["user.is_authenticated"]); + Assert.False((bool)measurement.Tags["aspnetcore.user.is_authenticated"]); } [Fact] @@ -82,7 +82,7 @@ public async Task Authorize_WithPolicyName_PolicyNotFound() Assert.Equal(1, measurement.Value); Assert.Equal("UnknownPolicy", (string)measurement.Tags["aspnetcore.authorization.policy"]); Assert.Equal("System.InvalidOperationException", (string)measurement.Tags["error.type"]); - Assert.False((bool)measurement.Tags["user.is_authenticated"]); + Assert.False((bool)measurement.Tags["aspnetcore.user.is_authenticated"]); Assert.False(measurement.Tags.ContainsKey("aspnetcore.authorization.result")); } @@ -110,7 +110,7 @@ public async Task Authorize_WithoutPolicyName_Success() var measurement = Assert.Single(authorizedRequestsCollector.GetMeasurementSnapshot()); Assert.Equal(1, measurement.Value); Assert.Equal("success", (string)measurement.Tags["aspnetcore.authorization.result"]); - Assert.False((bool)measurement.Tags["user.is_authenticated"]); + Assert.False((bool)measurement.Tags["aspnetcore.user.is_authenticated"]); Assert.False(measurement.Tags.ContainsKey("aspnetcore.authorization.policy")); } @@ -135,7 +135,7 @@ public async Task Authorize_WithoutPolicyName_Failure() var measurement = Assert.Single(authorizedRequestsCollector.GetMeasurementSnapshot()); Assert.Equal(1, measurement.Value); Assert.Equal("failure", (string)measurement.Tags["aspnetcore.authorization.result"]); - Assert.False((bool)measurement.Tags["user.is_authenticated"]); + Assert.False((bool)measurement.Tags["aspnetcore.user.is_authenticated"]); Assert.False(measurement.Tags.ContainsKey("aspnetcore.authorization.policy")); } @@ -164,7 +164,7 @@ public async Task Authorize_WithoutPolicyName_ExceptionThrownInHandler() var measurement = Assert.Single(authorizedRequestsCollector.GetMeasurementSnapshot()); Assert.Equal(1, measurement.Value); Assert.Equal("System.InvalidOperationException", (string)measurement.Tags["error.type"]); - Assert.False((bool)measurement.Tags["user.is_authenticated"]); + Assert.False((bool)measurement.Tags["aspnetcore.user.is_authenticated"]); Assert.False(measurement.Tags.ContainsKey("aspnetcore.authorization.policy")); Assert.False(measurement.Tags.ContainsKey("aspnetcore.authorization.result")); }