For the complete documentation index, see llms.txt. This page is also available as Markdown.

latreport

The latreport command generates latency reports from binary latency files produced by StatsLatencyWriter. It reads the binary data, computes percentile breakdowns per sample bucket, and writes the results to CSV or Excel format.

Usage

rumi tools latreport [options]

Options

Option
Description

-h, --help

Show help message

-f, --inputfile <file>

(Required) Path to the input binary latency file

-o, --outputfile <file>

Output file path (default: same directory and base name as input file)

-t, --title <title>

Report title (default: output file base name)

-w, --warmup <count>

Number of initial data points to skip as warmup

-m, --maxval <value>

Violation threshold value. Data points exceeding this value are counted as violations

-s, --samplesize <size>

Number of data points per sample bucket

-c, --cfg <file>

Path to an XML configuration file for advanced settings

--bucketcnt <count>

Number of frequency map buckets for histogram generation

--stddev

Enable standard deviation calculation

--processors <count>

Number of reader threads for parallel processing

--writepoint <value>

Write point interval for filtering write-induced latency spikes

--prewritewarmup <count>

Number of data points to exclude before each write point

--postwritewarmup <count>

Number of data points to exclude after each write point

--format <csv|xlsx>

Output format (default: csv)

Examples

Basic Report

Generate a CSV report from a latency file:

Output:

The output file is created in the same directory as the input file, with the same base name and a .csv extension.

Custom Output File

Specify an output file path:

The appropriate extension (.csv or .xlsx) is appended automatically.

With Warmup and Sample Size

Skip the first 100,000 data points as warmup and use 10,000-point sample buckets:

Excel Output

Generate an Excel report with charts and histograms:

Write Point Filtering

When the application under test performs periodic writes (e.g., every 1,000,000 messages), the latency around the write point is typically elevated. Use --writepoint, --prewritewarmup, and --postwritewarmup to exclude these data points from the report:

CSV Output Format

The CSV output contains one header row followed by one row per sample bucket. Each row includes:

Column
Description

Title

Sample bucket identifier (start row - end row)

Mean

Average latency for the bucket

StdDev

Standard deviation (if enabled)

50thP

50th percentile (median)

75thP

75th percentile

90thP

90th percentile

99thP

99th percentile

99.9thP

99.9th percentile

99.99thP

99.99th percentile

99.999thP

99.999th percentile

99.9999thP

99.9999th percentile

Max

Maximum value in the bucket

NoViolations

Number of data points exceeding the violation threshold

Excel Output Format

The Excel output (--format xlsx) includes:

  • Latencies sheet - Percentile data (same columns as CSV), run metadata, violation charts, and configurable scatter plots

  • Histogram sheet - Latency frequency distribution with bar charts showing both linear and logarithmic scales

Configuration File

For advanced configuration, use the -c option to specify an XML configuration file. The configuration file controls default values for input processing, output formatting, and graph generation.

Key configuration sections:

Section
Description

Input.Sampling.SampleSize

Default sample bucket size

Input.Sampling.MaxDataPointValue

Default violation threshold

Input.Sampling.WarmupDataPoints

Default warmup count

Input.Reading.BufferSize

File read buffer size

Input.Reading.ReaderThreads

Default thread count for parallel processing

Output.Format

Default output format (csv or xlsx)

Output.Control.Buckets

Default frequency histogram bucket count

Output.Control.IncludeStdDev

Whether to calculate standard deviation by default

Output.Graphing.Graph

Graph definitions for Excel output

Command-line options override configuration file values.

Binary File Formats

The tool automatically detects the latency file format:

  • V1 format - 8 bytes per entry (4-byte index + 4-byte latency value)

  • V2 format - 4 bytes per entry (latency value only, index inferred from position)

See Also

Last updated