Files
rippled/docs
Pratik Mankawde 4db67bc191 Phase 10: Synthetic workload generation and telemetry validation tools
Add comprehensive workload harness for end-to-end validation of the
Phases 1-9 telemetry stack:

Task 10.1 — Multi-node test harness:
  - docker-compose.workload.yaml with full OTel stack (Collector, Jaeger,
    Tempo, Prometheus, Loki, Grafana)
  - generate-validator-keys.sh for automated key generation
  - xrpld-validator.cfg.template for node configuration

Task 10.2 — RPC load generator:
  - rpc_load_generator.py with WebSocket client, configurable rates,
    realistic command distribution (40% health, 30% wallet, 15% explorer,
    10% tx lookups, 5% DEX), W3C traceparent injection

Task 10.3 — Transaction submitter:
  - tx_submitter.py with 10 transaction types (Payment, OfferCreate,
    OfferCancel, TrustSet, NFTokenMint, NFTokenCreateOffer, EscrowCreate,
    EscrowFinish, AMMCreate, AMMDeposit), auto-funded test accounts

Task 10.4 — Telemetry validation suite:
  - validate_telemetry.py checking spans (Jaeger), metrics (Prometheus),
    log-trace correlation (Loki), dashboards (Grafana)
  - expected_spans.json (17 span types, 22 attributes, 3 hierarchies)
  - expected_metrics.json (SpanMetrics, StatsD, Phase 9, dashboards)

Task 10.5 — Performance benchmark suite:
  - benchmark.sh for baseline vs telemetry comparison
  - collect_system_metrics.sh for CPU/memory/latency sampling
  - Thresholds: <3% CPU, <5MB memory, <2ms RPC p99, <5% TPS, <1% consensus

Task 10.6 — CI integration:
  - telemetry-validation.yml GitHub Actions workflow
  - run-full-validation.sh orchestrator script
  - Manual trigger + telemetry branch auto-trigger

Task 10.7 — Documentation:
  - workload/README.md with quick start and tool reference
  - Updated telemetry-runbook.md with validation and benchmark sections
  - Updated 09-data-collection-reference.md with validation inventory

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 22:12:57 +00:00
..
2020-03-30 18:57:35 -04:00
2023-03-02 10:07:09 -08:00

Building documentation

Dependencies

Install these dependencies:

  • Doxygen: All major platforms have official binary distributions, or you can build from source.

    • MacOS: We recommend installing via Homebrew: brew install doxygen. The executable will be installed in /usr/local/bin which is already in the default PATH.

      If you use the official binary distribution, then you'll need to make Doxygen available to your command line. You can do this by adding a symbolic link from /usr/local/bin to the doxygen executable. For example,

      $ ln -s /Applications/Doxygen.app/Contents/Resources/doxygen /usr/local/bin/doxygen
      
  • PlantUML:

    1. Install a functioning Java runtime, if you don't already have one.
    2. Download plantuml.jar.
  • Graphviz:

    • Linux: Install from your package manager.
    • Windows: Use an official installer.
    • MacOS: Install via Homebrew: brew install graphviz.

Docker

Instead of installing the above dependencies locally, you can use the official build environment Docker image, which has all of them installed already.

  1. Install Docker
  2. Pull the image:
sudo docker pull rippleci/rippled-ci-builder:2944b78d22db
  1. Run the image from the project folder:
sudo docker run -v $PWD:/opt/rippled --rm rippleci/rippled-ci-builder:2944b78d22db

Build

There is a docs target in the CMake configuration.

mkdir build
cd build
cmake -Donly_docs=ON ..
cmake --build . --target docs --parallel

The output will be in build/docs/html.