ensindexer-perf-testing

Automate end-to-end performance testing for ENSIndexer with per-handler timing collection.

41|19|Updated Dec 23, 2024
One-click install
npx skills add https://github.com/namehash/ensnode --skill ensindexer-perf-testing
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: ensindexer-perf-testing
Source: https://github.com/namehash/ensnode/tree/main/.agents/skills/ensindexer-perf-testing
Command: npx skills add https://github.com/namehash/ensnode --skill ensindexer-perf-testing

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Automates end-to-end performance testing for the ENSIndexer by orchestrating deterministic baselining and per-handler timing collection.

Core Features & Use Cases

  • Captures wall-clock + per-handler timings for an ENSIndexer run.
  • Orchestrates prerequisite setup (Prometheus/Grafana, ENSRainbow ready, and clean state) to produce apples-to-apples baselines.
  • Supports comparing branches/configs and measuring plugin combinations under controlled conditions for repeatable results.

Quick Start

Launch the perf-testing workflow by following the guided steps to initialize Prometheus/Grafana, ENSRainbow, and the indexer, and capture baseline performance metrics.

Frequently Asked Questions about ensindexer-perf-testing

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

FAQPage Schema
How do I run reproducible performance tests for an ENSIndexer instance?▼

To run reproducible performance tests for an ENSIndexer instance, this Skill automates end-to-end baselining and per-handler timing collection across local Postgres and ENSRainbow environments. It orchestrates prerequisite setup like Prometheus and Grafana to ensure controlled, apples-to-apples comparisons.

What do I need to set up before baseline testing ENSIndexer with Postgres?▼

Before baseline testing ENSIndexer with Postgres, you need a clean working tree, Docker daemon running, and Postgres at postgresql://postgres@localhost:5432/ponder. ENSRainbow must be hydrated and the DISABLE_ENSRAINBOW_HEAL environment variable set for baseline runs.

Can I compare ENSIndexer branches and plugin combinations under controlled conditions?▼

Yes, you can compare ENSIndexer branches, configurations, and plugin combinations under controlled conditions. The workflow orchestrates clean state initialization and deterministic baselining to capture wall-clock and per-handler timings for repeatable results.

How does Grafana and Prometheus integration work with ENSIndexer perf testing?▼

Grafana and Prometheus integration works with ENSIndexer perf testing by orchestrating their initialization as part of the guided setup workflow. This captures baseline performance metrics and wall-clock timings during the indexer run for visual monitoring and analysis.

Why are my ENSIndexer performance baseline comparisons inconsistent?▼

Inconsistent ENSIndexer performance baseline comparisons often occur when prerequisite setup is incomplete. Ensure you have a clean working tree, hydrated ENSRainbow data, and the DISABLE_ENSRAINBOW_HEAL environment variable set to produce deterministic, apples-to-apples results.