Skip to content

Feat/capture container info - #50

Merged
jamessewell merged 2 commits into
mainfrom
feat/capture-container-info
May 22, 2026
Merged

Feat/capture container info#50
jamessewell merged 2 commits into
mainfrom
feat/capture-container-info

Conversation

@jamessewell

Copy link
Copy Markdown
Collaborator
Capture dataset.yaml and running k6 script in dashboard JSON

loader pull now writes a small dataset.yaml at the dataset root recording
the s3 source and pull timestamp. Absent file = local-only dataset.

The k6 extension reads dataset.yaml at run time (if present) and auto-detects
the running script's source by scanning os.Args for a .js/.ts/.mjs/.cjs path
that exists on disk. Both are emitted in the dashboard JSON under top-level
dataset_yaml, script, and script_path fields.

Dashboard config modal gets Dataset and Script tabs that render only when
their fields are present. The modal also opens for off-host backends now
(empty container) whenever any global capture exists, so the script is
reachable in those cases too.

Drive-by: fix a JS ReferenceError where updateStats referenced data.backends
but received only runs; pass backends explicitly. Trims the Container tab to
identity (image, image_id, cpu_limit, memory_limit, cap_add, security_opt),
cmd, and env — drops the duplicative/uninteresting mounts, ports, labels,
network_mode, and raw host_config integers.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

jamessewell and others added 2 commits May 22, 2026 16:40
The metrics collector now grabs a curated docker-inspect subset (image,
image_id, cmd, env, host_config, mounts, ports, labels, network_mode) per
container, exposed via GetContainerInfo. The dashboard JSON adds a top-level
backends block keyed by alias that holds config + pre/post + container_info
once per backend instead of duplicating it inside every run.

The dashboard frontend reads the new shape and adds a Container tab to the
config modal alongside Config/Pre/Post.

A BENCHMARKER_META env var (inline JSON or @file.json) stamps arbitrary
metadata verbatim into the JSON's top-level meta field, for downstream
publishing tools to attach commit/version/machine/links without the runner
knowing about them.

Per-dataset docker-compose.yml is now the recommended pattern: datasets/sample
gets its own compose with just the services its scripts use. The repo-root
compose stays as a kitchen-sink template for authoring new datasets.

An explicit container: "" in the JS backend config opts a backend out of
docker capture, for off-host services (RDS, managed Elasticsearch).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
loader pull now writes a small dataset.yaml at the dataset root recording
the s3 source and pull timestamp. Absent file = local-only dataset.

The k6 extension reads dataset.yaml at run time (if present) and auto-detects
the running script's source by scanning os.Args for a .js/.ts/.mjs/.cjs path
that exists on disk. Both are emitted in the dashboard JSON under top-level
dataset_yaml, script, and script_path fields.

Dashboard config modal gets Dataset and Script tabs that render only when
their fields are present. The modal also opens for off-host backends now
(empty container) whenever any global capture exists, so the script is
reachable in those cases too.

Drive-by: fix a JS ReferenceError where updateStats referenced data.backends
but received only runs; pass backends explicitly. Trims the Container tab to
identity (image, image_id, cpu_limit, memory_limit, cap_add, security_opt),
cmd, and env — drops the duplicative/uninteresting mounts, ports, labels,
network_mode, and raw host_config integers.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@jamessewell
jamessewell merged commit ab64f70 into main May 22, 2026
6 of 10 checks passed
@jamessewell
jamessewell deleted the feat/capture-container-info branch May 22, 2026 09:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant