benchmark-report

Generate markdown benchmark reports from stress test JSON result files.

892|225|Updated May 29, 2025
One-click install
npx skills add https://github.com/agentic-community/mcp-gateway-registry --skill benchmark-report
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: benchmark-report
Source: https://github.com/agentic-community/mcp-gateway-registry/tree/main/.claude/skills/benchmark-report
Command: npx skills add https://github.com/agentic-community/mcp-gateway-registry --skill benchmark-report

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Running stress tests against the MCP Gateway Registry produces raw JSON result files that are hard to interpret and share. This Skill converts registration, API performance, and search concurrency results into a structured markdown report suitable for committing to docs/benchmarks/.

Core Features & Use Cases

  • Automated Report Generation: Reads registration.json, api_perf.json, and search_concurrency.json and produces a formatted markdown report with latency percentiles, throughput, and scaling analysis.
  • Deployment Context Capture: Embeds the registry_info snapshot (compute platform, storage backend, auth, embeddings, corpus size) so results are reproducible and comparable.
  • Scaling Analysis: Computes p99 degradation ratios across concurrency levels and interprets whether the search backend scales acceptably under load.
  • Use Case: After running the stress test suite against a DocumentDB-backed deployment with 100 entities per type, invoke this Skill to produce a dated benchmark report file ready for the docs/benchmarks/ directory.

Quick Start

Ask the assistant to generate a benchmark report from the stress test results in tests/stress/results/documentdb/size-100 and write it to docs/benchmarks/.

Frequently Asked Questions about benchmark-report

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate a benchmark report from stress test results?

Run the generate_benchmark_report.py script with --results-dir pointing to the directory containing registration.json, api_perf.json, and search_concurrency.json, and --output for the report path. The script extracts metrics and writes a structured markdown report.

What input files does the benchmark report generator need?

It expects three JSON files in the results directory: registration.json for bulk registration throughput, api_perf.json for serial API latency, and search_concurrency.json for concurrent search scaling. Missing files produce placeholder sections noting the absence.

What metrics are included in the benchmark report?

The report includes deployment configuration from registry_info, registration success rates and p50/p95/p99 latency per entity type, list endpoint and semantic search latency at k=5/10/50, and concurrency scaling with throughput and degradation ratio analysis.

What happens if one of the stress test JSON files is missing?

The script logs a warning and inserts a placeholder section stating the file was not found, then continues generating the rest of the report from available data. The report is still written to the output path.

How is the default benchmark report filename determined?

When using the default output path, the script builds a descriptive filename from the current date, compute platform, storage backend, and detected instance count, such as benchmark-2024-01-15-ecs-documentdb-2x.md.