Files
rippled/docs
Pratik Mankawde 919908b2b4 Phase 9: Internal Metric Instrumentation Gap Fill (Tasks 9.1-9.10)
Implement ~50 OTel metrics covering NodeStore I/O, cache hit rates,
TxQ state, PerfLog per-RPC/per-job counters, CountedObject instances,
and load factor breakdown via MetricsRegistry.

Core implementation:
- MetricsRegistry class with synchronous instruments (Counter, Histogram)
  for RPC and Job metrics, and ObservableGauge callbacks for cache, TxQ,
  CountedObject, LoadFactor, and NodeStore state polling.
- ServiceRegistry extended with getMetricsRegistry() virtual method.
- Application wires MetricsRegistry lifecycle (create/start/stop).
- PerfLogImp instrumented to emit OTel metrics on RPC and Job events.

Dashboards & observability:
- 3 new Grafana dashboards: RPC Performance, Job Queue, Fee Market/TxQ.
- Extended statsd-node-health dashboard with NodeStore, Cache, and
  CountedObject panels.
- 10 alerting rules added to telemetry-runbook.md.
- Integration test extended with 12 OTel metric validation checks.

Documentation:
- 09-data-collection-reference.md updated with Phase 9 metric tables.
- Unit tests for MetricsRegistry disabled-path (no-op) behavior.

All OTel SDK code guarded with #ifdef XRPL_ENABLE_TELEMETRY.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 15:02:10 +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.