Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions src/Http/Authentication.Core/src/AuthenticationMetrics.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,22 +31,22 @@ public AuthenticationMetrics(IMeterFactory meterFactory)

_challengeCount = _meter.CreateCounter<long>(
"aspnetcore.authentication.challenges",
unit: "{request}",
unit: "{challenge}",
description: "The total number of times a scheme is challenged.");

_forbidCount = _meter.CreateCounter<long>(
"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<long>(
"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<long>(
"aspnetcore.authentication.sign_outs",
unit: "{request}",
unit: "{sign_out}",
description: "The total number of times a principal is signed out with a scheme.");
}

Expand Down
20 changes: 10 additions & 10 deletions src/Security/Authorization/Core/src/AuthorizationMetrics.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,31 +18,31 @@ internal sealed class AuthorizationMetrics
public const string MeterName = "Microsoft.AspNetCore.Authorization";

private readonly Meter _meter;
private readonly Counter<long> _authorizedRequestCount;
private readonly Counter<long> _authorizedCount;

public AuthorizationMetrics(IMeterFactory meterFactory)
{
_meter = meterFactory.Create(MeterName);

_authorizedRequestCount = _meter.CreateCounter<long>(
_authorizedCount = _meter.CreateCounter<long>(
"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)
Expand All @@ -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);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ public override async Task<AuthorizationResult> 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;
}

Expand All @@ -52,11 +52,11 @@ public override async Task<AuthorizationResult> 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;
}
}
Loading