Skip to content

results/README.md says env.json holds kernel, Go, CPU and compile flags; it holds run provenance (the file also claims there is no data yet and puts run-N/ beside <arch>/) #76

Description

@FumingPower3925

What happens

results/README.md describes env.json as holding "kernel, Go, CPU, compile flags for that run" (results/README.md:20, main at ae6b949). No committed env.json holds any of those, and the producer cannot write them.

env.json is run provenance, as the root README now says after #75 (README.md:154):

  • version, arch, date, run id;
  • git sha and ref;
  • celeris and loadgen versions;
  • the benchmark config (start and finish times, runs, duration, warmup);
  • the fabric.

The producer is probatorium's report.EnvDoc (probatorium report/split.go:89-102). Its environment object is report.Environment (report/schema.go:421-450): kernel_sysctls_applied, loadgen_host, fabric, fabric_line_rate_bits_per_sec, sut_env. There is no kernel version, Go version, CPU model or compile-flags field anywhere in it. Per-adapter language versions and compile options live in summary.json (benchmarks[].language_version, benchmarks[].compile_options).

The same file has two more statements the tree contradicts. Both would go in the same edit:

  • results/README.md:7-8: "There may be no data here yet — the first results land when the benchmark tier runs on the cluster." The tree holds 9 published cells (v1.5.5 through v1.5.8).
  • results/README.md:21: run-2/ run-3/ ... is drawn at the <yyyymmdd>/ level, beside <arch>/. The reader expects results/<version>/<yyyymmdd>/<arch>/[run-N[-variant]/]{the 4 files}, with run directories under <arch>/ (src/lib/results/walk.ts:7-8, and the multi-run tests in scripts/build-data.test.ts:252-266).

Reproduction

A script run at ae6b949 prints the claim, then the union of every key in every committed env.json:

## results/README.md line 20 (the claim):
        env.json                   # kernel, Go, CPU, compile flags for that run

## union of all keys (recursive) across every committed env.json:
   arch
   benchmark_config
   benchmark_config.celeris_version
   benchmark_config.duration
   benchmark_config.finished_at
   benchmark_config.git_ref
   benchmark_config.loadgen_version
   benchmark_config.runs
   benchmark_config.scenarios_filter
   benchmark_config.started_at
   benchmark_config.warmup
   celeris_version
   date
   environment
   environment.fabric
   environment.fabric_line_rate_bits_per_sec
   environment.kernel_sysctls_applied
   environment.loadgen_host
   generated_at
   git_ref
   git_sha
   loadgen_version
   run_id
   schema_version
   version

## negative search: kernel|go_?version|cpu|compile in any env.json (case-insensitive):
results/v1.5.5/20260624/x86_64/env.json:12:    "kernel_sysctls_applied": [],
... (the same line in all 9 files, and nothing else)
  • The only kernel-related key is kernel_sysctls_applied, and it is empty in all 9 files.
  • The positive control is README.md:154, which already carries the corrected provenance description.
  • A check of the first cell of results/v1.5.8/20260829/x86_64/summary.json confirms that compile_options and language_version are present there.

Impact

Documentation only. No build, validation or published number is affected. Nothing reads results/README.md: the tree walker only descends into vX.Y.Z directories (src/lib/results/walk.ts:20), and no script or page references the file. A reader looking for the kernel or Go version of a published run is sent to a file that does not have them.

Suggested fix direction

Rewrite the layout block in results/README.md to match README.md's "Content structure" section:

  • describe env.json as run provenance;
  • place run-N/ under <arch>/;
  • drop the "There may be no data here yet" paragraph.

Better, replace the layout block with a link to README.md#content-structure, so the layout is described once.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingdocumentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions