test: Add simple baseline instance AI memory test (#28170)

This commit is contained in:
Declan Carroll
2026-04-09 08:47:25 +00:00
committed by GitHub
parent 4ccd72716e
commit 85144aa6bc
2 changed files with 54 additions and 1 deletions
+1 -1
View File
@@ -249,5 +249,5 @@ jobs:
if: always()
uses: ./.github/workflows/util-qa-metrics-comment-reusable.yml
with:
metrics: memory-heap-used-baseline,docker-image-size-n8n,docker-image-size-runners
metrics: memory-heap-used-baseline,memory-rss-baseline,instance-ai-heap-used-baseline,instance-ai-rss-baseline,docker-image-size-n8n,docker-image-size-runners
secrets: inherit
@@ -0,0 +1,53 @@
import { test, expect } from '../../fixtures/base';
import { attachMetric, getStableHeap } from '../../utils/performance-helper';
test.use({
capability: {
resourceQuota: { memory: 0.75, cpu: 0.5 },
services: ['victoriaLogs', 'victoriaMetrics', 'vector'],
env: {
N8N_ENABLED_MODULES: 'instance-ai',
N8N_INSTANCE_AI_MODEL: 'anthropic/claude-sonnet-4-6',
N8N_INSTANCE_AI_MODEL_API_KEY: 'fake-key',
},
},
});
test.describe(
'Instance AI Memory Consumption @capability:observability',
{
annotation: [{ type: 'owner', description: 'Catalysts' }],
},
() => {
test('Idle baseline with Instance AI module loaded', async ({
n8nContainer,
services,
}, testInfo) => {
const obs = services.observability;
const result = await getStableHeap(n8nContainer.baseUrl, obs.metrics);
await attachMetric(testInfo, 'instance-ai-heap-used-baseline', result.heapUsedMB, 'MB');
await attachMetric(testInfo, 'instance-ai-heap-total-baseline', result.heapTotalMB, 'MB');
await attachMetric(testInfo, 'instance-ai-rss-baseline', result.rssMB, 'MB');
await attachMetric(testInfo, 'instance-ai-pss-baseline', result.pssMB ?? 0, 'MB');
await attachMetric(
testInfo,
'instance-ai-non-heap-overhead-baseline',
result.nonHeapOverheadMB,
'MB',
);
expect(result.heapUsedMB).toBeGreaterThan(0);
expect(result.heapTotalMB).toBeGreaterThan(0);
expect(result.rssMB).toBeGreaterThan(0);
console.log(
`[INSTANCE AI IDLE] Heap used: ${result.heapUsedMB.toFixed(1)} MB | ` +
`Heap total: ${result.heapTotalMB.toFixed(1)} MB | ` +
`RSS: ${result.rssMB.toFixed(1)} MB | ` +
`Non-heap overhead: ${result.nonHeapOverheadMB.toFixed(1)} MB`,
);
});
},
);