Skip to content

Perf: scaffold DB perf test project (manual-first)#17

Open
joeldickson wants to merge 4 commits intomainfrom
feature/db-perf-tests-manual-v1
Open

Perf: scaffold DB perf test project (manual-first)#17
joeldickson wants to merge 4 commits intomainfrom
feature/db-perf-tests-manual-v1

Conversation

@joeldickson
Copy link
Copy Markdown
Contributor

@joeldickson joeldickson commented Mar 23, 2026

Summary

Kick off v1 of DB performance testing scaffold from latest main.

Included in this PR

  • New perf test project: src/Agoda.DevExTelemetry.DbPerfTests
    • PerfWebApplicationFactory for SQLite/PostgreSQL host boot
    • deterministic/randomized seeding (PerfDataSeeder, PerfSeedOptions)
    • warm-up + endpoint timing tests with p50/p95/p99 JSON output
    • PostgreSQL helper with env-based admin connection and testcontainer fallback
  • Documentation: docs/db-perf-tests.md
  • README link to perf test docs

Notes

Follow-up needed (auth scope)

A workflow_dispatch workflow file is prepared locally (.github/workflows/db-perf-manual.yml), but the current token cannot push workflow files (missing workflow scope).

Once a workflow-scoped token is available, I can push that workflow immediately in a follow-up PR (or this one if preferred).

Relates to #16

@github-actions
Copy link
Copy Markdown

DB Perf Report

Run: 23448870821
Baseline: not available yet (first run or no successful main artifact found)

Engine Endpoint Mean ms p95 ms Δ p95 vs main
PostgreSql /api/build-metrics/api-summary?environment=all 33.65 42.81 n/a
PostgreSql /api/build-metrics/clientside-summary?environment=all 28.13 38.24 n/a
PostgreSql /api/build-metrics?page=1&pageSize=50&environment=all 3.49 4.43 n/a
PostgreSql /api/test-runs/summary?environment=all 30.01 56.71 n/a
PostgreSql /api/test-runs?page=1&pageSize=50&environment=all 3.00 3.35 n/a
Sqlite /api/build-metrics/api-summary?environment=all 43.34 52.86 n/a
Sqlite /api/build-metrics/clientside-summary?environment=all 37.52 46.98 n/a
Sqlite /api/build-metrics?page=1&pageSize=50&environment=all 1.85 2.26 n/a
Sqlite /api/test-runs/summary?environment=all 34.62 40.28 n/a
Sqlite /api/test-runs?page=1&pageSize=50&environment=all 1.47 1.70 n/a

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants