Throttle agent usage writes and cache inventory per request

This commit is contained in:
2026-10-05 15:47:25 -04:00
parent a86499a0f9
commit 847399a4ff
4 changed files with 187 additions and 5 deletions
+3 -2
View File
@@ -6,6 +6,7 @@ import { authenticationHandle } from '$lib/server/auth/guard.js';
import { invalidateFleet } from '$lib/server/pipeline/bus.js';
import { startPerformanceMonitor } from '$lib/server/performance.js';
import { withOperationSource } from '$lib/server/hosts/operation-context.js';
import { withHostRequestContext } from '$lib/server/hosts/request-context.js';
let booted = false;
function boot(): void {
@@ -23,8 +24,8 @@ function boot(): void {
export const handle: Handle = async (input) => {
boot();
const started = performance.now();
const response = await withOperationSource(`${input.event.request.method} ${input.event.route.id ?? 'Web request'}`,
() => authenticationHandle(input));
const response = await withHostRequestContext(() => withOperationSource(`${input.event.request.method} ${input.event.route.id ?? 'Web request'}`,
() => authenticationHandle(input)));
const elapsed = performance.now() - started;
response.headers.append('Server-Timing', `app;dur=${elapsed.toFixed(1)}`);
if (process.env.EC_PERF_LOG === 'true' && elapsed > 250 && !input.event.route.id?.startsWith('/api/agent/')) {