From 762bcfde340d67693da624cfbd00abdab6968b29 Mon Sep 17 00:00:00 2001 From: Oliver Kieselbach Date: Sun, 29 Mar 2026 14:33:52 +0200 Subject: [PATCH] better debug logging --- .claude/settings.json | 5 ++++- .../AutopilotMonitor.Agent/buildcounter.txt | 2 +- .../Middleware/AuthenticationMiddleware.cs | 18 +++++++++++++++++- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/.claude/settings.json b/.claude/settings.json index df247c19..2b77792c 100644 --- a/.claude/settings.json +++ b/.claude/settings.json @@ -9,7 +9,10 @@ "Bash(.claude/commands/scripts/query-appinsights.sh \"traces | where timestamp between \\(datetime\\(2026-03-28T03:53:45Z\\) .. datetime\\(2026-03-28T03:53:55Z\\)\\) | project timestamp, message, severityLevel | order by timestamp asc | take 50\" PT1H)", "Bash(.claude/commands/scripts/query-appinsights.sh \"traces | where timestamp > datetime\\(2026-03-28T03:53:00Z\\) | where message startswith ''Executed'' | extend status = iif\\(message contains ''Succeeded'', ''Succeeded'', ''Failed''\\) | summarize total=count\\(\\), failed=countif\\(status == ''Failed''\\) by operation_Name | where failed > 0 | order by failed desc\" PT1H)", "Bash(echo \"exit: $?\")", - "mcp__autopilot-monitor__list_blocked_devices" + "mcp__autopilot-monitor__list_blocked_devices", + "mcp__autopilot-monitor__query_backend_logs", + "mcp__autopilot-monitor__query_table", + "mcp__autopilot-monitor__list_tables" ] } } diff --git a/src/Agent/AutopilotMonitor.Agent/buildcounter.txt b/src/Agent/AutopilotMonitor.Agent/buildcounter.txt index d780a02e..01113a99 100644 --- a/src/Agent/AutopilotMonitor.Agent/buildcounter.txt +++ b/src/Agent/AutopilotMonitor.Agent/buildcounter.txt @@ -1 +1 @@ -688 +690 diff --git a/src/Backend/AutopilotMonitor.Functions/Middleware/AuthenticationMiddleware.cs b/src/Backend/AutopilotMonitor.Functions/Middleware/AuthenticationMiddleware.cs index 677f121b..779d41d0 100644 --- a/src/Backend/AutopilotMonitor.Functions/Middleware/AuthenticationMiddleware.cs +++ b/src/Backend/AutopilotMonitor.Functions/Middleware/AuthenticationMiddleware.cs @@ -241,7 +241,23 @@ public class AuthenticationMiddleware : IFunctionsWorkerMiddleware if (!string.IsNullOrEmpty(oid)) { var normalizedEndpoint = EndpointNormalizer.Normalize(requestPath); - _ = Task.Run(() => RecordUserUsageAsync(oid, upn ?? "unknown", tid ?? "", normalizedEndpoint)); + // Capture references for fire-and-forget closure (repo + logger are singletons, safe to capture) + var repo = _userUsageRepo; + var logger = _logger; + var capturedOid = oid; + var capturedUpn = upn ?? "unknown"; + var capturedTid = tid ?? ""; + _ = Task.Run(async () => + { + try + { + await repo.IncrementUsageAsync(capturedOid, capturedUpn, capturedTid, normalizedEndpoint); + } + catch (Exception ex) + { + logger.LogWarning(ex, "[Auth Middleware] Failed to record usage: user={UserId}, endpoint={Endpoint}", capturedOid, normalizedEndpoint); + } + }); } else {