diff --git a/.agents/benchmarks/restructure-attestation/README.md b/.agents/benchmarks/restructure-attestation/README.md
new file mode 100644
index 00000000..8e85351f
--- /dev/null
+++ b/.agents/benchmarks/restructure-attestation/README.md
@@ -0,0 +1,137 @@
+# Final Mission Attestation — VFS Right-Thing Restructure
+
+Machine-readable definition-of-done record tying the full honest gate and the
+codex benchmark contract to the exact commit (VAL-GATE-012, VAL-CROSS-012).
+
+## Attested commit
+
+- Commit: `230c30a6f2e7184b0578eb2dec087b79c0f78078` (`dev`)
+- Binary: `target/release/agentfs` built from that commit by `scripts/gate.sh`
+ (release workspace build; `rust-toolchain.toml` nightly)
+- Runner: `Linux 7.1.2-3-cachyos x86_64 GNU/Linux`; toolchain
+ `cargo 1.97.0-nightly (4f9b52075 2026-05-01)`
+- Attestation artifacts: `full-gate.json` (gate + shell suite + phase8 + canon +
+ pjdfstest + cross-surface flows), `medians.json` (benchmark contract),
+ `bench-milestones.json` (per-milestone BENCH record, VAL-GATE-015)
+
+## Full gate (all green)
+
+`scripts/gate.sh` at the attested commit: fmt, clippy `--workspace
+--all-targets -D warnings`, `cargo test --workspace`, release build, strict
+shell suite (`AGENTFS_GATE_STRICT=1 crates/agentfs-cli/tests/all.sh`, both
+corruption-torture transport legs), `phase8-validation.py --smoke` (noopen /
+flush / external-base-drift coherence harnesses run inside it), and
+`scripts/validation/consistency-canon.sh`. Result: exit 0 —
+`PASS=24 SKIP=0 FAIL=0`, phase8 `failed_gates: []`, canon all rules PASS.
+Full detail: `full-gate.json`.
+
+pjdfstest: `scripts/validation/posix/run-pjdfstest.sh --profile phase5-ci
+--agentfs-bin target/release/agentfs` — PASS (311 tests, run standalone at the
+attested commit).
+
+## Benchmark contract
+
+Exact invocation (library/perf-contract.md, services.yaml `bench-multi`):
+
+```bash
+python3 scripts/validation/git-workload-benchmark-multi.py \
+ --label m7-opt-sandbox-bringup-repeat --iterations 5 --warmup 1 \
+ --agentfs-bin "$PWD/target/release/agentfs" \
+ --output --keep-iterations \
+ --source .agents/benchmarks/fixtures/codex \
+ --read-files 64 --read-bytes 4096 --edit-files 8
+```
+
+Baseline: the ACTIVE post-M3 baseline
+`.agents/benchmarks/restructure-baseline/medians.json` (recorded at
+`2b811f0`, orchestrator-signed rebaseline; the archived M1 artifact is
+`medians-m1.json`). Gate rule: a phase is red iff its median regresses >5%
+relative AND >10ms absolute.
+
+Result (median-of-5 per phase, all 7 phases in band, `all_phases_passed: true`
+in `medians.json`):
+
+| phase | baseline (ms) | current (ms) | delta | verdict |
+| --- | ---: | ---: | ---: | --- |
+| checkout | 56.7 | 56.9 | +0.4% | OK |
+| clone | 2800.9 | 2882.8 | +2.9% | OK |
+| diff | 65.6 | 25.9 | -60.6% | OK |
+| edit | 5.0 | 4.9 | -1.6% | OK |
+| fsck | 215.0 | 177.9 | -17.2% | OK |
+| read_search | 8.8 | 8.0 | -8.6% | OK |
+| status | 178.0 | 145.8 | -18.1% | OK |
+
+Provenance: the official quiet-window candidate/sentinel pair plus the
+mandated brittle-phase repeat was recorded at `dae8aa6` (feature
+m7-opt-sandbox-bringup; the same-window sentinel of the baseline binary was
+green, and the first candidate run's clone red evaporated on the repeat per
+the perf-contract brittle-phase rule). The pair is cited at the attested
+commit per the orchestrator round-3 ruling: the only commit after `dae8aa6`
+(`230c30a`, darwin seatbelt read scoping) changes `cfg(target_os = "macos")`
+code, docs, and clap help text only — Linux binary perf semantics are
+unchanged. Raw run JSONs (`bench-cand.json`, `bench-cand-repeat.json`,
+`bench-sent.json`, with per-iteration walls) live in the mission evidence dir
+`evidence/m7-cli-docs/m7-opt-sandbox-bringup/`.
+
+The earlier attestation-round checkout reds (rounds 1-2, bisected to
+`ea416c8`) were closed with zero code change: the tax was the user's PATH
+git-ai shim taking a slow path inside the run-sandbox namespace, removed by
+`dae8aa6`'s universal /usr/bin/git pinning. Full history:
+`bench-milestones.json` M7 rows and library/perf-contract.md "M7 checkout red
+— CLOSED".
+
+## Per-milestone BENCH record (VAL-GATE-015)
+
+Every BENCH-flagged milestone held the band; the stored-artifact reds that
+occurred along the way (M2 fsck, M3 clone/fsck, M4a checkout/clone, M7
+checkout) were each adjudicated per the procedure in
+library/perf-contract.md — the M2-M4a set as ambient drift via same-window
+sentinel reruns of the baseline code (leading to the orchestrator-signed
+post-M3 rebaseline), and the M7 checkout red as the unpinned git-ai shim,
+closed by harness/sandbox git pinning with an all-green pair at `dae8aa6`.
+Full per-milestone table with sources: `bench-milestones.json`.
+
+## Cross-surface flows
+
+All flows executed end-to-end at the attested commit against the release
+binary (30/30 checks OK; transcript `cross-surface5.log` in the mission
+evidence dir, summary in `full-gate.json.cross_surface_flows`):
+
+- clone -> mount -> git workflow -> unmount -> remount persistence
+ (VAL-CROSS-001/002): clean clone status, `cross-persist` commit and hash
+ stable across remount.
+- moved single DB file reopens (VAL-CROSS-003): exactly one file in the DB
+ family, `mv` + `integrity --json` + remount all green.
+- sandboxed run leaves the host untouched (VAL-CROSS-004): before/after host
+ census identical outside `.agentfs/run/cross-host`.
+- run writes visible via `agentfs fs` (VAL-CROSS-005) and the session recorded
+ in `agentfs timeline` (VAL-CROSS-006).
+- mounted-FS and fs-CLI writes mutually visible byte-exact (VAL-CROSS-013).
+- combined kill-switch leg noopen=0 noflush=0 uring=0 (VAL-CROSS-011):
+ create/append/fsync/unlink-while-open/git all green, remount verified,
+ integrity clean.
+
+## File-size cap census (VAL-CONS-006)
+
+Binding rule (architecture.md section 7): no production file over 2,500 lines
+of NON-TEST CODE; sibling `tests.rs` files are excluded. The gate-enforced
+census (`consistency-canon.sh` line-count-cap, cfg(test)-aware, comment/blank
+stripping) reports zero offenders at the attested commit. For the audit trail,
+the three files whose RAW line counts exceed 2,500 are all under the cap by
+the binding rule:
+
+| file | raw lines | non-test code lines |
+| --- | ---: | ---: |
+| crates/agentfs-fuse/src/adapter/mod.rs | 3073 | 2213 |
+| crates/agentfs-nfs/src/server/nfs_handlers.rs | 3827 | 2354 |
+| crates/agentfs-cli/src/cmd/migrate.rs | 2546 | 1144 |
+
+## Notes
+
+- `.agents/benchmarks/restructure-baseline/attestation` is a symlink to this
+ directory for the mission feature's expected path.
+- Benchmark runs were serialized on this machine per the perf contract; load
+ at each accepted run start is recorded in the run logs.
+- All gate/flow harnesses pin `/usr/bin/git` with a hookless temp-HOME git
+ config (AGENTS.md universal-pinning rule); the post-run daemon census was
+ clean.
diff --git a/.agents/benchmarks/restructure-attestation/bench-milestones.json b/.agents/benchmarks/restructure-attestation/bench-milestones.json
new file mode 100644
index 00000000..1ec3801c
--- /dev/null
+++ b/.agents/benchmarks/restructure-attestation/bench-milestones.json
@@ -0,0 +1,150 @@
+{
+ "record": "Per-milestone BENCH compliance (VAL-GATE-015)",
+ "contract": "library/perf-contract.md: median-of-5 per phase via git-workload-benchmark-multi.py; red iff >5% relative AND >10ms absolute vs the active baseline; single runs never gate; serialized on a quiet machine.",
+ "baselines": {
+ "m1": {
+ "artifact": ".agents/benchmarks/restructure-baseline/medians-m1.json",
+ "recorded_at_commit": "ae1e13f (benchmarked), 809d684 (artifact commit)",
+ "status": "archived; superseded by the post-M3 rebaseline after three independent drift adjudications proved it brittle on this machine for diff/fsck/clone/checkout"
+ },
+ "active_post_m3": {
+ "artifact": ".agents/benchmarks/restructure-baseline/medians.json",
+ "recorded_at_commit": "2b811f03493e861e5a7786592d25ac73b39e1aba",
+ "recorded_at": "2026-07-04T01:14:37Z",
+ "authorized_by": "orchestrator sign-off for misc-a-bench-rebaseline",
+ "provenance": ".agents/benchmarks/restructure-baseline/provenance-post-m3.md"
+ }
+ },
+ "milestones": [
+ {
+ "milestone": "M2 (dead-surface)",
+ "runs": [
+ {
+ "source": "m2-perf-triage-bench-red (HEAD 4e37c41, 2026-07-03)",
+ "verdict": "in band after adjudication",
+ "detail": "Stored-M1 compare red on fsck (+20.6ms/+11.0%; repeat +23.7ms/+12.7%). Rebuilt baseline code ae1e13f was red against its OWN stored artifact under identical conditions (diff +37.5%, fsck +11.5%), proving ambient drift, not a HEAD regression. Adjudication accepted by M2 scrutiny (PASS) and recorded in library/perf-contract.md."
+ }
+ ]
+ },
+ {
+ "milestone": "M3 (config/telemetry)",
+ "runs": [
+ {
+ "source": "m3-telemetry-registry feature BENCH",
+ "verdict": "in band (0 red phases)",
+ "detail": "checkout -18.0%, clone -9.7%, diff -53.7%, edit -3.9%, fsck -0.9%, read_search +1.9%, status -7.6%."
+ },
+ {
+ "source": "M3 user-testing VAL-CONF-013 (HEAD bc1753f)",
+ "verdict": "in band after adjudication",
+ "detail": "Moving red set across two stored-artifact runs (run1 clone +5.1%/fsck +8.3%; run2 diff/fsck/status); rebuilt ae1e13f sentinel red against its own artifact (clone +7.9%/+241ms, fsck +8.3%); direct HEAD-vs-sentinel showed HEAD equal or faster on the stored-red phases. Adjudicated noise; led to the orchestrator-signed post-M3 rebaseline (misc-a)."
+ },
+ {
+ "source": "misc-a-bench-rebaseline (post-M3 2b811f0)",
+ "verdict": "baseline re-recorded",
+ "detail": "Accepted run pair agreed 0-red in both directions; current-HEAD confirmation vs the new baseline: 0 red phases."
+ }
+ ]
+ },
+ {
+ "milestone": "M4a (core hot path)",
+ "runs": [
+ {
+ "source": "m4a-store-extraction feature BENCH",
+ "verdict": "in band (0 red phases)",
+ "detail": "checkout -14.2%, clone +2.2%, diff -41.5%, edit +1.0%, fsck +4.7%, read_search -9.5%, status -15.9%."
+ },
+ {
+ "source": "m4a-batcher-split feature BENCH (HEAD a687a84)",
+ "verdict": "in band after adjudication",
+ "detail": "Stored compare red on checkout/clone; rebuilt 2b811f0 sentinel equally red vs the same stored artifact under the same load; direct candidate-vs-sentinel: checkout +3.9ms, clone +3.9%, edit -0.8ms. Adjudicated ambient drift per perf-contract."
+ },
+ {
+ "source": "M4a user-testing VAL-CORE-008 (HEAD 9454886, load ~3.9)",
+ "verdict": "in band (0 red phases)",
+ "detail": "bench-compare exit 0; edit 5.2ms vs 5.0ms baseline (+3.8%, +0.2ms)."
+ }
+ ]
+ },
+ {
+ "milestone": "M4b (schema/overlay)",
+ "runs": [
+ {
+ "source": "m4b-overlay-directoryize feature BENCH",
+ "verdict": "in band (0 red phases)",
+ "detail": "bench-compare exit 0, 7 within band."
+ },
+ {
+ "source": "m4b-overlay-partial-store feature BENCH",
+ "verdict": "in band (0 red phases)",
+ "detail": "checkout +9.4ms stayed below the >10ms absolute red threshold; all other phases faster than baseline."
+ },
+ {
+ "source": "m4b-agentfs-directoryize feature BENCH",
+ "verdict": "in band (0 red phases)",
+ "detail": "clone -641.5ms / -22.9%; all other phases OK."
+ },
+ {
+ "source": "M4b user-testing VAL-CORE-018 (HEAD a62b0a1, load ~1.9-2.5)",
+ "verdict": "in band (0 red phases)",
+ "detail": "clone 2800.9ms -> 2741.3ms (-2.1%); diff +6.8ms and read_search +1.6ms sub-10ms absolute."
+ }
+ ]
+ },
+ {
+ "milestone": "M5 (crate split)",
+ "runs": [
+ {
+ "source": "m5-fuse-crate feature BENCH",
+ "verdict": "in band (0 red phases)",
+ "detail": "checkout 49.0ms, clone 2037.0ms, diff 31.1ms, edit 4.4ms, fsck 157.6ms, read_search 7.2ms, status 142.2ms."
+ },
+ {
+ "source": "m5-mount-crate feature BENCH",
+ "verdict": "in band (0 red phases)",
+ "detail": "checkout 43.1ms, clone 1872.2ms, diff 42.4ms, edit 3.7ms, fsck 180.3ms, read_search 7.7ms, status 121.1ms."
+ },
+ {
+ "source": "m5-fix-base-drift-coherence feature BENCH",
+ "verdict": "in band (0 red phases)",
+ "detail": "All candidate medians faster than the active baseline (checkout 50.1ms, clone 1879.4ms, diff 33.2ms, edit 3.0ms, fsck 169.8ms, read_search 6.5ms, status 118.5ms)."
+ }
+ ]
+ },
+ {
+ "milestone": "M6 (semantics)",
+ "runs": [
+ {
+ "source": "m6-fix-readdir-scaling feature BENCH",
+ "verdict": "in band (0 red phases)",
+ "detail": "checkout 54.6ms, clone 2605.7ms, diff 33.1ms, edit 4.5ms, fsck 206.4ms, read_search 8.1ms, status 172.3ms; bench-compare 0 red, 7 within band."
+ }
+ ]
+ },
+ {
+ "milestone": "M7 (cli/docs + attestation)",
+ "runs": [
+ {
+ "source": "m7-attestation round 1 (HEAD ff91302, quiet load 1.4-2.1)",
+ "verdict": "red (checkout) — superseded by the round-3 closure",
+ "detail": "Stored compare red on checkout only (56.7 -> 133.5ms, +135%); same-window sentinel did NOT clear it (sentinel 70.3ms vs HEAD 133.5ms), so it could not be adjudicated as noise; all other phases in band or faster. Deferred to a wall-time bisect."
+ },
+ {
+ "source": "m7-attestation round 2 wall-time bisect (HEAD 5535368, quiet load 2.0-3.5)",
+ "verdict": "red reproduced; bisected to ea416c8 — superseded by the round-3 closure",
+ "detail": "Checkout red reproduced (104.5ms vs same-window sentinel 77.2ms). Median-of-5 wall bisect c1937a3..3669c7b in a detached worktree, alternating probe order: first bad commit ea416c8 (scope run reads; fork before tokio). Checkout-phase FUSE profile counters identical parent-vs-culprit, locating the tax in the run-sandbox environment, not the FUSE hot path. Round 2 also established the brittle-phase repeat rule after a first-run diff red (+45%) evaporated on repeat."
+ },
+ {
+ "source": "m7-opt-sandbox-bringup closure (HEAD dae8aa6, quiet load 3.4-4.2)",
+ "verdict": "in band (0 red phases) — checkout red CLOSED with zero code change",
+ "detail": "Root cause: the bisect-era workload ran PATH git = the ~/.git-ai/bin/git shim inside the sandbox namespace; ea416c8's namespace pushed the shim's daemon/state logic onto a slow path per git call. dae8aa6 pins /usr/bin/git through the sandbox and harnesses, removing the tax from both legs. Official candidate/sentinel pair plus mandated brittle-phase repeat vs the stored post-M3 baseline: repeat 0 red, all 7 phases in band (checkout 56.7 -> 56.9ms +0.4%, clone +2.9%; the first candidate run's clone +24.3% red evaporated on the repeat). Same-window sentinel green; candidate checkout beat the sentinel by 17%. Exact-bench-shape zone attribution showed no measurable sandbox cost on any variant. Evidence: evidence/m7-cli-docs/m7-opt-sandbox-bringup/, library/perf-contract.md CLOSED entry."
+ },
+ {
+ "source": "m7-attestation final (attested HEAD 230c30a)",
+ "verdict": "in band (0 red phases, cited pair)",
+ "detail": "medians.json records the dae8aa6 official repeat pair vs the active post-M3 baseline: all 7 phases passed (checkout +0.4%, clone +2.9%, every other phase faster than baseline). Cited at 230c30a per the orchestrator round-3 ruling: the only commit after dae8aa6 changes cfg(target_os=macos) code, docs, and clap help text only — Linux binary perf semantics unchanged."
+ }
+ ]
+ }
+ ]
+}
diff --git a/.agents/benchmarks/restructure-attestation/full-gate.json b/.agents/benchmarks/restructure-attestation/full-gate.json
new file mode 100644
index 00000000..233c0a5f
--- /dev/null
+++ b/.agents/benchmarks/restructure-attestation/full-gate.json
@@ -0,0 +1,131 @@
+{
+ "attestation": "VFS right-thing restructure final gate (VAL-GATE-012, VAL-CROSS-012)",
+ "commit": "230c30a6f2e7184b0578eb2dec087b79c0f78078",
+ "generated_at": "2026-07-06T03:06:36+00:00",
+ "runner": {
+ "kernel": "Linux 7.1.2-3-cachyos x86_64 GNU/Linux",
+ "toolchain": "cargo 1.97.0-nightly (4f9b52075 2026-05-01)"
+ },
+ "gate": {
+ "entrypoint": "scripts/gate.sh",
+ "started_at": "2026-07-06T02:57:30Z",
+ "ended_at": "2026-07-06T03:01:09Z",
+ "exit_code": 0,
+ "stages": [
+ {
+ "stage": "cargo fmt --all -- --check",
+ "ran": true
+ },
+ {
+ "stage": "cargo clippy --workspace --all-targets -- -D warnings",
+ "ran": true
+ },
+ {
+ "stage": "cargo test --workspace",
+ "ran": true
+ },
+ {
+ "stage": "cargo build --release --workspace --bins",
+ "ran": true
+ },
+ {
+ "stage": "crates/agentfs-cli/tests/all.sh (strict)",
+ "ran": true
+ },
+ {
+ "stage": "phase8-validation.py --smoke",
+ "ran": true
+ },
+ {
+ "stage": "consistency-canon.sh",
+ "ran": true
+ }
+ ],
+ "cargo_test_suite_passed_counts": [
+ 96,
+ 1,
+ 1,
+ 236,
+ 1,
+ 1,
+ 1,
+ 75,
+ 3,
+ 31,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0
+ ],
+ "shell_suite": {
+ "strict": true,
+ "summary": "PASS=24 SKIP=0 FAIL=0",
+ "results": {
+ "init": "PASS",
+ "cli-smoke": "PASS",
+ "linux-syscalls": "PASS",
+ "run-syscalls": "PASS",
+ "run-bash": "PASS",
+ "run-git": "PASS",
+ "run-read-scoping": "PASS",
+ "profile-error-summary": "PASS",
+ "ephemeral-sidecar-cleanup": "PASS",
+ "teardown-bounded": "PASS",
+ "fuse-sigint-panic-census": "PASS",
+ "sigkill-recovery": "PASS",
+ "signal-teardown": "PASS",
+ "corruption-torture-legacy": "PASS",
+ "corruption-torture-uring": "PASS",
+ "mount": "PASS",
+ "second-opener": "PASS",
+ "migrate-consolidation": "PASS",
+ "mcp-server": "PASS",
+ "overlay-whiteout": "PASS",
+ "overlay-delta-in-base-dir": "PASS",
+ "overlay-base-dir-rename-exdev": "PASS",
+ "fuse-cache-invalidation": "PASS",
+ "symlinks": "PASS"
+ }
+ },
+ "phase8": {
+ "failed_gates": [],
+ "gates": {
+ "base_read_repeated_read_threshold": "passed",
+ "external_base_mutation_coherence": "passed",
+ "flush_coherence": "passed",
+ "fuse_serialization_parallelism": "passed",
+ "git_ai_process_census": "passed",
+ "git_workload_phase8_thresholds": "passed",
+ "noopen_coherence": "passed",
+ "phase7_validation_smoke": "passed",
+ "phase8_concurrent_git_stress": "passed",
+ "phase8_writeback_durability": "passed",
+ "phase8_writeback_no_fsync_crash": "passed"
+ }
+ },
+ "consistency_canon": "PASS"
+ },
+ "pjdfstest_phase5_ci": {
+ "command": "scripts/validation/posix/run-pjdfstest.sh --profile phase5-ci --agentfs-bin target/release/agentfs",
+ "result": "PASS",
+ "tests": "311",
+ "note": "run standalone at the attested HEAD"
+ },
+ "cross_surface_flows": {
+ "result": "PASS",
+ "checks_ok": 30,
+ "checks_fail": 0,
+ "assertions": [
+ "VAL-CROSS-001",
+ "VAL-CROSS-002",
+ "VAL-CROSS-003",
+ "VAL-CROSS-004",
+ "VAL-CROSS-005",
+ "VAL-CROSS-006",
+ "VAL-CROSS-011",
+ "VAL-CROSS-013"
+ ]
+ },
+ "failed_gates": []
+}
diff --git a/.agents/benchmarks/restructure-attestation/medians.json b/.agents/benchmarks/restructure-attestation/medians.json
new file mode 100644
index 00000000..458c2282
--- /dev/null
+++ b/.agents/benchmarks/restructure-attestation/medians.json
@@ -0,0 +1,77 @@
+{
+ "contract": "library/perf-contract.md: median-of-5 per phase; red iff >5% relative AND >10ms absolute vs the active baseline",
+ "baseline_artifact": ".agents/benchmarks/restructure-baseline/medians.json",
+ "baseline_commit": "2b811f03493e861e5a7786592d25ac73b39e1aba (post-M3 rebaseline, orchestrator-signed; archived M1 artifact: medians-m1.json)",
+ "candidate_label": "m7-opt-sandbox-bringup-repeat",
+ "candidate_commit": "dae8aa61ac648125d6f0ff3172c16764581eea84",
+ "attested_commit": "230c30a6f2e7184b0578eb2dec087b79c0f78078",
+ "citation_note": "Official quiet-window candidate/sentinel pair plus mandated brittle-phase repeat recorded at dae8aa6 (m7-opt-sandbox-bringup; same-window sentinel green, first-run clone red evaporated on the repeat per the round-2 brittle-phase rule). Cited at the attested HEAD per the orchestrator round-3 ruling: the only later commit (230c30a, darwin seatbelt read scoping) changes cfg(target_os=macos) code, docs, and clap help text only - Linux binary perf semantics are unchanged.",
+ "iterations": 5,
+ "invocation": "python3 scripts/validation/git-workload-benchmark-multi.py --label m7-opt-sandbox-bringup-repeat --iterations 5 --warmup 1 --agentfs-bin $PWD/target/release/agentfs --output --keep-iterations --source .agents/benchmarks/fixtures/codex --read-files 64 --read-bytes 4096 --edit-files 8",
+ "phases": {
+ "checkout": {
+ "baseline_median_ms": 56.684,
+ "baseline_median": 56.684,
+ "current_median_ms": 56.912,
+ "current_median": 56.912,
+ "delta_ms": 0.228,
+ "regression_percent": 0.4,
+ "passed": true
+ },
+ "clone": {
+ "baseline_median_ms": 2800.892,
+ "baseline_median": 2800.892,
+ "current_median_ms": 2882.772,
+ "current_median": 2882.772,
+ "delta_ms": 81.88,
+ "regression_percent": 2.92,
+ "passed": true
+ },
+ "diff": {
+ "baseline_median_ms": 65.644,
+ "baseline_median": 65.644,
+ "current_median_ms": 25.852,
+ "current_median": 25.852,
+ "delta_ms": -39.791,
+ "regression_percent": -60.62,
+ "passed": true
+ },
+ "edit": {
+ "baseline_median_ms": 4.994,
+ "baseline_median": 4.994,
+ "current_median_ms": 4.912,
+ "current_median": 4.912,
+ "delta_ms": -0.081,
+ "regression_percent": -1.63,
+ "passed": true
+ },
+ "fsck": {
+ "baseline_median_ms": 214.968,
+ "baseline_median": 214.968,
+ "current_median_ms": 177.918,
+ "current_median": 177.918,
+ "delta_ms": -37.05,
+ "regression_percent": -17.24,
+ "passed": true
+ },
+ "read_search": {
+ "baseline_median_ms": 8.786,
+ "baseline_median": 8.786,
+ "current_median_ms": 8.03,
+ "current_median": 8.03,
+ "delta_ms": -0.756,
+ "regression_percent": -8.6,
+ "passed": true
+ },
+ "status": {
+ "baseline_median_ms": 177.976,
+ "baseline_median": 177.976,
+ "current_median_ms": 145.761,
+ "current_median": 145.761,
+ "delta_ms": -32.214,
+ "regression_percent": -18.1,
+ "passed": true
+ }
+ },
+ "all_phases_passed": true
+}
diff --git a/.agents/benchmarks/restructure-baseline/README.md b/.agents/benchmarks/restructure-baseline/README.md
new file mode 100644
index 00000000..5087b7b3
--- /dev/null
+++ b/.agents/benchmarks/restructure-baseline/README.md
@@ -0,0 +1,68 @@
+# Restructure Benchmark Baseline
+
+Authoritative performance baseline for the VFS restructure mission. Future
+BENCH features compare their median-of-5 codex workload results against the
+active `medians.json` artifact with the mission performance contract's
+per-phase regression band.
+
+## Active baseline: post-M3
+
+`medians.json` now contains the orchestrator-approved post-M3 rebaseline. Full
+provenance, load checks, agreement checks, and recorded medians are in
+`provenance-post-m3.md`.
+
+| Field | Value |
+| --- | --- |
+| Repository | `/home/ain3sh/factory/vfs` |
+| Branch | `dev` |
+| Commit | `2b811f03493e861e5a7786592d25ac73b39e1aba` |
+| Produced at | `2026-07-04T01:14:37Z` |
+| Fixture | `.agents/benchmarks/fixtures/codex` |
+| AgentFS binary | `/home/ain3sh/factory/vfs/target/release/agentfs` |
+| Build command | `cargo +nightly build --release --workspace --bins` |
+
+## Benchmark invocation
+
+The post-M3 active baseline was produced by the standard median-of-5 contract:
+
+```bash
+cd /home/ain3sh/factory/vfs
+python3 scripts/validation/git-workload-benchmark-multi.py \
+ --label misc-a-rebaseline-run3 \
+ --iterations 5 \
+ --warmup 1 \
+ --agentfs-bin "$PWD/target/release/agentfs" \
+ --output /tmp/vfs-val/misc-a-bench-rebaseline/run3.json \
+ --keep-iterations \
+ --source .agents/benchmarks/fixtures/codex \
+ --read-files 64 \
+ --read-bytes 4096 \
+ --edit-files 8
+```
+
+After the confirmation checks documented in `provenance-post-m3.md`, that run
+was copied into `.agents/benchmarks/restructure-baseline/medians.json`.
+
+## Artifact layout
+
+- `medians.json`: active post-M3 machine-readable aggregate used by
+ `scripts/validation/bench-compare.py`.
+- `provenance-post-m3.md`: authoritative provenance for the active baseline.
+- `medians-post-m3.json.iterations/`: raw warmup and measured iteration JSON
+ files for the active `medians.json`. The directory name is historical: it
+ disambiguates the post-M3 raw iterations from the archived M1 raw iterations,
+ and there is intentionally no sibling `medians-post-m3.json` file.
+- `bin/agentfs`: prebuilt baseline-code sentinel binary from commit
+ `2b811f03493e861e5a7786592d25ac73b39e1aba`, used when ambient drift requires
+ a direct candidate-vs-baseline rerun.
+- `bin/agentfs.sha256`: SHA-256 checksum for the cached sentinel binary.
+- `medians-m1.json`: archived M1 aggregate retained for auditability.
+- `medians.json.iterations/`: archived M1 warmup and measured iteration JSON
+ files retained for auditability.
+
+## Archived M1 baseline
+
+The original M1 baseline was produced at commit
+`ae1e13fcb1c52d5c57be051610a04aa9a318f2a5` on
+`2026-07-03T11:39:55Z`. It is no longer the active comparator. Use
+`medians-m1.json` and `medians.json.iterations/` only for historical audits.
diff --git a/.agents/benchmarks/restructure-baseline/attestation b/.agents/benchmarks/restructure-baseline/attestation
new file mode 120000
index 00000000..078479b4
--- /dev/null
+++ b/.agents/benchmarks/restructure-baseline/attestation
@@ -0,0 +1 @@
+../restructure-attestation
\ No newline at end of file
diff --git a/.agents/benchmarks/restructure-baseline/bin/agentfs b/.agents/benchmarks/restructure-baseline/bin/agentfs
new file mode 100755
index 00000000..b8d5cc55
Binary files /dev/null and b/.agents/benchmarks/restructure-baseline/bin/agentfs differ
diff --git a/.agents/benchmarks/restructure-baseline/bin/agentfs.sha256 b/.agents/benchmarks/restructure-baseline/bin/agentfs.sha256
new file mode 100644
index 00000000..a98a8a85
--- /dev/null
+++ b/.agents/benchmarks/restructure-baseline/bin/agentfs.sha256
@@ -0,0 +1 @@
+3062585011a5a58da5b92781b808c58856be81125ee073b972513c4e4a3c0e53 .agents/benchmarks/restructure-baseline/bin/agentfs
diff --git a/.agents/benchmarks/restructure-baseline/medians-m1.json b/.agents/benchmarks/restructure-baseline/medians-m1.json
new file mode 100644
index 00000000..e995d7bc
--- /dev/null
+++ b/.agents/benchmarks/restructure-baseline/medians-m1.json
@@ -0,0 +1,288 @@
+{
+ "agentfs_bin": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "forwarded_argv": [
+ "--source",
+ ".agents/benchmarks/fixtures/codex",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8"
+ ],
+ "iteration_returncodes": [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ],
+ "iteration_wall_seconds": [
+ 11.726330820005387,
+ 10.616446949003148,
+ 11.102209478005534,
+ 11.314982408992364,
+ 12.275473212997895
+ ],
+ "iterations": 5,
+ "label": "m1-restructure-baseline",
+ "overall": {
+ "agentfs_seconds": {
+ "count": 5,
+ "max": 4.9555087110056775,
+ "mean": 4.306578425201588,
+ "median": 4.286349337999127,
+ "min": 3.9769298949977383,
+ "p25": 3.9917564260103973,
+ "p75": 4.322347755994997,
+ "stdev": 0.3967207608119313
+ },
+ "native_seconds": {
+ "count": 5,
+ "max": 1.4932545539923012,
+ "mean": 1.1113577312004055,
+ "median": 1.0432535720028682,
+ "min": 0.7422934740025084,
+ "p25": 1.0030864370055497,
+ "p75": 1.2749006189987995,
+ "stdev": 0.2851143345202284
+ },
+ "ratio": {
+ "count": 5,
+ "max": 5.377598706999959,
+ "mean": 4.082959409542681,
+ "median": 4.273160497309577,
+ "min": 2.894582001735038,
+ "p25": 3.11940384664719,
+ "p75": 4.750051995021641,
+ "stdev": 1.0604197362464365
+ }
+ },
+ "phases": {
+ "checkout": {
+ "agentfs_seconds": {
+ "count": 5,
+ "max": 0.0770113600010518,
+ "mean": 0.06611434899969026,
+ "median": 0.07058002799749374,
+ "min": 0.05152055200596806,
+ "p25": 0.0579280270030722,
+ "p75": 0.07353177799086552,
+ "stdev": 0.010882327060889053
+ },
+ "native_seconds": {
+ "count": 5,
+ "max": 0.20255771699885372,
+ "mean": 0.173984533600742,
+ "median": 0.1803960039978847,
+ "min": 0.13785997001104988,
+ "p25": 0.16831218400329817,
+ "p75": 0.18079679299262352,
+ "stdev": 0.02367013035810731
+ },
+ "ratio": {
+ "count": 5,
+ "max": 0.5333801972027974,
+ "mean": 0.38779891929361654,
+ "median": 0.3801946484294529,
+ "min": 0.28496385999540425,
+ "p25": 0.32111591010492374,
+ "p75": 0.4193399807355045,
+ "stdev": 0.09652492567369943
+ }
+ },
+ "clone": {
+ "agentfs_seconds": {
+ "count": 5,
+ "max": 3.744095923990244,
+ "mean": 3.1156066443974852,
+ "median": 3.039248861998203,
+ "min": 2.795723178991466,
+ "p25": 2.8421427930006757,
+ "p75": 3.1568224640068365,
+ "stdev": 0.3806691275711008
+ },
+ "native_seconds": {
+ "count": 5,
+ "max": 0.3831163779977942,
+ "mean": 0.35489527880272365,
+ "median": 0.3605561690055765,
+ "min": 0.32173172100738157,
+ "p25": 0.3467116099927807,
+ "p75": 0.3623605160100851,
+ "stdev": 0.022643983113979572
+ },
+ "ratio": {
+ "count": 5,
+ "max": 10.798876691980993,
+ "mean": 8.799672880660971,
+ "median": 8.387362109600307,
+ "min": 7.882663055909932,
+ "p25": 8.239852549516982,
+ "p75": 8.689609996296644,
+ "stdev": 1.1546899704569875
+ }
+ },
+ "diff": {
+ "agentfs_seconds": {
+ "count": 5,
+ "max": 0.09339736700349022,
+ "mean": 0.051449211800354534,
+ "median": 0.04466473500360735,
+ "min": 0.01879543399263639,
+ "p25": 0.0205535150016658,
+ "p75": 0.07983500800037291,
+ "stdev": 0.03403029371770566
+ },
+ "native_seconds": {
+ "count": 5,
+ "max": 0.4042654630029574,
+ "mean": 0.18929603400174527,
+ "median": 0.21794543499709107,
+ "min": 0.013877956007490866,
+ "p25": 0.014729614995303564,
+ "p75": 0.2956617010058835,
+ "stdev": 0.1729098286908999
+ },
+ "ratio": {
+ "count": 5,
+ "max": 6.729907988833325,
+ "mean": 2.0346072856450452,
+ "median": 0.2700214729495324,
+ "min": 0.04649280166804378,
+ "p25": 0.0943057834725473,
+ "p75": 3.032308381301778,
+ "stdev": 2.909999500890562
+ }
+ },
+ "edit": {
+ "agentfs_seconds": {
+ "count": 5,
+ "max": 0.008319867003592663,
+ "mean": 0.0058366957993712274,
+ "median": 0.005346574995201081,
+ "min": 0.004283816000679508,
+ "p25": 0.0046512179978890345,
+ "p75": 0.006582002999493852,
+ "stdev": 0.0016415414814817686
+ },
+ "native_seconds": {
+ "count": 5,
+ "max": 0.0009379919938510284,
+ "mean": 0.0006158253992907703,
+ "median": 0.0005357149930205196,
+ "min": 0.0005059730028733611,
+ "p25": 0.0005188820068724453,
+ "p75": 0.000580564999836497,
+ "stdev": 0.00018228950734013342
+ },
+ "ratio": {
+ "count": 5,
+ "max": 16.443302224318526,
+ "mean": 10.167255565225812,
+ "median": 8.011537035816739,
+ "min": 5.700021994057897,
+ "p25": 7.996445976854383,
+ "p75": 12.684970595081513,
+ "stdev": 4.331378621900962
+ }
+ },
+ "fsck": {
+ "agentfs_seconds": {
+ "count": 5,
+ "max": 0.2215479599981336,
+ "mean": 0.18989546499797144,
+ "median": 0.18678362200444099,
+ "min": 0.16708888999710325,
+ "p25": 0.1757984619907802,
+ "p75": 0.19825839099939913,
+ "stdev": 0.02121537116639734
+ },
+ "native_seconds": {
+ "count": 5,
+ "max": 0.23167631099931896,
+ "mean": 0.2016486482025357,
+ "median": 0.20147872300003655,
+ "min": 0.16169250100210775,
+ "p25": 0.19305972200527322,
+ "p75": 0.220335984005942,
+ "stdev": 0.027023921252130146
+ },
+ "ratio": {
+ "count": 5,
+ "max": 1.1551780128752303,
+ "mean": 0.9572792241188461,
+ "median": 0.9105910863477699,
+ "min": 0.72121698276521,
+ "p25": 0.8998003294552763,
+ "p75": 1.0996097091507444,
+ "stdev": 0.17365978585573466
+ }
+ },
+ "read_search": {
+ "agentfs_seconds": {
+ "count": 5,
+ "max": 0.012863876996561885,
+ "mean": 0.008778797800187022,
+ "median": 0.008317582993186079,
+ "min": 0.005946407007286325,
+ "p25": 0.007632192995515652,
+ "p75": 0.009133929008385167,
+ "stdev": 0.002567286967583289
+ },
+ "native_seconds": {
+ "count": 5,
+ "max": 0.008362036998732947,
+ "mean": 0.0066348152002319695,
+ "median": 0.006168587991851382,
+ "min": 0.005937191002885811,
+ "p25": 0.006128829001681879,
+ "p75": 0.006577431006007828,
+ "stdev": 0.0009933098019555761
+ },
+ "ratio": {
+ "count": 5,
+ "max": 2.1666604612028335,
+ "mean": 1.3596495637313402,
+ "median": 1.2645640806553191,
+ "min": 0.912719352553943,
+ "p25": 0.9639818731841785,
+ "p75": 1.490322051060427,
+ "stdev": 0.5083509298900497
+ }
+ },
+ "status": {
+ "agentfs_seconds": {
+ "count": 5,
+ "max": 0.18019827299576718,
+ "mean": 0.16797260280000045,
+ "median": 0.16980370599776506,
+ "min": 0.14666951198887546,
+ "p25": 0.1678003530105343,
+ "p75": 0.17539117000706028,
+ "stdev": 0.012861827612738358
+ },
+ "native_seconds": {
+ "count": 5,
+ "max": 0.30065786000341177,
+ "mean": 0.18404624820395837,
+ "median": 0.2312075390073005,
+ "min": 0.017589443988981657,
+ "p25": 0.13260494700807612,
+ "p75": 0.23817145101202186,
+ "stdev": 0.11079944502783666
+ },
+ "ratio": {
+ "count": 5,
+ "max": 8.33849620719972,
+ "mean": 2.339891853801501,
+ "median": 0.7344211470215226,
+ "min": 0.5993466227482706,
+ "p25": 0.7045359647326684,
+ "p75": 1.3226593273053253,
+ "stdev": 3.36524289528827
+ }
+ }
+ },
+ "warmup_iterations": 1
+}
diff --git a/.agents/benchmarks/restructure-baseline/medians-post-m3.json.iterations/iter-00.json b/.agents/benchmarks/restructure-baseline/medians-post-m3.json.iterations/iter-00.json
new file mode 100644
index 00000000..c80f921a
--- /dev/null
+++ b/.agents/benchmarks/restructure-baseline/medians-post-m3.json.iterations/iter-00.json
@@ -0,0 +1,8674 @@
+{
+ "agentfs": {
+ "bin": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "db_path": "/tmp/agentfs-git-workload-8kjmq69z/home/.agentfs/run/git-workload-d85922b0994b49d3b798ece3b36a4cc4/delta.db",
+ "per_phase_counters": {
+ "checkpoint_count": 7,
+ "label_count": 7,
+ "labels_aligned": true,
+ "phases": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 999403720,
+ "agentfs_batcher_commit_txns": 4793,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25921,
+ "attr_cache_misses": 29054,
+ "base_fast_inode_invalidations": 15030,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 968,
+ "connection_create": 2,
+ "connection_reuse": 31221,
+ "connection_wait_count": 31223,
+ "connection_wait_nanos": 12437053,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 95,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5391,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21895,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 35,
+ "fuse_dispatch_wait_count": 35,
+ "fuse_dispatch_wait_nanos": 472375,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52472916,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5029,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11808,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 601168702,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 33,
+ "fuse_op_forget_nanos": 417336,
+ "fuse_op_getattr_count": 5029,
+ "fuse_op_getattr_nanos": 65493974,
+ "fuse_op_lookup_count": 11808,
+ "fuse_op_lookup_nanos": 162674130,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 783,
+ "fuse_op_other_nanos": 113605096,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 31656181,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 1704982,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1411465708,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 28157901,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16153,
+ "fuse_read_lane_wait_nanos": 3321671,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32119,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1767838,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19336,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6885,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14256,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1486600
+ },
+ "phase": "clone",
+ "seq": 1
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 2,
+ "agentfs_batcher_commit_latency_ns_total": 4339183,
+ "agentfs_batcher_commit_txns": 11,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 5,
+ "agentfs_batcher_drains_timer": 3,
+ "agentfs_batcher_enqueues": 10,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 15,
+ "attr_cache_hits": 179,
+ "attr_cache_misses": 1712,
+ "base_fast_inode_invalidations": 50,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 10,
+ "chunk_read_queries": 6,
+ "chunk_write_chunks": 14,
+ "connection_create": 3,
+ "connection_reuse": 629,
+ "connection_wait_count": 632,
+ "connection_wait_nanos": 252936,
+ "dentry_cache_hits": 73,
+ "dentry_cache_misses": 56,
+ "fuse_adapter_attr_hits": 4619,
+ "fuse_adapter_attr_misses": 634,
+ "fuse_adapter_entry_hits": 2,
+ "fuse_adapter_entry_misses": 35,
+ "fuse_adapter_inval_entry_notifications": 10,
+ "fuse_adapter_inval_inode_notifications": 28,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 13,
+ "fuse_adapter_negative_misses": 35,
+ "fuse_callback_count": 5324,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 5,
+ "fuse_dispatch_parallel_tasks": 9,
+ "fuse_dispatch_wait_count": 9,
+ "fuse_dispatch_wait_nanos": 68602,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 761360,
+ "fuse_flush_count": 10,
+ "fuse_flush_ranges": 10,
+ "fuse_getattr_count": 5253,
+ "fuse_ino_file_resolutions": 3,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 50,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 9,
+ "fuse_op_create_nanos": 1366681,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 9,
+ "fuse_op_forget_nanos": 104770,
+ "fuse_op_getattr_count": 5253,
+ "fuse_op_getattr_nanos": 18090216,
+ "fuse_op_lookup_count": 50,
+ "fuse_op_lookup_nanos": 807787,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 15,
+ "fuse_op_other_nanos": 3407466,
+ "fuse_op_read_count": 8,
+ "fuse_op_read_nanos": 1458377,
+ "fuse_op_readdirplus_count": 4,
+ "fuse_op_readdirplus_nanos": 1396155,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 14,
+ "fuse_op_setattr_nanos": 5080395,
+ "fuse_op_write_count": 9,
+ "fuse_op_write_nanos": 447252,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 8,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 698,
+ "fuse_read_lane_wait_nanos": 110521,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 4,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 5362,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 591393,
+ "fuse_write_count": 9,
+ "fuse_write_lane_wait_count": 42,
+ "fuse_write_lane_wait_nanos": 73587,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 1294,
+ "lookup_base_count": 0,
+ "lookup_count": 164,
+ "lookup_delta_count": 60,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 34,
+ "negative_cache_invalidations": 26,
+ "negative_cache_misses": 148,
+ "negative_lookup_count": 86,
+ "path_cache_hits": 73,
+ "path_cache_misses": 56,
+ "path_component_count": 124,
+ "path_resolution_count": 45,
+ "readdir_count": 0,
+ "readdir_plus_count": 4,
+ "wal_checkpoint_count": 2,
+ "wal_checkpoint_nanos": 893061
+ },
+ "phase": "checkout",
+ "seq": 2
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 4,
+ "agentfs_batcher_commit_latency_ns_total": 4982572,
+ "agentfs_batcher_commit_txns": 4,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 2,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 6,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 4,
+ "attr_cache_hits": 18,
+ "attr_cache_misses": 32,
+ "base_fast_inode_invalidations": 24,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 20,
+ "chunk_read_queries": 12,
+ "chunk_write_chunks": 20,
+ "connection_create": 0,
+ "connection_reuse": 1704,
+ "connection_wait_count": 1704,
+ "connection_wait_nanos": 401284,
+ "dentry_cache_hits": 19,
+ "dentry_cache_misses": 570,
+ "fuse_adapter_attr_hits": 1221,
+ "fuse_adapter_attr_misses": 5,
+ "fuse_adapter_entry_hits": 2,
+ "fuse_adapter_entry_misses": 289,
+ "fuse_adapter_inval_entry_notifications": 4,
+ "fuse_adapter_inval_inode_notifications": 8,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 289,
+ "fuse_callback_count": 2920,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 4,
+ "fuse_dispatch_wait_count": 4,
+ "fuse_dispatch_wait_nanos": 99861,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 1181458,
+ "fuse_flush_count": 6,
+ "fuse_flush_ranges": 6,
+ "fuse_getattr_count": 1226,
+ "fuse_ino_file_resolutions": 2,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 291,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 2,
+ "fuse_op_create_nanos": 947724,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 4,
+ "fuse_op_forget_nanos": 100028,
+ "fuse_op_getattr_count": 1226,
+ "fuse_op_getattr_nanos": 2066553,
+ "fuse_op_lookup_count": 291,
+ "fuse_op_lookup_nanos": 5011419,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 2762,
+ "fuse_op_other_nanos": 3392403,
+ "fuse_op_read_count": 12,
+ "fuse_op_read_nanos": 2375689,
+ "fuse_op_readdirplus_count": 1381,
+ "fuse_op_readdirplus_nanos": 62337425,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 6,
+ "fuse_op_setattr_nanos": 8393400,
+ "fuse_op_write_count": 10,
+ "fuse_op_write_nanos": 2325205,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 12,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 994,
+ "fuse_read_lane_wait_nanos": 165850,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1381,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 5690,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 1181458,
+ "fuse_write_count": 10,
+ "fuse_write_lane_wait_count": 14,
+ "fuse_write_lane_wait_nanos": 54764,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 22,
+ "lookup_base_count": 0,
+ "lookup_count": 598,
+ "lookup_delta_count": 295,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 4,
+ "negative_cache_invalidations": 4,
+ "negative_cache_misses": 873,
+ "negative_lookup_count": 578,
+ "path_cache_hits": 19,
+ "path_cache_misses": 570,
+ "path_component_count": 4606,
+ "path_resolution_count": 977,
+ "readdir_count": 0,
+ "readdir_plus_count": 1376,
+ "wal_checkpoint_count": 688,
+ "wal_checkpoint_nanos": 11765788
+ },
+ "phase": "status",
+ "seq": 3
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 1,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 10,
+ "chunk_read_queries": 6,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 8,
+ "connection_wait_count": 8,
+ "connection_wait_nanos": 8021,
+ "dentry_cache_hits": 1,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 69,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 1,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 1,
+ "fuse_callback_count": 76,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 69,
+ "fuse_ino_file_resolutions": 1,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 1,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 69,
+ "fuse_op_getattr_nanos": 71779,
+ "fuse_op_lookup_count": 1,
+ "fuse_op_lookup_nanos": 27439,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 6,
+ "fuse_op_read_nanos": 1420250,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 6,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 2,
+ "fuse_read_lane_wait_nanos": 1008,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 76,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 2,
+ "lookup_delta_count": 1,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 2,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 1,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "read_search",
+ "seq": 4
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 1616869,
+ "agentfs_batcher_commit_txns": 8,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 8,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 8,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 8,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 24,
+ "base_fast_inode_invalidations": 16,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 32,
+ "connection_wait_count": 32,
+ "connection_wait_nanos": 16960,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 16,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 24,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 6398,
+ "fuse_flush_count": 8,
+ "fuse_flush_ranges": 8,
+ "fuse_getattr_count": 16,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 16,
+ "fuse_op_getattr_nanos": 29738,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 8,
+ "fuse_op_other_nanos": 1091557,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 8,
+ "fuse_op_setattr_nanos": 2922583,
+ "fuse_op_write_count": 8,
+ "fuse_op_write_nanos": 525446,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 8,
+ "fuse_read_lane_wait_nanos": 2957,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 40,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 6398,
+ "fuse_write_count": 8,
+ "fuse_write_lane_wait_count": 8,
+ "fuse_write_lane_wait_nanos": 2128,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 16,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 8,
+ "wal_checkpoint_nanos": 925447
+ },
+ "phase": "edit",
+ "seq": 5
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 1426,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 89,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 1515,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 1426,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 89,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 1426,
+ "fuse_op_getattr_nanos": 941692,
+ "fuse_op_lookup_count": 89,
+ "fuse_op_lookup_nanos": 111530,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 12,
+ "fuse_op_other_nanos": 6943,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 1527,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 89,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "diff",
+ "seq": 6
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 3,
+ "attr_cache_misses": 2,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 1,
+ "chunk_read_queries": 1,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 24,
+ "connection_wait_count": 24,
+ "connection_wait_nanos": 17174,
+ "dentry_cache_hits": 4,
+ "dentry_cache_misses": 2,
+ "fuse_adapter_attr_hits": 44,
+ "fuse_adapter_attr_misses": 1,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 4,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 236,
+ "fuse_adapter_negative_misses": 4,
+ "fuse_callback_count": 305,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 45,
+ "fuse_ino_file_resolutions": 1,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 240,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 45,
+ "fuse_op_getattr_nanos": 72787,
+ "fuse_op_lookup_count": 240,
+ "fuse_op_lookup_nanos": 320427,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 36,
+ "fuse_op_other_nanos": 15240,
+ "fuse_op_read_count": 2,
+ "fuse_op_read_nanos": 361359,
+ "fuse_op_readdirplus_count": 18,
+ "fuse_op_readdirplus_nanos": 1149600,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 2,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 15,
+ "fuse_read_lane_wait_nanos": 4579,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 18,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 341,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 2,
+ "lookup_base_count": 0,
+ "lookup_count": 8,
+ "lookup_delta_count": 4,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 236,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 9,
+ "negative_lookup_count": 2,
+ "path_cache_hits": 4,
+ "path_cache_misses": 2,
+ "path_component_count": 42,
+ "path_resolution_count": 10,
+ "readdir_count": 0,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 9,
+ "wal_checkpoint_nanos": 350709
+ },
+ "phase": "fsck",
+ "seq": 7
+ }
+ ]
+ },
+ "profile_counters": {
+ "last_by_source": {
+ "cli": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1010342344,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26122,
+ "attr_cache_misses": 30824,
+ "base_fast_inode_invalidations": 15120,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33621,
+ "connection_wait_count": 33626,
+ "connection_wait_nanos": 13139933,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7490,
+ "fuse_adapter_attr_misses": 5574,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5729,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32059,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13064,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12479,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 13064,
+ "fuse_op_getattr_nanos": 86766739,
+ "fuse_op_lookup_count": 12479,
+ "fuse_op_lookup_nanos": 168952732,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 121518705,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 37271856,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 66588162,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1427862086,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 31455804,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17870,
+ "fuse_read_lane_wait_nanos": 3606586,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45155,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1899928,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20670,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7248,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 15602480
+ },
+ "phase-checkpoint-1": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 999403720,
+ "agentfs_batcher_commit_txns": 4793,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25921,
+ "attr_cache_misses": 29054,
+ "base_fast_inode_invalidations": 15030,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 968,
+ "connection_create": 2,
+ "connection_reuse": 31221,
+ "connection_wait_count": 31223,
+ "connection_wait_nanos": 12437053,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 95,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5391,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21895,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 35,
+ "fuse_dispatch_wait_count": 35,
+ "fuse_dispatch_wait_nanos": 472375,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52472916,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5029,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11808,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 601168702,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 33,
+ "fuse_op_forget_nanos": 417336,
+ "fuse_op_getattr_count": 5029,
+ "fuse_op_getattr_nanos": 65493974,
+ "fuse_op_lookup_count": 11808,
+ "fuse_op_lookup_nanos": 162674130,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 783,
+ "fuse_op_other_nanos": 113605096,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 31656181,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 1704982,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1411465708,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 28157901,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16153,
+ "fuse_read_lane_wait_nanos": 3321671,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32119,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1767838,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19336,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6885,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14256,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1486600
+ },
+ "phase-checkpoint-2": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 1003742903,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9400,
+ "attr_cache_hits": 26100,
+ "attr_cache_misses": 30766,
+ "base_fast_inode_invalidations": 15080,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 982,
+ "connection_create": 5,
+ "connection_reuse": 31850,
+ "connection_wait_count": 31855,
+ "connection_wait_nanos": 12689989,
+ "dentry_cache_hits": 26105,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4714,
+ "fuse_adapter_attr_misses": 5568,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5404,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27219,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 44,
+ "fuse_dispatch_wait_count": 44,
+ "fuse_dispatch_wait_nanos": 540977,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10282,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11858,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 602535383,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 42,
+ "fuse_op_forget_nanos": 522106,
+ "fuse_op_getattr_count": 10282,
+ "fuse_op_getattr_nanos": 83584190,
+ "fuse_op_lookup_count": 11858,
+ "fuse_op_lookup_nanos": 163481917,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 798,
+ "fuse_op_other_nanos": 117012562,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 33114558,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3101137,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4763,
+ "fuse_op_setattr_nanos": 1416546103,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 28605153,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 16851,
+ "fuse_read_lane_wait_nanos": 3432192,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37481,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10245,
+ "fuse_write_lane_wait_nanos": 1841425,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20630,
+ "lookup_base_count": 23,
+ "lookup_count": 40452,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6919,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14342,
+ "path_cache_hits": 26105,
+ "path_cache_misses": 13482,
+ "path_component_count": 33026,
+ "path_resolution_count": 7163,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2379661
+ },
+ "phase-checkpoint-3": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1008725475,
+ "agentfs_batcher_commit_txns": 4808,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26118,
+ "attr_cache_misses": 30798,
+ "base_fast_inode_invalidations": 15104,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33554,
+ "connection_wait_count": 33559,
+ "connection_wait_nanos": 13091273,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 5935,
+ "fuse_adapter_attr_misses": 5573,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5404,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30139,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11508,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12149,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 11508,
+ "fuse_op_getattr_nanos": 85650743,
+ "fuse_op_lookup_count": 12149,
+ "fuse_op_lookup_nanos": 168493336,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 120404965,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 35490247,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65438562,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1424939503,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 30930358,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17845,
+ "fuse_read_lane_wait_nanos": 3598042,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43171,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1896189,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20652,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6923,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 14145449
+ },
+ "phase-checkpoint-4": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1008725475,
+ "agentfs_batcher_commit_txns": 4808,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26119,
+ "attr_cache_misses": 30798,
+ "base_fast_inode_invalidations": 15104,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33562,
+ "connection_wait_count": 33567,
+ "connection_wait_nanos": 13099294,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6004,
+ "fuse_adapter_attr_misses": 5573,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5404,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30215,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11577,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12150,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 11577,
+ "fuse_op_getattr_nanos": 85722522,
+ "fuse_op_lookup_count": 12150,
+ "fuse_op_lookup_nanos": 168520775,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 120404965,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 36910497,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65438562,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1424939503,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 30930358,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17847,
+ "fuse_read_lane_wait_nanos": 3599050,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43247,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1896189,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20652,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6923,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 14145449
+ },
+ "phase-checkpoint-5": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1010342344,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26119,
+ "attr_cache_misses": 30822,
+ "base_fast_inode_invalidations": 15120,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33594,
+ "connection_wait_count": 33599,
+ "connection_wait_nanos": 13116254,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6020,
+ "fuse_adapter_attr_misses": 5573,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5404,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30239,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11593,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12150,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 11593,
+ "fuse_op_getattr_nanos": 85752260,
+ "fuse_op_lookup_count": 12150,
+ "fuse_op_lookup_nanos": 168520775,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3568,
+ "fuse_op_other_nanos": 121496522,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 36910497,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65438562,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1427862086,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 31455804,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17855,
+ "fuse_read_lane_wait_nanos": 3602007,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43287,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1898317,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20668,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6923,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 15070896
+ },
+ "phase-checkpoint-6": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1010342344,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26119,
+ "attr_cache_misses": 30822,
+ "base_fast_inode_invalidations": 15120,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33594,
+ "connection_wait_count": 33599,
+ "connection_wait_nanos": 13116254,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7446,
+ "fuse_adapter_attr_misses": 5573,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5493,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 31754,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13019,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12239,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 13019,
+ "fuse_op_getattr_nanos": 86693952,
+ "fuse_op_lookup_count": 12239,
+ "fuse_op_lookup_nanos": 168632305,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3580,
+ "fuse_op_other_nanos": 121503465,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 36910497,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65438562,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1427862086,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 31455804,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17855,
+ "fuse_read_lane_wait_nanos": 3602007,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44814,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1898317,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20668,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7012,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 15070896
+ },
+ "phase-checkpoint-7": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1010342344,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26122,
+ "attr_cache_misses": 30824,
+ "base_fast_inode_invalidations": 15120,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33618,
+ "connection_wait_count": 33623,
+ "connection_wait_nanos": 13133428,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7490,
+ "fuse_adapter_attr_misses": 5574,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5729,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32059,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13064,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12479,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 13064,
+ "fuse_op_getattr_nanos": 86766739,
+ "fuse_op_lookup_count": 12479,
+ "fuse_op_lookup_nanos": 168952732,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 121518705,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 37271856,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 66588162,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1427862086,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 31455804,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17870,
+ "fuse_read_lane_wait_nanos": 3606586,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45155,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1898317,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20670,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7248,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 15421605
+ }
+ },
+ "max_counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1010342344,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26122,
+ "attr_cache_misses": 30824,
+ "base_fast_inode_invalidations": 15120,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33621,
+ "connection_wait_count": 33626,
+ "connection_wait_nanos": 13139933,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7490,
+ "fuse_adapter_attr_misses": 5574,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5729,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32059,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13064,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12479,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 13064,
+ "fuse_op_getattr_nanos": 86766739,
+ "fuse_op_lookup_count": 12479,
+ "fuse_op_lookup_nanos": 168952732,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 121518705,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 37271856,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 66588162,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1427862086,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 31455804,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17870,
+ "fuse_read_lane_wait_nanos": 3606586,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45155,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1899928,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20670,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7248,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 15602480
+ },
+ "summary_count": 8
+ },
+ "profile_enabled": true,
+ "profile_summary_count": 8,
+ "session": "git-workload-d85922b0994b49d3b798ece3b36a4cc4"
+ },
+ "agentfs_overlay": {
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 999403720,
+ "agentfs_batcher_commit_txns": 4793,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25921,
+ "attr_cache_misses": 29054,
+ "base_fast_inode_invalidations": 15030,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 968,
+ "connection_create": 2,
+ "connection_reuse": 31221,
+ "connection_wait_count": 31223,
+ "connection_wait_nanos": 12437053,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 95,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5391,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21895,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 35,
+ "fuse_dispatch_wait_count": 35,
+ "fuse_dispatch_wait_nanos": 472375,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52472916,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5029,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11808,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 601168702,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 33,
+ "fuse_op_forget_nanos": 417336,
+ "fuse_op_getattr_count": 5029,
+ "fuse_op_getattr_nanos": 65493974,
+ "fuse_op_lookup_count": 11808,
+ "fuse_op_lookup_nanos": 162674130,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 783,
+ "fuse_op_other_nanos": 113605096,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 31656181,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 1704982,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1411465708,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 28157901,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16153,
+ "fuse_read_lane_wait_nanos": 3321671,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32119,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1767838,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19336,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6885,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14256,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1486600
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15030,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 999403720,
+ "agentfs_batcher_commit_txns": 4793,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25921,
+ "attr_cache_misses": 29054,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 968,
+ "connection_create": 2,
+ "connection_reuse": 31221,
+ "connection_wait_count": 31223,
+ "connection_wait_nanos": 12437053,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "getattr_count": 19336,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6885,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14256,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1486600
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 95,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5391,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21895,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 35,
+ "fuse_dispatch_wait_count": 35,
+ "fuse_dispatch_wait_nanos": 472375,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52472916,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5029,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 11808,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 601168702,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 33,
+ "fuse_op_forget_nanos": 417336,
+ "fuse_op_getattr_count": 5029,
+ "fuse_op_getattr_nanos": 65493974,
+ "fuse_op_lookup_count": 11808,
+ "fuse_op_lookup_nanos": 162674130,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 783,
+ "fuse_op_other_nanos": 113605096,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 31656181,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 1704982,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1411465708,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 28157901,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16153,
+ "fuse_read_lane_wait_nanos": 3321671,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 32119,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1767838
+ }
+ },
+ "source": "phase-checkpoint-1"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 1003742903,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9400,
+ "attr_cache_hits": 26100,
+ "attr_cache_misses": 30766,
+ "base_fast_inode_invalidations": 15080,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 982,
+ "connection_create": 5,
+ "connection_reuse": 31850,
+ "connection_wait_count": 31855,
+ "connection_wait_nanos": 12689989,
+ "dentry_cache_hits": 26105,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4714,
+ "fuse_adapter_attr_misses": 5568,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5404,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27219,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 44,
+ "fuse_dispatch_wait_count": 44,
+ "fuse_dispatch_wait_nanos": 540977,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10282,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11858,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 602535383,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 42,
+ "fuse_op_forget_nanos": 522106,
+ "fuse_op_getattr_count": 10282,
+ "fuse_op_getattr_nanos": 83584190,
+ "fuse_op_lookup_count": 11858,
+ "fuse_op_lookup_nanos": 163481917,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 798,
+ "fuse_op_other_nanos": 117012562,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 33114558,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3101137,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4763,
+ "fuse_op_setattr_nanos": 1416546103,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 28605153,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 16851,
+ "fuse_read_lane_wait_nanos": 3432192,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37481,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10245,
+ "fuse_write_lane_wait_nanos": 1841425,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20630,
+ "lookup_base_count": 23,
+ "lookup_count": 40452,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6919,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14342,
+ "path_cache_hits": 26105,
+ "path_cache_misses": 13482,
+ "path_component_count": 33026,
+ "path_resolution_count": 7163,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2379661
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15080,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 1003742903,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9400,
+ "attr_cache_hits": 26100,
+ "attr_cache_misses": 30766,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 982,
+ "connection_create": 5,
+ "connection_reuse": 31850,
+ "connection_wait_count": 31855,
+ "connection_wait_nanos": 12689989,
+ "dentry_cache_hits": 26105,
+ "dentry_cache_misses": 13482,
+ "getattr_count": 20630,
+ "lookup_base_count": 23,
+ "lookup_count": 40452,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6919,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14342,
+ "path_cache_hits": 26105,
+ "path_cache_misses": 13482,
+ "path_component_count": 33026,
+ "path_resolution_count": 7163,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2379661
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 4714,
+ "fuse_adapter_attr_misses": 5568,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5404,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27219,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 44,
+ "fuse_dispatch_wait_count": 44,
+ "fuse_dispatch_wait_nanos": 540977,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10282,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 11858,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 602535383,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 42,
+ "fuse_op_forget_nanos": 522106,
+ "fuse_op_getattr_count": 10282,
+ "fuse_op_getattr_nanos": 83584190,
+ "fuse_op_lookup_count": 11858,
+ "fuse_op_lookup_nanos": 163481917,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 798,
+ "fuse_op_other_nanos": 117012562,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 33114558,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3101137,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4763,
+ "fuse_op_setattr_nanos": 1416546103,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 28605153,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 16851,
+ "fuse_read_lane_wait_nanos": 3432192,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 37481,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10245,
+ "fuse_write_lane_wait_nanos": 1841425
+ }
+ },
+ "source": "phase-checkpoint-2"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1008725475,
+ "agentfs_batcher_commit_txns": 4808,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26118,
+ "attr_cache_misses": 30798,
+ "base_fast_inode_invalidations": 15104,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33554,
+ "connection_wait_count": 33559,
+ "connection_wait_nanos": 13091273,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 5935,
+ "fuse_adapter_attr_misses": 5573,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5404,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30139,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11508,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12149,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 11508,
+ "fuse_op_getattr_nanos": 85650743,
+ "fuse_op_lookup_count": 12149,
+ "fuse_op_lookup_nanos": 168493336,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 120404965,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 35490247,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65438562,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1424939503,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 30930358,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17845,
+ "fuse_read_lane_wait_nanos": 3598042,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43171,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1896189,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20652,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6923,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 14145449
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15104,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1008725475,
+ "agentfs_batcher_commit_txns": 4808,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26118,
+ "attr_cache_misses": 30798,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33554,
+ "connection_wait_count": 33559,
+ "connection_wait_nanos": 13091273,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20652,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6923,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 14145449
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 5935,
+ "fuse_adapter_attr_misses": 5573,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5404,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30139,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11508,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12149,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 11508,
+ "fuse_op_getattr_nanos": 85650743,
+ "fuse_op_lookup_count": 12149,
+ "fuse_op_lookup_nanos": 168493336,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 120404965,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 35490247,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65438562,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1424939503,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 30930358,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17845,
+ "fuse_read_lane_wait_nanos": 3598042,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43171,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1896189
+ }
+ },
+ "source": "phase-checkpoint-3"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1008725475,
+ "agentfs_batcher_commit_txns": 4808,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26119,
+ "attr_cache_misses": 30798,
+ "base_fast_inode_invalidations": 15104,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33562,
+ "connection_wait_count": 33567,
+ "connection_wait_nanos": 13099294,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6004,
+ "fuse_adapter_attr_misses": 5573,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5404,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30215,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11577,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12150,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 11577,
+ "fuse_op_getattr_nanos": 85722522,
+ "fuse_op_lookup_count": 12150,
+ "fuse_op_lookup_nanos": 168520775,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 120404965,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 36910497,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65438562,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1424939503,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 30930358,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17847,
+ "fuse_read_lane_wait_nanos": 3599050,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43247,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1896189,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20652,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6923,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 14145449
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15104,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1008725475,
+ "agentfs_batcher_commit_txns": 4808,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26119,
+ "attr_cache_misses": 30798,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33562,
+ "connection_wait_count": 33567,
+ "connection_wait_nanos": 13099294,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20652,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6923,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 14145449
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6004,
+ "fuse_adapter_attr_misses": 5573,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5404,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30215,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11577,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12150,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 11577,
+ "fuse_op_getattr_nanos": 85722522,
+ "fuse_op_lookup_count": 12150,
+ "fuse_op_lookup_nanos": 168520775,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 120404965,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 36910497,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65438562,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1424939503,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 30930358,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17847,
+ "fuse_read_lane_wait_nanos": 3599050,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43247,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1896189
+ }
+ },
+ "source": "phase-checkpoint-4"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1010342344,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26119,
+ "attr_cache_misses": 30822,
+ "base_fast_inode_invalidations": 15120,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33594,
+ "connection_wait_count": 33599,
+ "connection_wait_nanos": 13116254,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6020,
+ "fuse_adapter_attr_misses": 5573,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5404,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30239,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11593,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12150,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 11593,
+ "fuse_op_getattr_nanos": 85752260,
+ "fuse_op_lookup_count": 12150,
+ "fuse_op_lookup_nanos": 168520775,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3568,
+ "fuse_op_other_nanos": 121496522,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 36910497,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65438562,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1427862086,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 31455804,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17855,
+ "fuse_read_lane_wait_nanos": 3602007,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43287,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1898317,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20668,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6923,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 15070896
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15120,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1010342344,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26119,
+ "attr_cache_misses": 30822,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33594,
+ "connection_wait_count": 33599,
+ "connection_wait_nanos": 13116254,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20668,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6923,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 15070896
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6020,
+ "fuse_adapter_attr_misses": 5573,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5404,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30239,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11593,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12150,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 11593,
+ "fuse_op_getattr_nanos": 85752260,
+ "fuse_op_lookup_count": 12150,
+ "fuse_op_lookup_nanos": 168520775,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3568,
+ "fuse_op_other_nanos": 121496522,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 36910497,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65438562,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1427862086,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 31455804,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17855,
+ "fuse_read_lane_wait_nanos": 3602007,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43287,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1898317
+ }
+ },
+ "source": "phase-checkpoint-5"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1010342344,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26119,
+ "attr_cache_misses": 30822,
+ "base_fast_inode_invalidations": 15120,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33594,
+ "connection_wait_count": 33599,
+ "connection_wait_nanos": 13116254,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7446,
+ "fuse_adapter_attr_misses": 5573,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5493,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 31754,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13019,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12239,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 13019,
+ "fuse_op_getattr_nanos": 86693952,
+ "fuse_op_lookup_count": 12239,
+ "fuse_op_lookup_nanos": 168632305,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3580,
+ "fuse_op_other_nanos": 121503465,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 36910497,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65438562,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1427862086,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 31455804,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17855,
+ "fuse_read_lane_wait_nanos": 3602007,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44814,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1898317,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20668,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7012,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 15070896
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15120,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1010342344,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26119,
+ "attr_cache_misses": 30822,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33594,
+ "connection_wait_count": 33599,
+ "connection_wait_nanos": 13116254,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20668,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7012,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 15070896
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 7446,
+ "fuse_adapter_attr_misses": 5573,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5493,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 31754,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13019,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12239,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 13019,
+ "fuse_op_getattr_nanos": 86693952,
+ "fuse_op_lookup_count": 12239,
+ "fuse_op_lookup_nanos": 168632305,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3580,
+ "fuse_op_other_nanos": 121503465,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 36910497,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65438562,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1427862086,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 31455804,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17855,
+ "fuse_read_lane_wait_nanos": 3602007,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 44814,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1898317
+ }
+ },
+ "source": "phase-checkpoint-6"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1010342344,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26122,
+ "attr_cache_misses": 30824,
+ "base_fast_inode_invalidations": 15120,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33618,
+ "connection_wait_count": 33623,
+ "connection_wait_nanos": 13133428,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7490,
+ "fuse_adapter_attr_misses": 5574,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5729,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32059,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13064,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12479,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 13064,
+ "fuse_op_getattr_nanos": 86766739,
+ "fuse_op_lookup_count": 12479,
+ "fuse_op_lookup_nanos": 168952732,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 121518705,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 37271856,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 66588162,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1427862086,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 31455804,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17870,
+ "fuse_read_lane_wait_nanos": 3606586,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45155,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1898317,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20670,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7248,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 15421605
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15120,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1010342344,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26122,
+ "attr_cache_misses": 30824,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33618,
+ "connection_wait_count": 33623,
+ "connection_wait_nanos": 13133428,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "getattr_count": 20670,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7248,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 15421605
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 7490,
+ "fuse_adapter_attr_misses": 5574,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5729,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32059,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13064,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12479,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 13064,
+ "fuse_op_getattr_nanos": 86766739,
+ "fuse_op_lookup_count": 12479,
+ "fuse_op_lookup_nanos": 168952732,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 121518705,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 37271856,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 66588162,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1427862086,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 31455804,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17870,
+ "fuse_read_lane_wait_nanos": 3606586,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45155,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1898317
+ }
+ },
+ "source": "phase-checkpoint-7"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1010342344,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26122,
+ "attr_cache_misses": 30824,
+ "base_fast_inode_invalidations": 15120,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33621,
+ "connection_wait_count": 33626,
+ "connection_wait_nanos": 13139933,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7490,
+ "fuse_adapter_attr_misses": 5574,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5729,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32059,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13064,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12479,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 13064,
+ "fuse_op_getattr_nanos": 86766739,
+ "fuse_op_lookup_count": 12479,
+ "fuse_op_lookup_nanos": 168952732,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 121518705,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 37271856,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 66588162,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1427862086,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 31455804,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17870,
+ "fuse_read_lane_wait_nanos": 3606586,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45155,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1899928,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20670,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7248,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 15602480
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15120,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1010342344,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26122,
+ "attr_cache_misses": 30824,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33621,
+ "connection_wait_count": 33626,
+ "connection_wait_nanos": 13139933,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "getattr_count": 20670,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7248,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 15602480
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 7490,
+ "fuse_adapter_attr_misses": 5574,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5729,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32059,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13064,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12479,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 13064,
+ "fuse_op_getattr_nanos": 86766739,
+ "fuse_op_lookup_count": 12479,
+ "fuse_op_lookup_nanos": 168952732,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 121518705,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 37271856,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 66588162,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1427862086,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 31455804,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17870,
+ "fuse_read_lane_wait_nanos": 3606586,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45155,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1899928
+ }
+ },
+ "source": "cli"
+ }
+ ],
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "run",
+ "--session",
+ "git-workload-d85922b0994b49d3b798ece3b36a4cc4",
+ "--no-default-allows",
+ "--",
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-8kjmq69z/agentfs-base",
+ "duration_seconds": 4.889367215000675,
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 999403720,
+ "agentfs_batcher_commit_txns": 4793,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25921,
+ "attr_cache_misses": 29054,
+ "base_fast_inode_invalidations": 15030,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 968,
+ "connection_create": 2,
+ "connection_reuse": 31221,
+ "connection_wait_count": 31223,
+ "connection_wait_nanos": 12437053,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 95,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5391,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21895,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 35,
+ "fuse_dispatch_wait_count": 35,
+ "fuse_dispatch_wait_nanos": 472375,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52472916,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5029,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11808,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 601168702,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 33,
+ "fuse_op_forget_nanos": 417336,
+ "fuse_op_getattr_count": 5029,
+ "fuse_op_getattr_nanos": 65493974,
+ "fuse_op_lookup_count": 11808,
+ "fuse_op_lookup_nanos": 162674130,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 783,
+ "fuse_op_other_nanos": 113605096,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 31656181,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 1704982,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1411465708,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 28157901,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16153,
+ "fuse_read_lane_wait_nanos": 3321671,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32119,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1767838,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19336,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6885,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14256,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1486600
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15030,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 999403720,
+ "agentfs_batcher_commit_txns": 4793,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25921,
+ "attr_cache_misses": 29054,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 968,
+ "connection_create": 2,
+ "connection_reuse": 31221,
+ "connection_wait_count": 31223,
+ "connection_wait_nanos": 12437053,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "getattr_count": 19336,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6885,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14256,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1486600
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 95,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5391,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21895,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 35,
+ "fuse_dispatch_wait_count": 35,
+ "fuse_dispatch_wait_nanos": 472375,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52472916,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5029,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 11808,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 601168702,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 33,
+ "fuse_op_forget_nanos": 417336,
+ "fuse_op_getattr_count": 5029,
+ "fuse_op_getattr_nanos": 65493974,
+ "fuse_op_lookup_count": 11808,
+ "fuse_op_lookup_nanos": 162674130,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 783,
+ "fuse_op_other_nanos": 113605096,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 31656181,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 1704982,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1411465708,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 28157901,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16153,
+ "fuse_read_lane_wait_nanos": 3321671,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 32119,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1767838
+ }
+ },
+ "source": "phase-checkpoint-1"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 1003742903,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9400,
+ "attr_cache_hits": 26100,
+ "attr_cache_misses": 30766,
+ "base_fast_inode_invalidations": 15080,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 982,
+ "connection_create": 5,
+ "connection_reuse": 31850,
+ "connection_wait_count": 31855,
+ "connection_wait_nanos": 12689989,
+ "dentry_cache_hits": 26105,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4714,
+ "fuse_adapter_attr_misses": 5568,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5404,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27219,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 44,
+ "fuse_dispatch_wait_count": 44,
+ "fuse_dispatch_wait_nanos": 540977,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10282,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11858,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 602535383,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 42,
+ "fuse_op_forget_nanos": 522106,
+ "fuse_op_getattr_count": 10282,
+ "fuse_op_getattr_nanos": 83584190,
+ "fuse_op_lookup_count": 11858,
+ "fuse_op_lookup_nanos": 163481917,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 798,
+ "fuse_op_other_nanos": 117012562,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 33114558,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3101137,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4763,
+ "fuse_op_setattr_nanos": 1416546103,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 28605153,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 16851,
+ "fuse_read_lane_wait_nanos": 3432192,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37481,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10245,
+ "fuse_write_lane_wait_nanos": 1841425,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20630,
+ "lookup_base_count": 23,
+ "lookup_count": 40452,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6919,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14342,
+ "path_cache_hits": 26105,
+ "path_cache_misses": 13482,
+ "path_component_count": 33026,
+ "path_resolution_count": 7163,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2379661
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15080,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 1003742903,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9400,
+ "attr_cache_hits": 26100,
+ "attr_cache_misses": 30766,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 982,
+ "connection_create": 5,
+ "connection_reuse": 31850,
+ "connection_wait_count": 31855,
+ "connection_wait_nanos": 12689989,
+ "dentry_cache_hits": 26105,
+ "dentry_cache_misses": 13482,
+ "getattr_count": 20630,
+ "lookup_base_count": 23,
+ "lookup_count": 40452,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6919,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14342,
+ "path_cache_hits": 26105,
+ "path_cache_misses": 13482,
+ "path_component_count": 33026,
+ "path_resolution_count": 7163,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2379661
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 4714,
+ "fuse_adapter_attr_misses": 5568,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5404,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27219,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 44,
+ "fuse_dispatch_wait_count": 44,
+ "fuse_dispatch_wait_nanos": 540977,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10282,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 11858,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 602535383,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 42,
+ "fuse_op_forget_nanos": 522106,
+ "fuse_op_getattr_count": 10282,
+ "fuse_op_getattr_nanos": 83584190,
+ "fuse_op_lookup_count": 11858,
+ "fuse_op_lookup_nanos": 163481917,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 798,
+ "fuse_op_other_nanos": 117012562,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 33114558,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3101137,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4763,
+ "fuse_op_setattr_nanos": 1416546103,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 28605153,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 16851,
+ "fuse_read_lane_wait_nanos": 3432192,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 37481,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10245,
+ "fuse_write_lane_wait_nanos": 1841425
+ }
+ },
+ "source": "phase-checkpoint-2"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1008725475,
+ "agentfs_batcher_commit_txns": 4808,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26118,
+ "attr_cache_misses": 30798,
+ "base_fast_inode_invalidations": 15104,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33554,
+ "connection_wait_count": 33559,
+ "connection_wait_nanos": 13091273,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 5935,
+ "fuse_adapter_attr_misses": 5573,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5404,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30139,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11508,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12149,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 11508,
+ "fuse_op_getattr_nanos": 85650743,
+ "fuse_op_lookup_count": 12149,
+ "fuse_op_lookup_nanos": 168493336,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 120404965,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 35490247,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65438562,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1424939503,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 30930358,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17845,
+ "fuse_read_lane_wait_nanos": 3598042,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43171,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1896189,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20652,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6923,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 14145449
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15104,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1008725475,
+ "agentfs_batcher_commit_txns": 4808,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26118,
+ "attr_cache_misses": 30798,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33554,
+ "connection_wait_count": 33559,
+ "connection_wait_nanos": 13091273,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20652,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6923,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 14145449
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 5935,
+ "fuse_adapter_attr_misses": 5573,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5404,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30139,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11508,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12149,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 11508,
+ "fuse_op_getattr_nanos": 85650743,
+ "fuse_op_lookup_count": 12149,
+ "fuse_op_lookup_nanos": 168493336,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 120404965,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 35490247,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65438562,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1424939503,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 30930358,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17845,
+ "fuse_read_lane_wait_nanos": 3598042,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43171,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1896189
+ }
+ },
+ "source": "phase-checkpoint-3"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1008725475,
+ "agentfs_batcher_commit_txns": 4808,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26119,
+ "attr_cache_misses": 30798,
+ "base_fast_inode_invalidations": 15104,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33562,
+ "connection_wait_count": 33567,
+ "connection_wait_nanos": 13099294,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6004,
+ "fuse_adapter_attr_misses": 5573,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5404,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30215,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11577,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12150,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 11577,
+ "fuse_op_getattr_nanos": 85722522,
+ "fuse_op_lookup_count": 12150,
+ "fuse_op_lookup_nanos": 168520775,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 120404965,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 36910497,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65438562,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1424939503,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 30930358,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17847,
+ "fuse_read_lane_wait_nanos": 3599050,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43247,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1896189,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20652,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6923,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 14145449
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15104,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1008725475,
+ "agentfs_batcher_commit_txns": 4808,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26119,
+ "attr_cache_misses": 30798,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33562,
+ "connection_wait_count": 33567,
+ "connection_wait_nanos": 13099294,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20652,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6923,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 14145449
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6004,
+ "fuse_adapter_attr_misses": 5573,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5404,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30215,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11577,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12150,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 11577,
+ "fuse_op_getattr_nanos": 85722522,
+ "fuse_op_lookup_count": 12150,
+ "fuse_op_lookup_nanos": 168520775,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 120404965,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 36910497,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65438562,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1424939503,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 30930358,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17847,
+ "fuse_read_lane_wait_nanos": 3599050,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43247,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1896189
+ }
+ },
+ "source": "phase-checkpoint-4"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1010342344,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26119,
+ "attr_cache_misses": 30822,
+ "base_fast_inode_invalidations": 15120,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33594,
+ "connection_wait_count": 33599,
+ "connection_wait_nanos": 13116254,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6020,
+ "fuse_adapter_attr_misses": 5573,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5404,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30239,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11593,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12150,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 11593,
+ "fuse_op_getattr_nanos": 85752260,
+ "fuse_op_lookup_count": 12150,
+ "fuse_op_lookup_nanos": 168520775,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3568,
+ "fuse_op_other_nanos": 121496522,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 36910497,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65438562,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1427862086,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 31455804,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17855,
+ "fuse_read_lane_wait_nanos": 3602007,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43287,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1898317,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20668,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6923,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 15070896
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15120,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1010342344,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26119,
+ "attr_cache_misses": 30822,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33594,
+ "connection_wait_count": 33599,
+ "connection_wait_nanos": 13116254,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20668,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6923,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 15070896
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6020,
+ "fuse_adapter_attr_misses": 5573,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5404,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30239,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11593,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12150,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 11593,
+ "fuse_op_getattr_nanos": 85752260,
+ "fuse_op_lookup_count": 12150,
+ "fuse_op_lookup_nanos": 168520775,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3568,
+ "fuse_op_other_nanos": 121496522,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 36910497,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65438562,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1427862086,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 31455804,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17855,
+ "fuse_read_lane_wait_nanos": 3602007,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43287,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1898317
+ }
+ },
+ "source": "phase-checkpoint-5"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1010342344,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26119,
+ "attr_cache_misses": 30822,
+ "base_fast_inode_invalidations": 15120,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33594,
+ "connection_wait_count": 33599,
+ "connection_wait_nanos": 13116254,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7446,
+ "fuse_adapter_attr_misses": 5573,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5493,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 31754,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13019,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12239,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 13019,
+ "fuse_op_getattr_nanos": 86693952,
+ "fuse_op_lookup_count": 12239,
+ "fuse_op_lookup_nanos": 168632305,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3580,
+ "fuse_op_other_nanos": 121503465,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 36910497,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65438562,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1427862086,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 31455804,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17855,
+ "fuse_read_lane_wait_nanos": 3602007,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44814,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1898317,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20668,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7012,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 15070896
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15120,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1010342344,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26119,
+ "attr_cache_misses": 30822,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33594,
+ "connection_wait_count": 33599,
+ "connection_wait_nanos": 13116254,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20668,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7012,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 15070896
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 7446,
+ "fuse_adapter_attr_misses": 5573,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5493,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 31754,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13019,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12239,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 13019,
+ "fuse_op_getattr_nanos": 86693952,
+ "fuse_op_lookup_count": 12239,
+ "fuse_op_lookup_nanos": 168632305,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3580,
+ "fuse_op_other_nanos": 121503465,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 36910497,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65438562,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1427862086,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 31455804,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17855,
+ "fuse_read_lane_wait_nanos": 3602007,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 44814,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1898317
+ }
+ },
+ "source": "phase-checkpoint-6"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1010342344,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26122,
+ "attr_cache_misses": 30824,
+ "base_fast_inode_invalidations": 15120,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33618,
+ "connection_wait_count": 33623,
+ "connection_wait_nanos": 13133428,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7490,
+ "fuse_adapter_attr_misses": 5574,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5729,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32059,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13064,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12479,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 13064,
+ "fuse_op_getattr_nanos": 86766739,
+ "fuse_op_lookup_count": 12479,
+ "fuse_op_lookup_nanos": 168952732,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 121518705,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 37271856,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 66588162,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1427862086,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 31455804,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17870,
+ "fuse_read_lane_wait_nanos": 3606586,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45155,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1898317,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20670,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7248,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 15421605
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15120,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1010342344,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26122,
+ "attr_cache_misses": 30824,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33618,
+ "connection_wait_count": 33623,
+ "connection_wait_nanos": 13133428,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "getattr_count": 20670,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7248,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 15421605
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 7490,
+ "fuse_adapter_attr_misses": 5574,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5729,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32059,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13064,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12479,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 13064,
+ "fuse_op_getattr_nanos": 86766739,
+ "fuse_op_lookup_count": 12479,
+ "fuse_op_lookup_nanos": 168952732,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 121518705,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 37271856,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 66588162,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1427862086,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 31455804,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17870,
+ "fuse_read_lane_wait_nanos": 3606586,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45155,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1898317
+ }
+ },
+ "source": "phase-checkpoint-7"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1010342344,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26122,
+ "attr_cache_misses": 30824,
+ "base_fast_inode_invalidations": 15120,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33621,
+ "connection_wait_count": 33626,
+ "connection_wait_nanos": 13139933,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7490,
+ "fuse_adapter_attr_misses": 5574,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5729,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32059,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13064,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12479,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 13064,
+ "fuse_op_getattr_nanos": 86766739,
+ "fuse_op_lookup_count": 12479,
+ "fuse_op_lookup_nanos": 168952732,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 121518705,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 37271856,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 66588162,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1427862086,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 31455804,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17870,
+ "fuse_read_lane_wait_nanos": 3606586,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45155,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1899928,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20670,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7248,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 15602480
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15120,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 1010342344,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1376256,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26122,
+ "attr_cache_misses": 30824,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 5,
+ "connection_reuse": 33621,
+ "connection_wait_count": 33626,
+ "connection_wait_nanos": 13139933,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "getattr_count": 20670,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7248,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 15602480
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 7490,
+ "fuse_adapter_attr_misses": 5574,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5729,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32059,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 640838,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13064,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12479,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 603483107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 638,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 622134,
+ "fuse_op_getattr_count": 13064,
+ "fuse_op_getattr_nanos": 86766739,
+ "fuse_op_lookup_count": 12479,
+ "fuse_op_lookup_nanos": 168952732,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 744,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 121518705,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 37271856,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 66588162,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1427862086,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 31455804,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17870,
+ "fuse_read_lane_wait_nanos": 3606586,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45155,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1899928
+ }
+ },
+ "source": "cli"
+ }
+ ],
+ "returncode": 0,
+ "stderr_bytes": 64598,
+ "stderr_tail": "en_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":1,\"fuse_readdirplus_mode\":2,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_workers_configured\":7,\"fuse_writeback_cache_enabled\":1},\"core\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":1010342344,\"agentfs_batcher_commit_txns\":4816,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4697,\"agentfs_batcher_drains_timer\":16,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1376256,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9412,\"attr_cache_hits\":26119,\"attr_cache_misses\":30822,\"chunk_read_chunks\":267,\"chunk_read_queries\":122,\"chunk_write_chunks\":1002,\"connection_create\":5,\"connection_reuse\":33594,\"connection_wait_count\":33599,\"connection_wait_nanos\":13116254,\"dentry_cache_hits\":26125,\"dentry_cache_misses\":14052,\"getattr_count\":20668,\"lookup_base_count\":23,\"lookup_count\":41052,\"lookup_delta_count\":7547,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7012,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46085,\"negative_lookup_count\":14920,\"path_cache_hits\":26125,\"path_cache_misses\":14052,\"path_component_count\":37632,\"path_resolution_count\":8140,\"readdir_count\":1,\"readdir_plus_count\":1398,\"wal_checkpoint_count\":708,\"wal_checkpoint_nanos\":15070896},\"fuse\":{\"fuse_adapter_attr_hits\":7446,\"fuse_adapter_attr_misses\":5573,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6734,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5493,\"fuse_adapter_negative_misses\":6734,\"fuse_callback_count\":31754,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":48,\"fuse_dispatch_wait_count\":48,\"fuse_dispatch_wait_nanos\":640838,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13019,\"fuse_ino_file_resolutions\":26,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":12239,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":603483107,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":638,\"fuse_op_forget_count\":46,\"fuse_op_forget_nanos\":622134,\"fuse_op_getattr_count\":13019,\"fuse_op_getattr_nanos\":86693952,\"fuse_op_lookup_count\":12239,\"fuse_op_lookup_nanos\":168632305,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":744,\"fuse_op_other_count\":3580,\"fuse_op_other_nanos\":121503465,\"fuse_op_read_count\":239,\"fuse_op_read_nanos\":36910497,\"fuse_op_readdirplus_count\":1407,\"fuse_op_readdirplus_nanos\":65438562,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4777,\"fuse_op_setattr_nanos\":1427862086,\"fuse_op_write_count\":4849,\"fuse_op_write_nanos\":31455804,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":239,\"fuse_read_lane_max_concurrent\":6,\"fuse_read_lane_wait_count\":17855,\"fuse_read_lane_wait_nanos\":3602007,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1407,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":44814,\"fuse_worker_queue_depth_peak\":2,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4849,\"fuse_write_lane_wait_count\":10267,\"fuse_write_lane_wait_nanos\":1898317}},\"source\":\"phase-checkpoint-6\"}\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":1010342344,\"agentfs_batcher_commit_txns\":4816,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4697,\"agentfs_batcher_drains_timer\":16,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1376256,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9412,\"attr_cache_hits\":26122,\"attr_cache_misses\":30824,\"base_fast_inode_invalidations\":15120,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1002,\"connection_create\":5,\"connection_reuse\":33618,\"connection_wait_count\":33623,\"connection_wait_nanos\":13133428,\"dentry_cache_hits\":26129,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":7490,\"fuse_adapter_attr_misses\":5574,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5729,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":32059,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":48,\"fuse_dispatch_wait_count\":48,\"fuse_dispatch_wait_nanos\":640838,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13064,\"fuse_ino_file_resolutions\":27,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12479,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":603483107,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":638,\"fuse_op_forget_count\":46,\"fuse_op_forget_nanos\":622134,\"fuse_op_getattr_count\":13064,\"fuse_op_getattr_nanos\":86766739,\"fuse_op_lookup_count\":12479,\"fuse_op_lookup_nanos\":168952732,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":744,\"fuse_op_other_count\":3616,\"fuse_op_other_nanos\":121518705,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":37271856,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":66588162,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4777,\"fuse_op_setattr_nanos\":1427862086,\"fuse_op_write_count\":4849,\"fuse_op_write_nanos\":31455804,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":6,\"fuse_read_lane_wait_count\":17870,\"fuse_read_lane_wait_nanos\":3606586,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":45155,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4849,\"fuse_write_lane_wait_count\":10267,\"fuse_write_lane_wait_nanos\":1898317,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20670,\"lookup_base_count\":23,\"lookup_count\":41060,\"lookup_delta_count\":7551,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7248,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14922,\"path_cache_hits\":26129,\"path_cache_misses\":14054,\"path_component_count\":37674,\"path_resolution_count\":8150,\"readdir_count\":1,\"readdir_plus_count\":1416,\"wal_checkpoint_count\":717,\"wal_checkpoint_nanos\":15421605},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"sections\":{\"base\":{\"base_fast_inode_invalidations\":15120,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":1,\"fuse_readdirplus_mode\":2,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_workers_configured\":7,\"fuse_writeback_cache_enabled\":1},\"core\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":1010342344,\"agentfs_batcher_commit_txns\":4816,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4697,\"agentfs_batcher_drains_timer\":16,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1376256,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9412,\"attr_cache_hits\":26122,\"attr_cache_misses\":30824,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1002,\"connection_create\":5,\"connection_reuse\":33618,\"connection_wait_count\":33623,\"connection_wait_nanos\":13133428,\"dentry_cache_hits\":26129,\"dentry_cache_misses\":14054,\"getattr_count\":20670,\"lookup_base_count\":23,\"lookup_count\":41060,\"lookup_delta_count\":7551,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7248,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14922,\"path_cache_hits\":26129,\"path_cache_misses\":14054,\"path_component_count\":37674,\"path_resolution_count\":8150,\"readdir_count\":1,\"readdir_plus_count\":1416,\"wal_checkpoint_count\":717,\"wal_checkpoint_nanos\":15421605},\"fuse\":{\"fuse_adapter_attr_hits\":7490,\"fuse_adapter_attr_misses\":5574,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5729,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":32059,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":48,\"fuse_dispatch_wait_count\":48,\"fuse_dispatch_wait_nanos\":640838,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13064,\"fuse_ino_file_resolutions\":27,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":12479,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":603483107,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":638,\"fuse_op_forget_count\":46,\"fuse_op_forget_nanos\":622134,\"fuse_op_getattr_count\":13064,\"fuse_op_getattr_nanos\":86766739,\"fuse_op_lookup_count\":12479,\"fuse_op_lookup_nanos\":168952732,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":744,\"fuse_op_other_count\":3616,\"fuse_op_other_nanos\":121518705,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":37271856,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":66588162,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4777,\"fuse_op_setattr_nanos\":1427862086,\"fuse_op_write_count\":4849,\"fuse_op_write_nanos\":31455804,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":6,\"fuse_read_lane_wait_count\":17870,\"fuse_read_lane_wait_nanos\":3606586,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":45155,\"fuse_worker_queue_depth_peak\":2,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4849,\"fuse_write_lane_wait_count\":10267,\"fuse_write_lane_wait_nanos\":1898317}},\"source\":\"phase-checkpoint-7\"}\n\nSession: git-workload-d85922b0994b49d3b798ece3b36a4cc4\n\nTo resume this session:\n agentfs run --session git-workload-d85922b0994b49d3b798ece3b36a4cc4\n\nTo see what changed:\n agentfs diff git-workload-d85922b0994b49d3b798ece3b36a4cc4\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":1010342344,\"agentfs_batcher_commit_txns\":4816,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4697,\"agentfs_batcher_drains_timer\":16,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1376256,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9412,\"attr_cache_hits\":26122,\"attr_cache_misses\":30824,\"base_fast_inode_invalidations\":15120,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1002,\"connection_create\":5,\"connection_reuse\":33621,\"connection_wait_count\":33626,\"connection_wait_nanos\":13139933,\"dentry_cache_hits\":26129,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":7490,\"fuse_adapter_attr_misses\":5574,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5729,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":32059,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":48,\"fuse_dispatch_wait_count\":48,\"fuse_dispatch_wait_nanos\":640838,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13064,\"fuse_ino_file_resolutions\":27,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12479,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":603483107,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":638,\"fuse_op_forget_count\":46,\"fuse_op_forget_nanos\":622134,\"fuse_op_getattr_count\":13064,\"fuse_op_getattr_nanos\":86766739,\"fuse_op_lookup_count\":12479,\"fuse_op_lookup_nanos\":168952732,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":744,\"fuse_op_other_count\":3616,\"fuse_op_other_nanos\":121518705,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":37271856,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":66588162,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4777,\"fuse_op_setattr_nanos\":1427862086,\"fuse_op_write_count\":4849,\"fuse_op_write_nanos\":31455804,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":6,\"fuse_read_lane_wait_count\":17870,\"fuse_read_lane_wait_nanos\":3606586,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":45155,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4849,\"fuse_write_lane_wait_count\":10269,\"fuse_write_lane_wait_nanos\":1899928,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20670,\"lookup_base_count\":23,\"lookup_count\":41060,\"lookup_delta_count\":7551,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7248,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14922,\"path_cache_hits\":26129,\"path_cache_misses\":14054,\"path_component_count\":37674,\"path_resolution_count\":8150,\"readdir_count\":1,\"readdir_plus_count\":1416,\"wal_checkpoint_count\":719,\"wal_checkpoint_nanos\":15602480},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"sections\":{\"base\":{\"base_fast_inode_invalidations\":15120,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":1,\"fuse_readdirplus_mode\":2,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_workers_configured\":7,\"fuse_writeback_cache_enabled\":1},\"core\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":1010342344,\"agentfs_batcher_commit_txns\":4816,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4697,\"agentfs_batcher_drains_timer\":16,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1376256,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9412,\"attr_cache_hits\":26122,\"attr_cache_misses\":30824,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1002,\"connection_create\":5,\"connection_reuse\":33621,\"connection_wait_count\":33626,\"connection_wait_nanos\":13139933,\"dentry_cache_hits\":26129,\"dentry_cache_misses\":14054,\"getattr_count\":20670,\"lookup_base_count\":23,\"lookup_count\":41060,\"lookup_delta_count\":7551,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7248,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14922,\"path_cache_hits\":26129,\"path_cache_misses\":14054,\"path_component_count\":37674,\"path_resolution_count\":8150,\"readdir_count\":1,\"readdir_plus_count\":1416,\"wal_checkpoint_count\":719,\"wal_checkpoint_nanos\":15602480},\"fuse\":{\"fuse_adapter_attr_hits\":7490,\"fuse_adapter_attr_misses\":5574,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5729,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":32059,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":48,\"fuse_dispatch_wait_count\":48,\"fuse_dispatch_wait_nanos\":640838,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13064,\"fuse_ino_file_resolutions\":27,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":12479,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":603483107,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":638,\"fuse_op_forget_count\":46,\"fuse_op_forget_nanos\":622134,\"fuse_op_getattr_count\":13064,\"fuse_op_getattr_nanos\":86766739,\"fuse_op_lookup_count\":12479,\"fuse_op_lookup_nanos\":168952732,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":744,\"fuse_op_other_count\":3616,\"fuse_op_other_nanos\":121518705,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":37271856,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":66588162,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4777,\"fuse_op_setattr_nanos\":1427862086,\"fuse_op_write_count\":4849,\"fuse_op_write_nanos\":31455804,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":6,\"fuse_read_lane_wait_count\":17870,\"fuse_read_lane_wait_nanos\":3606586,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":45155,\"fuse_worker_queue_depth_peak\":2,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4849,\"fuse_write_lane_wait_count\":10269,\"fuse_write_lane_wait_nanos\":1899928}},\"source\":\"cli\"}\n",
+ "stdout_bytes": 19108,
+ "stdout_tail": "2026-07-04T01:13:42.778944Z INFO agentfs::fuser::session: resolved FUSE dispatch mode: parallel workers=7 queue_capacity=28\n2026-07-04T01:13:42.779224Z INFO agentfs::fuse: advertising FUSE_OVER_IO_URING\n2026-07-04T01:13:42.779445Z INFO agentfs::fuser::uring: starting fuse-over-io_uring queues nr_queues=14 depth=4\n2026-07-04T01:13:46.157006Z WARN agentfs::fuser::request: Request RequestId(60615): Failed to send reply: No such file or directory (os error 2)\n{\"branch_status\": \"## agentfs-benchmark\\n\", \"diff\": {\"changed_file_count\": 8, \"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.06495013200037647, \"patch_bytes\": 3282, \"patch_sha256\": \"51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc\", \"runs\": {\"name_only\": {\"argv\": [\"git\", \"diff\", \"--name-only\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-8kjmq69z/agentfs-base/work\", \"duration_seconds\": 0.02565217300434597, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 144, \"stdout_tail\": \"docs/CLA.md\\ndocs/agents_md.md\\ndocs/authentication.md\\ndocs/config.md\\ndocs/contributing.md\\ndocs/example-config.md\\ndocs/exec.md\\ndocs/execpolicy.md\\n\"}, \"patch\": {\"argv\": [\"git\", \"diff\", \"--\", \".\"], \"cwd\": \"/tmp/agentfs-git-workload-8kjmq69z/agentfs-base/work\", \"duration_seconds\": 0.020207842011586763, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 3282, \"stdout_tail\": \"diff --git a/docs/CLA.md b/docs/CLA.md\\nindex 804f202..3495ac9 100644\\n--- a/docs/CLA.md\\n+++ b/docs/CLA.md\\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\\n This Agreement is governed by the laws of the **State of California**, USA,\\n excluding its conflict\\u2011of\\u2011laws rules. If any provision is held unenforceable,\\n the remaining provisions remain in force.\\n+\\n+AgentFS Git benchmark edit 00 for docs/CLA.md\\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\\nindex 3df0fac..b8b063d 100644\\n--- a/docs/agents_md.md\\n+++ b/docs/agents_md.md\\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\\n ## Hierarchical agents message\\n \\n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\\n+\\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\\ndiff --git a/docs/authentication.md b/docs/authentication.md\\nindex c307349..b3bc9dc 100644\\n--- a/docs/authentication.md\\n+++ b/docs/authentication.md\\n@@ -1,3 +1,5 @@\\n # Authentication\\n \\n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\\n+\\n+AgentFS Git benchmark edit 02 for docs/authentication.md\\ndiff --git a/docs/config.md b/docs/config.md\\nindex d35b0a8..030e278 100644\\n--- a/docs/config.md\\n+++ b/docs/config.md\\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\\n still allowing managed hooks from requirements and managed config layers. This\\n setting is only supported in `requirements.toml`; putting it in `config.toml`\\n does not enable managed-hooks-only mode.\\n+\\n+AgentFS Git benchmark edit 03 for docs/config.md\\ndiff --git a/docs/contributing.md b/docs/contributing.md\\nindex aeae1f1..b5a22ac 100644\\n--- a/docs/contributing.md\\n+++ b/docs/contributing.md\\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\\n ### Security & responsible AI\\n \\n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\\n+\\n+AgentFS Git benchmark edit 04 for docs/contributing.md\\ndiff --git a/docs/example-config.md b/docs/example-config.md\\nindex 84b1143..b09f835 100644\\n--- a/docs/example-config.md\\n+++ b/docs/example-config.md\\n@@ -1,3 +1,5 @@\\n # Sample configuration\\n \\n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\\n+\\n+AgentFS Git benchmark edit 05 for docs/example-config.md\\ndiff --git a/docs/exec.md b/docs/exec.md\\nindex 57e4323..a81da98 100644\\n--- a/docs/exec.md\\n+++ b/docs/exec.md\\n@@ -1,3 +1,5 @@\\n # Non-interactive mode\\n \\n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\\n+\\n+AgentFS Git benchmark edit 06 for docs/exec.md\\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\\nindex cafebb3..3b48afe 100644\\n--- a/docs/execpolicy.md\\n+++ b/docs/execpolicy.md\\n@@ -1,3 +1,5 @@\\n # Execution policy\\n \\n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\\n+\\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\\n\"}, \"stat\": {\"argv\": [\"git\", \"diff\", \"--stat\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-8kjmq69z/agentfs-base/work\", \"duration_seconds\": 0.019034737997571938, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 283, \"stdout_tail\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}}, \"stat_stdout\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}, \"edits\": {\"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.00608031298907008, \"edits\": [{\"appended_bytes\": 47, \"path\": \"docs/CLA.md\", \"size_after\": 2106, \"size_before\": 2059}, {\"appended_bytes\": 53, \"path\": \"docs/agents_md.md\", \"size_after\": 462, \"size_before\": 409}, {\"appended_bytes\": 58, \"path\": \"docs/authentication.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 50, \"path\": \"docs/config.md\", \"size_after\": 776, \"size_before\": 726}, {\"appended_bytes\": 56, \"path\": \"docs/contributing.md\", \"size_after\": 6380, \"size_before\": 6324}, {\"appended_bytes\": 58, \"path\": \"docs/example-config.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 48, \"path\": \"docs/exec.md\", \"size_after\": 194, \"size_before\": 146}, {\"appended_bytes\": 54, \"path\": \"docs/execpolicy.md\", \"size_after\": 192, \"size_before\": 138}]}, \"fsck\": {\"ok\": true, \"ran\": true, \"run\": {\"argv\": [\"git\", \"fsck\", \"--strict\"], \"cwd\": \"/tmp/agentfs-git-workload-8kjmq69z/agentfs-base/work\", \"duration_seconds\": 0.23771682199731003, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}, \"head_commit\": \"7d47056ea42636271ac020b86347fbbef49490aa\", \"initial_status\": \"\", \"phase_runs\": {\"checkout\": {\"argv\": [\"git\", \"checkout\", \"-B\", \"agentfs-benchmark\"], \"cwd\": \"/tmp/agentfs-git-workload-8kjmq69z/agentfs-base/work\", \"duration_seconds\": 0.06041515500692185, \"returncode\": 0, \"stderr_bytes\": 45, \"stderr_tail\": \"Switched to a new branch 'agentfs-benchmark'\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"clone\": {\"argv\": [\"git\", \"clone\", \"--local\", \"--no-hardlinks\", \"/tmp/agentfs-git-workload-8kjmq69z/agentfs-base/mirror.git\", \"/tmp/agentfs-git-workload-8kjmq69z/agentfs-base/work\"], \"cwd\": \"/tmp/agentfs-git-workload-8kjmq69z/agentfs-base\", \"duration_seconds\": 3.5154075439932058, \"returncode\": 0, \"stderr_bytes\": 2670, \"stderr_tail\": \"Cloning into '/tmp/agentfs-git-workload-8kjmq69z/agentfs-base/work'...\\nwarning: source repository is shallow, ignoring --local\\nwarning: --local is ignored\\nUpdating files: 28% (1309/4644)\\nUpdating files: 29% (1347/4644)\\nUpdating files: 30% (1394/4644)\\nUpdating files: 31% (1440/4644)\\nUpdating files: 32% (1487/4644)\\nUpdating files: 33% (1533/4644)\\nUpdating files: 34% (1579/4644)\\nUpdating files: 35% (1626/4644)\\nUpdating files: 36% (1672/4644)\\nUpdating files: 37% (1719/4644)\\nUpdating files: 38% (1765/4644)\\nUpdating files: 39% (1812/4644)\\nUpdating files: 40% (1858/4644)\\nUpdating files: 41% (1905/4644)\\nUpdating files: 42% (1951/4644)\\nUpdating files: 43% (1997/4644)\\nUpdating files: 44% (2044/4644)\\nUpdating files: 45% (2090/4644)\\nUpdating files: 46% (2137/4644)\\nUpdating files: 47% (2183/4644)\\nUpdating files: 48% (2230/4644)\\nUpdating files: 49% (2276/4644)\\nUpdating files: 50% (2322/4644)\\nUpdating files: 51% (2369/4644)\\nUpdating files: 52% (2415/4644)\\nUpdating files: 53% (2462/4644)\\nUpdating files: 54% (2508/4644)\\nUpdating files: 55% (2555/4644)\\nUpdating files: 56% (2601/4644)\\nUpdating files: 57% (2648/4644)\\nUpdating files: 58% (2694/4644)\\nUpdating files: 59% (2740/4644)\\nUpdating files: 60% (2787/4644)\\nUpdating files: 61% (2833/4644)\\nUpdating files: 61% (2862/4644)\\nUpdating files: 62% (2880/4644)\\nUpdating files: 63% (2926/4644)\\nUpdating files: 64% (2973/4644)\\nUpdating files: 65% (3019/4644)\\nUpdating files: 66% (3066/4644)\\nUpdating files: 67% (3112/4644)\\nUpdating files: 68% (3158/4644)\\nUpdating files: 69% (3205/4644)\\nUpdating files: 70% (3251/4644)\\nUpdating files: 71% (3298/4644)\\nUpdating files: 72% (3344/4644)\\nUpdating files: 73% (3391/4644)\\nUpdating files: 74% (3437/4644)\\nUpdating files: 75% (3483/4644)\\nUpdating files: 76% (3530/4644)\\nUpdating files: 77% (3576/4644)\\nUpdating files: 78% (3623/4644)\\nUpdating files: 79% (3669/4644)\\nUpdating files: 80% (3716/4644)\\nUpdating files: 81% (3762/4644)\\nUpdating files: 82% (3809/4644)\\nUpdating files: 83% (3855/4644)\\nUpdating files: 84% (3901/4644)\\nUpdating files: 85% (3948/4644)\\nUpdating files: 86% (3994/4644)\\nUpdating files: 87% (4041/4644)\\nUpdating files: 88% (4087/4644)\\nUpdating files: 89% (4134/4644)\\nUpdating files: 90% (4180/4644)\\nUpdating files: 91% (4227/4644)\\nUpdating files: 92% (4273/4644)\\nUpdating files: 93% (4319/4644)\\nUpdating files: 94% (4366/4644)\\nUpdating files: 94% (4378/4644)\\nUpdating files: 95% (4412/4644)\\nUpdating files: 96% (4459/4644)\\nUpdating files: 97% (4505/4644)\\nUpdating files: 98% (4552/4644)\\nUpdating files: 99% (4598/4644)\\nUpdating files: 100% (4644/4644)\\nUpdating files: 100% (4644/4644), done.\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"status\": {\"branch\": {\"argv\": [\"git\", \"status\", \"--short\", \"--branch\"], \"cwd\": \"/tmp/agentfs-git-workload-8kjmq69z/agentfs-base/work\", \"duration_seconds\": 0.05948514700867236, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 21, \"stdout_tail\": \"## agentfs-benchmark\\n\"}, \"short\": {\"argv\": [\"git\", \"status\", \"--short\"], \"cwd\": \"/tmp/agentfs-git-workload-8kjmq69z/agentfs-base/work\", \"duration_seconds\": 0.1309478760085767, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}}, \"phase_seconds\": {\"checkout\": 0.06318244199792389, \"clone\": 3.515449283993803, \"diff\": 0.06495013200037647, \"edit\": 0.00608031298907008, \"fsck\": 0.23772984399693087, \"read_search\": 0.010672920994693413, \"status\": 0.19046289600373711}, \"profile_checkpoints\": [\"clone\", \"checkout\", \"status\", \"read_search\", \"edit\", \"diff\", \"fsck\"], \"read_search\": {\"bytes_read\": 117190, \"digest\": \"6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53\", \"files_scanned\": 64, \"files_total\": 4644, \"ls_files_run\": {\"argv\": [\"git\", \"ls-files\", \"-z\"], \"cwd\": \"/tmp/agentfs-git-workload-8kjmq69z/agentfs-base/work\", \"duration_seconds\": 0.007538463003584184, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 263077, \"stdout_tail\": \"i_codex/api.py\\u0000sdk/python/src/openai_codex/async_client.py\\u0000sdk/python/src/openai_codex/client.py\\u0000sdk/python/src/openai_codex/errors.py\\u0000sdk/python/src/openai_codex/generated/__init__.py\\u0000sdk/python/src/openai_codex/generated/notification_registry.py\\u0000sdk/python/src/openai_codex/generated/v2_all.py\\u0000sdk/python/src/openai_codex/models.py\\u0000sdk/python/src/openai_codex/py.typed\\u0000sdk/python/src/openai_codex/retry.py\\u0000sdk/python/src/openai_codex/types.py\\u0000sdk/python/tests/app_server_harness.py\\u0000sdk/python/tests/app_server_helpers.py\\u0000sdk/python/tests/conftest.py\\u0000sdk/python/tests/test_app_server_approvals.py\\u0000sdk/python/tests/test_app_server_inputs.py\\u0000sdk/python/tests/test_app_server_lifecycle.py\\u0000sdk/python/tests/test_app_server_login.py\\u0000sdk/python/tests/test_app_server_run.py\\u0000sdk/python/tests/test_app_server_streaming.py\\u0000sdk/python/tests/test_app_server_turn_controls.py\\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\\u0000sdk/python/tests/test_async_client_behavior.py\\u0000sdk/python/tests/test_client_rpc_methods.py\\u0000sdk/python/tests/test_contract_generation.py\\u0000sdk/python/tests/test_public_api_runtime_behavior.py\\u0000sdk/python/tests/test_public_api_signatures.py\\u0000sdk/python/tests/test_real_app_server_integration.py\\u0000sdk/python/uv.lock\\u0000sdk/typescript/.prettierignore\\u0000sdk/typescript/.prettierrc\\u0000sdk/typescript/README.md\\u0000sdk/typescript/eslint.config.js\\u0000sdk/typescript/jest.config.cjs\\u0000sdk/typescript/package.json\\u0000sdk/typescript/samples/basic_streaming.ts\\u0000sdk/typescript/samples/helpers.ts\\u0000sdk/typescript/samples/structured_output.ts\\u0000sdk/typescript/samples/structured_output_zod.ts\\u0000sdk/typescript/src/codex.ts\\u0000sdk/typescript/src/codexOptions.ts\\u0000sdk/typescript/src/events.ts\\u0000sdk/typescript/src/exec.ts\\u0000sdk/typescript/src/index.ts\\u0000sdk/typescript/src/items.ts\\u0000sdk/typescript/src/outputSchemaFile.ts\\u0000sdk/typescript/src/thread.ts\\u0000sdk/typescript/src/threadOptions.ts\\u0000sdk/typescript/src/turnOptions.ts\\u0000sdk/typescript/tests/abort.test.ts\\u0000sdk/typescript/tests/codexExecSpy.ts\\u0000sdk/typescript/tests/exec.test.ts\\u0000sdk/typescript/tests/responsesProxy.ts\\u0000sdk/typescript/tests/run.test.ts\\u0000sdk/typescript/tests/runStreamed.test.ts\\u0000sdk/typescript/tests/setupCodexHome.ts\\u0000sdk/typescript/tests/testCodex.ts\\u0000sdk/typescript/tsconfig.json\\u0000sdk/typescript/tsup.config.ts\\u0000third_party/v8/BUILD.bazel\\u0000third_party/v8/README.md\\u0000third_party/v8/libcxx.BUILD.bazel\\u0000third_party/v8/libcxx_config/BUILD.bazel\\u0000third_party/v8/libcxx_config/__assertion_handler\\u0000third_party/v8/libcxx_config/__config_site\\u0000third_party/v8/libcxxabi.BUILD.bazel\\u0000third_party/v8/llvm_libc.BUILD.bazel\\u0000third_party/v8/rusty_v8_147_4_0.sha256\\u0000third_party/v8/v8_crate.BUILD.bazel\\u0000third_party/wezterm/LICENSE\\u0000tools/argument-comment-lint/.cargo/config.toml\\u0000tools/argument-comment-lint/.gitignore\\u0000tools/argument-comment-lint/BUILD.bazel\\u0000tools/argument-comment-lint/Cargo.lock\\u0000tools/argument-comment-lint/Cargo.toml\\u0000tools/argument-comment-lint/README.md\\u0000tools/argument-comment-lint/argument-comment-lint\\u0000tools/argument-comment-lint/driver.rs\\u0000tools/argument-comment-lint/lint_aspect.bzl\\u0000tools/argument-comment-lint/list-bazel-targets.sh\\u0000tools/argument-comment-lint/run-prebuilt-linter.py\\u0000tools/argument-comment-lint/run.py\\u0000tools/argument-comment-lint/rust-toolchain\\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\\u0000tools/argument-comment-lint/src/comment_parser.rs\\u0000tools/argument-comment-lint/src/lib.rs\\u0000tools/argument-comment-lint/test_wrapper_common.py\\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\\u0000tools/argument-comment-lint/ui/comment_matches.rs\\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\\u0000tools/argument-comment-lint/wrapper_common.py\\u0000workspace_root_test_launcher.bat.tpl\\u0000workspace_root_test_launcher.sh.tpl\\u0000\"}, \"matches\": 0, \"selected_files\": [\".bazelignore\", \".bazelrc\", \".bazelversion\", \".codespellignore\", \".codespellrc\", \".codex/environments/environment.toml\", \".codex/skills/babysit-pr/SKILL.md\", \".codex/skills/babysit-pr/agents/openai.yaml\", \".codex/skills/babysit-pr/references/github-api-notes.md\", \".codex/skills/babysit-pr/references/heuristics.md\", \".codex/skills/babysit-pr/scripts/gh_pr_watch.py\", \".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py\", \".codex/skills/code-review-breaking-changes/SKILL.md\", \".codex/skills/code-review-change-size/SKILL.md\", \".codex/skills/code-review-context/SKILL.md\", \".codex/skills/code-review-testing/SKILL.md\", \".codex/skills/code-review/SKILL.md\", \".codex/skills/codex-bug/SKILL.md\", \".codex/skills/codex-issue-digest/SKILL.md\", \".codex/skills/codex-issue-digest/agents/openai.yaml\", \".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py\", \".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py\", \".codex/skills/codex-pr-body/SKILL.md\", \".codex/skills/remote-tests/SKILL.md\", \".codex/skills/test-tui/SKILL.md\", \".codex/skills/update-v8-version/SKILL.md\", \".codex/skills/update-v8-version/agents/openai.yaml\", \".devcontainer/Dockerfile\", \".devcontainer/Dockerfile.secure\", \".devcontainer/README.md\", \".devcontainer/codex-install/package.json\", \".devcontainer/codex-install/pnpm-lock.yaml\", \".devcontainer/codex-install/pnpm-workspace.yaml\", \".devcontainer/devcontainer.json\", \".devcontainer/devcontainer.secure.json\", \".devcontainer/init-firewall.sh\", \".devcontainer/post-start.sh\", \".devcontainer/post_install.py\", \".gitattributes\", \".github/CODEOWNERS\", \".github/ISSUE_TEMPLATE/1-codex-app.yml\", \".github/ISSUE_TEMPLATE/2-extension.yml\", \".github/ISSUE_TEMPLATE/3-cli.yml\", \".github/ISSUE_TEMPLATE/4-bug-report.yml\", \".github/ISSUE_TEMPLATE/5-feature-request.yml\", \".github/ISSUE_TEMPLATE/6-docs-issue.yml\", \".github/actions/linux-code-sign/action.yml\", \".github/actions/macos-code-sign/action.yml\", \".github/actions/macos-code-sign/codex.entitlements.plist\", \".github/actions/macos-code-sign/notary_helpers.sh\", \".github/actions/prepare-bazel-ci/action.yml\", \".github/actions/run-argument-comment-lint/action.yml\", \".github/actions/setup-bazel-ci/action.yml\", \".github/actions/setup-msvc-env/action.yml\", \".github/actions/setup-msvc-env/setup-msvc-env.ps1\", \".github/actions/setup-rusty-v8/action.yml\", \".github/actions/windows-code-sign/action.yml\", \".github/blob-size-allowlist.txt\", \".github/codex-cli-splash.png\", \".github/codex/home/config.toml\", \".github/codex/labels/codex-attempt.md\", \".github/codex/labels/codex-review.md\", \".github/codex/labels/codex-rust-review.md\", \".github/codex/labels/codex-triage.md\"], \"token\": \"AGENTFS_TOKEN\"}, \"total_seconds\": 4.789309019004577}\n",
+ "timed_out": false
+ },
+ "workload": {
+ "branch_status": "## agentfs-benchmark\n",
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.06495013200037647,
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc",
+ "runs": {
+ "name_only": {
+ "argv": [
+ "git",
+ "diff",
+ "--name-only",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-8kjmq69z/agentfs-base/work",
+ "duration_seconds": 0.02565217300434597,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 144,
+ "stdout_tail": "docs/CLA.md\ndocs/agents_md.md\ndocs/authentication.md\ndocs/config.md\ndocs/contributing.md\ndocs/example-config.md\ndocs/exec.md\ndocs/execpolicy.md\n"
+ },
+ "patch": {
+ "argv": [
+ "git",
+ "diff",
+ "--",
+ "."
+ ],
+ "cwd": "/tmp/agentfs-git-workload-8kjmq69z/agentfs-base/work",
+ "duration_seconds": 0.020207842011586763,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 3282,
+ "stdout_tail": "diff --git a/docs/CLA.md b/docs/CLA.md\nindex 804f202..3495ac9 100644\n--- a/docs/CLA.md\n+++ b/docs/CLA.md\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\n This Agreement is governed by the laws of the **State of California**, USA,\n excluding its conflict\u2011of\u2011laws rules. If any provision is held unenforceable,\n the remaining provisions remain in force.\n+\n+AgentFS Git benchmark edit 00 for docs/CLA.md\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\nindex 3df0fac..b8b063d 100644\n--- a/docs/agents_md.md\n+++ b/docs/agents_md.md\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\n ## Hierarchical agents message\n \n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\n+\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\ndiff --git a/docs/authentication.md b/docs/authentication.md\nindex c307349..b3bc9dc 100644\n--- a/docs/authentication.md\n+++ b/docs/authentication.md\n@@ -1,3 +1,5 @@\n # Authentication\n \n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\n+\n+AgentFS Git benchmark edit 02 for docs/authentication.md\ndiff --git a/docs/config.md b/docs/config.md\nindex d35b0a8..030e278 100644\n--- a/docs/config.md\n+++ b/docs/config.md\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\n still allowing managed hooks from requirements and managed config layers. This\n setting is only supported in `requirements.toml`; putting it in `config.toml`\n does not enable managed-hooks-only mode.\n+\n+AgentFS Git benchmark edit 03 for docs/config.md\ndiff --git a/docs/contributing.md b/docs/contributing.md\nindex aeae1f1..b5a22ac 100644\n--- a/docs/contributing.md\n+++ b/docs/contributing.md\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\n ### Security & responsible AI\n \n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\n+\n+AgentFS Git benchmark edit 04 for docs/contributing.md\ndiff --git a/docs/example-config.md b/docs/example-config.md\nindex 84b1143..b09f835 100644\n--- a/docs/example-config.md\n+++ b/docs/example-config.md\n@@ -1,3 +1,5 @@\n # Sample configuration\n \n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\n+\n+AgentFS Git benchmark edit 05 for docs/example-config.md\ndiff --git a/docs/exec.md b/docs/exec.md\nindex 57e4323..a81da98 100644\n--- a/docs/exec.md\n+++ b/docs/exec.md\n@@ -1,3 +1,5 @@\n # Non-interactive mode\n \n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\n+\n+AgentFS Git benchmark edit 06 for docs/exec.md\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\nindex cafebb3..3b48afe 100644\n--- a/docs/execpolicy.md\n+++ b/docs/execpolicy.md\n@@ -1,3 +1,5 @@\n # Execution policy\n \n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\n+\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\n"
+ },
+ "stat": {
+ "argv": [
+ "git",
+ "diff",
+ "--stat",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-8kjmq69z/agentfs-base/work",
+ "duration_seconds": 0.019034737997571938,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 283,
+ "stdout_tail": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ }
+ },
+ "stat_stdout": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.00608031298907008,
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true,
+ "run": {
+ "argv": [
+ "git",
+ "fsck",
+ "--strict"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-8kjmq69z/agentfs-base/work",
+ "duration_seconds": 0.23771682199731003,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "phase_runs": {
+ "checkout": {
+ "argv": [
+ "git",
+ "checkout",
+ "-B",
+ "agentfs-benchmark"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-8kjmq69z/agentfs-base/work",
+ "duration_seconds": 0.06041515500692185,
+ "returncode": 0,
+ "stderr_bytes": 45,
+ "stderr_tail": "Switched to a new branch 'agentfs-benchmark'\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "clone": {
+ "argv": [
+ "git",
+ "clone",
+ "--local",
+ "--no-hardlinks",
+ "/tmp/agentfs-git-workload-8kjmq69z/agentfs-base/mirror.git",
+ "/tmp/agentfs-git-workload-8kjmq69z/agentfs-base/work"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-8kjmq69z/agentfs-base",
+ "duration_seconds": 3.5154075439932058,
+ "returncode": 0,
+ "stderr_bytes": 2670,
+ "stderr_tail": "Cloning into '/tmp/agentfs-git-workload-8kjmq69z/agentfs-base/work'...\nwarning: source repository is shallow, ignoring --local\nwarning: --local is ignored\nUpdating files: 28% (1309/4644)\nUpdating files: 29% (1347/4644)\nUpdating files: 30% (1394/4644)\nUpdating files: 31% (1440/4644)\nUpdating files: 32% (1487/4644)\nUpdating files: 33% (1533/4644)\nUpdating files: 34% (1579/4644)\nUpdating files: 35% (1626/4644)\nUpdating files: 36% (1672/4644)\nUpdating files: 37% (1719/4644)\nUpdating files: 38% (1765/4644)\nUpdating files: 39% (1812/4644)\nUpdating files: 40% (1858/4644)\nUpdating files: 41% (1905/4644)\nUpdating files: 42% (1951/4644)\nUpdating files: 43% (1997/4644)\nUpdating files: 44% (2044/4644)\nUpdating files: 45% (2090/4644)\nUpdating files: 46% (2137/4644)\nUpdating files: 47% (2183/4644)\nUpdating files: 48% (2230/4644)\nUpdating files: 49% (2276/4644)\nUpdating files: 50% (2322/4644)\nUpdating files: 51% (2369/4644)\nUpdating files: 52% (2415/4644)\nUpdating files: 53% (2462/4644)\nUpdating files: 54% (2508/4644)\nUpdating files: 55% (2555/4644)\nUpdating files: 56% (2601/4644)\nUpdating files: 57% (2648/4644)\nUpdating files: 58% (2694/4644)\nUpdating files: 59% (2740/4644)\nUpdating files: 60% (2787/4644)\nUpdating files: 61% (2833/4644)\nUpdating files: 61% (2862/4644)\nUpdating files: 62% (2880/4644)\nUpdating files: 63% (2926/4644)\nUpdating files: 64% (2973/4644)\nUpdating files: 65% (3019/4644)\nUpdating files: 66% (3066/4644)\nUpdating files: 67% (3112/4644)\nUpdating files: 68% (3158/4644)\nUpdating files: 69% (3205/4644)\nUpdating files: 70% (3251/4644)\nUpdating files: 71% (3298/4644)\nUpdating files: 72% (3344/4644)\nUpdating files: 73% (3391/4644)\nUpdating files: 74% (3437/4644)\nUpdating files: 75% (3483/4644)\nUpdating files: 76% (3530/4644)\nUpdating files: 77% (3576/4644)\nUpdating files: 78% (3623/4644)\nUpdating files: 79% (3669/4644)\nUpdating files: 80% (3716/4644)\nUpdating files: 81% (3762/4644)\nUpdating files: 82% (3809/4644)\nUpdating files: 83% (3855/4644)\nUpdating files: 84% (3901/4644)\nUpdating files: 85% (3948/4644)\nUpdating files: 86% (3994/4644)\nUpdating files: 87% (4041/4644)\nUpdating files: 88% (4087/4644)\nUpdating files: 89% (4134/4644)\nUpdating files: 90% (4180/4644)\nUpdating files: 91% (4227/4644)\nUpdating files: 92% (4273/4644)\nUpdating files: 93% (4319/4644)\nUpdating files: 94% (4366/4644)\nUpdating files: 94% (4378/4644)\nUpdating files: 95% (4412/4644)\nUpdating files: 96% (4459/4644)\nUpdating files: 97% (4505/4644)\nUpdating files: 98% (4552/4644)\nUpdating files: 99% (4598/4644)\nUpdating files: 100% (4644/4644)\nUpdating files: 100% (4644/4644), done.\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "status": {
+ "branch": {
+ "argv": [
+ "git",
+ "status",
+ "--short",
+ "--branch"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-8kjmq69z/agentfs-base/work",
+ "duration_seconds": 0.05948514700867236,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 21,
+ "stdout_tail": "## agentfs-benchmark\n"
+ },
+ "short": {
+ "argv": [
+ "git",
+ "status",
+ "--short"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-8kjmq69z/agentfs-base/work",
+ "duration_seconds": 0.1309478760085767,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ }
+ },
+ "phase_seconds": {
+ "checkout": 0.06318244199792389,
+ "clone": 3.515449283993803,
+ "diff": 0.06495013200037647,
+ "edit": 0.00608031298907008,
+ "fsck": 0.23772984399693087,
+ "read_search": 0.010672920994693413,
+ "status": 0.19046289600373711
+ },
+ "profile_checkpoints": [
+ "clone",
+ "checkout",
+ "status",
+ "read_search",
+ "edit",
+ "diff",
+ "fsck"
+ ],
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "ls_files_run": {
+ "argv": [
+ "git",
+ "ls-files",
+ "-z"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-8kjmq69z/agentfs-base/work",
+ "duration_seconds": 0.007538463003584184,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 263077,
+ "stdout_tail": "i_codex/api.py\u0000sdk/python/src/openai_codex/async_client.py\u0000sdk/python/src/openai_codex/client.py\u0000sdk/python/src/openai_codex/errors.py\u0000sdk/python/src/openai_codex/generated/__init__.py\u0000sdk/python/src/openai_codex/generated/notification_registry.py\u0000sdk/python/src/openai_codex/generated/v2_all.py\u0000sdk/python/src/openai_codex/models.py\u0000sdk/python/src/openai_codex/py.typed\u0000sdk/python/src/openai_codex/retry.py\u0000sdk/python/src/openai_codex/types.py\u0000sdk/python/tests/app_server_harness.py\u0000sdk/python/tests/app_server_helpers.py\u0000sdk/python/tests/conftest.py\u0000sdk/python/tests/test_app_server_approvals.py\u0000sdk/python/tests/test_app_server_inputs.py\u0000sdk/python/tests/test_app_server_lifecycle.py\u0000sdk/python/tests/test_app_server_login.py\u0000sdk/python/tests/test_app_server_run.py\u0000sdk/python/tests/test_app_server_streaming.py\u0000sdk/python/tests/test_app_server_turn_controls.py\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\u0000sdk/python/tests/test_async_client_behavior.py\u0000sdk/python/tests/test_client_rpc_methods.py\u0000sdk/python/tests/test_contract_generation.py\u0000sdk/python/tests/test_public_api_runtime_behavior.py\u0000sdk/python/tests/test_public_api_signatures.py\u0000sdk/python/tests/test_real_app_server_integration.py\u0000sdk/python/uv.lock\u0000sdk/typescript/.prettierignore\u0000sdk/typescript/.prettierrc\u0000sdk/typescript/README.md\u0000sdk/typescript/eslint.config.js\u0000sdk/typescript/jest.config.cjs\u0000sdk/typescript/package.json\u0000sdk/typescript/samples/basic_streaming.ts\u0000sdk/typescript/samples/helpers.ts\u0000sdk/typescript/samples/structured_output.ts\u0000sdk/typescript/samples/structured_output_zod.ts\u0000sdk/typescript/src/codex.ts\u0000sdk/typescript/src/codexOptions.ts\u0000sdk/typescript/src/events.ts\u0000sdk/typescript/src/exec.ts\u0000sdk/typescript/src/index.ts\u0000sdk/typescript/src/items.ts\u0000sdk/typescript/src/outputSchemaFile.ts\u0000sdk/typescript/src/thread.ts\u0000sdk/typescript/src/threadOptions.ts\u0000sdk/typescript/src/turnOptions.ts\u0000sdk/typescript/tests/abort.test.ts\u0000sdk/typescript/tests/codexExecSpy.ts\u0000sdk/typescript/tests/exec.test.ts\u0000sdk/typescript/tests/responsesProxy.ts\u0000sdk/typescript/tests/run.test.ts\u0000sdk/typescript/tests/runStreamed.test.ts\u0000sdk/typescript/tests/setupCodexHome.ts\u0000sdk/typescript/tests/testCodex.ts\u0000sdk/typescript/tsconfig.json\u0000sdk/typescript/tsup.config.ts\u0000third_party/v8/BUILD.bazel\u0000third_party/v8/README.md\u0000third_party/v8/libcxx.BUILD.bazel\u0000third_party/v8/libcxx_config/BUILD.bazel\u0000third_party/v8/libcxx_config/__assertion_handler\u0000third_party/v8/libcxx_config/__config_site\u0000third_party/v8/libcxxabi.BUILD.bazel\u0000third_party/v8/llvm_libc.BUILD.bazel\u0000third_party/v8/rusty_v8_147_4_0.sha256\u0000third_party/v8/v8_crate.BUILD.bazel\u0000third_party/wezterm/LICENSE\u0000tools/argument-comment-lint/.cargo/config.toml\u0000tools/argument-comment-lint/.gitignore\u0000tools/argument-comment-lint/BUILD.bazel\u0000tools/argument-comment-lint/Cargo.lock\u0000tools/argument-comment-lint/Cargo.toml\u0000tools/argument-comment-lint/README.md\u0000tools/argument-comment-lint/argument-comment-lint\u0000tools/argument-comment-lint/driver.rs\u0000tools/argument-comment-lint/lint_aspect.bzl\u0000tools/argument-comment-lint/list-bazel-targets.sh\u0000tools/argument-comment-lint/run-prebuilt-linter.py\u0000tools/argument-comment-lint/run.py\u0000tools/argument-comment-lint/rust-toolchain\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\u0000tools/argument-comment-lint/src/comment_parser.rs\u0000tools/argument-comment-lint/src/lib.rs\u0000tools/argument-comment-lint/test_wrapper_common.py\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\u0000tools/argument-comment-lint/ui/comment_matches.rs\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\u0000tools/argument-comment-lint/wrapper_common.py\u0000workspace_root_test_launcher.bat.tpl\u0000workspace_root_test_launcher.sh.tpl\u0000"
+ },
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ],
+ "token": "AGENTFS_TOKEN"
+ },
+ "total_seconds": 4.789309019004577
+ }
+ },
+ "base_tree": {
+ "after": {
+ "bytes": 9207621,
+ "directories": 10,
+ "files": 23,
+ "sha256": "82e89864e870a8be89c5426bdee7b5a337ae2076d53c71a033173cde841a0a8e",
+ "symlinks": 0
+ },
+ "before": {
+ "bytes": 9207621,
+ "directories": 10,
+ "files": 23,
+ "sha256": "82e89864e870a8be89c5426bdee7b5a337ae2076d53c71a033173cde841a0a8e",
+ "symlinks": 0
+ },
+ "unchanged": true
+ },
+ "benchmark": "phase7-git-workload",
+ "command": {
+ "agentfs_prefix": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "run",
+ "--session",
+ "git-workload-d85922b0994b49d3b798ece3b36a4cc4",
+ "--no-default-allows",
+ "--"
+ ],
+ "argv": [
+ "/home/ain3sh/factory/vfs/scripts/validation/git-workload-benchmark.py",
+ "--output",
+ "/tmp/vfs-val/misc-a-bench-rebaseline/run3.json.iterations/iter-00.json",
+ "--source",
+ ".agents/benchmarks/fixtures/codex",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8"
+ ],
+ "workload_argv": [
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ]
+ },
+ "correctness": {
+ "agentfs_backup_verify": true,
+ "agentfs_base_unchanged": true,
+ "agentfs_db_inspectable": true,
+ "agentfs_integrity_require_portable": true,
+ "agentfs_no_nonempty_sidecars": true,
+ "agentfs_portable": true,
+ "agentfs_returncode_zero": true,
+ "equivalence": {
+ "agentfs": {
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ]
+ }
+ },
+ "checked": true,
+ "equivalent": true,
+ "native": {
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ]
+ }
+ }
+ },
+ "native_returncode_zero": true,
+ "passed": true,
+ "performance_passed": false
+ },
+ "database": {
+ "after": {
+ "artifacts": [
+ {
+ "bytes": 57147392,
+ "path": "/tmp/agentfs-git-workload-8kjmq69z/home/.agentfs/run/git-workload-d85922b0994b49d3b798ece3b36a4cc4/delta.db"
+ }
+ ],
+ "path": "/tmp/agentfs-git-workload-8kjmq69z/home/.agentfs/run/git-workload-d85922b0994b49d3b798ece3b36a4cc4/delta.db",
+ "total_bytes": 57147392
+ },
+ "backup": {
+ "artifacts": {
+ "artifacts": [
+ {
+ "bytes": 57147392,
+ "path": "/tmp/agentfs-git-workload-8kjmq69z/git-workload-backup.db"
+ }
+ ],
+ "path": "/tmp/agentfs-git-workload-8kjmq69z/git-workload-backup.db",
+ "total_bytes": 57147392
+ },
+ "inspect": {
+ "fs_chunk_override_rows": 0,
+ "fs_config": {
+ "chunk_size": "65536",
+ "inline_threshold": "16384",
+ "schema_version": "0.5"
+ },
+ "fs_data_bytes": 41204221,
+ "fs_data_rows": 960,
+ "fs_inline_bytes": 11434794,
+ "fs_inode_rows": 5385,
+ "fs_origin_rows": 0,
+ "fs_partial_origin_rows": 0,
+ "fs_whiteout_rows": 0,
+ "inline_inode_rows": 4060,
+ "inspectable": true,
+ "portability_status": {
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true,
+ "stored_bytes": 52639015
+ }
+ },
+ "path": "/tmp/agentfs-git-workload-8kjmq69z/git-workload-backup.db",
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "backup",
+ "/tmp/agentfs-git-workload-8kjmq69z/home/.agentfs/run/git-workload-d85922b0994b49d3b798ece3b36a4cc4/delta.db",
+ "/tmp/agentfs-git-workload-8kjmq69z/git-workload-backup.db",
+ "--verify"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-8kjmq69z",
+ "duration_seconds": 2.7143653749953955,
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 0,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 0,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 0,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 0,
+ "fuse_op_getattr_nanos": 0,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 0,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_workers_configured": 0,
+ "fuse_writeback_cache_enabled": 0
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 0,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 0,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 0,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 0,
+ "fuse_op_getattr_nanos": 0,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 0,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0
+ }
+ },
+ "source": "cli"
+ }
+ ],
+ "returncode": 0,
+ "stderr_bytes": 7355,
+ "stderr_tail": "{\"counters\":{\"agentfs_batcher_coalesced_ranges\":0,\"agentfs_batcher_commit_latency_ns_total\":0,\"agentfs_batcher_commit_txns\":0,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":0,\"agentfs_batcher_drains_timer\":0,\"agentfs_batcher_enqueues\":0,\"agentfs_batcher_pending_max_bytes\":0,\"agentfs_batcher_txn_inodes_max\":0,\"agentfs_batcher_txn_inodes_total\":0,\"attr_cache_hits\":0,\"attr_cache_misses\":0,\"base_fast_inode_invalidations\":0,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":0,\"chunk_read_queries\":0,\"chunk_write_chunks\":0,\"connection_create\":0,\"connection_reuse\":0,\"connection_wait_count\":0,\"connection_wait_nanos\":0,\"dentry_cache_hits\":0,\"dentry_cache_misses\":0,\"fuse_adapter_attr_hits\":0,\"fuse_adapter_attr_misses\":0,\"fuse_adapter_entry_hits\":0,\"fuse_adapter_entry_misses\":0,\"fuse_adapter_inval_entry_notifications\":0,\"fuse_adapter_inval_inode_notifications\":0,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":0,\"fuse_adapter_negative_misses\":0,\"fuse_callback_count\":0,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":0,\"fuse_dispatch_parallel_tasks\":0,\"fuse_dispatch_wait_count\":0,\"fuse_dispatch_wait_nanos\":0,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":0,\"fuse_flush_count\":0,\"fuse_flush_ranges\":0,\"fuse_getattr_count\":0,\"fuse_ino_file_resolutions\":0,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":0,\"fuse_lookup_count\":0,\"fuse_noflush_enosys_replies\":0,\"fuse_noopen_enosys_replies\":0,\"fuse_op_create_count\":0,\"fuse_op_create_nanos\":0,\"fuse_op_flush_count\":0,\"fuse_op_flush_nanos\":0,\"fuse_op_forget_count\":0,\"fuse_op_forget_nanos\":0,\"fuse_op_getattr_count\":0,\"fuse_op_getattr_nanos\":0,\"fuse_op_lookup_count\":0,\"fuse_op_lookup_nanos\":0,\"fuse_op_open_count\":0,\"fuse_op_open_nanos\":0,\"fuse_op_other_count\":0,\"fuse_op_other_nanos\":0,\"fuse_op_read_count\":0,\"fuse_op_read_nanos\":0,\"fuse_op_readdirplus_count\":0,\"fuse_op_readdirplus_nanos\":0,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":0,\"fuse_op_setattr_nanos\":0,\"fuse_op_write_count\":0,\"fuse_op_write_nanos\":0,\"fuse_open_count\":0,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":0,\"fuse_read_lane_max_concurrent\":0,\"fuse_read_lane_wait_count\":0,\"fuse_read_lane_wait_nanos\":0,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":0,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":0,\"fuse_readdirplus_do_requested\":0,\"fuse_readdirplus_mode\":0,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":0,\"fuse_ttl_entry_ms\":0,\"fuse_ttl_neg_ms\":0,\"fuse_uring_requests\":0,\"fuse_worker_queue_depth_peak\":0,\"fuse_workers_configured\":0,\"fuse_write_bytes\":0,\"fuse_write_count\":0,\"fuse_write_lane_wait_count\":0,\"fuse_write_lane_wait_nanos\":0,\"fuse_writeback_cache_enabled\":0,\"getattr_count\":0,\"lookup_base_count\":0,\"lookup_count\":0,\"lookup_delta_count\":0,\"lookup_whiteout_count\":0,\"negative_cache_hits\":0,\"negative_cache_invalidations\":0,\"negative_cache_misses\":0,\"negative_lookup_count\":0,\"path_cache_hits\":0,\"path_cache_misses\":0,\"path_component_count\":0,\"path_resolution_count\":0,\"readdir_count\":0,\"readdir_plus_count\":0,\"wal_checkpoint_count\":0,\"wal_checkpoint_nanos\":0},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"sections\":{\"base\":{\"base_fast_inode_invalidations\":0,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":0,\"fuse_readdirplus_mode\":0,\"fuse_ttl_attr_ms\":0,\"fuse_ttl_entry_ms\":0,\"fuse_ttl_neg_ms\":0,\"fuse_workers_configured\":0,\"fuse_writeback_cache_enabled\":0},\"core\":{\"agentfs_batcher_coalesced_ranges\":0,\"agentfs_batcher_commit_latency_ns_total\":0,\"agentfs_batcher_commit_txns\":0,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":0,\"agentfs_batcher_drains_timer\":0,\"agentfs_batcher_enqueues\":0,\"agentfs_batcher_pending_max_bytes\":0,\"agentfs_batcher_txn_inodes_max\":0,\"agentfs_batcher_txn_inodes_total\":0,\"attr_cache_hits\":0,\"attr_cache_misses\":0,\"chunk_read_chunks\":0,\"chunk_read_queries\":0,\"chunk_write_chunks\":0,\"connection_create\":0,\"connection_reuse\":0,\"connection_wait_count\":0,\"connection_wait_nanos\":0,\"dentry_cache_hits\":0,\"dentry_cache_misses\":0,\"getattr_count\":0,\"lookup_base_count\":0,\"lookup_count\":0,\"lookup_delta_count\":0,\"lookup_whiteout_count\":0,\"negative_cache_hits\":0,\"negative_cache_invalidations\":0,\"negative_cache_misses\":0,\"negative_lookup_count\":0,\"path_cache_hits\":0,\"path_cache_misses\":0,\"path_component_count\":0,\"path_resolution_count\":0,\"readdir_count\":0,\"readdir_plus_count\":0,\"wal_checkpoint_count\":0,\"wal_checkpoint_nanos\":0},\"fuse\":{\"fuse_adapter_attr_hits\":0,\"fuse_adapter_attr_misses\":0,\"fuse_adapter_entry_hits\":0,\"fuse_adapter_entry_misses\":0,\"fuse_adapter_inval_entry_notifications\":0,\"fuse_adapter_inval_inode_notifications\":0,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":0,\"fuse_adapter_negative_misses\":0,\"fuse_callback_count\":0,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":0,\"fuse_dispatch_parallel_tasks\":0,\"fuse_dispatch_wait_count\":0,\"fuse_dispatch_wait_nanos\":0,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":0,\"fuse_flush_count\":0,\"fuse_flush_ranges\":0,\"fuse_getattr_count\":0,\"fuse_ino_file_resolutions\":0,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":0,\"fuse_noflush_enosys_replies\":0,\"fuse_noopen_enosys_replies\":0,\"fuse_op_create_count\":0,\"fuse_op_create_nanos\":0,\"fuse_op_flush_count\":0,\"fuse_op_flush_nanos\":0,\"fuse_op_forget_count\":0,\"fuse_op_forget_nanos\":0,\"fuse_op_getattr_count\":0,\"fuse_op_getattr_nanos\":0,\"fuse_op_lookup_count\":0,\"fuse_op_lookup_nanos\":0,\"fuse_op_open_count\":0,\"fuse_op_open_nanos\":0,\"fuse_op_other_count\":0,\"fuse_op_other_nanos\":0,\"fuse_op_read_count\":0,\"fuse_op_read_nanos\":0,\"fuse_op_readdirplus_count\":0,\"fuse_op_readdirplus_nanos\":0,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":0,\"fuse_op_setattr_nanos\":0,\"fuse_op_write_count\":0,\"fuse_op_write_nanos\":0,\"fuse_open_count\":0,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":0,\"fuse_read_lane_max_concurrent\":0,\"fuse_read_lane_wait_count\":0,\"fuse_read_lane_wait_nanos\":0,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":0,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":0,\"fuse_readdirplus_do_requested\":0,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":0,\"fuse_worker_queue_depth_peak\":0,\"fuse_write_bytes\":0,\"fuse_write_count\":0,\"fuse_write_lane_wait_count\":0,\"fuse_write_lane_wait_nanos\":0}},\"source\":\"cli\"}\n",
+ "stdout_bytes": 241,
+ "stdout_tail": "Source: /tmp/agentfs-git-workload-8kjmq69z/home/.agentfs/run/git-workload-d85922b0994b49d3b798ece3b36a4cc4/delta.db\nBackup: /tmp/agentfs-git-workload-8kjmq69z/git-workload-backup.db\nCheckpoint: complete\nCopy: complete\nVerification: complete\n",
+ "timed_out": false
+ }
+ },
+ "inspect_after": {
+ "fs_chunk_override_rows": 0,
+ "fs_config": {
+ "chunk_size": "65536",
+ "inline_threshold": "16384",
+ "schema_version": "0.5"
+ },
+ "fs_data_bytes": 41204221,
+ "fs_data_rows": 960,
+ "fs_inline_bytes": 11434794,
+ "fs_inode_rows": 5385,
+ "fs_origin_rows": 0,
+ "fs_partial_origin_rows": 0,
+ "fs_whiteout_rows": 0,
+ "inline_inode_rows": 4060,
+ "inspectable": true,
+ "portability_status": {
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true,
+ "stored_bytes": 52639015
+ }
+ },
+ "integrity": {
+ "result": {
+ "checks": [
+ {
+ "detail": "ok",
+ "name": "pragma.integrity_check",
+ "ok": true,
+ "violating_rows": null
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_config",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_inode",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_dentry",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_symlink",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.kv_store",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.tool_calls",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 0.5",
+ "name": "config.schema_version",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 65536",
+ "name": "config.chunk_size",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 16384",
+ "name": "config.inline_threshold",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.kind_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_has_no_chunks",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunked_has_no_inline_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_size_matches_blob",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_only_regular_files",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.non_regular_has_no_inline_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_reference_inodes",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_nonnegative_index",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunk_length_within_chunk_size",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_only_regular_files",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 1, expected 1",
+ "name": "namespace.root_inode",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_parent_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_parent_is_directory",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_target_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.non_root_inode_has_dentry",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_names_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.non_directory_nlink_matches_dentries",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.directory_nlink_positive",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "symlink.rows_reference_symlink_inodes",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "symlink.inodes_have_rows",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "portable: no partial-origin rows",
+ "name": "overlay.portability_status",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "portable requirement satisfied",
+ "name": "overlay.require_portable",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.origin_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_delta_inode_regular",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_sizes_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_paths_absolute",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_nonnegative_index",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_references_partial_origin",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_unique",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_index_in_range",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.whiteout_paths_absolute",
+ "ok": true,
+ "violating_rows": 0
+ }
+ ],
+ "database": "/tmp/agentfs-git-workload-8kjmq69z/home/.agentfs/run/git-workload-d85922b0994b49d3b798ece3b36a4cc4/delta.db",
+ "ok": true,
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true
+ },
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "integrity",
+ "/tmp/agentfs-git-workload-8kjmq69z/home/.agentfs/run/git-workload-d85922b0994b49d3b798ece3b36a4cc4/delta.db",
+ "--json",
+ "--require-portable"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-8kjmq69z",
+ "duration_seconds": 2.879678741999669,
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 0,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 0,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 0,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 0,
+ "fuse_op_getattr_nanos": 0,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 0,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_workers_configured": 0,
+ "fuse_writeback_cache_enabled": 0
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 0,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 0,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 0,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 0,
+ "fuse_op_getattr_nanos": 0,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 0,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0
+ }
+ },
+ "source": "cli"
+ }
+ ],
+ "returncode": 0,
+ "stderr_bytes": 7355,
+ "stderr_tail": "{\"counters\":{\"agentfs_batcher_coalesced_ranges\":0,\"agentfs_batcher_commit_latency_ns_total\":0,\"agentfs_batcher_commit_txns\":0,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":0,\"agentfs_batcher_drains_timer\":0,\"agentfs_batcher_enqueues\":0,\"agentfs_batcher_pending_max_bytes\":0,\"agentfs_batcher_txn_inodes_max\":0,\"agentfs_batcher_txn_inodes_total\":0,\"attr_cache_hits\":0,\"attr_cache_misses\":0,\"base_fast_inode_invalidations\":0,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":0,\"chunk_read_queries\":0,\"chunk_write_chunks\":0,\"connection_create\":0,\"connection_reuse\":0,\"connection_wait_count\":0,\"connection_wait_nanos\":0,\"dentry_cache_hits\":0,\"dentry_cache_misses\":0,\"fuse_adapter_attr_hits\":0,\"fuse_adapter_attr_misses\":0,\"fuse_adapter_entry_hits\":0,\"fuse_adapter_entry_misses\":0,\"fuse_adapter_inval_entry_notifications\":0,\"fuse_adapter_inval_inode_notifications\":0,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":0,\"fuse_adapter_negative_misses\":0,\"fuse_callback_count\":0,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":0,\"fuse_dispatch_parallel_tasks\":0,\"fuse_dispatch_wait_count\":0,\"fuse_dispatch_wait_nanos\":0,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":0,\"fuse_flush_count\":0,\"fuse_flush_ranges\":0,\"fuse_getattr_count\":0,\"fuse_ino_file_resolutions\":0,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":0,\"fuse_lookup_count\":0,\"fuse_noflush_enosys_replies\":0,\"fuse_noopen_enosys_replies\":0,\"fuse_op_create_count\":0,\"fuse_op_create_nanos\":0,\"fuse_op_flush_count\":0,\"fuse_op_flush_nanos\":0,\"fuse_op_forget_count\":0,\"fuse_op_forget_nanos\":0,\"fuse_op_getattr_count\":0,\"fuse_op_getattr_nanos\":0,\"fuse_op_lookup_count\":0,\"fuse_op_lookup_nanos\":0,\"fuse_op_open_count\":0,\"fuse_op_open_nanos\":0,\"fuse_op_other_count\":0,\"fuse_op_other_nanos\":0,\"fuse_op_read_count\":0,\"fuse_op_read_nanos\":0,\"fuse_op_readdirplus_count\":0,\"fuse_op_readdirplus_nanos\":0,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":0,\"fuse_op_setattr_nanos\":0,\"fuse_op_write_count\":0,\"fuse_op_write_nanos\":0,\"fuse_open_count\":0,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":0,\"fuse_read_lane_max_concurrent\":0,\"fuse_read_lane_wait_count\":0,\"fuse_read_lane_wait_nanos\":0,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":0,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":0,\"fuse_readdirplus_do_requested\":0,\"fuse_readdirplus_mode\":0,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":0,\"fuse_ttl_entry_ms\":0,\"fuse_ttl_neg_ms\":0,\"fuse_uring_requests\":0,\"fuse_worker_queue_depth_peak\":0,\"fuse_workers_configured\":0,\"fuse_write_bytes\":0,\"fuse_write_count\":0,\"fuse_write_lane_wait_count\":0,\"fuse_write_lane_wait_nanos\":0,\"fuse_writeback_cache_enabled\":0,\"getattr_count\":0,\"lookup_base_count\":0,\"lookup_count\":0,\"lookup_delta_count\":0,\"lookup_whiteout_count\":0,\"negative_cache_hits\":0,\"negative_cache_invalidations\":0,\"negative_cache_misses\":0,\"negative_lookup_count\":0,\"path_cache_hits\":0,\"path_cache_misses\":0,\"path_component_count\":0,\"path_resolution_count\":0,\"readdir_count\":0,\"readdir_plus_count\":0,\"wal_checkpoint_count\":0,\"wal_checkpoint_nanos\":0},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"sections\":{\"base\":{\"base_fast_inode_invalidations\":0,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":0,\"fuse_readdirplus_mode\":0,\"fuse_ttl_attr_ms\":0,\"fuse_ttl_entry_ms\":0,\"fuse_ttl_neg_ms\":0,\"fuse_workers_configured\":0,\"fuse_writeback_cache_enabled\":0},\"core\":{\"agentfs_batcher_coalesced_ranges\":0,\"agentfs_batcher_commit_latency_ns_total\":0,\"agentfs_batcher_commit_txns\":0,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":0,\"agentfs_batcher_drains_timer\":0,\"agentfs_batcher_enqueues\":0,\"agentfs_batcher_pending_max_bytes\":0,\"agentfs_batcher_txn_inodes_max\":0,\"agentfs_batcher_txn_inodes_total\":0,\"attr_cache_hits\":0,\"attr_cache_misses\":0,\"chunk_read_chunks\":0,\"chunk_read_queries\":0,\"chunk_write_chunks\":0,\"connection_create\":0,\"connection_reuse\":0,\"connection_wait_count\":0,\"connection_wait_nanos\":0,\"dentry_cache_hits\":0,\"dentry_cache_misses\":0,\"getattr_count\":0,\"lookup_base_count\":0,\"lookup_count\":0,\"lookup_delta_count\":0,\"lookup_whiteout_count\":0,\"negative_cache_hits\":0,\"negative_cache_invalidations\":0,\"negative_cache_misses\":0,\"negative_lookup_count\":0,\"path_cache_hits\":0,\"path_cache_misses\":0,\"path_component_count\":0,\"path_resolution_count\":0,\"readdir_count\":0,\"readdir_plus_count\":0,\"wal_checkpoint_count\":0,\"wal_checkpoint_nanos\":0},\"fuse\":{\"fuse_adapter_attr_hits\":0,\"fuse_adapter_attr_misses\":0,\"fuse_adapter_entry_hits\":0,\"fuse_adapter_entry_misses\":0,\"fuse_adapter_inval_entry_notifications\":0,\"fuse_adapter_inval_inode_notifications\":0,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":0,\"fuse_adapter_negative_misses\":0,\"fuse_callback_count\":0,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":0,\"fuse_dispatch_parallel_tasks\":0,\"fuse_dispatch_wait_count\":0,\"fuse_dispatch_wait_nanos\":0,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":0,\"fuse_flush_count\":0,\"fuse_flush_ranges\":0,\"fuse_getattr_count\":0,\"fuse_ino_file_resolutions\":0,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":0,\"fuse_noflush_enosys_replies\":0,\"fuse_noopen_enosys_replies\":0,\"fuse_op_create_count\":0,\"fuse_op_create_nanos\":0,\"fuse_op_flush_count\":0,\"fuse_op_flush_nanos\":0,\"fuse_op_forget_count\":0,\"fuse_op_forget_nanos\":0,\"fuse_op_getattr_count\":0,\"fuse_op_getattr_nanos\":0,\"fuse_op_lookup_count\":0,\"fuse_op_lookup_nanos\":0,\"fuse_op_open_count\":0,\"fuse_op_open_nanos\":0,\"fuse_op_other_count\":0,\"fuse_op_other_nanos\":0,\"fuse_op_read_count\":0,\"fuse_op_read_nanos\":0,\"fuse_op_readdirplus_count\":0,\"fuse_op_readdirplus_nanos\":0,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":0,\"fuse_op_setattr_nanos\":0,\"fuse_op_write_count\":0,\"fuse_op_write_nanos\":0,\"fuse_open_count\":0,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":0,\"fuse_read_lane_max_concurrent\":0,\"fuse_read_lane_wait_count\":0,\"fuse_read_lane_wait_nanos\":0,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":0,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":0,\"fuse_readdirplus_do_requested\":0,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":0,\"fuse_worker_queue_depth_peak\":0,\"fuse_write_bytes\":0,\"fuse_write_count\":0,\"fuse_write_lane_wait_count\":0,\"fuse_write_lane_wait_nanos\":0}},\"source\":\"cli\"}\n",
+ "stdout_bytes": 6395,
+ "stdout_tail": "{\n \"database\": \"/tmp/agentfs-git-workload-8kjmq69z/home/.agentfs/run/git-workload-d85922b0994b49d3b798ece3b36a4cc4/delta.db\",\n \"ok\": true,\n \"portable\": true,\n \"origin_backed\": false,\n \"partial_origin_rows\": 0,\n \"checks\": [\n {\n \"name\": \"pragma.integrity_check\",\n \"ok\": true,\n \"detail\": \"ok\",\n \"violating_rows\": null\n },\n {\n \"name\": \"schema.table.fs_config\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_inode\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_dentry\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_data\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_symlink\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.kv_store\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.tool_calls\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.schema_version\",\n \"ok\": true,\n \"detail\": \"found 0.5\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.chunk_size\",\n \"ok\": true,\n \"detail\": \"found 65536\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.inline_threshold\",\n \"ok\": true,\n \"detail\": \"found 16384\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.kind_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_has_no_chunks\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunked_has_no_inline_data\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_size_matches_blob\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_only_regular_files\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.non_regular_has_no_inline_data\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_reference_inodes\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_nonnegative_index\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunk_length_within_chunk_size\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_only_regular_files\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.root_inode\",\n \"ok\": true,\n \"detail\": \"found 1, expected 1\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_parent_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_parent_is_directory\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_target_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.non_root_inode_has_dentry\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_names_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.non_directory_nlink_matches_dentries\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.directory_nlink_positive\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"symlink.rows_reference_symlink_inodes\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"symlink.inodes_have_rows\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.portability_status\",\n \"ok\": true,\n \"detail\": \"portable: no partial-origin rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.require_portable\",\n \"ok\": true,\n \"detail\": \"portable requirement satisfied\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.origin_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_delta_inode_regular\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_sizes_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_paths_absolute\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_nonnegative_index\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_references_partial_origin\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_unique\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_index_in_range\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.whiteout_paths_absolute\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n }\n ]\n}\n",
+ "timed_out": false
+ }
+ },
+ "nonempty_sidecars": false
+ },
+ "environment": {
+ "AGENTFS_BIN": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "AGENTFS_PROFILE": "1"
+ },
+ "git_commit": "2b811f03493e861e5a7786592d25ac73b39e1aba",
+ "kept_temp": false,
+ "native": {
+ "run": {
+ "argv": [
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-8kjmq69z/native",
+ "duration_seconds": 1.152063450004789,
+ "profile_summaries": [],
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 15983,
+ "stdout_tail": "{\"branch_status\": \"## agentfs-benchmark\\n\", \"diff\": {\"changed_file_count\": 8, \"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.19561760700889863, \"patch_bytes\": 3282, \"patch_sha256\": \"51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc\", \"runs\": {\"name_only\": {\"argv\": [\"git\", \"diff\", \"--name-only\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-8kjmq69z/native/work\", \"duration_seconds\": 0.08078276600281242, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 144, \"stdout_tail\": \"docs/CLA.md\\ndocs/agents_md.md\\ndocs/authentication.md\\ndocs/config.md\\ndocs/contributing.md\\ndocs/example-config.md\\ndocs/exec.md\\ndocs/execpolicy.md\\n\"}, \"patch\": {\"argv\": [\"git\", \"diff\", \"--\", \".\"], \"cwd\": \"/tmp/agentfs-git-workload-8kjmq69z/native/work\", \"duration_seconds\": 0.0579187940020347, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 3282, \"stdout_tail\": \"diff --git a/docs/CLA.md b/docs/CLA.md\\nindex 804f202..3495ac9 100644\\n--- a/docs/CLA.md\\n+++ b/docs/CLA.md\\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\\n This Agreement is governed by the laws of the **State of California**, USA,\\n excluding its conflict\\u2011of\\u2011laws rules. If any provision is held unenforceable,\\n the remaining provisions remain in force.\\n+\\n+AgentFS Git benchmark edit 00 for docs/CLA.md\\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\\nindex 3df0fac..b8b063d 100644\\n--- a/docs/agents_md.md\\n+++ b/docs/agents_md.md\\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\\n ## Hierarchical agents message\\n \\n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\\n+\\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\\ndiff --git a/docs/authentication.md b/docs/authentication.md\\nindex c307349..b3bc9dc 100644\\n--- a/docs/authentication.md\\n+++ b/docs/authentication.md\\n@@ -1,3 +1,5 @@\\n # Authentication\\n \\n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\\n+\\n+AgentFS Git benchmark edit 02 for docs/authentication.md\\ndiff --git a/docs/config.md b/docs/config.md\\nindex d35b0a8..030e278 100644\\n--- a/docs/config.md\\n+++ b/docs/config.md\\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\\n still allowing managed hooks from requirements and managed config layers. This\\n setting is only supported in `requirements.toml`; putting it in `config.toml`\\n does not enable managed-hooks-only mode.\\n+\\n+AgentFS Git benchmark edit 03 for docs/config.md\\ndiff --git a/docs/contributing.md b/docs/contributing.md\\nindex aeae1f1..b5a22ac 100644\\n--- a/docs/contributing.md\\n+++ b/docs/contributing.md\\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\\n ### Security & responsible AI\\n \\n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\\n+\\n+AgentFS Git benchmark edit 04 for docs/contributing.md\\ndiff --git a/docs/example-config.md b/docs/example-config.md\\nindex 84b1143..b09f835 100644\\n--- a/docs/example-config.md\\n+++ b/docs/example-config.md\\n@@ -1,3 +1,5 @@\\n # Sample configuration\\n \\n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\\n+\\n+AgentFS Git benchmark edit 05 for docs/example-config.md\\ndiff --git a/docs/exec.md b/docs/exec.md\\nindex 57e4323..a81da98 100644\\n--- a/docs/exec.md\\n+++ b/docs/exec.md\\n@@ -1,3 +1,5 @@\\n # Non-interactive mode\\n \\n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\\n+\\n+AgentFS Git benchmark edit 06 for docs/exec.md\\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\\nindex cafebb3..3b48afe 100644\\n--- a/docs/execpolicy.md\\n+++ b/docs/execpolicy.md\\n@@ -1,3 +1,5 @@\\n # Execution policy\\n \\n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\\n+\\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\\n\"}, \"stat\": {\"argv\": [\"git\", \"diff\", \"--stat\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-8kjmq69z/native/work\", \"duration_seconds\": 0.05683751800097525, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 283, \"stdout_tail\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}}, \"stat_stdout\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}, \"edits\": {\"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.0010122020030394197, \"edits\": [{\"appended_bytes\": 47, \"path\": \"docs/CLA.md\", \"size_after\": 2106, \"size_before\": 2059}, {\"appended_bytes\": 53, \"path\": \"docs/agents_md.md\", \"size_after\": 462, \"size_before\": 409}, {\"appended_bytes\": 58, \"path\": \"docs/authentication.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 50, \"path\": \"docs/config.md\", \"size_after\": 776, \"size_before\": 726}, {\"appended_bytes\": 56, \"path\": \"docs/contributing.md\", \"size_after\": 6380, \"size_before\": 6324}, {\"appended_bytes\": 58, \"path\": \"docs/example-config.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 48, \"path\": \"docs/exec.md\", \"size_after\": 194, \"size_before\": 146}, {\"appended_bytes\": 54, \"path\": \"docs/execpolicy.md\", \"size_after\": 192, \"size_before\": 138}]}, \"fsck\": {\"ok\": true, \"ran\": true, \"run\": {\"argv\": [\"git\", \"fsck\", \"--strict\"], \"cwd\": \"/tmp/agentfs-git-workload-8kjmq69z/native/work\", \"duration_seconds\": 0.21747226201114245, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}, \"head_commit\": \"7d47056ea42636271ac020b86347fbbef49490aa\", \"initial_status\": \"\", \"phase_runs\": {\"checkout\": {\"argv\": [\"git\", \"checkout\", \"-B\", \"agentfs-benchmark\"], \"cwd\": \"/tmp/agentfs-git-workload-8kjmq69z/native/work\", \"duration_seconds\": 0.11604733800049871, \"returncode\": 0, \"stderr_bytes\": 45, \"stderr_tail\": \"Switched to a new branch 'agentfs-benchmark'\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"clone\": {\"argv\": [\"git\", \"clone\", \"--local\", \"--no-hardlinks\", \"/tmp/agentfs-git-workload-8kjmq69z/native/mirror.git\", \"/tmp/agentfs-git-workload-8kjmq69z/native/work\"], \"cwd\": \"/tmp/agentfs-git-workload-8kjmq69z/native\", \"duration_seconds\": 0.4125937500066357, \"returncode\": 0, \"stderr_bytes\": 149, \"stderr_tail\": \"Cloning into '/tmp/agentfs-git-workload-8kjmq69z/native/work'...\\nwarning: source repository is shallow, ignoring --local\\nwarning: --local is ignored\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"status\": {\"branch\": {\"argv\": [\"git\", \"status\", \"--short\", \"--branch\"], \"cwd\": \"/tmp/agentfs-git-workload-8kjmq69z/native/work\", \"duration_seconds\": 0.05681486199318897, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 21, \"stdout_tail\": \"## agentfs-benchmark\\n\"}, \"short\": {\"argv\": [\"git\", \"status\", \"--short\"], \"cwd\": \"/tmp/agentfs-git-workload-8kjmq69z/native/work\", \"duration_seconds\": 0.06506867999269161, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}}, \"phase_seconds\": {\"checkout\": 0.11891778999415692, \"clone\": 0.41264774699811824, \"diff\": 0.19561760700889863, \"edit\": 0.0010122020030394197, \"fsck\": 0.21748976400704123, \"read_search\": 0.009386195000843145, \"status\": 0.12191534000157844}, \"profile_checkpoints\": [\"clone\", \"checkout\", \"status\", \"read_search\", \"edit\", \"diff\", \"fsck\"], \"read_search\": {\"bytes_read\": 117190, \"digest\": \"6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53\", \"files_scanned\": 64, \"files_total\": 4644, \"ls_files_run\": {\"argv\": [\"git\", \"ls-files\", \"-z\"], \"cwd\": \"/tmp/agentfs-git-workload-8kjmq69z/native/work\", \"duration_seconds\": 0.004784304997883737, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 263077, \"stdout_tail\": \"i_codex/api.py\\u0000sdk/python/src/openai_codex/async_client.py\\u0000sdk/python/src/openai_codex/client.py\\u0000sdk/python/src/openai_codex/errors.py\\u0000sdk/python/src/openai_codex/generated/__init__.py\\u0000sdk/python/src/openai_codex/generated/notification_registry.py\\u0000sdk/python/src/openai_codex/generated/v2_all.py\\u0000sdk/python/src/openai_codex/models.py\\u0000sdk/python/src/openai_codex/py.typed\\u0000sdk/python/src/openai_codex/retry.py\\u0000sdk/python/src/openai_codex/types.py\\u0000sdk/python/tests/app_server_harness.py\\u0000sdk/python/tests/app_server_helpers.py\\u0000sdk/python/tests/conftest.py\\u0000sdk/python/tests/test_app_server_approvals.py\\u0000sdk/python/tests/test_app_server_inputs.py\\u0000sdk/python/tests/test_app_server_lifecycle.py\\u0000sdk/python/tests/test_app_server_login.py\\u0000sdk/python/tests/test_app_server_run.py\\u0000sdk/python/tests/test_app_server_streaming.py\\u0000sdk/python/tests/test_app_server_turn_controls.py\\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\\u0000sdk/python/tests/test_async_client_behavior.py\\u0000sdk/python/tests/test_client_rpc_methods.py\\u0000sdk/python/tests/test_contract_generation.py\\u0000sdk/python/tests/test_public_api_runtime_behavior.py\\u0000sdk/python/tests/test_public_api_signatures.py\\u0000sdk/python/tests/test_real_app_server_integration.py\\u0000sdk/python/uv.lock\\u0000sdk/typescript/.prettierignore\\u0000sdk/typescript/.prettierrc\\u0000sdk/typescript/README.md\\u0000sdk/typescript/eslint.config.js\\u0000sdk/typescript/jest.config.cjs\\u0000sdk/typescript/package.json\\u0000sdk/typescript/samples/basic_streaming.ts\\u0000sdk/typescript/samples/helpers.ts\\u0000sdk/typescript/samples/structured_output.ts\\u0000sdk/typescript/samples/structured_output_zod.ts\\u0000sdk/typescript/src/codex.ts\\u0000sdk/typescript/src/codexOptions.ts\\u0000sdk/typescript/src/events.ts\\u0000sdk/typescript/src/exec.ts\\u0000sdk/typescript/src/index.ts\\u0000sdk/typescript/src/items.ts\\u0000sdk/typescript/src/outputSchemaFile.ts\\u0000sdk/typescript/src/thread.ts\\u0000sdk/typescript/src/threadOptions.ts\\u0000sdk/typescript/src/turnOptions.ts\\u0000sdk/typescript/tests/abort.test.ts\\u0000sdk/typescript/tests/codexExecSpy.ts\\u0000sdk/typescript/tests/exec.test.ts\\u0000sdk/typescript/tests/responsesProxy.ts\\u0000sdk/typescript/tests/run.test.ts\\u0000sdk/typescript/tests/runStreamed.test.ts\\u0000sdk/typescript/tests/setupCodexHome.ts\\u0000sdk/typescript/tests/testCodex.ts\\u0000sdk/typescript/tsconfig.json\\u0000sdk/typescript/tsup.config.ts\\u0000third_party/v8/BUILD.bazel\\u0000third_party/v8/README.md\\u0000third_party/v8/libcxx.BUILD.bazel\\u0000third_party/v8/libcxx_config/BUILD.bazel\\u0000third_party/v8/libcxx_config/__assertion_handler\\u0000third_party/v8/libcxx_config/__config_site\\u0000third_party/v8/libcxxabi.BUILD.bazel\\u0000third_party/v8/llvm_libc.BUILD.bazel\\u0000third_party/v8/rusty_v8_147_4_0.sha256\\u0000third_party/v8/v8_crate.BUILD.bazel\\u0000third_party/wezterm/LICENSE\\u0000tools/argument-comment-lint/.cargo/config.toml\\u0000tools/argument-comment-lint/.gitignore\\u0000tools/argument-comment-lint/BUILD.bazel\\u0000tools/argument-comment-lint/Cargo.lock\\u0000tools/argument-comment-lint/Cargo.toml\\u0000tools/argument-comment-lint/README.md\\u0000tools/argument-comment-lint/argument-comment-lint\\u0000tools/argument-comment-lint/driver.rs\\u0000tools/argument-comment-lint/lint_aspect.bzl\\u0000tools/argument-comment-lint/list-bazel-targets.sh\\u0000tools/argument-comment-lint/run-prebuilt-linter.py\\u0000tools/argument-comment-lint/run.py\\u0000tools/argument-comment-lint/rust-toolchain\\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\\u0000tools/argument-comment-lint/src/comment_parser.rs\\u0000tools/argument-comment-lint/src/lib.rs\\u0000tools/argument-comment-lint/test_wrapper_common.py\\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\\u0000tools/argument-comment-lint/ui/comment_matches.rs\\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\\u0000tools/argument-comment-lint/wrapper_common.py\\u0000workspace_root_test_launcher.bat.tpl\\u0000workspace_root_test_launcher.sh.tpl\\u0000\"}, \"matches\": 0, \"selected_files\": [\".bazelignore\", \".bazelrc\", \".bazelversion\", \".codespellignore\", \".codespellrc\", \".codex/environments/environment.toml\", \".codex/skills/babysit-pr/SKILL.md\", \".codex/skills/babysit-pr/agents/openai.yaml\", \".codex/skills/babysit-pr/references/github-api-notes.md\", \".codex/skills/babysit-pr/references/heuristics.md\", \".codex/skills/babysit-pr/scripts/gh_pr_watch.py\", \".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py\", \".codex/skills/code-review-breaking-changes/SKILL.md\", \".codex/skills/code-review-change-size/SKILL.md\", \".codex/skills/code-review-context/SKILL.md\", \".codex/skills/code-review-testing/SKILL.md\", \".codex/skills/code-review/SKILL.md\", \".codex/skills/codex-bug/SKILL.md\", \".codex/skills/codex-issue-digest/SKILL.md\", \".codex/skills/codex-issue-digest/agents/openai.yaml\", \".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py\", \".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py\", \".codex/skills/codex-pr-body/SKILL.md\", \".codex/skills/remote-tests/SKILL.md\", \".codex/skills/test-tui/SKILL.md\", \".codex/skills/update-v8-version/SKILL.md\", \".codex/skills/update-v8-version/agents/openai.yaml\", \".devcontainer/Dockerfile\", \".devcontainer/Dockerfile.secure\", \".devcontainer/README.md\", \".devcontainer/codex-install/package.json\", \".devcontainer/codex-install/pnpm-lock.yaml\", \".devcontainer/codex-install/pnpm-workspace.yaml\", \".devcontainer/devcontainer.json\", \".devcontainer/devcontainer.secure.json\", \".devcontainer/init-firewall.sh\", \".devcontainer/post-start.sh\", \".devcontainer/post_install.py\", \".gitattributes\", \".github/CODEOWNERS\", \".github/ISSUE_TEMPLATE/1-codex-app.yml\", \".github/ISSUE_TEMPLATE/2-extension.yml\", \".github/ISSUE_TEMPLATE/3-cli.yml\", \".github/ISSUE_TEMPLATE/4-bug-report.yml\", \".github/ISSUE_TEMPLATE/5-feature-request.yml\", \".github/ISSUE_TEMPLATE/6-docs-issue.yml\", \".github/actions/linux-code-sign/action.yml\", \".github/actions/macos-code-sign/action.yml\", \".github/actions/macos-code-sign/codex.entitlements.plist\", \".github/actions/macos-code-sign/notary_helpers.sh\", \".github/actions/prepare-bazel-ci/action.yml\", \".github/actions/run-argument-comment-lint/action.yml\", \".github/actions/setup-bazel-ci/action.yml\", \".github/actions/setup-msvc-env/action.yml\", \".github/actions/setup-msvc-env/setup-msvc-env.ps1\", \".github/actions/setup-rusty-v8/action.yml\", \".github/actions/windows-code-sign/action.yml\", \".github/blob-size-allowlist.txt\", \".github/codex-cli-splash.png\", \".github/codex/home/config.toml\", \".github/codex/labels/codex-attempt.md\", \".github/codex/labels/codex-review.md\", \".github/codex/labels/codex-rust-review.md\", \".github/codex/labels/codex-triage.md\"], \"token\": \"AGENTFS_TOKEN\"}, \"total_seconds\": 1.07730795101088}\n",
+ "timed_out": false
+ },
+ "workload": {
+ "branch_status": "## agentfs-benchmark\n",
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.19561760700889863,
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc",
+ "runs": {
+ "name_only": {
+ "argv": [
+ "git",
+ "diff",
+ "--name-only",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-8kjmq69z/native/work",
+ "duration_seconds": 0.08078276600281242,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 144,
+ "stdout_tail": "docs/CLA.md\ndocs/agents_md.md\ndocs/authentication.md\ndocs/config.md\ndocs/contributing.md\ndocs/example-config.md\ndocs/exec.md\ndocs/execpolicy.md\n"
+ },
+ "patch": {
+ "argv": [
+ "git",
+ "diff",
+ "--",
+ "."
+ ],
+ "cwd": "/tmp/agentfs-git-workload-8kjmq69z/native/work",
+ "duration_seconds": 0.0579187940020347,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 3282,
+ "stdout_tail": "diff --git a/docs/CLA.md b/docs/CLA.md\nindex 804f202..3495ac9 100644\n--- a/docs/CLA.md\n+++ b/docs/CLA.md\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\n This Agreement is governed by the laws of the **State of California**, USA,\n excluding its conflict\u2011of\u2011laws rules. If any provision is held unenforceable,\n the remaining provisions remain in force.\n+\n+AgentFS Git benchmark edit 00 for docs/CLA.md\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\nindex 3df0fac..b8b063d 100644\n--- a/docs/agents_md.md\n+++ b/docs/agents_md.md\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\n ## Hierarchical agents message\n \n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\n+\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\ndiff --git a/docs/authentication.md b/docs/authentication.md\nindex c307349..b3bc9dc 100644\n--- a/docs/authentication.md\n+++ b/docs/authentication.md\n@@ -1,3 +1,5 @@\n # Authentication\n \n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\n+\n+AgentFS Git benchmark edit 02 for docs/authentication.md\ndiff --git a/docs/config.md b/docs/config.md\nindex d35b0a8..030e278 100644\n--- a/docs/config.md\n+++ b/docs/config.md\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\n still allowing managed hooks from requirements and managed config layers. This\n setting is only supported in `requirements.toml`; putting it in `config.toml`\n does not enable managed-hooks-only mode.\n+\n+AgentFS Git benchmark edit 03 for docs/config.md\ndiff --git a/docs/contributing.md b/docs/contributing.md\nindex aeae1f1..b5a22ac 100644\n--- a/docs/contributing.md\n+++ b/docs/contributing.md\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\n ### Security & responsible AI\n \n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\n+\n+AgentFS Git benchmark edit 04 for docs/contributing.md\ndiff --git a/docs/example-config.md b/docs/example-config.md\nindex 84b1143..b09f835 100644\n--- a/docs/example-config.md\n+++ b/docs/example-config.md\n@@ -1,3 +1,5 @@\n # Sample configuration\n \n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\n+\n+AgentFS Git benchmark edit 05 for docs/example-config.md\ndiff --git a/docs/exec.md b/docs/exec.md\nindex 57e4323..a81da98 100644\n--- a/docs/exec.md\n+++ b/docs/exec.md\n@@ -1,3 +1,5 @@\n # Non-interactive mode\n \n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\n+\n+AgentFS Git benchmark edit 06 for docs/exec.md\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\nindex cafebb3..3b48afe 100644\n--- a/docs/execpolicy.md\n+++ b/docs/execpolicy.md\n@@ -1,3 +1,5 @@\n # Execution policy\n \n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\n+\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\n"
+ },
+ "stat": {
+ "argv": [
+ "git",
+ "diff",
+ "--stat",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-8kjmq69z/native/work",
+ "duration_seconds": 0.05683751800097525,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 283,
+ "stdout_tail": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ }
+ },
+ "stat_stdout": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.0010122020030394197,
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true,
+ "run": {
+ "argv": [
+ "git",
+ "fsck",
+ "--strict"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-8kjmq69z/native/work",
+ "duration_seconds": 0.21747226201114245,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "phase_runs": {
+ "checkout": {
+ "argv": [
+ "git",
+ "checkout",
+ "-B",
+ "agentfs-benchmark"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-8kjmq69z/native/work",
+ "duration_seconds": 0.11604733800049871,
+ "returncode": 0,
+ "stderr_bytes": 45,
+ "stderr_tail": "Switched to a new branch 'agentfs-benchmark'\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "clone": {
+ "argv": [
+ "git",
+ "clone",
+ "--local",
+ "--no-hardlinks",
+ "/tmp/agentfs-git-workload-8kjmq69z/native/mirror.git",
+ "/tmp/agentfs-git-workload-8kjmq69z/native/work"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-8kjmq69z/native",
+ "duration_seconds": 0.4125937500066357,
+ "returncode": 0,
+ "stderr_bytes": 149,
+ "stderr_tail": "Cloning into '/tmp/agentfs-git-workload-8kjmq69z/native/work'...\nwarning: source repository is shallow, ignoring --local\nwarning: --local is ignored\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "status": {
+ "branch": {
+ "argv": [
+ "git",
+ "status",
+ "--short",
+ "--branch"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-8kjmq69z/native/work",
+ "duration_seconds": 0.05681486199318897,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 21,
+ "stdout_tail": "## agentfs-benchmark\n"
+ },
+ "short": {
+ "argv": [
+ "git",
+ "status",
+ "--short"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-8kjmq69z/native/work",
+ "duration_seconds": 0.06506867999269161,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ }
+ },
+ "phase_seconds": {
+ "checkout": 0.11891778999415692,
+ "clone": 0.41264774699811824,
+ "diff": 0.19561760700889863,
+ "edit": 0.0010122020030394197,
+ "fsck": 0.21748976400704123,
+ "read_search": 0.009386195000843145,
+ "status": 0.12191534000157844
+ },
+ "profile_checkpoints": [
+ "clone",
+ "checkout",
+ "status",
+ "read_search",
+ "edit",
+ "diff",
+ "fsck"
+ ],
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "ls_files_run": {
+ "argv": [
+ "git",
+ "ls-files",
+ "-z"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-8kjmq69z/native/work",
+ "duration_seconds": 0.004784304997883737,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 263077,
+ "stdout_tail": "i_codex/api.py\u0000sdk/python/src/openai_codex/async_client.py\u0000sdk/python/src/openai_codex/client.py\u0000sdk/python/src/openai_codex/errors.py\u0000sdk/python/src/openai_codex/generated/__init__.py\u0000sdk/python/src/openai_codex/generated/notification_registry.py\u0000sdk/python/src/openai_codex/generated/v2_all.py\u0000sdk/python/src/openai_codex/models.py\u0000sdk/python/src/openai_codex/py.typed\u0000sdk/python/src/openai_codex/retry.py\u0000sdk/python/src/openai_codex/types.py\u0000sdk/python/tests/app_server_harness.py\u0000sdk/python/tests/app_server_helpers.py\u0000sdk/python/tests/conftest.py\u0000sdk/python/tests/test_app_server_approvals.py\u0000sdk/python/tests/test_app_server_inputs.py\u0000sdk/python/tests/test_app_server_lifecycle.py\u0000sdk/python/tests/test_app_server_login.py\u0000sdk/python/tests/test_app_server_run.py\u0000sdk/python/tests/test_app_server_streaming.py\u0000sdk/python/tests/test_app_server_turn_controls.py\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\u0000sdk/python/tests/test_async_client_behavior.py\u0000sdk/python/tests/test_client_rpc_methods.py\u0000sdk/python/tests/test_contract_generation.py\u0000sdk/python/tests/test_public_api_runtime_behavior.py\u0000sdk/python/tests/test_public_api_signatures.py\u0000sdk/python/tests/test_real_app_server_integration.py\u0000sdk/python/uv.lock\u0000sdk/typescript/.prettierignore\u0000sdk/typescript/.prettierrc\u0000sdk/typescript/README.md\u0000sdk/typescript/eslint.config.js\u0000sdk/typescript/jest.config.cjs\u0000sdk/typescript/package.json\u0000sdk/typescript/samples/basic_streaming.ts\u0000sdk/typescript/samples/helpers.ts\u0000sdk/typescript/samples/structured_output.ts\u0000sdk/typescript/samples/structured_output_zod.ts\u0000sdk/typescript/src/codex.ts\u0000sdk/typescript/src/codexOptions.ts\u0000sdk/typescript/src/events.ts\u0000sdk/typescript/src/exec.ts\u0000sdk/typescript/src/index.ts\u0000sdk/typescript/src/items.ts\u0000sdk/typescript/src/outputSchemaFile.ts\u0000sdk/typescript/src/thread.ts\u0000sdk/typescript/src/threadOptions.ts\u0000sdk/typescript/src/turnOptions.ts\u0000sdk/typescript/tests/abort.test.ts\u0000sdk/typescript/tests/codexExecSpy.ts\u0000sdk/typescript/tests/exec.test.ts\u0000sdk/typescript/tests/responsesProxy.ts\u0000sdk/typescript/tests/run.test.ts\u0000sdk/typescript/tests/runStreamed.test.ts\u0000sdk/typescript/tests/setupCodexHome.ts\u0000sdk/typescript/tests/testCodex.ts\u0000sdk/typescript/tsconfig.json\u0000sdk/typescript/tsup.config.ts\u0000third_party/v8/BUILD.bazel\u0000third_party/v8/README.md\u0000third_party/v8/libcxx.BUILD.bazel\u0000third_party/v8/libcxx_config/BUILD.bazel\u0000third_party/v8/libcxx_config/__assertion_handler\u0000third_party/v8/libcxx_config/__config_site\u0000third_party/v8/libcxxabi.BUILD.bazel\u0000third_party/v8/llvm_libc.BUILD.bazel\u0000third_party/v8/rusty_v8_147_4_0.sha256\u0000third_party/v8/v8_crate.BUILD.bazel\u0000third_party/wezterm/LICENSE\u0000tools/argument-comment-lint/.cargo/config.toml\u0000tools/argument-comment-lint/.gitignore\u0000tools/argument-comment-lint/BUILD.bazel\u0000tools/argument-comment-lint/Cargo.lock\u0000tools/argument-comment-lint/Cargo.toml\u0000tools/argument-comment-lint/README.md\u0000tools/argument-comment-lint/argument-comment-lint\u0000tools/argument-comment-lint/driver.rs\u0000tools/argument-comment-lint/lint_aspect.bzl\u0000tools/argument-comment-lint/list-bazel-targets.sh\u0000tools/argument-comment-lint/run-prebuilt-linter.py\u0000tools/argument-comment-lint/run.py\u0000tools/argument-comment-lint/rust-toolchain\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\u0000tools/argument-comment-lint/src/comment_parser.rs\u0000tools/argument-comment-lint/src/lib.rs\u0000tools/argument-comment-lint/test_wrapper_common.py\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\u0000tools/argument-comment-lint/ui/comment_matches.rs\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\u0000tools/argument-comment-lint/wrapper_common.py\u0000workspace_root_test_launcher.bat.tpl\u0000workspace_root_test_launcher.sh.tpl\u0000"
+ },
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ],
+ "token": "AGENTFS_TOKEN"
+ },
+ "total_seconds": 1.07730795101088
+ }
+ },
+ "parameters": {
+ "edit_files": 8,
+ "fixture_dirs": 8,
+ "fixture_file_size_bytes": 1024,
+ "fixture_files": 96,
+ "read_bytes": 4096,
+ "read_files": 64,
+ "search_token": "AGENTFS_TOKEN",
+ "skip_fsck": false,
+ "timeout_seconds": 180.0
+ },
+ "schema_version": 1,
+ "source": {
+ "kind": "source",
+ "mirror_head": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "path": "/home/ain3sh/factory/vfs/.agents/benchmarks/fixtures/codex"
+ },
+ "summary": {
+ "agentfs_base_unchanged": true,
+ "agentfs_seconds": 4.789309019004577,
+ "all_equivalent": true,
+ "correctness_passed": true,
+ "native_seconds": 1.07730795101088,
+ "passed": true,
+ "performance_passed": false,
+ "phase_ratios": {
+ "checkout": {
+ "agentfs_seconds": 0.06318244199792389,
+ "native_seconds": 0.11891778999415692,
+ "ratio": 0.5313119424858836
+ },
+ "clone": {
+ "agentfs_seconds": 3.515449283993803,
+ "native_seconds": 0.41264774699811824,
+ "ratio": 8.51924991610298
+ },
+ "diff": {
+ "agentfs_seconds": 0.06495013200037647,
+ "native_seconds": 0.19561760700889863,
+ "ratio": 0.3320260021247571
+ },
+ "edit": {
+ "agentfs_seconds": 0.00608031298907008,
+ "native_seconds": 0.0010122020030394197,
+ "ratio": 6.0070153692763295
+ },
+ "fsck": {
+ "agentfs_seconds": 0.23772984399693087,
+ "native_seconds": 0.21748976400704123,
+ "ratio": 1.0930622187315187
+ },
+ "read_search": {
+ "agentfs_seconds": 0.010672920994693413,
+ "native_seconds": 0.009386195000843145,
+ "ratio": 1.1370870724222844
+ },
+ "status": {
+ "agentfs_seconds": 0.19046289600373711,
+ "native_seconds": 0.12191534000157844,
+ "ratio": 1.562255381490723
+ }
+ },
+ "ratio": 4.445626725868477,
+ "threshold_failures": [
+ {
+ "agentfs_seconds": 3.515449283993803,
+ "native_seconds": 0.41264774699811824,
+ "phase": "clone",
+ "ratio": 8.51924991610298
+ },
+ {
+ "agentfs_seconds": 0.00608031298907008,
+ "native_seconds": 0.0010122020030394197,
+ "phase": "edit",
+ "ratio": 6.0070153692763295
+ }
+ ]
+ },
+ "temp_dir": "/tmp/agentfs-git-workload-8kjmq69z"
+}
diff --git a/.agents/benchmarks/restructure-baseline/medians-post-m3.json.iterations/iter-01.json b/.agents/benchmarks/restructure-baseline/medians-post-m3.json.iterations/iter-01.json
new file mode 100644
index 00000000..ad6f65cf
--- /dev/null
+++ b/.agents/benchmarks/restructure-baseline/medians-post-m3.json.iterations/iter-01.json
@@ -0,0 +1,8686 @@
+{
+ "agentfs": {
+ "bin": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "db_path": "/tmp/agentfs-git-workload-qcdrpuw6/home/.agentfs/run/git-workload-14fbea9ebb104bf2b3f13d669d6de464/delta.db",
+ "per_phase_counters": {
+ "checkpoint_count": 7,
+ "label_count": 7,
+ "labels_aligned": true,
+ "phases": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 36,
+ "agentfs_batcher_commit_latency_ns_total": 793963655,
+ "agentfs_batcher_commit_txns": 4780,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4681,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4731,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25920,
+ "attr_cache_misses": 29058,
+ "base_fast_inode_invalidations": 15031,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 970,
+ "connection_create": 2,
+ "connection_reuse": 31213,
+ "connection_wait_count": 31215,
+ "connection_wait_nanos": 9511223,
+ "dentry_cache_hits": 26033,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 92,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5281,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21782,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 35,
+ "fuse_dispatch_wait_count": 35,
+ "fuse_dispatch_wait_nanos": 565645,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52539545,
+ "fuse_flush_count": 4731,
+ "fuse_flush_ranges": 4731,
+ "fuse_getattr_count": 5026,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11698,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 470554097,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 33,
+ "fuse_op_forget_nanos": 961875,
+ "fuse_op_getattr_count": 5026,
+ "fuse_op_getattr_nanos": 50990564,
+ "fuse_op_lookup_count": 11698,
+ "fuse_op_lookup_nanos": 124727987,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 783,
+ "fuse_op_other_nanos": 95364166,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 28440514,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 2483112,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1126358331,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 23708287,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16156,
+ "fuse_read_lane_wait_nanos": 2438969,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32006,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10204,
+ "fuse_write_lane_wait_nanos": 1834580,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19338,
+ "lookup_base_count": 23,
+ "lookup_count": 40290,
+ "lookup_delta_count": 7192,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6776,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14258,
+ "path_cache_hits": 26033,
+ "path_cache_misses": 13426,
+ "path_component_count": 32905,
+ "path_resolution_count": 7119,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1946817
+ },
+ "phase": "clone",
+ "seq": 1
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 2,
+ "agentfs_batcher_commit_latency_ns_total": 3321399,
+ "agentfs_batcher_commit_txns": 10,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 5,
+ "agentfs_batcher_drains_timer": 2,
+ "agentfs_batcher_enqueues": 9,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 14,
+ "attr_cache_hits": 242,
+ "attr_cache_misses": 1773,
+ "base_fast_inode_invalidations": 51,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 10,
+ "chunk_read_queries": 6,
+ "chunk_write_chunks": 12,
+ "connection_create": 6,
+ "connection_reuse": 626,
+ "connection_wait_count": 632,
+ "connection_wait_nanos": 285279,
+ "dentry_cache_hits": 73,
+ "dentry_cache_misses": 56,
+ "fuse_adapter_attr_hits": 4578,
+ "fuse_adapter_attr_misses": 695,
+ "fuse_adapter_entry_hits": 2,
+ "fuse_adapter_entry_misses": 35,
+ "fuse_adapter_inval_entry_notifications": 10,
+ "fuse_adapter_inval_inode_notifications": 28,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 12,
+ "fuse_adapter_negative_misses": 35,
+ "fuse_callback_count": 5343,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 9,
+ "fuse_dispatch_wait_count": 9,
+ "fuse_dispatch_wait_nanos": 57233,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 694731,
+ "fuse_flush_count": 9,
+ "fuse_flush_ranges": 9,
+ "fuse_getattr_count": 5273,
+ "fuse_ino_file_resolutions": 3,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 49,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 9,
+ "fuse_op_create_nanos": 1953410,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 9,
+ "fuse_op_forget_nanos": 70431,
+ "fuse_op_getattr_count": 5273,
+ "fuse_op_getattr_nanos": 21127118,
+ "fuse_op_lookup_count": 49,
+ "fuse_op_lookup_nanos": 606794,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 15,
+ "fuse_op_other_nanos": 2796320,
+ "fuse_op_read_count": 8,
+ "fuse_op_read_nanos": 1154129,
+ "fuse_op_readdirplus_count": 4,
+ "fuse_op_readdirplus_nanos": 1231941,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 14,
+ "fuse_op_setattr_nanos": 4135047,
+ "fuse_op_write_count": 9,
+ "fuse_op_write_nanos": 189495,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 8,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 760,
+ "fuse_read_lane_wait_nanos": 143011,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 4,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 5381,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 591393,
+ "fuse_write_count": 9,
+ "fuse_write_lane_wait_count": 42,
+ "fuse_write_lane_wait_nanos": 40187,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 1418,
+ "lookup_base_count": 0,
+ "lookup_count": 164,
+ "lookup_delta_count": 60,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 33,
+ "negative_cache_invalidations": 26,
+ "negative_cache_misses": 148,
+ "negative_lookup_count": 86,
+ "path_cache_hits": 73,
+ "path_cache_misses": 56,
+ "path_component_count": 124,
+ "path_resolution_count": 45,
+ "readdir_count": 0,
+ "readdir_plus_count": 4,
+ "wal_checkpoint_count": 2,
+ "wal_checkpoint_nanos": 880000
+ },
+ "phase": "checkout",
+ "seq": 2
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 4,
+ "agentfs_batcher_commit_latency_ns_total": 2983772,
+ "agentfs_batcher_commit_txns": 4,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 2,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 6,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 4,
+ "attr_cache_hits": 19,
+ "attr_cache_misses": 33,
+ "base_fast_inode_invalidations": 24,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 20,
+ "chunk_read_queries": 12,
+ "chunk_write_chunks": 20,
+ "connection_create": 0,
+ "connection_reuse": 1704,
+ "connection_wait_count": 1704,
+ "connection_wait_nanos": 455379,
+ "dentry_cache_hits": 19,
+ "dentry_cache_misses": 570,
+ "fuse_adapter_attr_hits": 1376,
+ "fuse_adapter_attr_misses": 6,
+ "fuse_adapter_entry_hits": 2,
+ "fuse_adapter_entry_misses": 289,
+ "fuse_adapter_inval_entry_notifications": 4,
+ "fuse_adapter_inval_inode_notifications": 8,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 2,
+ "fuse_adapter_negative_misses": 289,
+ "fuse_callback_count": 3078,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 3,
+ "fuse_dispatch_wait_count": 3,
+ "fuse_dispatch_wait_nanos": 32842,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 1181458,
+ "fuse_flush_count": 6,
+ "fuse_flush_ranges": 6,
+ "fuse_getattr_count": 1382,
+ "fuse_ino_file_resolutions": 2,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 293,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 2,
+ "fuse_op_create_nanos": 948176,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 3,
+ "fuse_op_forget_nanos": 27536,
+ "fuse_op_getattr_count": 1382,
+ "fuse_op_getattr_nanos": 1390508,
+ "fuse_op_lookup_count": 293,
+ "fuse_op_lookup_nanos": 5278086,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 2762,
+ "fuse_op_other_nanos": 2035821,
+ "fuse_op_read_count": 12,
+ "fuse_op_read_nanos": 3899245,
+ "fuse_op_readdirplus_count": 1381,
+ "fuse_op_readdirplus_nanos": 66460321,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 6,
+ "fuse_op_setattr_nanos": 5047795,
+ "fuse_op_write_count": 10,
+ "fuse_op_write_nanos": 1316213,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 12,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 995,
+ "fuse_read_lane_wait_nanos": 125561,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1381,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 5848,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 1181458,
+ "fuse_write_count": 10,
+ "fuse_write_lane_wait_count": 14,
+ "fuse_write_lane_wait_nanos": 2278,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 24,
+ "lookup_base_count": 0,
+ "lookup_count": 598,
+ "lookup_delta_count": 295,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6,
+ "negative_cache_invalidations": 4,
+ "negative_cache_misses": 873,
+ "negative_lookup_count": 578,
+ "path_cache_hits": 19,
+ "path_cache_misses": 570,
+ "path_component_count": 4606,
+ "path_resolution_count": 977,
+ "readdir_count": 0,
+ "readdir_plus_count": 1376,
+ "wal_checkpoint_count": 688,
+ "wal_checkpoint_nanos": 10654237
+ },
+ "phase": "status",
+ "seq": 3
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 1,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 10,
+ "chunk_read_queries": 6,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 8,
+ "connection_wait_count": 8,
+ "connection_wait_nanos": 5160,
+ "dentry_cache_hits": 1,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 69,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 1,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 1,
+ "fuse_callback_count": 76,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 69,
+ "fuse_ino_file_resolutions": 1,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 1,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 69,
+ "fuse_op_getattr_nanos": 63234,
+ "fuse_op_lookup_count": 1,
+ "fuse_op_lookup_nanos": 26753,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 6,
+ "fuse_op_read_nanos": 906227,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 6,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 2,
+ "fuse_read_lane_wait_nanos": 788,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 76,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 2,
+ "lookup_delta_count": 1,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 2,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 1,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "read_search",
+ "seq": 4
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 1149137,
+ "agentfs_batcher_commit_txns": 8,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 8,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 8,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 8,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 24,
+ "base_fast_inode_invalidations": 16,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 32,
+ "connection_wait_count": 32,
+ "connection_wait_nanos": 10385,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 16,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 24,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 6398,
+ "fuse_flush_count": 8,
+ "fuse_flush_ranges": 8,
+ "fuse_getattr_count": 16,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 16,
+ "fuse_op_getattr_nanos": 19174,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 8,
+ "fuse_op_other_nanos": 883763,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 8,
+ "fuse_op_setattr_nanos": 2036509,
+ "fuse_op_write_count": 8,
+ "fuse_op_write_nanos": 460863,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 8,
+ "fuse_read_lane_wait_nanos": 2720,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 40,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 6398,
+ "fuse_write_count": 8,
+ "fuse_write_lane_wait_count": 8,
+ "fuse_write_lane_wait_nanos": 1519,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 16,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 8,
+ "wal_checkpoint_nanos": 784875
+ },
+ "phase": "edit",
+ "seq": 5
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 1864,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 68,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 1932,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 1864,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 68,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 1864,
+ "fuse_op_getattr_nanos": 1057287,
+ "fuse_op_lookup_count": 68,
+ "fuse_op_lookup_nanos": 88141,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 12,
+ "fuse_op_other_nanos": 4515,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 1944,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 68,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "diff",
+ "seq": 6
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 3,
+ "attr_cache_misses": 2,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 1,
+ "chunk_read_queries": 1,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 24,
+ "connection_wait_count": 24,
+ "connection_wait_nanos": 15412,
+ "dentry_cache_hits": 4,
+ "dentry_cache_misses": 2,
+ "fuse_adapter_attr_hits": 44,
+ "fuse_adapter_attr_misses": 1,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 4,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 247,
+ "fuse_adapter_negative_misses": 4,
+ "fuse_callback_count": 316,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 45,
+ "fuse_ino_file_resolutions": 1,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 251,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 45,
+ "fuse_op_getattr_nanos": 80152,
+ "fuse_op_lookup_count": 251,
+ "fuse_op_lookup_nanos": 335907,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 36,
+ "fuse_op_other_nanos": 11476,
+ "fuse_op_read_count": 2,
+ "fuse_op_read_nanos": 328634,
+ "fuse_op_readdirplus_count": 18,
+ "fuse_op_readdirplus_nanos": 1007982,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 2,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 15,
+ "fuse_read_lane_wait_nanos": 3704,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 18,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 352,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 2,
+ "lookup_base_count": 0,
+ "lookup_count": 8,
+ "lookup_delta_count": 4,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 247,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 9,
+ "negative_lookup_count": 2,
+ "path_cache_hits": 4,
+ "path_cache_misses": 2,
+ "path_component_count": 42,
+ "path_resolution_count": 10,
+ "readdir_count": 0,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 9,
+ "wal_checkpoint_nanos": 304087
+ },
+ "phase": "fsck",
+ "seq": 7
+ }
+ ]
+ },
+ "profile_counters": {
+ "last_by_source": {
+ "cli": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 801417963,
+ "agentfs_batcher_commit_txns": 4802,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26185,
+ "attr_cache_misses": 30890,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33610,
+ "connection_wait_count": 33618,
+ "connection_wait_nanos": 10288353,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8039,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5610,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32551,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13675,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12360,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 13675,
+ "fuse_op_getattr_nanos": 74728037,
+ "fuse_op_lookup_count": 12360,
+ "fuse_op_lookup_nanos": 131063668,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 101096061,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34728749,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 71183356,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1137577682,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 25674858,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17936,
+ "fuse_read_lane_wait_nanos": 2714753,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45647,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 1879845,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20798,
+ "lookup_base_count": 23,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7552,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7130,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37677,
+ "path_resolution_count": 8151,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 14693733
+ },
+ "phase-checkpoint-1": {
+ "agentfs_batcher_coalesced_ranges": 36,
+ "agentfs_batcher_commit_latency_ns_total": 793963655,
+ "agentfs_batcher_commit_txns": 4780,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4681,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4731,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25920,
+ "attr_cache_misses": 29058,
+ "base_fast_inode_invalidations": 15031,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 970,
+ "connection_create": 2,
+ "connection_reuse": 31213,
+ "connection_wait_count": 31215,
+ "connection_wait_nanos": 9511223,
+ "dentry_cache_hits": 26033,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 92,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5281,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21782,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 35,
+ "fuse_dispatch_wait_count": 35,
+ "fuse_dispatch_wait_nanos": 565645,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52539545,
+ "fuse_flush_count": 4731,
+ "fuse_flush_ranges": 4731,
+ "fuse_getattr_count": 5026,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11698,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 470554097,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 33,
+ "fuse_op_forget_nanos": 961875,
+ "fuse_op_getattr_count": 5026,
+ "fuse_op_getattr_nanos": 50990564,
+ "fuse_op_lookup_count": 11698,
+ "fuse_op_lookup_nanos": 124727987,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 783,
+ "fuse_op_other_nanos": 95364166,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 28440514,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 2483112,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1126358331,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 23708287,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16156,
+ "fuse_read_lane_wait_nanos": 2438969,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32006,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10204,
+ "fuse_write_lane_wait_nanos": 1834580,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19338,
+ "lookup_base_count": 23,
+ "lookup_count": 40290,
+ "lookup_delta_count": 7192,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6776,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14258,
+ "path_cache_hits": 26033,
+ "path_cache_misses": 13426,
+ "path_component_count": 32905,
+ "path_resolution_count": 7119,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1946817
+ },
+ "phase-checkpoint-2": {
+ "agentfs_batcher_coalesced_ranges": 38,
+ "agentfs_batcher_commit_latency_ns_total": 797285054,
+ "agentfs_batcher_commit_txns": 4790,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4686,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9399,
+ "attr_cache_hits": 26162,
+ "attr_cache_misses": 30831,
+ "base_fast_inode_invalidations": 15082,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 982,
+ "connection_create": 8,
+ "connection_reuse": 31839,
+ "connection_wait_count": 31847,
+ "connection_wait_nanos": 9796502,
+ "dentry_cache_hits": 26106,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4670,
+ "fuse_adapter_attr_misses": 5629,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5293,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27125,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 44,
+ "fuse_dispatch_wait_count": 44,
+ "fuse_dispatch_wait_nanos": 622878,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10299,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11747,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 472507507,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 42,
+ "fuse_op_forget_nanos": 1032306,
+ "fuse_op_getattr_count": 10299,
+ "fuse_op_getattr_nanos": 72117682,
+ "fuse_op_lookup_count": 11747,
+ "fuse_op_lookup_nanos": 125334781,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 798,
+ "fuse_op_other_nanos": 98160486,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 29594643,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3715053,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4763,
+ "fuse_op_setattr_nanos": 1130493378,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 23897782,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 16916,
+ "fuse_read_lane_wait_nanos": 2581980,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37387,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10246,
+ "fuse_write_lane_wait_nanos": 1874767,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20756,
+ "lookup_base_count": 23,
+ "lookup_count": 40454,
+ "lookup_delta_count": 7252,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6809,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14344,
+ "path_cache_hits": 26106,
+ "path_cache_misses": 13482,
+ "path_component_count": 33029,
+ "path_resolution_count": 7164,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2826817
+ },
+ "phase-checkpoint-3": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 800268826,
+ "agentfs_batcher_commit_txns": 4794,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26181,
+ "attr_cache_misses": 30864,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33543,
+ "connection_wait_count": 33551,
+ "connection_wait_nanos": 10251881,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6046,
+ "fuse_adapter_attr_misses": 5635,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5295,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30203,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11681,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12040,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 11681,
+ "fuse_op_getattr_nanos": 73508190,
+ "fuse_op_lookup_count": 12040,
+ "fuse_op_lookup_nanos": 130612867,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 100196307,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 33493888,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 70175374,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1135541173,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 25213995,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17911,
+ "fuse_read_lane_wait_nanos": 2707541,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43235,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1877045,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20780,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 13481054
+ },
+ "phase-checkpoint-4": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 800268826,
+ "agentfs_batcher_commit_txns": 4794,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30864,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33551,
+ "connection_wait_count": 33559,
+ "connection_wait_nanos": 10257041,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6115,
+ "fuse_adapter_attr_misses": 5635,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5295,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30279,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11750,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12041,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 11750,
+ "fuse_op_getattr_nanos": 73571424,
+ "fuse_op_lookup_count": 12041,
+ "fuse_op_lookup_nanos": 130639620,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 100196307,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34400115,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 70175374,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1135541173,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 25213995,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17913,
+ "fuse_read_lane_wait_nanos": 2708329,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43311,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1877045,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20780,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 13481054
+ },
+ "phase-checkpoint-5": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 801417963,
+ "agentfs_batcher_commit_txns": 4802,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30888,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33583,
+ "connection_wait_count": 33591,
+ "connection_wait_nanos": 10267426,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6131,
+ "fuse_adapter_attr_misses": 5635,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5295,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30303,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11766,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12041,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 11766,
+ "fuse_op_getattr_nanos": 73590598,
+ "fuse_op_lookup_count": 12041,
+ "fuse_op_lookup_nanos": 130639620,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3568,
+ "fuse_op_other_nanos": 101080070,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34400115,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 70175374,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1137577682,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 25674858,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17921,
+ "fuse_read_lane_wait_nanos": 2711049,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43351,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1878564,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20796,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14265929
+ },
+ "phase-checkpoint-6": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 801417963,
+ "agentfs_batcher_commit_txns": 4802,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30888,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33583,
+ "connection_wait_count": 33591,
+ "connection_wait_nanos": 10267426,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7995,
+ "fuse_adapter_attr_misses": 5635,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5363,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 32235,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13630,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12109,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 13630,
+ "fuse_op_getattr_nanos": 74647885,
+ "fuse_op_lookup_count": 12109,
+ "fuse_op_lookup_nanos": 130727761,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3580,
+ "fuse_op_other_nanos": 101084585,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34400115,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 70175374,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1137577682,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 25674858,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17921,
+ "fuse_read_lane_wait_nanos": 2711049,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45295,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1878564,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20796,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6883,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14265929
+ },
+ "phase-checkpoint-7": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 801417963,
+ "agentfs_batcher_commit_txns": 4802,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26185,
+ "attr_cache_misses": 30890,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33607,
+ "connection_wait_count": 33615,
+ "connection_wait_nanos": 10282838,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8039,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5610,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32551,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13675,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12360,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 13675,
+ "fuse_op_getattr_nanos": 74728037,
+ "fuse_op_lookup_count": 12360,
+ "fuse_op_lookup_nanos": 131063668,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 101096061,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34728749,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 71183356,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1137577682,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 25674858,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17936,
+ "fuse_read_lane_wait_nanos": 2714753,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45647,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1878564,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20798,
+ "lookup_base_count": 23,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7552,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7130,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37677,
+ "path_resolution_count": 8151,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 14570016
+ }
+ },
+ "max_counters": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 801417963,
+ "agentfs_batcher_commit_txns": 4802,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26185,
+ "attr_cache_misses": 30890,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33610,
+ "connection_wait_count": 33618,
+ "connection_wait_nanos": 10288353,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8039,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5610,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32551,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13675,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12360,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 13675,
+ "fuse_op_getattr_nanos": 74728037,
+ "fuse_op_lookup_count": 12360,
+ "fuse_op_lookup_nanos": 131063668,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 101096061,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34728749,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 71183356,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1137577682,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 25674858,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17936,
+ "fuse_read_lane_wait_nanos": 2714753,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45647,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 1879845,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20798,
+ "lookup_base_count": 23,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7552,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7130,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37677,
+ "path_resolution_count": 8151,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 14693733
+ },
+ "summary_count": 8
+ },
+ "profile_enabled": true,
+ "profile_summary_count": 8,
+ "session": "git-workload-14fbea9ebb104bf2b3f13d669d6de464"
+ },
+ "agentfs_overlay": {
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 36,
+ "agentfs_batcher_commit_latency_ns_total": 793963655,
+ "agentfs_batcher_commit_txns": 4780,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4681,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4731,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25920,
+ "attr_cache_misses": 29058,
+ "base_fast_inode_invalidations": 15031,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 970,
+ "connection_create": 2,
+ "connection_reuse": 31213,
+ "connection_wait_count": 31215,
+ "connection_wait_nanos": 9511223,
+ "dentry_cache_hits": 26033,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 92,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5281,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21782,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 35,
+ "fuse_dispatch_wait_count": 35,
+ "fuse_dispatch_wait_nanos": 565645,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52539545,
+ "fuse_flush_count": 4731,
+ "fuse_flush_ranges": 4731,
+ "fuse_getattr_count": 5026,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11698,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 470554097,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 33,
+ "fuse_op_forget_nanos": 961875,
+ "fuse_op_getattr_count": 5026,
+ "fuse_op_getattr_nanos": 50990564,
+ "fuse_op_lookup_count": 11698,
+ "fuse_op_lookup_nanos": 124727987,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 783,
+ "fuse_op_other_nanos": 95364166,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 28440514,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 2483112,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1126358331,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 23708287,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16156,
+ "fuse_read_lane_wait_nanos": 2438969,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32006,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10204,
+ "fuse_write_lane_wait_nanos": 1834580,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19338,
+ "lookup_base_count": 23,
+ "lookup_count": 40290,
+ "lookup_delta_count": 7192,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6776,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14258,
+ "path_cache_hits": 26033,
+ "path_cache_misses": 13426,
+ "path_component_count": 32905,
+ "path_resolution_count": 7119,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1946817
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15031,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 36,
+ "agentfs_batcher_commit_latency_ns_total": 793963655,
+ "agentfs_batcher_commit_txns": 4780,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4681,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4731,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25920,
+ "attr_cache_misses": 29058,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 970,
+ "connection_create": 2,
+ "connection_reuse": 31213,
+ "connection_wait_count": 31215,
+ "connection_wait_nanos": 9511223,
+ "dentry_cache_hits": 26033,
+ "dentry_cache_misses": 13426,
+ "getattr_count": 19338,
+ "lookup_base_count": 23,
+ "lookup_count": 40290,
+ "lookup_delta_count": 7192,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6776,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14258,
+ "path_cache_hits": 26033,
+ "path_cache_misses": 13426,
+ "path_component_count": 32905,
+ "path_resolution_count": 7119,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1946817
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 92,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5281,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21782,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 35,
+ "fuse_dispatch_wait_count": 35,
+ "fuse_dispatch_wait_nanos": 565645,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52539545,
+ "fuse_flush_count": 4731,
+ "fuse_flush_ranges": 4731,
+ "fuse_getattr_count": 5026,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 11698,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 470554097,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 33,
+ "fuse_op_forget_nanos": 961875,
+ "fuse_op_getattr_count": 5026,
+ "fuse_op_getattr_nanos": 50990564,
+ "fuse_op_lookup_count": 11698,
+ "fuse_op_lookup_nanos": 124727987,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 783,
+ "fuse_op_other_nanos": 95364166,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 28440514,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 2483112,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1126358331,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 23708287,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16156,
+ "fuse_read_lane_wait_nanos": 2438969,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 32006,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10204,
+ "fuse_write_lane_wait_nanos": 1834580
+ }
+ },
+ "source": "phase-checkpoint-1"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 38,
+ "agentfs_batcher_commit_latency_ns_total": 797285054,
+ "agentfs_batcher_commit_txns": 4790,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4686,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9399,
+ "attr_cache_hits": 26162,
+ "attr_cache_misses": 30831,
+ "base_fast_inode_invalidations": 15082,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 982,
+ "connection_create": 8,
+ "connection_reuse": 31839,
+ "connection_wait_count": 31847,
+ "connection_wait_nanos": 9796502,
+ "dentry_cache_hits": 26106,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4670,
+ "fuse_adapter_attr_misses": 5629,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5293,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27125,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 44,
+ "fuse_dispatch_wait_count": 44,
+ "fuse_dispatch_wait_nanos": 622878,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10299,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11747,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 472507507,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 42,
+ "fuse_op_forget_nanos": 1032306,
+ "fuse_op_getattr_count": 10299,
+ "fuse_op_getattr_nanos": 72117682,
+ "fuse_op_lookup_count": 11747,
+ "fuse_op_lookup_nanos": 125334781,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 798,
+ "fuse_op_other_nanos": 98160486,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 29594643,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3715053,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4763,
+ "fuse_op_setattr_nanos": 1130493378,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 23897782,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 16916,
+ "fuse_read_lane_wait_nanos": 2581980,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37387,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10246,
+ "fuse_write_lane_wait_nanos": 1874767,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20756,
+ "lookup_base_count": 23,
+ "lookup_count": 40454,
+ "lookup_delta_count": 7252,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6809,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14344,
+ "path_cache_hits": 26106,
+ "path_cache_misses": 13482,
+ "path_component_count": 33029,
+ "path_resolution_count": 7164,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2826817
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15082,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 38,
+ "agentfs_batcher_commit_latency_ns_total": 797285054,
+ "agentfs_batcher_commit_txns": 4790,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4686,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9399,
+ "attr_cache_hits": 26162,
+ "attr_cache_misses": 30831,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 982,
+ "connection_create": 8,
+ "connection_reuse": 31839,
+ "connection_wait_count": 31847,
+ "connection_wait_nanos": 9796502,
+ "dentry_cache_hits": 26106,
+ "dentry_cache_misses": 13482,
+ "getattr_count": 20756,
+ "lookup_base_count": 23,
+ "lookup_count": 40454,
+ "lookup_delta_count": 7252,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6809,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14344,
+ "path_cache_hits": 26106,
+ "path_cache_misses": 13482,
+ "path_component_count": 33029,
+ "path_resolution_count": 7164,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2826817
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 4670,
+ "fuse_adapter_attr_misses": 5629,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5293,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27125,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 44,
+ "fuse_dispatch_wait_count": 44,
+ "fuse_dispatch_wait_nanos": 622878,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10299,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 11747,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 472507507,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 42,
+ "fuse_op_forget_nanos": 1032306,
+ "fuse_op_getattr_count": 10299,
+ "fuse_op_getattr_nanos": 72117682,
+ "fuse_op_lookup_count": 11747,
+ "fuse_op_lookup_nanos": 125334781,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 798,
+ "fuse_op_other_nanos": 98160486,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 29594643,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3715053,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4763,
+ "fuse_op_setattr_nanos": 1130493378,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 23897782,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 16916,
+ "fuse_read_lane_wait_nanos": 2581980,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 37387,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10246,
+ "fuse_write_lane_wait_nanos": 1874767
+ }
+ },
+ "source": "phase-checkpoint-2"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 800268826,
+ "agentfs_batcher_commit_txns": 4794,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26181,
+ "attr_cache_misses": 30864,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33543,
+ "connection_wait_count": 33551,
+ "connection_wait_nanos": 10251881,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6046,
+ "fuse_adapter_attr_misses": 5635,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5295,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30203,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11681,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12040,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 11681,
+ "fuse_op_getattr_nanos": 73508190,
+ "fuse_op_lookup_count": 12040,
+ "fuse_op_lookup_nanos": 130612867,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 100196307,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 33493888,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 70175374,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1135541173,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 25213995,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17911,
+ "fuse_read_lane_wait_nanos": 2707541,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43235,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1877045,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20780,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 13481054
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 800268826,
+ "agentfs_batcher_commit_txns": 4794,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26181,
+ "attr_cache_misses": 30864,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33543,
+ "connection_wait_count": 33551,
+ "connection_wait_nanos": 10251881,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20780,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 13481054
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6046,
+ "fuse_adapter_attr_misses": 5635,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5295,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30203,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11681,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12040,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 11681,
+ "fuse_op_getattr_nanos": 73508190,
+ "fuse_op_lookup_count": 12040,
+ "fuse_op_lookup_nanos": 130612867,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 100196307,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 33493888,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 70175374,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1135541173,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 25213995,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17911,
+ "fuse_read_lane_wait_nanos": 2707541,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43235,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1877045
+ }
+ },
+ "source": "phase-checkpoint-3"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 800268826,
+ "agentfs_batcher_commit_txns": 4794,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30864,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33551,
+ "connection_wait_count": 33559,
+ "connection_wait_nanos": 10257041,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6115,
+ "fuse_adapter_attr_misses": 5635,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5295,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30279,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11750,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12041,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 11750,
+ "fuse_op_getattr_nanos": 73571424,
+ "fuse_op_lookup_count": 12041,
+ "fuse_op_lookup_nanos": 130639620,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 100196307,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34400115,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 70175374,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1135541173,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 25213995,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17913,
+ "fuse_read_lane_wait_nanos": 2708329,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43311,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1877045,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20780,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 13481054
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 800268826,
+ "agentfs_batcher_commit_txns": 4794,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30864,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33551,
+ "connection_wait_count": 33559,
+ "connection_wait_nanos": 10257041,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20780,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 13481054
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6115,
+ "fuse_adapter_attr_misses": 5635,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5295,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30279,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11750,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12041,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 11750,
+ "fuse_op_getattr_nanos": 73571424,
+ "fuse_op_lookup_count": 12041,
+ "fuse_op_lookup_nanos": 130639620,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 100196307,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34400115,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 70175374,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1135541173,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 25213995,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17913,
+ "fuse_read_lane_wait_nanos": 2708329,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43311,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1877045
+ }
+ },
+ "source": "phase-checkpoint-4"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 801417963,
+ "agentfs_batcher_commit_txns": 4802,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30888,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33583,
+ "connection_wait_count": 33591,
+ "connection_wait_nanos": 10267426,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6131,
+ "fuse_adapter_attr_misses": 5635,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5295,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30303,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11766,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12041,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 11766,
+ "fuse_op_getattr_nanos": 73590598,
+ "fuse_op_lookup_count": 12041,
+ "fuse_op_lookup_nanos": 130639620,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3568,
+ "fuse_op_other_nanos": 101080070,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34400115,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 70175374,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1137577682,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 25674858,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17921,
+ "fuse_read_lane_wait_nanos": 2711049,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43351,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1878564,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20796,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14265929
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 801417963,
+ "agentfs_batcher_commit_txns": 4802,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30888,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33583,
+ "connection_wait_count": 33591,
+ "connection_wait_nanos": 10267426,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20796,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14265929
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6131,
+ "fuse_adapter_attr_misses": 5635,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5295,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30303,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11766,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12041,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 11766,
+ "fuse_op_getattr_nanos": 73590598,
+ "fuse_op_lookup_count": 12041,
+ "fuse_op_lookup_nanos": 130639620,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3568,
+ "fuse_op_other_nanos": 101080070,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34400115,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 70175374,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1137577682,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 25674858,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17921,
+ "fuse_read_lane_wait_nanos": 2711049,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43351,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1878564
+ }
+ },
+ "source": "phase-checkpoint-5"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 801417963,
+ "agentfs_batcher_commit_txns": 4802,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30888,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33583,
+ "connection_wait_count": 33591,
+ "connection_wait_nanos": 10267426,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7995,
+ "fuse_adapter_attr_misses": 5635,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5363,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 32235,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13630,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12109,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 13630,
+ "fuse_op_getattr_nanos": 74647885,
+ "fuse_op_lookup_count": 12109,
+ "fuse_op_lookup_nanos": 130727761,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3580,
+ "fuse_op_other_nanos": 101084585,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34400115,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 70175374,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1137577682,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 25674858,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17921,
+ "fuse_read_lane_wait_nanos": 2711049,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45295,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1878564,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20796,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6883,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14265929
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 801417963,
+ "agentfs_batcher_commit_txns": 4802,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30888,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33583,
+ "connection_wait_count": 33591,
+ "connection_wait_nanos": 10267426,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20796,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6883,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14265929
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 7995,
+ "fuse_adapter_attr_misses": 5635,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5363,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 32235,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13630,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12109,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 13630,
+ "fuse_op_getattr_nanos": 74647885,
+ "fuse_op_lookup_count": 12109,
+ "fuse_op_lookup_nanos": 130727761,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3580,
+ "fuse_op_other_nanos": 101084585,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34400115,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 70175374,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1137577682,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 25674858,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17921,
+ "fuse_read_lane_wait_nanos": 2711049,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45295,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1878564
+ }
+ },
+ "source": "phase-checkpoint-6"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 801417963,
+ "agentfs_batcher_commit_txns": 4802,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26185,
+ "attr_cache_misses": 30890,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33607,
+ "connection_wait_count": 33615,
+ "connection_wait_nanos": 10282838,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8039,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5610,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32551,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13675,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12360,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 13675,
+ "fuse_op_getattr_nanos": 74728037,
+ "fuse_op_lookup_count": 12360,
+ "fuse_op_lookup_nanos": 131063668,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 101096061,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34728749,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 71183356,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1137577682,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 25674858,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17936,
+ "fuse_read_lane_wait_nanos": 2714753,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45647,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1878564,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20798,
+ "lookup_base_count": 23,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7552,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7130,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37677,
+ "path_resolution_count": 8151,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 14570016
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 801417963,
+ "agentfs_batcher_commit_txns": 4802,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26185,
+ "attr_cache_misses": 30890,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33607,
+ "connection_wait_count": 33615,
+ "connection_wait_nanos": 10282838,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "getattr_count": 20798,
+ "lookup_base_count": 23,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7552,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7130,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37677,
+ "path_resolution_count": 8151,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 14570016
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 8039,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5610,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32551,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13675,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12360,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 13675,
+ "fuse_op_getattr_nanos": 74728037,
+ "fuse_op_lookup_count": 12360,
+ "fuse_op_lookup_nanos": 131063668,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 101096061,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34728749,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 71183356,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1137577682,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 25674858,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17936,
+ "fuse_read_lane_wait_nanos": 2714753,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45647,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1878564
+ }
+ },
+ "source": "phase-checkpoint-7"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 801417963,
+ "agentfs_batcher_commit_txns": 4802,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26185,
+ "attr_cache_misses": 30890,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33610,
+ "connection_wait_count": 33618,
+ "connection_wait_nanos": 10288353,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8039,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5610,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32551,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13675,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12360,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 13675,
+ "fuse_op_getattr_nanos": 74728037,
+ "fuse_op_lookup_count": 12360,
+ "fuse_op_lookup_nanos": 131063668,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 101096061,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34728749,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 71183356,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1137577682,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 25674858,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17936,
+ "fuse_read_lane_wait_nanos": 2714753,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45647,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 1879845,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20798,
+ "lookup_base_count": 23,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7552,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7130,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37677,
+ "path_resolution_count": 8151,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 14693733
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 801417963,
+ "agentfs_batcher_commit_txns": 4802,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26185,
+ "attr_cache_misses": 30890,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33610,
+ "connection_wait_count": 33618,
+ "connection_wait_nanos": 10288353,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "getattr_count": 20798,
+ "lookup_base_count": 23,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7552,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7130,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37677,
+ "path_resolution_count": 8151,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 14693733
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 8039,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5610,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32551,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13675,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12360,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 13675,
+ "fuse_op_getattr_nanos": 74728037,
+ "fuse_op_lookup_count": 12360,
+ "fuse_op_lookup_nanos": 131063668,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 101096061,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34728749,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 71183356,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1137577682,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 25674858,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17936,
+ "fuse_read_lane_wait_nanos": 2714753,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45647,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 1879845
+ }
+ },
+ "source": "cli"
+ }
+ ],
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "run",
+ "--session",
+ "git-workload-14fbea9ebb104bf2b3f13d669d6de464",
+ "--no-default-allows",
+ "--",
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-qcdrpuw6/agentfs-base",
+ "duration_seconds": 4.135514198002056,
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 36,
+ "agentfs_batcher_commit_latency_ns_total": 793963655,
+ "agentfs_batcher_commit_txns": 4780,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4681,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4731,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25920,
+ "attr_cache_misses": 29058,
+ "base_fast_inode_invalidations": 15031,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 970,
+ "connection_create": 2,
+ "connection_reuse": 31213,
+ "connection_wait_count": 31215,
+ "connection_wait_nanos": 9511223,
+ "dentry_cache_hits": 26033,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 92,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5281,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21782,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 35,
+ "fuse_dispatch_wait_count": 35,
+ "fuse_dispatch_wait_nanos": 565645,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52539545,
+ "fuse_flush_count": 4731,
+ "fuse_flush_ranges": 4731,
+ "fuse_getattr_count": 5026,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11698,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 470554097,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 33,
+ "fuse_op_forget_nanos": 961875,
+ "fuse_op_getattr_count": 5026,
+ "fuse_op_getattr_nanos": 50990564,
+ "fuse_op_lookup_count": 11698,
+ "fuse_op_lookup_nanos": 124727987,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 783,
+ "fuse_op_other_nanos": 95364166,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 28440514,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 2483112,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1126358331,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 23708287,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16156,
+ "fuse_read_lane_wait_nanos": 2438969,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32006,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10204,
+ "fuse_write_lane_wait_nanos": 1834580,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19338,
+ "lookup_base_count": 23,
+ "lookup_count": 40290,
+ "lookup_delta_count": 7192,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6776,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14258,
+ "path_cache_hits": 26033,
+ "path_cache_misses": 13426,
+ "path_component_count": 32905,
+ "path_resolution_count": 7119,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1946817
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15031,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 36,
+ "agentfs_batcher_commit_latency_ns_total": 793963655,
+ "agentfs_batcher_commit_txns": 4780,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4681,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4731,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25920,
+ "attr_cache_misses": 29058,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 970,
+ "connection_create": 2,
+ "connection_reuse": 31213,
+ "connection_wait_count": 31215,
+ "connection_wait_nanos": 9511223,
+ "dentry_cache_hits": 26033,
+ "dentry_cache_misses": 13426,
+ "getattr_count": 19338,
+ "lookup_base_count": 23,
+ "lookup_count": 40290,
+ "lookup_delta_count": 7192,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6776,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14258,
+ "path_cache_hits": 26033,
+ "path_cache_misses": 13426,
+ "path_component_count": 32905,
+ "path_resolution_count": 7119,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1946817
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 92,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5281,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21782,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 35,
+ "fuse_dispatch_wait_count": 35,
+ "fuse_dispatch_wait_nanos": 565645,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52539545,
+ "fuse_flush_count": 4731,
+ "fuse_flush_ranges": 4731,
+ "fuse_getattr_count": 5026,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 11698,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 470554097,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 33,
+ "fuse_op_forget_nanos": 961875,
+ "fuse_op_getattr_count": 5026,
+ "fuse_op_getattr_nanos": 50990564,
+ "fuse_op_lookup_count": 11698,
+ "fuse_op_lookup_nanos": 124727987,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 783,
+ "fuse_op_other_nanos": 95364166,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 28440514,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 2483112,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1126358331,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 23708287,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16156,
+ "fuse_read_lane_wait_nanos": 2438969,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 32006,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10204,
+ "fuse_write_lane_wait_nanos": 1834580
+ }
+ },
+ "source": "phase-checkpoint-1"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 38,
+ "agentfs_batcher_commit_latency_ns_total": 797285054,
+ "agentfs_batcher_commit_txns": 4790,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4686,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9399,
+ "attr_cache_hits": 26162,
+ "attr_cache_misses": 30831,
+ "base_fast_inode_invalidations": 15082,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 982,
+ "connection_create": 8,
+ "connection_reuse": 31839,
+ "connection_wait_count": 31847,
+ "connection_wait_nanos": 9796502,
+ "dentry_cache_hits": 26106,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4670,
+ "fuse_adapter_attr_misses": 5629,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5293,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27125,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 44,
+ "fuse_dispatch_wait_count": 44,
+ "fuse_dispatch_wait_nanos": 622878,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10299,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11747,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 472507507,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 42,
+ "fuse_op_forget_nanos": 1032306,
+ "fuse_op_getattr_count": 10299,
+ "fuse_op_getattr_nanos": 72117682,
+ "fuse_op_lookup_count": 11747,
+ "fuse_op_lookup_nanos": 125334781,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 798,
+ "fuse_op_other_nanos": 98160486,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 29594643,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3715053,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4763,
+ "fuse_op_setattr_nanos": 1130493378,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 23897782,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 16916,
+ "fuse_read_lane_wait_nanos": 2581980,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37387,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10246,
+ "fuse_write_lane_wait_nanos": 1874767,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20756,
+ "lookup_base_count": 23,
+ "lookup_count": 40454,
+ "lookup_delta_count": 7252,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6809,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14344,
+ "path_cache_hits": 26106,
+ "path_cache_misses": 13482,
+ "path_component_count": 33029,
+ "path_resolution_count": 7164,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2826817
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15082,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 38,
+ "agentfs_batcher_commit_latency_ns_total": 797285054,
+ "agentfs_batcher_commit_txns": 4790,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4686,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9399,
+ "attr_cache_hits": 26162,
+ "attr_cache_misses": 30831,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 982,
+ "connection_create": 8,
+ "connection_reuse": 31839,
+ "connection_wait_count": 31847,
+ "connection_wait_nanos": 9796502,
+ "dentry_cache_hits": 26106,
+ "dentry_cache_misses": 13482,
+ "getattr_count": 20756,
+ "lookup_base_count": 23,
+ "lookup_count": 40454,
+ "lookup_delta_count": 7252,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6809,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14344,
+ "path_cache_hits": 26106,
+ "path_cache_misses": 13482,
+ "path_component_count": 33029,
+ "path_resolution_count": 7164,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2826817
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 4670,
+ "fuse_adapter_attr_misses": 5629,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5293,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27125,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 44,
+ "fuse_dispatch_wait_count": 44,
+ "fuse_dispatch_wait_nanos": 622878,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10299,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 11747,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 472507507,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 42,
+ "fuse_op_forget_nanos": 1032306,
+ "fuse_op_getattr_count": 10299,
+ "fuse_op_getattr_nanos": 72117682,
+ "fuse_op_lookup_count": 11747,
+ "fuse_op_lookup_nanos": 125334781,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 798,
+ "fuse_op_other_nanos": 98160486,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 29594643,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3715053,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4763,
+ "fuse_op_setattr_nanos": 1130493378,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 23897782,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 16916,
+ "fuse_read_lane_wait_nanos": 2581980,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 37387,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10246,
+ "fuse_write_lane_wait_nanos": 1874767
+ }
+ },
+ "source": "phase-checkpoint-2"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 800268826,
+ "agentfs_batcher_commit_txns": 4794,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26181,
+ "attr_cache_misses": 30864,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33543,
+ "connection_wait_count": 33551,
+ "connection_wait_nanos": 10251881,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6046,
+ "fuse_adapter_attr_misses": 5635,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5295,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30203,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11681,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12040,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 11681,
+ "fuse_op_getattr_nanos": 73508190,
+ "fuse_op_lookup_count": 12040,
+ "fuse_op_lookup_nanos": 130612867,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 100196307,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 33493888,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 70175374,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1135541173,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 25213995,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17911,
+ "fuse_read_lane_wait_nanos": 2707541,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43235,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1877045,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20780,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 13481054
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 800268826,
+ "agentfs_batcher_commit_txns": 4794,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26181,
+ "attr_cache_misses": 30864,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33543,
+ "connection_wait_count": 33551,
+ "connection_wait_nanos": 10251881,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20780,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 13481054
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6046,
+ "fuse_adapter_attr_misses": 5635,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5295,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30203,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11681,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12040,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 11681,
+ "fuse_op_getattr_nanos": 73508190,
+ "fuse_op_lookup_count": 12040,
+ "fuse_op_lookup_nanos": 130612867,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 100196307,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 33493888,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 70175374,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1135541173,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 25213995,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17911,
+ "fuse_read_lane_wait_nanos": 2707541,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43235,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1877045
+ }
+ },
+ "source": "phase-checkpoint-3"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 800268826,
+ "agentfs_batcher_commit_txns": 4794,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30864,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33551,
+ "connection_wait_count": 33559,
+ "connection_wait_nanos": 10257041,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6115,
+ "fuse_adapter_attr_misses": 5635,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5295,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30279,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11750,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12041,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 11750,
+ "fuse_op_getattr_nanos": 73571424,
+ "fuse_op_lookup_count": 12041,
+ "fuse_op_lookup_nanos": 130639620,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 100196307,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34400115,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 70175374,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1135541173,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 25213995,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17913,
+ "fuse_read_lane_wait_nanos": 2708329,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43311,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1877045,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20780,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 13481054
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 800268826,
+ "agentfs_batcher_commit_txns": 4794,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30864,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33551,
+ "connection_wait_count": 33559,
+ "connection_wait_nanos": 10257041,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20780,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 13481054
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6115,
+ "fuse_adapter_attr_misses": 5635,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5295,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30279,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11750,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12041,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 11750,
+ "fuse_op_getattr_nanos": 73571424,
+ "fuse_op_lookup_count": 12041,
+ "fuse_op_lookup_nanos": 130639620,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 100196307,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34400115,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 70175374,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1135541173,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 25213995,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17913,
+ "fuse_read_lane_wait_nanos": 2708329,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43311,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1877045
+ }
+ },
+ "source": "phase-checkpoint-4"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 801417963,
+ "agentfs_batcher_commit_txns": 4802,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30888,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33583,
+ "connection_wait_count": 33591,
+ "connection_wait_nanos": 10267426,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6131,
+ "fuse_adapter_attr_misses": 5635,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5295,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30303,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11766,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12041,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 11766,
+ "fuse_op_getattr_nanos": 73590598,
+ "fuse_op_lookup_count": 12041,
+ "fuse_op_lookup_nanos": 130639620,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3568,
+ "fuse_op_other_nanos": 101080070,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34400115,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 70175374,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1137577682,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 25674858,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17921,
+ "fuse_read_lane_wait_nanos": 2711049,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43351,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1878564,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20796,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14265929
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 801417963,
+ "agentfs_batcher_commit_txns": 4802,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30888,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33583,
+ "connection_wait_count": 33591,
+ "connection_wait_nanos": 10267426,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20796,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14265929
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6131,
+ "fuse_adapter_attr_misses": 5635,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5295,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30303,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11766,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12041,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 11766,
+ "fuse_op_getattr_nanos": 73590598,
+ "fuse_op_lookup_count": 12041,
+ "fuse_op_lookup_nanos": 130639620,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3568,
+ "fuse_op_other_nanos": 101080070,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34400115,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 70175374,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1137577682,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 25674858,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17921,
+ "fuse_read_lane_wait_nanos": 2711049,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43351,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1878564
+ }
+ },
+ "source": "phase-checkpoint-5"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 801417963,
+ "agentfs_batcher_commit_txns": 4802,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30888,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33583,
+ "connection_wait_count": 33591,
+ "connection_wait_nanos": 10267426,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7995,
+ "fuse_adapter_attr_misses": 5635,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5363,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 32235,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13630,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12109,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 13630,
+ "fuse_op_getattr_nanos": 74647885,
+ "fuse_op_lookup_count": 12109,
+ "fuse_op_lookup_nanos": 130727761,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3580,
+ "fuse_op_other_nanos": 101084585,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34400115,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 70175374,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1137577682,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 25674858,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17921,
+ "fuse_read_lane_wait_nanos": 2711049,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45295,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1878564,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20796,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6883,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14265929
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 801417963,
+ "agentfs_batcher_commit_txns": 4802,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30888,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33583,
+ "connection_wait_count": 33591,
+ "connection_wait_nanos": 10267426,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20796,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6883,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14265929
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 7995,
+ "fuse_adapter_attr_misses": 5635,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5363,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 32235,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13630,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12109,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 13630,
+ "fuse_op_getattr_nanos": 74647885,
+ "fuse_op_lookup_count": 12109,
+ "fuse_op_lookup_nanos": 130727761,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3580,
+ "fuse_op_other_nanos": 101084585,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34400115,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 70175374,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1137577682,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 25674858,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17921,
+ "fuse_read_lane_wait_nanos": 2711049,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45295,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1878564
+ }
+ },
+ "source": "phase-checkpoint-6"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 801417963,
+ "agentfs_batcher_commit_txns": 4802,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26185,
+ "attr_cache_misses": 30890,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33607,
+ "connection_wait_count": 33615,
+ "connection_wait_nanos": 10282838,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8039,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5610,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32551,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13675,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12360,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 13675,
+ "fuse_op_getattr_nanos": 74728037,
+ "fuse_op_lookup_count": 12360,
+ "fuse_op_lookup_nanos": 131063668,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 101096061,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34728749,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 71183356,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1137577682,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 25674858,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17936,
+ "fuse_read_lane_wait_nanos": 2714753,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45647,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1878564,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20798,
+ "lookup_base_count": 23,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7552,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7130,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37677,
+ "path_resolution_count": 8151,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 14570016
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 801417963,
+ "agentfs_batcher_commit_txns": 4802,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26185,
+ "attr_cache_misses": 30890,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33607,
+ "connection_wait_count": 33615,
+ "connection_wait_nanos": 10282838,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "getattr_count": 20798,
+ "lookup_base_count": 23,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7552,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7130,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37677,
+ "path_resolution_count": 8151,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 14570016
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 8039,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5610,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32551,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13675,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12360,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 13675,
+ "fuse_op_getattr_nanos": 74728037,
+ "fuse_op_lookup_count": 12360,
+ "fuse_op_lookup_nanos": 131063668,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 101096061,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34728749,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 71183356,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1137577682,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 25674858,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17936,
+ "fuse_read_lane_wait_nanos": 2714753,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45647,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1878564
+ }
+ },
+ "source": "phase-checkpoint-7"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 801417963,
+ "agentfs_batcher_commit_txns": 4802,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26185,
+ "attr_cache_misses": 30890,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33610,
+ "connection_wait_count": 33618,
+ "connection_wait_nanos": 10288353,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8039,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5610,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32551,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13675,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12360,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 13675,
+ "fuse_op_getattr_nanos": 74728037,
+ "fuse_op_lookup_count": 12360,
+ "fuse_op_lookup_nanos": 131063668,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 101096061,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34728749,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 71183356,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1137577682,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 25674858,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17936,
+ "fuse_read_lane_wait_nanos": 2714753,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45647,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 1879845,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20798,
+ "lookup_base_count": 23,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7552,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7130,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37677,
+ "path_resolution_count": 8151,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 14693733
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 42,
+ "agentfs_batcher_commit_latency_ns_total": 801417963,
+ "agentfs_batcher_commit_txns": 4802,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26185,
+ "attr_cache_misses": 30890,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 8,
+ "connection_reuse": 33610,
+ "connection_wait_count": 33618,
+ "connection_wait_nanos": 10288353,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "getattr_count": 20798,
+ "lookup_base_count": 23,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7552,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7130,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37677,
+ "path_resolution_count": 8151,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 14693733
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 8039,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5610,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32551,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 655720,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13675,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12360,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 473455683,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 468,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 1059842,
+ "fuse_op_getattr_count": 13675,
+ "fuse_op_getattr_nanos": 74728037,
+ "fuse_op_lookup_count": 12360,
+ "fuse_op_lookup_nanos": 131063668,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 709,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 101096061,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34728749,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 71183356,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1137577682,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 25674858,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 7,
+ "fuse_read_lane_wait_count": 17936,
+ "fuse_read_lane_wait_nanos": 2714753,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45647,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 1879845
+ }
+ },
+ "source": "cli"
+ }
+ ],
+ "returncode": 0,
+ "stderr_bytes": 64590,
+ "stderr_tail": "en_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":1,\"fuse_readdirplus_mode\":2,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_workers_configured\":7,\"fuse_writeback_cache_enabled\":1},\"core\":{\"agentfs_batcher_coalesced_ranges\":42,\"agentfs_batcher_commit_latency_ns_total\":801417963,\"agentfs_batcher_commit_txns\":4802,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4696,\"agentfs_batcher_drains_timer\":16,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1442885,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9411,\"attr_cache_hits\":26182,\"attr_cache_misses\":30888,\"chunk_read_chunks\":267,\"chunk_read_queries\":122,\"chunk_write_chunks\":1002,\"connection_create\":8,\"connection_reuse\":33583,\"connection_wait_count\":33591,\"connection_wait_nanos\":10267426,\"dentry_cache_hits\":26126,\"dentry_cache_misses\":14052,\"getattr_count\":20796,\"lookup_base_count\":23,\"lookup_count\":41054,\"lookup_delta_count\":7548,\"lookup_whiteout_count\":0,\"negative_cache_hits\":6883,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46085,\"negative_lookup_count\":14922,\"path_cache_hits\":26126,\"path_cache_misses\":14052,\"path_component_count\":37635,\"path_resolution_count\":8141,\"readdir_count\":1,\"readdir_plus_count\":1398,\"wal_checkpoint_count\":708,\"wal_checkpoint_nanos\":14265929},\"fuse\":{\"fuse_adapter_attr_hits\":7995,\"fuse_adapter_attr_misses\":5635,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6734,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5363,\"fuse_adapter_negative_misses\":6734,\"fuse_callback_count\":32235,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":8,\"fuse_dispatch_parallel_tasks\":47,\"fuse_dispatch_wait_count\":47,\"fuse_dispatch_wait_nanos\":655720,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13630,\"fuse_ino_file_resolutions\":27,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":12109,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":473455683,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":468,\"fuse_op_forget_count\":45,\"fuse_op_forget_nanos\":1059842,\"fuse_op_getattr_count\":13630,\"fuse_op_getattr_nanos\":74647885,\"fuse_op_lookup_count\":12109,\"fuse_op_lookup_nanos\":130727761,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":709,\"fuse_op_other_count\":3580,\"fuse_op_other_nanos\":101084585,\"fuse_op_read_count\":239,\"fuse_op_read_nanos\":34400115,\"fuse_op_readdirplus_count\":1407,\"fuse_op_readdirplus_nanos\":70175374,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4777,\"fuse_op_setattr_nanos\":1137577682,\"fuse_op_write_count\":4849,\"fuse_op_write_nanos\":25674858,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":239,\"fuse_read_lane_max_concurrent\":7,\"fuse_read_lane_wait_count\":17921,\"fuse_read_lane_wait_nanos\":2711049,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1407,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":45295,\"fuse_worker_queue_depth_peak\":2,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4849,\"fuse_write_lane_wait_count\":10268,\"fuse_write_lane_wait_nanos\":1878564}},\"source\":\"phase-checkpoint-6\"}\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":42,\"agentfs_batcher_commit_latency_ns_total\":801417963,\"agentfs_batcher_commit_txns\":4802,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4696,\"agentfs_batcher_drains_timer\":16,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1442885,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9411,\"attr_cache_hits\":26185,\"attr_cache_misses\":30890,\"base_fast_inode_invalidations\":15122,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1002,\"connection_create\":8,\"connection_reuse\":33607,\"connection_wait_count\":33615,\"connection_wait_nanos\":10282838,\"dentry_cache_hits\":26130,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":8039,\"fuse_adapter_attr_misses\":5636,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5610,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":32551,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":8,\"fuse_dispatch_parallel_tasks\":47,\"fuse_dispatch_wait_count\":47,\"fuse_dispatch_wait_nanos\":655720,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13675,\"fuse_ino_file_resolutions\":28,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12360,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":473455683,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":468,\"fuse_op_forget_count\":45,\"fuse_op_forget_nanos\":1059842,\"fuse_op_getattr_count\":13675,\"fuse_op_getattr_nanos\":74728037,\"fuse_op_lookup_count\":12360,\"fuse_op_lookup_nanos\":131063668,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":709,\"fuse_op_other_count\":3616,\"fuse_op_other_nanos\":101096061,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":34728749,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":71183356,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4777,\"fuse_op_setattr_nanos\":1137577682,\"fuse_op_write_count\":4849,\"fuse_op_write_nanos\":25674858,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":7,\"fuse_read_lane_wait_count\":17936,\"fuse_read_lane_wait_nanos\":2714753,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":45647,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4849,\"fuse_write_lane_wait_count\":10268,\"fuse_write_lane_wait_nanos\":1878564,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20798,\"lookup_base_count\":23,\"lookup_count\":41062,\"lookup_delta_count\":7552,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7130,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14924,\"path_cache_hits\":26130,\"path_cache_misses\":14054,\"path_component_count\":37677,\"path_resolution_count\":8151,\"readdir_count\":1,\"readdir_plus_count\":1416,\"wal_checkpoint_count\":717,\"wal_checkpoint_nanos\":14570016},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"sections\":{\"base\":{\"base_fast_inode_invalidations\":15122,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":1,\"fuse_readdirplus_mode\":2,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_workers_configured\":7,\"fuse_writeback_cache_enabled\":1},\"core\":{\"agentfs_batcher_coalesced_ranges\":42,\"agentfs_batcher_commit_latency_ns_total\":801417963,\"agentfs_batcher_commit_txns\":4802,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4696,\"agentfs_batcher_drains_timer\":16,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1442885,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9411,\"attr_cache_hits\":26185,\"attr_cache_misses\":30890,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1002,\"connection_create\":8,\"connection_reuse\":33607,\"connection_wait_count\":33615,\"connection_wait_nanos\":10282838,\"dentry_cache_hits\":26130,\"dentry_cache_misses\":14054,\"getattr_count\":20798,\"lookup_base_count\":23,\"lookup_count\":41062,\"lookup_delta_count\":7552,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7130,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14924,\"path_cache_hits\":26130,\"path_cache_misses\":14054,\"path_component_count\":37677,\"path_resolution_count\":8151,\"readdir_count\":1,\"readdir_plus_count\":1416,\"wal_checkpoint_count\":717,\"wal_checkpoint_nanos\":14570016},\"fuse\":{\"fuse_adapter_attr_hits\":8039,\"fuse_adapter_attr_misses\":5636,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5610,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":32551,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":8,\"fuse_dispatch_parallel_tasks\":47,\"fuse_dispatch_wait_count\":47,\"fuse_dispatch_wait_nanos\":655720,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13675,\"fuse_ino_file_resolutions\":28,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":12360,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":473455683,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":468,\"fuse_op_forget_count\":45,\"fuse_op_forget_nanos\":1059842,\"fuse_op_getattr_count\":13675,\"fuse_op_getattr_nanos\":74728037,\"fuse_op_lookup_count\":12360,\"fuse_op_lookup_nanos\":131063668,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":709,\"fuse_op_other_count\":3616,\"fuse_op_other_nanos\":101096061,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":34728749,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":71183356,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4777,\"fuse_op_setattr_nanos\":1137577682,\"fuse_op_write_count\":4849,\"fuse_op_write_nanos\":25674858,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":7,\"fuse_read_lane_wait_count\":17936,\"fuse_read_lane_wait_nanos\":2714753,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":45647,\"fuse_worker_queue_depth_peak\":2,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4849,\"fuse_write_lane_wait_count\":10268,\"fuse_write_lane_wait_nanos\":1878564}},\"source\":\"phase-checkpoint-7\"}\n\nSession: git-workload-14fbea9ebb104bf2b3f13d669d6de464\n\nTo resume this session:\n agentfs run --session git-workload-14fbea9ebb104bf2b3f13d669d6de464\n\nTo see what changed:\n agentfs diff git-workload-14fbea9ebb104bf2b3f13d669d6de464\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":42,\"agentfs_batcher_commit_latency_ns_total\":801417963,\"agentfs_batcher_commit_txns\":4802,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4696,\"agentfs_batcher_drains_timer\":16,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1442885,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9411,\"attr_cache_hits\":26185,\"attr_cache_misses\":30890,\"base_fast_inode_invalidations\":15122,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1002,\"connection_create\":8,\"connection_reuse\":33610,\"connection_wait_count\":33618,\"connection_wait_nanos\":10288353,\"dentry_cache_hits\":26130,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":8039,\"fuse_adapter_attr_misses\":5636,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5610,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":32551,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":8,\"fuse_dispatch_parallel_tasks\":47,\"fuse_dispatch_wait_count\":47,\"fuse_dispatch_wait_nanos\":655720,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13675,\"fuse_ino_file_resolutions\":28,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12360,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":473455683,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":468,\"fuse_op_forget_count\":45,\"fuse_op_forget_nanos\":1059842,\"fuse_op_getattr_count\":13675,\"fuse_op_getattr_nanos\":74728037,\"fuse_op_lookup_count\":12360,\"fuse_op_lookup_nanos\":131063668,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":709,\"fuse_op_other_count\":3616,\"fuse_op_other_nanos\":101096061,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":34728749,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":71183356,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4777,\"fuse_op_setattr_nanos\":1137577682,\"fuse_op_write_count\":4849,\"fuse_op_write_nanos\":25674858,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":7,\"fuse_read_lane_wait_count\":17936,\"fuse_read_lane_wait_nanos\":2714753,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":45647,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4849,\"fuse_write_lane_wait_count\":10270,\"fuse_write_lane_wait_nanos\":1879845,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20798,\"lookup_base_count\":23,\"lookup_count\":41062,\"lookup_delta_count\":7552,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7130,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14924,\"path_cache_hits\":26130,\"path_cache_misses\":14054,\"path_component_count\":37677,\"path_resolution_count\":8151,\"readdir_count\":1,\"readdir_plus_count\":1416,\"wal_checkpoint_count\":719,\"wal_checkpoint_nanos\":14693733},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"sections\":{\"base\":{\"base_fast_inode_invalidations\":15122,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":1,\"fuse_readdirplus_mode\":2,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_workers_configured\":7,\"fuse_writeback_cache_enabled\":1},\"core\":{\"agentfs_batcher_coalesced_ranges\":42,\"agentfs_batcher_commit_latency_ns_total\":801417963,\"agentfs_batcher_commit_txns\":4802,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4696,\"agentfs_batcher_drains_timer\":16,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1442885,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9411,\"attr_cache_hits\":26185,\"attr_cache_misses\":30890,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1002,\"connection_create\":8,\"connection_reuse\":33610,\"connection_wait_count\":33618,\"connection_wait_nanos\":10288353,\"dentry_cache_hits\":26130,\"dentry_cache_misses\":14054,\"getattr_count\":20798,\"lookup_base_count\":23,\"lookup_count\":41062,\"lookup_delta_count\":7552,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7130,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14924,\"path_cache_hits\":26130,\"path_cache_misses\":14054,\"path_component_count\":37677,\"path_resolution_count\":8151,\"readdir_count\":1,\"readdir_plus_count\":1416,\"wal_checkpoint_count\":719,\"wal_checkpoint_nanos\":14693733},\"fuse\":{\"fuse_adapter_attr_hits\":8039,\"fuse_adapter_attr_misses\":5636,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5610,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":32551,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":8,\"fuse_dispatch_parallel_tasks\":47,\"fuse_dispatch_wait_count\":47,\"fuse_dispatch_wait_nanos\":655720,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13675,\"fuse_ino_file_resolutions\":28,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":12360,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":473455683,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":468,\"fuse_op_forget_count\":45,\"fuse_op_forget_nanos\":1059842,\"fuse_op_getattr_count\":13675,\"fuse_op_getattr_nanos\":74728037,\"fuse_op_lookup_count\":12360,\"fuse_op_lookup_nanos\":131063668,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":709,\"fuse_op_other_count\":3616,\"fuse_op_other_nanos\":101096061,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":34728749,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":71183356,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4777,\"fuse_op_setattr_nanos\":1137577682,\"fuse_op_write_count\":4849,\"fuse_op_write_nanos\":25674858,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":7,\"fuse_read_lane_wait_count\":17936,\"fuse_read_lane_wait_nanos\":2714753,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":45647,\"fuse_worker_queue_depth_peak\":2,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4849,\"fuse_write_lane_wait_count\":10270,\"fuse_write_lane_wait_nanos\":1879845}},\"source\":\"cli\"}\n",
+ "stdout_bytes": 18769,
+ "stdout_tail": "2026-07-04T01:13:54.510074Z INFO agentfs::fuser::session: resolved FUSE dispatch mode: parallel workers=7 queue_capacity=28\n2026-07-04T01:13:54.510556Z INFO agentfs::fuse: advertising FUSE_OVER_IO_URING\n2026-07-04T01:13:54.510626Z INFO agentfs::fuser::uring: starting fuse-over-io_uring queues nr_queues=14 depth=4\n2026-07-04T01:13:56.866873Z WARN agentfs::fuser::request: Request RequestId(52241): Failed to send reply: No such file or directory (os error 2)\n{\"branch_status\": \"## agentfs-benchmark\\n\", \"diff\": {\"changed_file_count\": 8, \"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.06838756799697876, \"patch_bytes\": 3282, \"patch_sha256\": \"51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc\", \"runs\": {\"name_only\": {\"argv\": [\"git\", \"diff\", \"--name-only\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-qcdrpuw6/agentfs-base/work\", \"duration_seconds\": 0.0226461829879554, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 144, \"stdout_tail\": \"docs/CLA.md\\ndocs/agents_md.md\\ndocs/authentication.md\\ndocs/config.md\\ndocs/contributing.md\\ndocs/example-config.md\\ndocs/exec.md\\ndocs/execpolicy.md\\n\"}, \"patch\": {\"argv\": [\"git\", \"diff\", \"--\", \".\"], \"cwd\": \"/tmp/agentfs-git-workload-qcdrpuw6/agentfs-base/work\", \"duration_seconds\": 0.01828943299187813, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 3282, \"stdout_tail\": \"diff --git a/docs/CLA.md b/docs/CLA.md\\nindex 804f202..3495ac9 100644\\n--- a/docs/CLA.md\\n+++ b/docs/CLA.md\\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\\n This Agreement is governed by the laws of the **State of California**, USA,\\n excluding its conflict\\u2011of\\u2011laws rules. If any provision is held unenforceable,\\n the remaining provisions remain in force.\\n+\\n+AgentFS Git benchmark edit 00 for docs/CLA.md\\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\\nindex 3df0fac..b8b063d 100644\\n--- a/docs/agents_md.md\\n+++ b/docs/agents_md.md\\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\\n ## Hierarchical agents message\\n \\n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\\n+\\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\\ndiff --git a/docs/authentication.md b/docs/authentication.md\\nindex c307349..b3bc9dc 100644\\n--- a/docs/authentication.md\\n+++ b/docs/authentication.md\\n@@ -1,3 +1,5 @@\\n # Authentication\\n \\n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\\n+\\n+AgentFS Git benchmark edit 02 for docs/authentication.md\\ndiff --git a/docs/config.md b/docs/config.md\\nindex d35b0a8..030e278 100644\\n--- a/docs/config.md\\n+++ b/docs/config.md\\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\\n still allowing managed hooks from requirements and managed config layers. This\\n setting is only supported in `requirements.toml`; putting it in `config.toml`\\n does not enable managed-hooks-only mode.\\n+\\n+AgentFS Git benchmark edit 03 for docs/config.md\\ndiff --git a/docs/contributing.md b/docs/contributing.md\\nindex aeae1f1..b5a22ac 100644\\n--- a/docs/contributing.md\\n+++ b/docs/contributing.md\\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\\n ### Security & responsible AI\\n \\n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\\n+\\n+AgentFS Git benchmark edit 04 for docs/contributing.md\\ndiff --git a/docs/example-config.md b/docs/example-config.md\\nindex 84b1143..b09f835 100644\\n--- a/docs/example-config.md\\n+++ b/docs/example-config.md\\n@@ -1,3 +1,5 @@\\n # Sample configuration\\n \\n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\\n+\\n+AgentFS Git benchmark edit 05 for docs/example-config.md\\ndiff --git a/docs/exec.md b/docs/exec.md\\nindex 57e4323..a81da98 100644\\n--- a/docs/exec.md\\n+++ b/docs/exec.md\\n@@ -1,3 +1,5 @@\\n # Non-interactive mode\\n \\n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\\n+\\n+AgentFS Git benchmark edit 06 for docs/exec.md\\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\\nindex cafebb3..3b48afe 100644\\n--- a/docs/execpolicy.md\\n+++ b/docs/execpolicy.md\\n@@ -1,3 +1,5 @@\\n # Execution policy\\n \\n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\\n+\\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\\n\"}, \"stat\": {\"argv\": [\"git\", \"diff\", \"--stat\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-qcdrpuw6/agentfs-base/work\", \"duration_seconds\": 0.027385373003198765, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 283, \"stdout_tail\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}}, \"stat_stdout\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}, \"edits\": {\"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.004524231000686996, \"edits\": [{\"appended_bytes\": 47, \"path\": \"docs/CLA.md\", \"size_after\": 2106, \"size_before\": 2059}, {\"appended_bytes\": 53, \"path\": \"docs/agents_md.md\", \"size_after\": 462, \"size_before\": 409}, {\"appended_bytes\": 58, \"path\": \"docs/authentication.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 50, \"path\": \"docs/config.md\", \"size_after\": 776, \"size_before\": 726}, {\"appended_bytes\": 56, \"path\": \"docs/contributing.md\", \"size_after\": 6380, \"size_before\": 6324}, {\"appended_bytes\": 58, \"path\": \"docs/example-config.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 48, \"path\": \"docs/exec.md\", \"size_after\": 194, \"size_before\": 146}, {\"appended_bytes\": 54, \"path\": \"docs/execpolicy.md\", \"size_after\": 192, \"size_before\": 138}]}, \"fsck\": {\"ok\": true, \"ran\": true, \"run\": {\"argv\": [\"git\", \"fsck\", \"--strict\"], \"cwd\": \"/tmp/agentfs-git-workload-qcdrpuw6/agentfs-base/work\", \"duration_seconds\": 0.2221284370025387, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}, \"head_commit\": \"7d47056ea42636271ac020b86347fbbef49490aa\", \"initial_status\": \"\", \"phase_runs\": {\"checkout\": {\"argv\": [\"git\", \"checkout\", \"-B\", \"agentfs-benchmark\"], \"cwd\": \"/tmp/agentfs-git-workload-qcdrpuw6/agentfs-base/work\", \"duration_seconds\": 0.051958991010906175, \"returncode\": 0, \"stderr_bytes\": 45, \"stderr_tail\": \"Switched to a new branch 'agentfs-benchmark'\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"clone\": {\"argv\": [\"git\", \"clone\", \"--local\", \"--no-hardlinks\", \"/tmp/agentfs-git-workload-qcdrpuw6/agentfs-base/mirror.git\", \"/tmp/agentfs-git-workload-qcdrpuw6/agentfs-base/work\"], \"cwd\": \"/tmp/agentfs-git-workload-qcdrpuw6/agentfs-base\", \"duration_seconds\": 2.800840777999838, \"returncode\": 0, \"stderr_bytes\": 2340, \"stderr_tail\": \"Cloning into '/tmp/agentfs-git-workload-qcdrpuw6/agentfs-base/work'...\\nwarning: source repository is shallow, ignoring --local\\nwarning: --local is ignored\\nUpdating files: 37% (1753/4644)\\nUpdating files: 38% (1765/4644)\\nUpdating files: 39% (1812/4644)\\nUpdating files: 40% (1858/4644)\\nUpdating files: 41% (1905/4644)\\nUpdating files: 42% (1951/4644)\\nUpdating files: 43% (1997/4644)\\nUpdating files: 44% (2044/4644)\\nUpdating files: 45% (2090/4644)\\nUpdating files: 46% (2137/4644)\\nUpdating files: 47% (2183/4644)\\nUpdating files: 48% (2230/4644)\\nUpdating files: 49% (2276/4644)\\nUpdating files: 50% (2322/4644)\\nUpdating files: 51% (2369/4644)\\nUpdating files: 52% (2415/4644)\\nUpdating files: 53% (2462/4644)\\nUpdating files: 54% (2508/4644)\\nUpdating files: 55% (2555/4644)\\nUpdating files: 56% (2601/4644)\\nUpdating files: 57% (2648/4644)\\nUpdating files: 58% (2694/4644)\\nUpdating files: 59% (2740/4644)\\nUpdating files: 60% (2787/4644)\\nUpdating files: 61% (2833/4644)\\nUpdating files: 62% (2880/4644)\\nUpdating files: 63% (2926/4644)\\nUpdating files: 64% (2973/4644)\\nUpdating files: 65% (3019/4644)\\nUpdating files: 66% (3066/4644)\\nUpdating files: 67% (3112/4644)\\nUpdating files: 68% (3158/4644)\\nUpdating files: 69% (3205/4644)\\nUpdating files: 70% (3251/4644)\\nUpdating files: 71% (3298/4644)\\nUpdating files: 72% (3344/4644)\\nUpdating files: 73% (3391/4644)\\nUpdating files: 74% (3437/4644)\\nUpdating files: 75% (3483/4644)\\nUpdating files: 76% (3530/4644)\\nUpdating files: 77% (3576/4644)\\nUpdating files: 78% (3623/4644)\\nUpdating files: 79% (3669/4644)\\nUpdating files: 80% (3716/4644)\\nUpdating files: 80% (3761/4644)\\nUpdating files: 81% (3762/4644)\\nUpdating files: 82% (3809/4644)\\nUpdating files: 83% (3855/4644)\\nUpdating files: 84% (3901/4644)\\nUpdating files: 85% (3948/4644)\\nUpdating files: 86% (3994/4644)\\nUpdating files: 87% (4041/4644)\\nUpdating files: 88% (4087/4644)\\nUpdating files: 89% (4134/4644)\\nUpdating files: 90% (4180/4644)\\nUpdating files: 91% (4227/4644)\\nUpdating files: 92% (4273/4644)\\nUpdating files: 93% (4319/4644)\\nUpdating files: 94% (4366/4644)\\nUpdating files: 95% (4412/4644)\\nUpdating files: 96% (4459/4644)\\nUpdating files: 97% (4505/4644)\\nUpdating files: 98% (4552/4644)\\nUpdating files: 99% (4598/4644)\\nUpdating files: 100% (4644/4644)\\nUpdating files: 100% (4644/4644), done.\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"status\": {\"branch\": {\"argv\": [\"git\", \"status\", \"--short\", \"--branch\"], \"cwd\": \"/tmp/agentfs-git-workload-qcdrpuw6/agentfs-base/work\", \"duration_seconds\": 0.03987898799823597, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 21, \"stdout_tail\": \"## agentfs-benchmark\\n\"}, \"short\": {\"argv\": [\"git\", \"status\", \"--short\"], \"cwd\": \"/tmp/agentfs-git-workload-qcdrpuw6/agentfs-base/work\", \"duration_seconds\": 0.13807101799466182, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}}, \"phase_seconds\": {\"checkout\": 0.05482768401270732, \"clone\": 2.8008923250017688, \"diff\": 0.06838756799697876, \"edit\": 0.004524231000686996, \"fsck\": 0.22214840399101377, \"read_search\": 0.007138228989788331, \"status\": 0.17797551400144584}, \"profile_checkpoints\": [\"clone\", \"checkout\", \"status\", \"read_search\", \"edit\", \"diff\", \"fsck\"], \"read_search\": {\"bytes_read\": 117190, \"digest\": \"6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53\", \"files_scanned\": 64, \"files_total\": 4644, \"ls_files_run\": {\"argv\": [\"git\", \"ls-files\", \"-z\"], \"cwd\": \"/tmp/agentfs-git-workload-qcdrpuw6/agentfs-base/work\", \"duration_seconds\": 0.00507977299275808, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 263077, \"stdout_tail\": \"i_codex/api.py\\u0000sdk/python/src/openai_codex/async_client.py\\u0000sdk/python/src/openai_codex/client.py\\u0000sdk/python/src/openai_codex/errors.py\\u0000sdk/python/src/openai_codex/generated/__init__.py\\u0000sdk/python/src/openai_codex/generated/notification_registry.py\\u0000sdk/python/src/openai_codex/generated/v2_all.py\\u0000sdk/python/src/openai_codex/models.py\\u0000sdk/python/src/openai_codex/py.typed\\u0000sdk/python/src/openai_codex/retry.py\\u0000sdk/python/src/openai_codex/types.py\\u0000sdk/python/tests/app_server_harness.py\\u0000sdk/python/tests/app_server_helpers.py\\u0000sdk/python/tests/conftest.py\\u0000sdk/python/tests/test_app_server_approvals.py\\u0000sdk/python/tests/test_app_server_inputs.py\\u0000sdk/python/tests/test_app_server_lifecycle.py\\u0000sdk/python/tests/test_app_server_login.py\\u0000sdk/python/tests/test_app_server_run.py\\u0000sdk/python/tests/test_app_server_streaming.py\\u0000sdk/python/tests/test_app_server_turn_controls.py\\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\\u0000sdk/python/tests/test_async_client_behavior.py\\u0000sdk/python/tests/test_client_rpc_methods.py\\u0000sdk/python/tests/test_contract_generation.py\\u0000sdk/python/tests/test_public_api_runtime_behavior.py\\u0000sdk/python/tests/test_public_api_signatures.py\\u0000sdk/python/tests/test_real_app_server_integration.py\\u0000sdk/python/uv.lock\\u0000sdk/typescript/.prettierignore\\u0000sdk/typescript/.prettierrc\\u0000sdk/typescript/README.md\\u0000sdk/typescript/eslint.config.js\\u0000sdk/typescript/jest.config.cjs\\u0000sdk/typescript/package.json\\u0000sdk/typescript/samples/basic_streaming.ts\\u0000sdk/typescript/samples/helpers.ts\\u0000sdk/typescript/samples/structured_output.ts\\u0000sdk/typescript/samples/structured_output_zod.ts\\u0000sdk/typescript/src/codex.ts\\u0000sdk/typescript/src/codexOptions.ts\\u0000sdk/typescript/src/events.ts\\u0000sdk/typescript/src/exec.ts\\u0000sdk/typescript/src/index.ts\\u0000sdk/typescript/src/items.ts\\u0000sdk/typescript/src/outputSchemaFile.ts\\u0000sdk/typescript/src/thread.ts\\u0000sdk/typescript/src/threadOptions.ts\\u0000sdk/typescript/src/turnOptions.ts\\u0000sdk/typescript/tests/abort.test.ts\\u0000sdk/typescript/tests/codexExecSpy.ts\\u0000sdk/typescript/tests/exec.test.ts\\u0000sdk/typescript/tests/responsesProxy.ts\\u0000sdk/typescript/tests/run.test.ts\\u0000sdk/typescript/tests/runStreamed.test.ts\\u0000sdk/typescript/tests/setupCodexHome.ts\\u0000sdk/typescript/tests/testCodex.ts\\u0000sdk/typescript/tsconfig.json\\u0000sdk/typescript/tsup.config.ts\\u0000third_party/v8/BUILD.bazel\\u0000third_party/v8/README.md\\u0000third_party/v8/libcxx.BUILD.bazel\\u0000third_party/v8/libcxx_config/BUILD.bazel\\u0000third_party/v8/libcxx_config/__assertion_handler\\u0000third_party/v8/libcxx_config/__config_site\\u0000third_party/v8/libcxxabi.BUILD.bazel\\u0000third_party/v8/llvm_libc.BUILD.bazel\\u0000third_party/v8/rusty_v8_147_4_0.sha256\\u0000third_party/v8/v8_crate.BUILD.bazel\\u0000third_party/wezterm/LICENSE\\u0000tools/argument-comment-lint/.cargo/config.toml\\u0000tools/argument-comment-lint/.gitignore\\u0000tools/argument-comment-lint/BUILD.bazel\\u0000tools/argument-comment-lint/Cargo.lock\\u0000tools/argument-comment-lint/Cargo.toml\\u0000tools/argument-comment-lint/README.md\\u0000tools/argument-comment-lint/argument-comment-lint\\u0000tools/argument-comment-lint/driver.rs\\u0000tools/argument-comment-lint/lint_aspect.bzl\\u0000tools/argument-comment-lint/list-bazel-targets.sh\\u0000tools/argument-comment-lint/run-prebuilt-linter.py\\u0000tools/argument-comment-lint/run.py\\u0000tools/argument-comment-lint/rust-toolchain\\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\\u0000tools/argument-comment-lint/src/comment_parser.rs\\u0000tools/argument-comment-lint/src/lib.rs\\u0000tools/argument-comment-lint/test_wrapper_common.py\\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\\u0000tools/argument-comment-lint/ui/comment_matches.rs\\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\\u0000tools/argument-comment-lint/wrapper_common.py\\u0000workspace_root_test_launcher.bat.tpl\\u0000workspace_root_test_launcher.sh.tpl\\u0000\"}, \"matches\": 0, \"selected_files\": [\".bazelignore\", \".bazelrc\", \".bazelversion\", \".codespellignore\", \".codespellrc\", \".codex/environments/environment.toml\", \".codex/skills/babysit-pr/SKILL.md\", \".codex/skills/babysit-pr/agents/openai.yaml\", \".codex/skills/babysit-pr/references/github-api-notes.md\", \".codex/skills/babysit-pr/references/heuristics.md\", \".codex/skills/babysit-pr/scripts/gh_pr_watch.py\", \".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py\", \".codex/skills/code-review-breaking-changes/SKILL.md\", \".codex/skills/code-review-change-size/SKILL.md\", \".codex/skills/code-review-context/SKILL.md\", \".codex/skills/code-review-testing/SKILL.md\", \".codex/skills/code-review/SKILL.md\", \".codex/skills/codex-bug/SKILL.md\", \".codex/skills/codex-issue-digest/SKILL.md\", \".codex/skills/codex-issue-digest/agents/openai.yaml\", \".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py\", \".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py\", \".codex/skills/codex-pr-body/SKILL.md\", \".codex/skills/remote-tests/SKILL.md\", \".codex/skills/test-tui/SKILL.md\", \".codex/skills/update-v8-version/SKILL.md\", \".codex/skills/update-v8-version/agents/openai.yaml\", \".devcontainer/Dockerfile\", \".devcontainer/Dockerfile.secure\", \".devcontainer/README.md\", \".devcontainer/codex-install/package.json\", \".devcontainer/codex-install/pnpm-lock.yaml\", \".devcontainer/codex-install/pnpm-workspace.yaml\", \".devcontainer/devcontainer.json\", \".devcontainer/devcontainer.secure.json\", \".devcontainer/init-firewall.sh\", \".devcontainer/post-start.sh\", \".devcontainer/post_install.py\", \".gitattributes\", \".github/CODEOWNERS\", \".github/ISSUE_TEMPLATE/1-codex-app.yml\", \".github/ISSUE_TEMPLATE/2-extension.yml\", \".github/ISSUE_TEMPLATE/3-cli.yml\", \".github/ISSUE_TEMPLATE/4-bug-report.yml\", \".github/ISSUE_TEMPLATE/5-feature-request.yml\", \".github/ISSUE_TEMPLATE/6-docs-issue.yml\", \".github/actions/linux-code-sign/action.yml\", \".github/actions/macos-code-sign/action.yml\", \".github/actions/macos-code-sign/codex.entitlements.plist\", \".github/actions/macos-code-sign/notary_helpers.sh\", \".github/actions/prepare-bazel-ci/action.yml\", \".github/actions/run-argument-comment-lint/action.yml\", \".github/actions/setup-bazel-ci/action.yml\", \".github/actions/setup-msvc-env/action.yml\", \".github/actions/setup-msvc-env/setup-msvc-env.ps1\", \".github/actions/setup-rusty-v8/action.yml\", \".github/actions/windows-code-sign/action.yml\", \".github/blob-size-allowlist.txt\", \".github/codex-cli-splash.png\", \".github/codex/home/config.toml\", \".github/codex/labels/codex-attempt.md\", \".github/codex/labels/codex-review.md\", \".github/codex/labels/codex-rust-review.md\", \".github/codex/labels/codex-triage.md\"], \"token\": \"AGENTFS_TOKEN\"}, \"total_seconds\": 4.0367547670030035}\n",
+ "timed_out": false
+ },
+ "workload": {
+ "branch_status": "## agentfs-benchmark\n",
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.06838756799697876,
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc",
+ "runs": {
+ "name_only": {
+ "argv": [
+ "git",
+ "diff",
+ "--name-only",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-qcdrpuw6/agentfs-base/work",
+ "duration_seconds": 0.0226461829879554,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 144,
+ "stdout_tail": "docs/CLA.md\ndocs/agents_md.md\ndocs/authentication.md\ndocs/config.md\ndocs/contributing.md\ndocs/example-config.md\ndocs/exec.md\ndocs/execpolicy.md\n"
+ },
+ "patch": {
+ "argv": [
+ "git",
+ "diff",
+ "--",
+ "."
+ ],
+ "cwd": "/tmp/agentfs-git-workload-qcdrpuw6/agentfs-base/work",
+ "duration_seconds": 0.01828943299187813,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 3282,
+ "stdout_tail": "diff --git a/docs/CLA.md b/docs/CLA.md\nindex 804f202..3495ac9 100644\n--- a/docs/CLA.md\n+++ b/docs/CLA.md\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\n This Agreement is governed by the laws of the **State of California**, USA,\n excluding its conflict\u2011of\u2011laws rules. If any provision is held unenforceable,\n the remaining provisions remain in force.\n+\n+AgentFS Git benchmark edit 00 for docs/CLA.md\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\nindex 3df0fac..b8b063d 100644\n--- a/docs/agents_md.md\n+++ b/docs/agents_md.md\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\n ## Hierarchical agents message\n \n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\n+\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\ndiff --git a/docs/authentication.md b/docs/authentication.md\nindex c307349..b3bc9dc 100644\n--- a/docs/authentication.md\n+++ b/docs/authentication.md\n@@ -1,3 +1,5 @@\n # Authentication\n \n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\n+\n+AgentFS Git benchmark edit 02 for docs/authentication.md\ndiff --git a/docs/config.md b/docs/config.md\nindex d35b0a8..030e278 100644\n--- a/docs/config.md\n+++ b/docs/config.md\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\n still allowing managed hooks from requirements and managed config layers. This\n setting is only supported in `requirements.toml`; putting it in `config.toml`\n does not enable managed-hooks-only mode.\n+\n+AgentFS Git benchmark edit 03 for docs/config.md\ndiff --git a/docs/contributing.md b/docs/contributing.md\nindex aeae1f1..b5a22ac 100644\n--- a/docs/contributing.md\n+++ b/docs/contributing.md\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\n ### Security & responsible AI\n \n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\n+\n+AgentFS Git benchmark edit 04 for docs/contributing.md\ndiff --git a/docs/example-config.md b/docs/example-config.md\nindex 84b1143..b09f835 100644\n--- a/docs/example-config.md\n+++ b/docs/example-config.md\n@@ -1,3 +1,5 @@\n # Sample configuration\n \n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\n+\n+AgentFS Git benchmark edit 05 for docs/example-config.md\ndiff --git a/docs/exec.md b/docs/exec.md\nindex 57e4323..a81da98 100644\n--- a/docs/exec.md\n+++ b/docs/exec.md\n@@ -1,3 +1,5 @@\n # Non-interactive mode\n \n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\n+\n+AgentFS Git benchmark edit 06 for docs/exec.md\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\nindex cafebb3..3b48afe 100644\n--- a/docs/execpolicy.md\n+++ b/docs/execpolicy.md\n@@ -1,3 +1,5 @@\n # Execution policy\n \n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\n+\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\n"
+ },
+ "stat": {
+ "argv": [
+ "git",
+ "diff",
+ "--stat",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-qcdrpuw6/agentfs-base/work",
+ "duration_seconds": 0.027385373003198765,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 283,
+ "stdout_tail": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ }
+ },
+ "stat_stdout": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.004524231000686996,
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true,
+ "run": {
+ "argv": [
+ "git",
+ "fsck",
+ "--strict"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-qcdrpuw6/agentfs-base/work",
+ "duration_seconds": 0.2221284370025387,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "phase_runs": {
+ "checkout": {
+ "argv": [
+ "git",
+ "checkout",
+ "-B",
+ "agentfs-benchmark"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-qcdrpuw6/agentfs-base/work",
+ "duration_seconds": 0.051958991010906175,
+ "returncode": 0,
+ "stderr_bytes": 45,
+ "stderr_tail": "Switched to a new branch 'agentfs-benchmark'\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "clone": {
+ "argv": [
+ "git",
+ "clone",
+ "--local",
+ "--no-hardlinks",
+ "/tmp/agentfs-git-workload-qcdrpuw6/agentfs-base/mirror.git",
+ "/tmp/agentfs-git-workload-qcdrpuw6/agentfs-base/work"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-qcdrpuw6/agentfs-base",
+ "duration_seconds": 2.800840777999838,
+ "returncode": 0,
+ "stderr_bytes": 2340,
+ "stderr_tail": "Cloning into '/tmp/agentfs-git-workload-qcdrpuw6/agentfs-base/work'...\nwarning: source repository is shallow, ignoring --local\nwarning: --local is ignored\nUpdating files: 37% (1753/4644)\nUpdating files: 38% (1765/4644)\nUpdating files: 39% (1812/4644)\nUpdating files: 40% (1858/4644)\nUpdating files: 41% (1905/4644)\nUpdating files: 42% (1951/4644)\nUpdating files: 43% (1997/4644)\nUpdating files: 44% (2044/4644)\nUpdating files: 45% (2090/4644)\nUpdating files: 46% (2137/4644)\nUpdating files: 47% (2183/4644)\nUpdating files: 48% (2230/4644)\nUpdating files: 49% (2276/4644)\nUpdating files: 50% (2322/4644)\nUpdating files: 51% (2369/4644)\nUpdating files: 52% (2415/4644)\nUpdating files: 53% (2462/4644)\nUpdating files: 54% (2508/4644)\nUpdating files: 55% (2555/4644)\nUpdating files: 56% (2601/4644)\nUpdating files: 57% (2648/4644)\nUpdating files: 58% (2694/4644)\nUpdating files: 59% (2740/4644)\nUpdating files: 60% (2787/4644)\nUpdating files: 61% (2833/4644)\nUpdating files: 62% (2880/4644)\nUpdating files: 63% (2926/4644)\nUpdating files: 64% (2973/4644)\nUpdating files: 65% (3019/4644)\nUpdating files: 66% (3066/4644)\nUpdating files: 67% (3112/4644)\nUpdating files: 68% (3158/4644)\nUpdating files: 69% (3205/4644)\nUpdating files: 70% (3251/4644)\nUpdating files: 71% (3298/4644)\nUpdating files: 72% (3344/4644)\nUpdating files: 73% (3391/4644)\nUpdating files: 74% (3437/4644)\nUpdating files: 75% (3483/4644)\nUpdating files: 76% (3530/4644)\nUpdating files: 77% (3576/4644)\nUpdating files: 78% (3623/4644)\nUpdating files: 79% (3669/4644)\nUpdating files: 80% (3716/4644)\nUpdating files: 80% (3761/4644)\nUpdating files: 81% (3762/4644)\nUpdating files: 82% (3809/4644)\nUpdating files: 83% (3855/4644)\nUpdating files: 84% (3901/4644)\nUpdating files: 85% (3948/4644)\nUpdating files: 86% (3994/4644)\nUpdating files: 87% (4041/4644)\nUpdating files: 88% (4087/4644)\nUpdating files: 89% (4134/4644)\nUpdating files: 90% (4180/4644)\nUpdating files: 91% (4227/4644)\nUpdating files: 92% (4273/4644)\nUpdating files: 93% (4319/4644)\nUpdating files: 94% (4366/4644)\nUpdating files: 95% (4412/4644)\nUpdating files: 96% (4459/4644)\nUpdating files: 97% (4505/4644)\nUpdating files: 98% (4552/4644)\nUpdating files: 99% (4598/4644)\nUpdating files: 100% (4644/4644)\nUpdating files: 100% (4644/4644), done.\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "status": {
+ "branch": {
+ "argv": [
+ "git",
+ "status",
+ "--short",
+ "--branch"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-qcdrpuw6/agentfs-base/work",
+ "duration_seconds": 0.03987898799823597,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 21,
+ "stdout_tail": "## agentfs-benchmark\n"
+ },
+ "short": {
+ "argv": [
+ "git",
+ "status",
+ "--short"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-qcdrpuw6/agentfs-base/work",
+ "duration_seconds": 0.13807101799466182,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ }
+ },
+ "phase_seconds": {
+ "checkout": 0.05482768401270732,
+ "clone": 2.8008923250017688,
+ "diff": 0.06838756799697876,
+ "edit": 0.004524231000686996,
+ "fsck": 0.22214840399101377,
+ "read_search": 0.007138228989788331,
+ "status": 0.17797551400144584
+ },
+ "profile_checkpoints": [
+ "clone",
+ "checkout",
+ "status",
+ "read_search",
+ "edit",
+ "diff",
+ "fsck"
+ ],
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "ls_files_run": {
+ "argv": [
+ "git",
+ "ls-files",
+ "-z"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-qcdrpuw6/agentfs-base/work",
+ "duration_seconds": 0.00507977299275808,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 263077,
+ "stdout_tail": "i_codex/api.py\u0000sdk/python/src/openai_codex/async_client.py\u0000sdk/python/src/openai_codex/client.py\u0000sdk/python/src/openai_codex/errors.py\u0000sdk/python/src/openai_codex/generated/__init__.py\u0000sdk/python/src/openai_codex/generated/notification_registry.py\u0000sdk/python/src/openai_codex/generated/v2_all.py\u0000sdk/python/src/openai_codex/models.py\u0000sdk/python/src/openai_codex/py.typed\u0000sdk/python/src/openai_codex/retry.py\u0000sdk/python/src/openai_codex/types.py\u0000sdk/python/tests/app_server_harness.py\u0000sdk/python/tests/app_server_helpers.py\u0000sdk/python/tests/conftest.py\u0000sdk/python/tests/test_app_server_approvals.py\u0000sdk/python/tests/test_app_server_inputs.py\u0000sdk/python/tests/test_app_server_lifecycle.py\u0000sdk/python/tests/test_app_server_login.py\u0000sdk/python/tests/test_app_server_run.py\u0000sdk/python/tests/test_app_server_streaming.py\u0000sdk/python/tests/test_app_server_turn_controls.py\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\u0000sdk/python/tests/test_async_client_behavior.py\u0000sdk/python/tests/test_client_rpc_methods.py\u0000sdk/python/tests/test_contract_generation.py\u0000sdk/python/tests/test_public_api_runtime_behavior.py\u0000sdk/python/tests/test_public_api_signatures.py\u0000sdk/python/tests/test_real_app_server_integration.py\u0000sdk/python/uv.lock\u0000sdk/typescript/.prettierignore\u0000sdk/typescript/.prettierrc\u0000sdk/typescript/README.md\u0000sdk/typescript/eslint.config.js\u0000sdk/typescript/jest.config.cjs\u0000sdk/typescript/package.json\u0000sdk/typescript/samples/basic_streaming.ts\u0000sdk/typescript/samples/helpers.ts\u0000sdk/typescript/samples/structured_output.ts\u0000sdk/typescript/samples/structured_output_zod.ts\u0000sdk/typescript/src/codex.ts\u0000sdk/typescript/src/codexOptions.ts\u0000sdk/typescript/src/events.ts\u0000sdk/typescript/src/exec.ts\u0000sdk/typescript/src/index.ts\u0000sdk/typescript/src/items.ts\u0000sdk/typescript/src/outputSchemaFile.ts\u0000sdk/typescript/src/thread.ts\u0000sdk/typescript/src/threadOptions.ts\u0000sdk/typescript/src/turnOptions.ts\u0000sdk/typescript/tests/abort.test.ts\u0000sdk/typescript/tests/codexExecSpy.ts\u0000sdk/typescript/tests/exec.test.ts\u0000sdk/typescript/tests/responsesProxy.ts\u0000sdk/typescript/tests/run.test.ts\u0000sdk/typescript/tests/runStreamed.test.ts\u0000sdk/typescript/tests/setupCodexHome.ts\u0000sdk/typescript/tests/testCodex.ts\u0000sdk/typescript/tsconfig.json\u0000sdk/typescript/tsup.config.ts\u0000third_party/v8/BUILD.bazel\u0000third_party/v8/README.md\u0000third_party/v8/libcxx.BUILD.bazel\u0000third_party/v8/libcxx_config/BUILD.bazel\u0000third_party/v8/libcxx_config/__assertion_handler\u0000third_party/v8/libcxx_config/__config_site\u0000third_party/v8/libcxxabi.BUILD.bazel\u0000third_party/v8/llvm_libc.BUILD.bazel\u0000third_party/v8/rusty_v8_147_4_0.sha256\u0000third_party/v8/v8_crate.BUILD.bazel\u0000third_party/wezterm/LICENSE\u0000tools/argument-comment-lint/.cargo/config.toml\u0000tools/argument-comment-lint/.gitignore\u0000tools/argument-comment-lint/BUILD.bazel\u0000tools/argument-comment-lint/Cargo.lock\u0000tools/argument-comment-lint/Cargo.toml\u0000tools/argument-comment-lint/README.md\u0000tools/argument-comment-lint/argument-comment-lint\u0000tools/argument-comment-lint/driver.rs\u0000tools/argument-comment-lint/lint_aspect.bzl\u0000tools/argument-comment-lint/list-bazel-targets.sh\u0000tools/argument-comment-lint/run-prebuilt-linter.py\u0000tools/argument-comment-lint/run.py\u0000tools/argument-comment-lint/rust-toolchain\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\u0000tools/argument-comment-lint/src/comment_parser.rs\u0000tools/argument-comment-lint/src/lib.rs\u0000tools/argument-comment-lint/test_wrapper_common.py\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\u0000tools/argument-comment-lint/ui/comment_matches.rs\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\u0000tools/argument-comment-lint/wrapper_common.py\u0000workspace_root_test_launcher.bat.tpl\u0000workspace_root_test_launcher.sh.tpl\u0000"
+ },
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ],
+ "token": "AGENTFS_TOKEN"
+ },
+ "total_seconds": 4.0367547670030035
+ }
+ },
+ "base_tree": {
+ "after": {
+ "bytes": 9207621,
+ "directories": 10,
+ "files": 23,
+ "sha256": "205674f335734baebd3d0abeeec63f4533006514fb18a46393d7c0f1a830c544",
+ "symlinks": 0
+ },
+ "before": {
+ "bytes": 9207621,
+ "directories": 10,
+ "files": 23,
+ "sha256": "205674f335734baebd3d0abeeec63f4533006514fb18a46393d7c0f1a830c544",
+ "symlinks": 0
+ },
+ "unchanged": true
+ },
+ "benchmark": "phase7-git-workload",
+ "command": {
+ "agentfs_prefix": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "run",
+ "--session",
+ "git-workload-14fbea9ebb104bf2b3f13d669d6de464",
+ "--no-default-allows",
+ "--"
+ ],
+ "argv": [
+ "/home/ain3sh/factory/vfs/scripts/validation/git-workload-benchmark.py",
+ "--output",
+ "/tmp/vfs-val/misc-a-bench-rebaseline/run3.json.iterations/iter-01.json",
+ "--source",
+ ".agents/benchmarks/fixtures/codex",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8"
+ ],
+ "workload_argv": [
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ]
+ },
+ "correctness": {
+ "agentfs_backup_verify": true,
+ "agentfs_base_unchanged": true,
+ "agentfs_db_inspectable": true,
+ "agentfs_integrity_require_portable": true,
+ "agentfs_no_nonempty_sidecars": true,
+ "agentfs_portable": true,
+ "agentfs_returncode_zero": true,
+ "equivalence": {
+ "agentfs": {
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ]
+ }
+ },
+ "checked": true,
+ "equivalent": true,
+ "native": {
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ]
+ }
+ }
+ },
+ "native_returncode_zero": true,
+ "passed": true,
+ "performance_passed": false
+ },
+ "database": {
+ "after": {
+ "artifacts": [
+ {
+ "bytes": 57147392,
+ "path": "/tmp/agentfs-git-workload-qcdrpuw6/home/.agentfs/run/git-workload-14fbea9ebb104bf2b3f13d669d6de464/delta.db"
+ }
+ ],
+ "path": "/tmp/agentfs-git-workload-qcdrpuw6/home/.agentfs/run/git-workload-14fbea9ebb104bf2b3f13d669d6de464/delta.db",
+ "total_bytes": 57147392
+ },
+ "backup": {
+ "artifacts": {
+ "artifacts": [
+ {
+ "bytes": 57147392,
+ "path": "/tmp/agentfs-git-workload-qcdrpuw6/git-workload-backup.db"
+ }
+ ],
+ "path": "/tmp/agentfs-git-workload-qcdrpuw6/git-workload-backup.db",
+ "total_bytes": 57147392
+ },
+ "inspect": {
+ "fs_chunk_override_rows": 0,
+ "fs_config": {
+ "chunk_size": "65536",
+ "inline_threshold": "16384",
+ "schema_version": "0.5"
+ },
+ "fs_data_bytes": 41204221,
+ "fs_data_rows": 960,
+ "fs_inline_bytes": 11434794,
+ "fs_inode_rows": 5385,
+ "fs_origin_rows": 0,
+ "fs_partial_origin_rows": 0,
+ "fs_whiteout_rows": 0,
+ "inline_inode_rows": 4060,
+ "inspectable": true,
+ "portability_status": {
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true,
+ "stored_bytes": 52639015
+ }
+ },
+ "path": "/tmp/agentfs-git-workload-qcdrpuw6/git-workload-backup.db",
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "backup",
+ "/tmp/agentfs-git-workload-qcdrpuw6/home/.agentfs/run/git-workload-14fbea9ebb104bf2b3f13d669d6de464/delta.db",
+ "/tmp/agentfs-git-workload-qcdrpuw6/git-workload-backup.db",
+ "--verify"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-qcdrpuw6",
+ "duration_seconds": 2.6113844479987165,
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 0,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 0,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 0,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 0,
+ "fuse_op_getattr_nanos": 0,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 0,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_workers_configured": 0,
+ "fuse_writeback_cache_enabled": 0
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 0,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 0,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 0,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 0,
+ "fuse_op_getattr_nanos": 0,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 0,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0
+ }
+ },
+ "source": "cli"
+ }
+ ],
+ "returncode": 0,
+ "stderr_bytes": 7355,
+ "stderr_tail": "{\"counters\":{\"agentfs_batcher_coalesced_ranges\":0,\"agentfs_batcher_commit_latency_ns_total\":0,\"agentfs_batcher_commit_txns\":0,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":0,\"agentfs_batcher_drains_timer\":0,\"agentfs_batcher_enqueues\":0,\"agentfs_batcher_pending_max_bytes\":0,\"agentfs_batcher_txn_inodes_max\":0,\"agentfs_batcher_txn_inodes_total\":0,\"attr_cache_hits\":0,\"attr_cache_misses\":0,\"base_fast_inode_invalidations\":0,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":0,\"chunk_read_queries\":0,\"chunk_write_chunks\":0,\"connection_create\":0,\"connection_reuse\":0,\"connection_wait_count\":0,\"connection_wait_nanos\":0,\"dentry_cache_hits\":0,\"dentry_cache_misses\":0,\"fuse_adapter_attr_hits\":0,\"fuse_adapter_attr_misses\":0,\"fuse_adapter_entry_hits\":0,\"fuse_adapter_entry_misses\":0,\"fuse_adapter_inval_entry_notifications\":0,\"fuse_adapter_inval_inode_notifications\":0,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":0,\"fuse_adapter_negative_misses\":0,\"fuse_callback_count\":0,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":0,\"fuse_dispatch_parallel_tasks\":0,\"fuse_dispatch_wait_count\":0,\"fuse_dispatch_wait_nanos\":0,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":0,\"fuse_flush_count\":0,\"fuse_flush_ranges\":0,\"fuse_getattr_count\":0,\"fuse_ino_file_resolutions\":0,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":0,\"fuse_lookup_count\":0,\"fuse_noflush_enosys_replies\":0,\"fuse_noopen_enosys_replies\":0,\"fuse_op_create_count\":0,\"fuse_op_create_nanos\":0,\"fuse_op_flush_count\":0,\"fuse_op_flush_nanos\":0,\"fuse_op_forget_count\":0,\"fuse_op_forget_nanos\":0,\"fuse_op_getattr_count\":0,\"fuse_op_getattr_nanos\":0,\"fuse_op_lookup_count\":0,\"fuse_op_lookup_nanos\":0,\"fuse_op_open_count\":0,\"fuse_op_open_nanos\":0,\"fuse_op_other_count\":0,\"fuse_op_other_nanos\":0,\"fuse_op_read_count\":0,\"fuse_op_read_nanos\":0,\"fuse_op_readdirplus_count\":0,\"fuse_op_readdirplus_nanos\":0,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":0,\"fuse_op_setattr_nanos\":0,\"fuse_op_write_count\":0,\"fuse_op_write_nanos\":0,\"fuse_open_count\":0,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":0,\"fuse_read_lane_max_concurrent\":0,\"fuse_read_lane_wait_count\":0,\"fuse_read_lane_wait_nanos\":0,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":0,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":0,\"fuse_readdirplus_do_requested\":0,\"fuse_readdirplus_mode\":0,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":0,\"fuse_ttl_entry_ms\":0,\"fuse_ttl_neg_ms\":0,\"fuse_uring_requests\":0,\"fuse_worker_queue_depth_peak\":0,\"fuse_workers_configured\":0,\"fuse_write_bytes\":0,\"fuse_write_count\":0,\"fuse_write_lane_wait_count\":0,\"fuse_write_lane_wait_nanos\":0,\"fuse_writeback_cache_enabled\":0,\"getattr_count\":0,\"lookup_base_count\":0,\"lookup_count\":0,\"lookup_delta_count\":0,\"lookup_whiteout_count\":0,\"negative_cache_hits\":0,\"negative_cache_invalidations\":0,\"negative_cache_misses\":0,\"negative_lookup_count\":0,\"path_cache_hits\":0,\"path_cache_misses\":0,\"path_component_count\":0,\"path_resolution_count\":0,\"readdir_count\":0,\"readdir_plus_count\":0,\"wal_checkpoint_count\":0,\"wal_checkpoint_nanos\":0},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"sections\":{\"base\":{\"base_fast_inode_invalidations\":0,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":0,\"fuse_readdirplus_mode\":0,\"fuse_ttl_attr_ms\":0,\"fuse_ttl_entry_ms\":0,\"fuse_ttl_neg_ms\":0,\"fuse_workers_configured\":0,\"fuse_writeback_cache_enabled\":0},\"core\":{\"agentfs_batcher_coalesced_ranges\":0,\"agentfs_batcher_commit_latency_ns_total\":0,\"agentfs_batcher_commit_txns\":0,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":0,\"agentfs_batcher_drains_timer\":0,\"agentfs_batcher_enqueues\":0,\"agentfs_batcher_pending_max_bytes\":0,\"agentfs_batcher_txn_inodes_max\":0,\"agentfs_batcher_txn_inodes_total\":0,\"attr_cache_hits\":0,\"attr_cache_misses\":0,\"chunk_read_chunks\":0,\"chunk_read_queries\":0,\"chunk_write_chunks\":0,\"connection_create\":0,\"connection_reuse\":0,\"connection_wait_count\":0,\"connection_wait_nanos\":0,\"dentry_cache_hits\":0,\"dentry_cache_misses\":0,\"getattr_count\":0,\"lookup_base_count\":0,\"lookup_count\":0,\"lookup_delta_count\":0,\"lookup_whiteout_count\":0,\"negative_cache_hits\":0,\"negative_cache_invalidations\":0,\"negative_cache_misses\":0,\"negative_lookup_count\":0,\"path_cache_hits\":0,\"path_cache_misses\":0,\"path_component_count\":0,\"path_resolution_count\":0,\"readdir_count\":0,\"readdir_plus_count\":0,\"wal_checkpoint_count\":0,\"wal_checkpoint_nanos\":0},\"fuse\":{\"fuse_adapter_attr_hits\":0,\"fuse_adapter_attr_misses\":0,\"fuse_adapter_entry_hits\":0,\"fuse_adapter_entry_misses\":0,\"fuse_adapter_inval_entry_notifications\":0,\"fuse_adapter_inval_inode_notifications\":0,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":0,\"fuse_adapter_negative_misses\":0,\"fuse_callback_count\":0,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":0,\"fuse_dispatch_parallel_tasks\":0,\"fuse_dispatch_wait_count\":0,\"fuse_dispatch_wait_nanos\":0,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":0,\"fuse_flush_count\":0,\"fuse_flush_ranges\":0,\"fuse_getattr_count\":0,\"fuse_ino_file_resolutions\":0,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":0,\"fuse_noflush_enosys_replies\":0,\"fuse_noopen_enosys_replies\":0,\"fuse_op_create_count\":0,\"fuse_op_create_nanos\":0,\"fuse_op_flush_count\":0,\"fuse_op_flush_nanos\":0,\"fuse_op_forget_count\":0,\"fuse_op_forget_nanos\":0,\"fuse_op_getattr_count\":0,\"fuse_op_getattr_nanos\":0,\"fuse_op_lookup_count\":0,\"fuse_op_lookup_nanos\":0,\"fuse_op_open_count\":0,\"fuse_op_open_nanos\":0,\"fuse_op_other_count\":0,\"fuse_op_other_nanos\":0,\"fuse_op_read_count\":0,\"fuse_op_read_nanos\":0,\"fuse_op_readdirplus_count\":0,\"fuse_op_readdirplus_nanos\":0,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":0,\"fuse_op_setattr_nanos\":0,\"fuse_op_write_count\":0,\"fuse_op_write_nanos\":0,\"fuse_open_count\":0,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":0,\"fuse_read_lane_max_concurrent\":0,\"fuse_read_lane_wait_count\":0,\"fuse_read_lane_wait_nanos\":0,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":0,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":0,\"fuse_readdirplus_do_requested\":0,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":0,\"fuse_worker_queue_depth_peak\":0,\"fuse_write_bytes\":0,\"fuse_write_count\":0,\"fuse_write_lane_wait_count\":0,\"fuse_write_lane_wait_nanos\":0}},\"source\":\"cli\"}\n",
+ "stdout_bytes": 241,
+ "stdout_tail": "Source: /tmp/agentfs-git-workload-qcdrpuw6/home/.agentfs/run/git-workload-14fbea9ebb104bf2b3f13d669d6de464/delta.db\nBackup: /tmp/agentfs-git-workload-qcdrpuw6/git-workload-backup.db\nCheckpoint: complete\nCopy: complete\nVerification: complete\n",
+ "timed_out": false
+ }
+ },
+ "inspect_after": {
+ "fs_chunk_override_rows": 0,
+ "fs_config": {
+ "chunk_size": "65536",
+ "inline_threshold": "16384",
+ "schema_version": "0.5"
+ },
+ "fs_data_bytes": 41204221,
+ "fs_data_rows": 960,
+ "fs_inline_bytes": 11434794,
+ "fs_inode_rows": 5385,
+ "fs_origin_rows": 0,
+ "fs_partial_origin_rows": 0,
+ "fs_whiteout_rows": 0,
+ "inline_inode_rows": 4060,
+ "inspectable": true,
+ "portability_status": {
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true,
+ "stored_bytes": 52639015
+ }
+ },
+ "integrity": {
+ "result": {
+ "checks": [
+ {
+ "detail": "ok",
+ "name": "pragma.integrity_check",
+ "ok": true,
+ "violating_rows": null
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_config",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_inode",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_dentry",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_symlink",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.kv_store",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.tool_calls",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 0.5",
+ "name": "config.schema_version",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 65536",
+ "name": "config.chunk_size",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 16384",
+ "name": "config.inline_threshold",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.kind_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_has_no_chunks",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunked_has_no_inline_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_size_matches_blob",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_only_regular_files",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.non_regular_has_no_inline_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_reference_inodes",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_nonnegative_index",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunk_length_within_chunk_size",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_only_regular_files",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 1, expected 1",
+ "name": "namespace.root_inode",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_parent_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_parent_is_directory",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_target_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.non_root_inode_has_dentry",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_names_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.non_directory_nlink_matches_dentries",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.directory_nlink_positive",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "symlink.rows_reference_symlink_inodes",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "symlink.inodes_have_rows",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "portable: no partial-origin rows",
+ "name": "overlay.portability_status",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "portable requirement satisfied",
+ "name": "overlay.require_portable",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.origin_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_delta_inode_regular",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_sizes_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_paths_absolute",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_nonnegative_index",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_references_partial_origin",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_unique",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_index_in_range",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.whiteout_paths_absolute",
+ "ok": true,
+ "violating_rows": 0
+ }
+ ],
+ "database": "/tmp/agentfs-git-workload-qcdrpuw6/home/.agentfs/run/git-workload-14fbea9ebb104bf2b3f13d669d6de464/delta.db",
+ "ok": true,
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true
+ },
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "integrity",
+ "/tmp/agentfs-git-workload-qcdrpuw6/home/.agentfs/run/git-workload-14fbea9ebb104bf2b3f13d669d6de464/delta.db",
+ "--json",
+ "--require-portable"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-qcdrpuw6",
+ "duration_seconds": 2.6462612470058957,
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 0,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 0,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 0,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 0,
+ "fuse_op_getattr_nanos": 0,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 0,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_workers_configured": 0,
+ "fuse_writeback_cache_enabled": 0
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 0,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 0,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 0,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 0,
+ "fuse_op_getattr_nanos": 0,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 0,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0
+ }
+ },
+ "source": "cli"
+ }
+ ],
+ "returncode": 0,
+ "stderr_bytes": 7355,
+ "stderr_tail": "{\"counters\":{\"agentfs_batcher_coalesced_ranges\":0,\"agentfs_batcher_commit_latency_ns_total\":0,\"agentfs_batcher_commit_txns\":0,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":0,\"agentfs_batcher_drains_timer\":0,\"agentfs_batcher_enqueues\":0,\"agentfs_batcher_pending_max_bytes\":0,\"agentfs_batcher_txn_inodes_max\":0,\"agentfs_batcher_txn_inodes_total\":0,\"attr_cache_hits\":0,\"attr_cache_misses\":0,\"base_fast_inode_invalidations\":0,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":0,\"chunk_read_queries\":0,\"chunk_write_chunks\":0,\"connection_create\":0,\"connection_reuse\":0,\"connection_wait_count\":0,\"connection_wait_nanos\":0,\"dentry_cache_hits\":0,\"dentry_cache_misses\":0,\"fuse_adapter_attr_hits\":0,\"fuse_adapter_attr_misses\":0,\"fuse_adapter_entry_hits\":0,\"fuse_adapter_entry_misses\":0,\"fuse_adapter_inval_entry_notifications\":0,\"fuse_adapter_inval_inode_notifications\":0,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":0,\"fuse_adapter_negative_misses\":0,\"fuse_callback_count\":0,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":0,\"fuse_dispatch_parallel_tasks\":0,\"fuse_dispatch_wait_count\":0,\"fuse_dispatch_wait_nanos\":0,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":0,\"fuse_flush_count\":0,\"fuse_flush_ranges\":0,\"fuse_getattr_count\":0,\"fuse_ino_file_resolutions\":0,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":0,\"fuse_lookup_count\":0,\"fuse_noflush_enosys_replies\":0,\"fuse_noopen_enosys_replies\":0,\"fuse_op_create_count\":0,\"fuse_op_create_nanos\":0,\"fuse_op_flush_count\":0,\"fuse_op_flush_nanos\":0,\"fuse_op_forget_count\":0,\"fuse_op_forget_nanos\":0,\"fuse_op_getattr_count\":0,\"fuse_op_getattr_nanos\":0,\"fuse_op_lookup_count\":0,\"fuse_op_lookup_nanos\":0,\"fuse_op_open_count\":0,\"fuse_op_open_nanos\":0,\"fuse_op_other_count\":0,\"fuse_op_other_nanos\":0,\"fuse_op_read_count\":0,\"fuse_op_read_nanos\":0,\"fuse_op_readdirplus_count\":0,\"fuse_op_readdirplus_nanos\":0,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":0,\"fuse_op_setattr_nanos\":0,\"fuse_op_write_count\":0,\"fuse_op_write_nanos\":0,\"fuse_open_count\":0,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":0,\"fuse_read_lane_max_concurrent\":0,\"fuse_read_lane_wait_count\":0,\"fuse_read_lane_wait_nanos\":0,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":0,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":0,\"fuse_readdirplus_do_requested\":0,\"fuse_readdirplus_mode\":0,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":0,\"fuse_ttl_entry_ms\":0,\"fuse_ttl_neg_ms\":0,\"fuse_uring_requests\":0,\"fuse_worker_queue_depth_peak\":0,\"fuse_workers_configured\":0,\"fuse_write_bytes\":0,\"fuse_write_count\":0,\"fuse_write_lane_wait_count\":0,\"fuse_write_lane_wait_nanos\":0,\"fuse_writeback_cache_enabled\":0,\"getattr_count\":0,\"lookup_base_count\":0,\"lookup_count\":0,\"lookup_delta_count\":0,\"lookup_whiteout_count\":0,\"negative_cache_hits\":0,\"negative_cache_invalidations\":0,\"negative_cache_misses\":0,\"negative_lookup_count\":0,\"path_cache_hits\":0,\"path_cache_misses\":0,\"path_component_count\":0,\"path_resolution_count\":0,\"readdir_count\":0,\"readdir_plus_count\":0,\"wal_checkpoint_count\":0,\"wal_checkpoint_nanos\":0},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"sections\":{\"base\":{\"base_fast_inode_invalidations\":0,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":0,\"fuse_readdirplus_mode\":0,\"fuse_ttl_attr_ms\":0,\"fuse_ttl_entry_ms\":0,\"fuse_ttl_neg_ms\":0,\"fuse_workers_configured\":0,\"fuse_writeback_cache_enabled\":0},\"core\":{\"agentfs_batcher_coalesced_ranges\":0,\"agentfs_batcher_commit_latency_ns_total\":0,\"agentfs_batcher_commit_txns\":0,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":0,\"agentfs_batcher_drains_timer\":0,\"agentfs_batcher_enqueues\":0,\"agentfs_batcher_pending_max_bytes\":0,\"agentfs_batcher_txn_inodes_max\":0,\"agentfs_batcher_txn_inodes_total\":0,\"attr_cache_hits\":0,\"attr_cache_misses\":0,\"chunk_read_chunks\":0,\"chunk_read_queries\":0,\"chunk_write_chunks\":0,\"connection_create\":0,\"connection_reuse\":0,\"connection_wait_count\":0,\"connection_wait_nanos\":0,\"dentry_cache_hits\":0,\"dentry_cache_misses\":0,\"getattr_count\":0,\"lookup_base_count\":0,\"lookup_count\":0,\"lookup_delta_count\":0,\"lookup_whiteout_count\":0,\"negative_cache_hits\":0,\"negative_cache_invalidations\":0,\"negative_cache_misses\":0,\"negative_lookup_count\":0,\"path_cache_hits\":0,\"path_cache_misses\":0,\"path_component_count\":0,\"path_resolution_count\":0,\"readdir_count\":0,\"readdir_plus_count\":0,\"wal_checkpoint_count\":0,\"wal_checkpoint_nanos\":0},\"fuse\":{\"fuse_adapter_attr_hits\":0,\"fuse_adapter_attr_misses\":0,\"fuse_adapter_entry_hits\":0,\"fuse_adapter_entry_misses\":0,\"fuse_adapter_inval_entry_notifications\":0,\"fuse_adapter_inval_inode_notifications\":0,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":0,\"fuse_adapter_negative_misses\":0,\"fuse_callback_count\":0,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":0,\"fuse_dispatch_parallel_tasks\":0,\"fuse_dispatch_wait_count\":0,\"fuse_dispatch_wait_nanos\":0,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":0,\"fuse_flush_count\":0,\"fuse_flush_ranges\":0,\"fuse_getattr_count\":0,\"fuse_ino_file_resolutions\":0,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":0,\"fuse_noflush_enosys_replies\":0,\"fuse_noopen_enosys_replies\":0,\"fuse_op_create_count\":0,\"fuse_op_create_nanos\":0,\"fuse_op_flush_count\":0,\"fuse_op_flush_nanos\":0,\"fuse_op_forget_count\":0,\"fuse_op_forget_nanos\":0,\"fuse_op_getattr_count\":0,\"fuse_op_getattr_nanos\":0,\"fuse_op_lookup_count\":0,\"fuse_op_lookup_nanos\":0,\"fuse_op_open_count\":0,\"fuse_op_open_nanos\":0,\"fuse_op_other_count\":0,\"fuse_op_other_nanos\":0,\"fuse_op_read_count\":0,\"fuse_op_read_nanos\":0,\"fuse_op_readdirplus_count\":0,\"fuse_op_readdirplus_nanos\":0,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":0,\"fuse_op_setattr_nanos\":0,\"fuse_op_write_count\":0,\"fuse_op_write_nanos\":0,\"fuse_open_count\":0,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":0,\"fuse_read_lane_max_concurrent\":0,\"fuse_read_lane_wait_count\":0,\"fuse_read_lane_wait_nanos\":0,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":0,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":0,\"fuse_readdirplus_do_requested\":0,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":0,\"fuse_worker_queue_depth_peak\":0,\"fuse_write_bytes\":0,\"fuse_write_count\":0,\"fuse_write_lane_wait_count\":0,\"fuse_write_lane_wait_nanos\":0}},\"source\":\"cli\"}\n",
+ "stdout_bytes": 6395,
+ "stdout_tail": "{\n \"database\": \"/tmp/agentfs-git-workload-qcdrpuw6/home/.agentfs/run/git-workload-14fbea9ebb104bf2b3f13d669d6de464/delta.db\",\n \"ok\": true,\n \"portable\": true,\n \"origin_backed\": false,\n \"partial_origin_rows\": 0,\n \"checks\": [\n {\n \"name\": \"pragma.integrity_check\",\n \"ok\": true,\n \"detail\": \"ok\",\n \"violating_rows\": null\n },\n {\n \"name\": \"schema.table.fs_config\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_inode\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_dentry\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_data\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_symlink\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.kv_store\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.tool_calls\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.schema_version\",\n \"ok\": true,\n \"detail\": \"found 0.5\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.chunk_size\",\n \"ok\": true,\n \"detail\": \"found 65536\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.inline_threshold\",\n \"ok\": true,\n \"detail\": \"found 16384\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.kind_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_has_no_chunks\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunked_has_no_inline_data\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_size_matches_blob\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_only_regular_files\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.non_regular_has_no_inline_data\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_reference_inodes\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_nonnegative_index\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunk_length_within_chunk_size\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_only_regular_files\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.root_inode\",\n \"ok\": true,\n \"detail\": \"found 1, expected 1\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_parent_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_parent_is_directory\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_target_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.non_root_inode_has_dentry\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_names_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.non_directory_nlink_matches_dentries\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.directory_nlink_positive\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"symlink.rows_reference_symlink_inodes\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"symlink.inodes_have_rows\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.portability_status\",\n \"ok\": true,\n \"detail\": \"portable: no partial-origin rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.require_portable\",\n \"ok\": true,\n \"detail\": \"portable requirement satisfied\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.origin_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_delta_inode_regular\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_sizes_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_paths_absolute\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_nonnegative_index\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_references_partial_origin\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_unique\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_index_in_range\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.whiteout_paths_absolute\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n }\n ]\n}\n",
+ "timed_out": false
+ }
+ },
+ "nonempty_sidecars": false
+ },
+ "environment": {
+ "AGENTFS_BIN": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "AGENTFS_PROFILE": "1"
+ },
+ "git_commit": "2b811f03493e861e5a7786592d25ac73b39e1aba",
+ "kept_temp": false,
+ "native": {
+ "run": {
+ "argv": [
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-qcdrpuw6/native",
+ "duration_seconds": 0.8829451810015598,
+ "profile_summaries": [],
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 15992,
+ "stdout_tail": "{\"branch_status\": \"## agentfs-benchmark\\n\", \"diff\": {\"changed_file_count\": 8, \"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.013687198006664403, \"patch_bytes\": 3282, \"patch_sha256\": \"51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc\", \"runs\": {\"name_only\": {\"argv\": [\"git\", \"diff\", \"--name-only\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-qcdrpuw6/native/work\", \"duration_seconds\": 0.004608689007000066, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 144, \"stdout_tail\": \"docs/CLA.md\\ndocs/agents_md.md\\ndocs/authentication.md\\ndocs/config.md\\ndocs/contributing.md\\ndocs/example-config.md\\ndocs/exec.md\\ndocs/execpolicy.md\\n\"}, \"patch\": {\"argv\": [\"git\", \"diff\", \"--\", \".\"], \"cwd\": \"/tmp/agentfs-git-workload-qcdrpuw6/native/work\", \"duration_seconds\": 0.004381564998766407, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 3282, \"stdout_tail\": \"diff --git a/docs/CLA.md b/docs/CLA.md\\nindex 804f202..3495ac9 100644\\n--- a/docs/CLA.md\\n+++ b/docs/CLA.md\\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\\n This Agreement is governed by the laws of the **State of California**, USA,\\n excluding its conflict\\u2011of\\u2011laws rules. If any provision is held unenforceable,\\n the remaining provisions remain in force.\\n+\\n+AgentFS Git benchmark edit 00 for docs/CLA.md\\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\\nindex 3df0fac..b8b063d 100644\\n--- a/docs/agents_md.md\\n+++ b/docs/agents_md.md\\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\\n ## Hierarchical agents message\\n \\n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\\n+\\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\\ndiff --git a/docs/authentication.md b/docs/authentication.md\\nindex c307349..b3bc9dc 100644\\n--- a/docs/authentication.md\\n+++ b/docs/authentication.md\\n@@ -1,3 +1,5 @@\\n # Authentication\\n \\n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\\n+\\n+AgentFS Git benchmark edit 02 for docs/authentication.md\\ndiff --git a/docs/config.md b/docs/config.md\\nindex d35b0a8..030e278 100644\\n--- a/docs/config.md\\n+++ b/docs/config.md\\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\\n still allowing managed hooks from requirements and managed config layers. This\\n setting is only supported in `requirements.toml`; putting it in `config.toml`\\n does not enable managed-hooks-only mode.\\n+\\n+AgentFS Git benchmark edit 03 for docs/config.md\\ndiff --git a/docs/contributing.md b/docs/contributing.md\\nindex aeae1f1..b5a22ac 100644\\n--- a/docs/contributing.md\\n+++ b/docs/contributing.md\\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\\n ### Security & responsible AI\\n \\n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\\n+\\n+AgentFS Git benchmark edit 04 for docs/contributing.md\\ndiff --git a/docs/example-config.md b/docs/example-config.md\\nindex 84b1143..b09f835 100644\\n--- a/docs/example-config.md\\n+++ b/docs/example-config.md\\n@@ -1,3 +1,5 @@\\n # Sample configuration\\n \\n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\\n+\\n+AgentFS Git benchmark edit 05 for docs/example-config.md\\ndiff --git a/docs/exec.md b/docs/exec.md\\nindex 57e4323..a81da98 100644\\n--- a/docs/exec.md\\n+++ b/docs/exec.md\\n@@ -1,3 +1,5 @@\\n # Non-interactive mode\\n \\n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\\n+\\n+AgentFS Git benchmark edit 06 for docs/exec.md\\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\\nindex cafebb3..3b48afe 100644\\n--- a/docs/execpolicy.md\\n+++ b/docs/execpolicy.md\\n@@ -1,3 +1,5 @@\\n # Execution policy\\n \\n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\\n+\\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\\n\"}, \"stat\": {\"argv\": [\"git\", \"diff\", \"--stat\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-qcdrpuw6/native/work\", \"duration_seconds\": 0.004656777004129253, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 283, \"stdout_tail\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}}, \"stat_stdout\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}, \"edits\": {\"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.000326687004417181, \"edits\": [{\"appended_bytes\": 47, \"path\": \"docs/CLA.md\", \"size_after\": 2106, \"size_before\": 2059}, {\"appended_bytes\": 53, \"path\": \"docs/agents_md.md\", \"size_after\": 462, \"size_before\": 409}, {\"appended_bytes\": 58, \"path\": \"docs/authentication.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 50, \"path\": \"docs/config.md\", \"size_after\": 776, \"size_before\": 726}, {\"appended_bytes\": 56, \"path\": \"docs/contributing.md\", \"size_after\": 6380, \"size_before\": 6324}, {\"appended_bytes\": 58, \"path\": \"docs/example-config.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 48, \"path\": \"docs/exec.md\", \"size_after\": 194, \"size_before\": 146}, {\"appended_bytes\": 54, \"path\": \"docs/execpolicy.md\", \"size_after\": 192, \"size_before\": 138}]}, \"fsck\": {\"ok\": true, \"ran\": true, \"run\": {\"argv\": [\"git\", \"fsck\", \"--strict\"], \"cwd\": \"/tmp/agentfs-git-workload-qcdrpuw6/native/work\", \"duration_seconds\": 0.23136319500918034, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}, \"head_commit\": \"7d47056ea42636271ac020b86347fbbef49490aa\", \"initial_status\": \"\", \"phase_runs\": {\"checkout\": {\"argv\": [\"git\", \"checkout\", \"-B\", \"agentfs-benchmark\"], \"cwd\": \"/tmp/agentfs-git-workload-qcdrpuw6/native/work\", \"duration_seconds\": 0.23782009299611673, \"returncode\": 0, \"stderr_bytes\": 45, \"stderr_tail\": \"Switched to a new branch 'agentfs-benchmark'\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"clone\": {\"argv\": [\"git\", \"clone\", \"--local\", \"--no-hardlinks\", \"/tmp/agentfs-git-workload-qcdrpuw6/native/mirror.git\", \"/tmp/agentfs-git-workload-qcdrpuw6/native/work\"], \"cwd\": \"/tmp/agentfs-git-workload-qcdrpuw6/native\", \"duration_seconds\": 0.32865579999634065, \"returncode\": 0, \"stderr_bytes\": 149, \"stderr_tail\": \"Cloning into '/tmp/agentfs-git-workload-qcdrpuw6/native/work'...\\nwarning: source repository is shallow, ignoring --local\\nwarning: --local is ignored\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"status\": {\"branch\": {\"argv\": [\"git\", \"status\", \"--short\", \"--branch\"], \"cwd\": \"/tmp/agentfs-git-workload-qcdrpuw6/native/work\", \"duration_seconds\": 0.00893766999070067, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 21, \"stdout_tail\": \"## agentfs-benchmark\\n\"}, \"short\": {\"argv\": [\"git\", \"status\", \"--short\"], \"cwd\": \"/tmp/agentfs-git-workload-qcdrpuw6/native/work\", \"duration_seconds\": 0.009510732008493505, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}}, \"phase_seconds\": {\"checkout\": 0.24071779299993068, \"clone\": 0.3286946500011254, \"diff\": 0.013687198006664403, \"edit\": 0.000326687004417181, \"fsck\": 0.23137624299852178, \"read_search\": 0.0063567659963155165, \"status\": 0.018477466990589164}, \"profile_checkpoints\": [\"clone\", \"checkout\", \"status\", \"read_search\", \"edit\", \"diff\", \"fsck\"], \"read_search\": {\"bytes_read\": 117190, \"digest\": \"6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53\", \"files_scanned\": 64, \"files_total\": 4644, \"ls_files_run\": {\"argv\": [\"git\", \"ls-files\", \"-z\"], \"cwd\": \"/tmp/agentfs-git-workload-qcdrpuw6/native/work\", \"duration_seconds\": 0.003808831999776885, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 263077, \"stdout_tail\": \"i_codex/api.py\\u0000sdk/python/src/openai_codex/async_client.py\\u0000sdk/python/src/openai_codex/client.py\\u0000sdk/python/src/openai_codex/errors.py\\u0000sdk/python/src/openai_codex/generated/__init__.py\\u0000sdk/python/src/openai_codex/generated/notification_registry.py\\u0000sdk/python/src/openai_codex/generated/v2_all.py\\u0000sdk/python/src/openai_codex/models.py\\u0000sdk/python/src/openai_codex/py.typed\\u0000sdk/python/src/openai_codex/retry.py\\u0000sdk/python/src/openai_codex/types.py\\u0000sdk/python/tests/app_server_harness.py\\u0000sdk/python/tests/app_server_helpers.py\\u0000sdk/python/tests/conftest.py\\u0000sdk/python/tests/test_app_server_approvals.py\\u0000sdk/python/tests/test_app_server_inputs.py\\u0000sdk/python/tests/test_app_server_lifecycle.py\\u0000sdk/python/tests/test_app_server_login.py\\u0000sdk/python/tests/test_app_server_run.py\\u0000sdk/python/tests/test_app_server_streaming.py\\u0000sdk/python/tests/test_app_server_turn_controls.py\\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\\u0000sdk/python/tests/test_async_client_behavior.py\\u0000sdk/python/tests/test_client_rpc_methods.py\\u0000sdk/python/tests/test_contract_generation.py\\u0000sdk/python/tests/test_public_api_runtime_behavior.py\\u0000sdk/python/tests/test_public_api_signatures.py\\u0000sdk/python/tests/test_real_app_server_integration.py\\u0000sdk/python/uv.lock\\u0000sdk/typescript/.prettierignore\\u0000sdk/typescript/.prettierrc\\u0000sdk/typescript/README.md\\u0000sdk/typescript/eslint.config.js\\u0000sdk/typescript/jest.config.cjs\\u0000sdk/typescript/package.json\\u0000sdk/typescript/samples/basic_streaming.ts\\u0000sdk/typescript/samples/helpers.ts\\u0000sdk/typescript/samples/structured_output.ts\\u0000sdk/typescript/samples/structured_output_zod.ts\\u0000sdk/typescript/src/codex.ts\\u0000sdk/typescript/src/codexOptions.ts\\u0000sdk/typescript/src/events.ts\\u0000sdk/typescript/src/exec.ts\\u0000sdk/typescript/src/index.ts\\u0000sdk/typescript/src/items.ts\\u0000sdk/typescript/src/outputSchemaFile.ts\\u0000sdk/typescript/src/thread.ts\\u0000sdk/typescript/src/threadOptions.ts\\u0000sdk/typescript/src/turnOptions.ts\\u0000sdk/typescript/tests/abort.test.ts\\u0000sdk/typescript/tests/codexExecSpy.ts\\u0000sdk/typescript/tests/exec.test.ts\\u0000sdk/typescript/tests/responsesProxy.ts\\u0000sdk/typescript/tests/run.test.ts\\u0000sdk/typescript/tests/runStreamed.test.ts\\u0000sdk/typescript/tests/setupCodexHome.ts\\u0000sdk/typescript/tests/testCodex.ts\\u0000sdk/typescript/tsconfig.json\\u0000sdk/typescript/tsup.config.ts\\u0000third_party/v8/BUILD.bazel\\u0000third_party/v8/README.md\\u0000third_party/v8/libcxx.BUILD.bazel\\u0000third_party/v8/libcxx_config/BUILD.bazel\\u0000third_party/v8/libcxx_config/__assertion_handler\\u0000third_party/v8/libcxx_config/__config_site\\u0000third_party/v8/libcxxabi.BUILD.bazel\\u0000third_party/v8/llvm_libc.BUILD.bazel\\u0000third_party/v8/rusty_v8_147_4_0.sha256\\u0000third_party/v8/v8_crate.BUILD.bazel\\u0000third_party/wezterm/LICENSE\\u0000tools/argument-comment-lint/.cargo/config.toml\\u0000tools/argument-comment-lint/.gitignore\\u0000tools/argument-comment-lint/BUILD.bazel\\u0000tools/argument-comment-lint/Cargo.lock\\u0000tools/argument-comment-lint/Cargo.toml\\u0000tools/argument-comment-lint/README.md\\u0000tools/argument-comment-lint/argument-comment-lint\\u0000tools/argument-comment-lint/driver.rs\\u0000tools/argument-comment-lint/lint_aspect.bzl\\u0000tools/argument-comment-lint/list-bazel-targets.sh\\u0000tools/argument-comment-lint/run-prebuilt-linter.py\\u0000tools/argument-comment-lint/run.py\\u0000tools/argument-comment-lint/rust-toolchain\\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\\u0000tools/argument-comment-lint/src/comment_parser.rs\\u0000tools/argument-comment-lint/src/lib.rs\\u0000tools/argument-comment-lint/test_wrapper_common.py\\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\\u0000tools/argument-comment-lint/ui/comment_matches.rs\\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\\u0000tools/argument-comment-lint/wrapper_common.py\\u0000workspace_root_test_launcher.bat.tpl\\u0000workspace_root_test_launcher.sh.tpl\\u0000\"}, \"matches\": 0, \"selected_files\": [\".bazelignore\", \".bazelrc\", \".bazelversion\", \".codespellignore\", \".codespellrc\", \".codex/environments/environment.toml\", \".codex/skills/babysit-pr/SKILL.md\", \".codex/skills/babysit-pr/agents/openai.yaml\", \".codex/skills/babysit-pr/references/github-api-notes.md\", \".codex/skills/babysit-pr/references/heuristics.md\", \".codex/skills/babysit-pr/scripts/gh_pr_watch.py\", \".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py\", \".codex/skills/code-review-breaking-changes/SKILL.md\", \".codex/skills/code-review-change-size/SKILL.md\", \".codex/skills/code-review-context/SKILL.md\", \".codex/skills/code-review-testing/SKILL.md\", \".codex/skills/code-review/SKILL.md\", \".codex/skills/codex-bug/SKILL.md\", \".codex/skills/codex-issue-digest/SKILL.md\", \".codex/skills/codex-issue-digest/agents/openai.yaml\", \".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py\", \".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py\", \".codex/skills/codex-pr-body/SKILL.md\", \".codex/skills/remote-tests/SKILL.md\", \".codex/skills/test-tui/SKILL.md\", \".codex/skills/update-v8-version/SKILL.md\", \".codex/skills/update-v8-version/agents/openai.yaml\", \".devcontainer/Dockerfile\", \".devcontainer/Dockerfile.secure\", \".devcontainer/README.md\", \".devcontainer/codex-install/package.json\", \".devcontainer/codex-install/pnpm-lock.yaml\", \".devcontainer/codex-install/pnpm-workspace.yaml\", \".devcontainer/devcontainer.json\", \".devcontainer/devcontainer.secure.json\", \".devcontainer/init-firewall.sh\", \".devcontainer/post-start.sh\", \".devcontainer/post_install.py\", \".gitattributes\", \".github/CODEOWNERS\", \".github/ISSUE_TEMPLATE/1-codex-app.yml\", \".github/ISSUE_TEMPLATE/2-extension.yml\", \".github/ISSUE_TEMPLATE/3-cli.yml\", \".github/ISSUE_TEMPLATE/4-bug-report.yml\", \".github/ISSUE_TEMPLATE/5-feature-request.yml\", \".github/ISSUE_TEMPLATE/6-docs-issue.yml\", \".github/actions/linux-code-sign/action.yml\", \".github/actions/macos-code-sign/action.yml\", \".github/actions/macos-code-sign/codex.entitlements.plist\", \".github/actions/macos-code-sign/notary_helpers.sh\", \".github/actions/prepare-bazel-ci/action.yml\", \".github/actions/run-argument-comment-lint/action.yml\", \".github/actions/setup-bazel-ci/action.yml\", \".github/actions/setup-msvc-env/action.yml\", \".github/actions/setup-msvc-env/setup-msvc-env.ps1\", \".github/actions/setup-rusty-v8/action.yml\", \".github/actions/windows-code-sign/action.yml\", \".github/blob-size-allowlist.txt\", \".github/codex-cli-splash.png\", \".github/codex/home/config.toml\", \".github/codex/labels/codex-attempt.md\", \".github/codex/labels/codex-review.md\", \".github/codex/labels/codex-rust-review.md\", \".github/codex/labels/codex-triage.md\"], \"token\": \"AGENTFS_TOKEN\"}, \"total_seconds\": 0.8398232860054122}\n",
+ "timed_out": false
+ },
+ "workload": {
+ "branch_status": "## agentfs-benchmark\n",
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.013687198006664403,
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc",
+ "runs": {
+ "name_only": {
+ "argv": [
+ "git",
+ "diff",
+ "--name-only",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-qcdrpuw6/native/work",
+ "duration_seconds": 0.004608689007000066,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 144,
+ "stdout_tail": "docs/CLA.md\ndocs/agents_md.md\ndocs/authentication.md\ndocs/config.md\ndocs/contributing.md\ndocs/example-config.md\ndocs/exec.md\ndocs/execpolicy.md\n"
+ },
+ "patch": {
+ "argv": [
+ "git",
+ "diff",
+ "--",
+ "."
+ ],
+ "cwd": "/tmp/agentfs-git-workload-qcdrpuw6/native/work",
+ "duration_seconds": 0.004381564998766407,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 3282,
+ "stdout_tail": "diff --git a/docs/CLA.md b/docs/CLA.md\nindex 804f202..3495ac9 100644\n--- a/docs/CLA.md\n+++ b/docs/CLA.md\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\n This Agreement is governed by the laws of the **State of California**, USA,\n excluding its conflict\u2011of\u2011laws rules. If any provision is held unenforceable,\n the remaining provisions remain in force.\n+\n+AgentFS Git benchmark edit 00 for docs/CLA.md\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\nindex 3df0fac..b8b063d 100644\n--- a/docs/agents_md.md\n+++ b/docs/agents_md.md\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\n ## Hierarchical agents message\n \n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\n+\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\ndiff --git a/docs/authentication.md b/docs/authentication.md\nindex c307349..b3bc9dc 100644\n--- a/docs/authentication.md\n+++ b/docs/authentication.md\n@@ -1,3 +1,5 @@\n # Authentication\n \n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\n+\n+AgentFS Git benchmark edit 02 for docs/authentication.md\ndiff --git a/docs/config.md b/docs/config.md\nindex d35b0a8..030e278 100644\n--- a/docs/config.md\n+++ b/docs/config.md\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\n still allowing managed hooks from requirements and managed config layers. This\n setting is only supported in `requirements.toml`; putting it in `config.toml`\n does not enable managed-hooks-only mode.\n+\n+AgentFS Git benchmark edit 03 for docs/config.md\ndiff --git a/docs/contributing.md b/docs/contributing.md\nindex aeae1f1..b5a22ac 100644\n--- a/docs/contributing.md\n+++ b/docs/contributing.md\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\n ### Security & responsible AI\n \n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\n+\n+AgentFS Git benchmark edit 04 for docs/contributing.md\ndiff --git a/docs/example-config.md b/docs/example-config.md\nindex 84b1143..b09f835 100644\n--- a/docs/example-config.md\n+++ b/docs/example-config.md\n@@ -1,3 +1,5 @@\n # Sample configuration\n \n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\n+\n+AgentFS Git benchmark edit 05 for docs/example-config.md\ndiff --git a/docs/exec.md b/docs/exec.md\nindex 57e4323..a81da98 100644\n--- a/docs/exec.md\n+++ b/docs/exec.md\n@@ -1,3 +1,5 @@\n # Non-interactive mode\n \n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\n+\n+AgentFS Git benchmark edit 06 for docs/exec.md\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\nindex cafebb3..3b48afe 100644\n--- a/docs/execpolicy.md\n+++ b/docs/execpolicy.md\n@@ -1,3 +1,5 @@\n # Execution policy\n \n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\n+\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\n"
+ },
+ "stat": {
+ "argv": [
+ "git",
+ "diff",
+ "--stat",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-qcdrpuw6/native/work",
+ "duration_seconds": 0.004656777004129253,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 283,
+ "stdout_tail": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ }
+ },
+ "stat_stdout": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.000326687004417181,
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true,
+ "run": {
+ "argv": [
+ "git",
+ "fsck",
+ "--strict"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-qcdrpuw6/native/work",
+ "duration_seconds": 0.23136319500918034,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "phase_runs": {
+ "checkout": {
+ "argv": [
+ "git",
+ "checkout",
+ "-B",
+ "agentfs-benchmark"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-qcdrpuw6/native/work",
+ "duration_seconds": 0.23782009299611673,
+ "returncode": 0,
+ "stderr_bytes": 45,
+ "stderr_tail": "Switched to a new branch 'agentfs-benchmark'\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "clone": {
+ "argv": [
+ "git",
+ "clone",
+ "--local",
+ "--no-hardlinks",
+ "/tmp/agentfs-git-workload-qcdrpuw6/native/mirror.git",
+ "/tmp/agentfs-git-workload-qcdrpuw6/native/work"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-qcdrpuw6/native",
+ "duration_seconds": 0.32865579999634065,
+ "returncode": 0,
+ "stderr_bytes": 149,
+ "stderr_tail": "Cloning into '/tmp/agentfs-git-workload-qcdrpuw6/native/work'...\nwarning: source repository is shallow, ignoring --local\nwarning: --local is ignored\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "status": {
+ "branch": {
+ "argv": [
+ "git",
+ "status",
+ "--short",
+ "--branch"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-qcdrpuw6/native/work",
+ "duration_seconds": 0.00893766999070067,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 21,
+ "stdout_tail": "## agentfs-benchmark\n"
+ },
+ "short": {
+ "argv": [
+ "git",
+ "status",
+ "--short"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-qcdrpuw6/native/work",
+ "duration_seconds": 0.009510732008493505,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ }
+ },
+ "phase_seconds": {
+ "checkout": 0.24071779299993068,
+ "clone": 0.3286946500011254,
+ "diff": 0.013687198006664403,
+ "edit": 0.000326687004417181,
+ "fsck": 0.23137624299852178,
+ "read_search": 0.0063567659963155165,
+ "status": 0.018477466990589164
+ },
+ "profile_checkpoints": [
+ "clone",
+ "checkout",
+ "status",
+ "read_search",
+ "edit",
+ "diff",
+ "fsck"
+ ],
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "ls_files_run": {
+ "argv": [
+ "git",
+ "ls-files",
+ "-z"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-qcdrpuw6/native/work",
+ "duration_seconds": 0.003808831999776885,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 263077,
+ "stdout_tail": "i_codex/api.py\u0000sdk/python/src/openai_codex/async_client.py\u0000sdk/python/src/openai_codex/client.py\u0000sdk/python/src/openai_codex/errors.py\u0000sdk/python/src/openai_codex/generated/__init__.py\u0000sdk/python/src/openai_codex/generated/notification_registry.py\u0000sdk/python/src/openai_codex/generated/v2_all.py\u0000sdk/python/src/openai_codex/models.py\u0000sdk/python/src/openai_codex/py.typed\u0000sdk/python/src/openai_codex/retry.py\u0000sdk/python/src/openai_codex/types.py\u0000sdk/python/tests/app_server_harness.py\u0000sdk/python/tests/app_server_helpers.py\u0000sdk/python/tests/conftest.py\u0000sdk/python/tests/test_app_server_approvals.py\u0000sdk/python/tests/test_app_server_inputs.py\u0000sdk/python/tests/test_app_server_lifecycle.py\u0000sdk/python/tests/test_app_server_login.py\u0000sdk/python/tests/test_app_server_run.py\u0000sdk/python/tests/test_app_server_streaming.py\u0000sdk/python/tests/test_app_server_turn_controls.py\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\u0000sdk/python/tests/test_async_client_behavior.py\u0000sdk/python/tests/test_client_rpc_methods.py\u0000sdk/python/tests/test_contract_generation.py\u0000sdk/python/tests/test_public_api_runtime_behavior.py\u0000sdk/python/tests/test_public_api_signatures.py\u0000sdk/python/tests/test_real_app_server_integration.py\u0000sdk/python/uv.lock\u0000sdk/typescript/.prettierignore\u0000sdk/typescript/.prettierrc\u0000sdk/typescript/README.md\u0000sdk/typescript/eslint.config.js\u0000sdk/typescript/jest.config.cjs\u0000sdk/typescript/package.json\u0000sdk/typescript/samples/basic_streaming.ts\u0000sdk/typescript/samples/helpers.ts\u0000sdk/typescript/samples/structured_output.ts\u0000sdk/typescript/samples/structured_output_zod.ts\u0000sdk/typescript/src/codex.ts\u0000sdk/typescript/src/codexOptions.ts\u0000sdk/typescript/src/events.ts\u0000sdk/typescript/src/exec.ts\u0000sdk/typescript/src/index.ts\u0000sdk/typescript/src/items.ts\u0000sdk/typescript/src/outputSchemaFile.ts\u0000sdk/typescript/src/thread.ts\u0000sdk/typescript/src/threadOptions.ts\u0000sdk/typescript/src/turnOptions.ts\u0000sdk/typescript/tests/abort.test.ts\u0000sdk/typescript/tests/codexExecSpy.ts\u0000sdk/typescript/tests/exec.test.ts\u0000sdk/typescript/tests/responsesProxy.ts\u0000sdk/typescript/tests/run.test.ts\u0000sdk/typescript/tests/runStreamed.test.ts\u0000sdk/typescript/tests/setupCodexHome.ts\u0000sdk/typescript/tests/testCodex.ts\u0000sdk/typescript/tsconfig.json\u0000sdk/typescript/tsup.config.ts\u0000third_party/v8/BUILD.bazel\u0000third_party/v8/README.md\u0000third_party/v8/libcxx.BUILD.bazel\u0000third_party/v8/libcxx_config/BUILD.bazel\u0000third_party/v8/libcxx_config/__assertion_handler\u0000third_party/v8/libcxx_config/__config_site\u0000third_party/v8/libcxxabi.BUILD.bazel\u0000third_party/v8/llvm_libc.BUILD.bazel\u0000third_party/v8/rusty_v8_147_4_0.sha256\u0000third_party/v8/v8_crate.BUILD.bazel\u0000third_party/wezterm/LICENSE\u0000tools/argument-comment-lint/.cargo/config.toml\u0000tools/argument-comment-lint/.gitignore\u0000tools/argument-comment-lint/BUILD.bazel\u0000tools/argument-comment-lint/Cargo.lock\u0000tools/argument-comment-lint/Cargo.toml\u0000tools/argument-comment-lint/README.md\u0000tools/argument-comment-lint/argument-comment-lint\u0000tools/argument-comment-lint/driver.rs\u0000tools/argument-comment-lint/lint_aspect.bzl\u0000tools/argument-comment-lint/list-bazel-targets.sh\u0000tools/argument-comment-lint/run-prebuilt-linter.py\u0000tools/argument-comment-lint/run.py\u0000tools/argument-comment-lint/rust-toolchain\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\u0000tools/argument-comment-lint/src/comment_parser.rs\u0000tools/argument-comment-lint/src/lib.rs\u0000tools/argument-comment-lint/test_wrapper_common.py\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\u0000tools/argument-comment-lint/ui/comment_matches.rs\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\u0000tools/argument-comment-lint/wrapper_common.py\u0000workspace_root_test_launcher.bat.tpl\u0000workspace_root_test_launcher.sh.tpl\u0000"
+ },
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ],
+ "token": "AGENTFS_TOKEN"
+ },
+ "total_seconds": 0.8398232860054122
+ }
+ },
+ "parameters": {
+ "edit_files": 8,
+ "fixture_dirs": 8,
+ "fixture_file_size_bytes": 1024,
+ "fixture_files": 96,
+ "read_bytes": 4096,
+ "read_files": 64,
+ "search_token": "AGENTFS_TOKEN",
+ "skip_fsck": false,
+ "timeout_seconds": 180.0
+ },
+ "schema_version": 1,
+ "source": {
+ "kind": "source",
+ "mirror_head": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "path": "/home/ain3sh/factory/vfs/.agents/benchmarks/fixtures/codex"
+ },
+ "summary": {
+ "agentfs_base_unchanged": true,
+ "agentfs_seconds": 4.0367547670030035,
+ "all_equivalent": true,
+ "correctness_passed": true,
+ "native_seconds": 0.8398232860054122,
+ "passed": true,
+ "performance_passed": false,
+ "phase_ratios": {
+ "checkout": {
+ "agentfs_seconds": 0.05482768401270732,
+ "native_seconds": 0.24071779299993068,
+ "ratio": 0.22776747547167447
+ },
+ "clone": {
+ "agentfs_seconds": 2.8008923250017688,
+ "native_seconds": 0.3286946500011254,
+ "ratio": 8.521259244688585
+ },
+ "diff": {
+ "agentfs_seconds": 0.06838756799697876,
+ "native_seconds": 0.013687198006664403,
+ "ratio": 4.996462238924309
+ },
+ "edit": {
+ "agentfs_seconds": 0.004524231000686996,
+ "native_seconds": 0.000326687004417181,
+ "ratio": 13.848824530863581
+ },
+ "fsck": {
+ "agentfs_seconds": 0.22214840399101377,
+ "native_seconds": 0.23137624299852178,
+ "ratio": 0.9601176037439291
+ },
+ "read_search": {
+ "agentfs_seconds": 0.007138228989788331,
+ "native_seconds": 0.0063567659963155165,
+ "ratio": 1.1229340507304757
+ },
+ "status": {
+ "agentfs_seconds": 0.17797551400144584,
+ "native_seconds": 0.018477466990589164,
+ "ratio": 9.632029871415346
+ }
+ },
+ "ratio": 4.806671634700289,
+ "threshold_failures": [
+ {
+ "agentfs_seconds": 2.8008923250017688,
+ "native_seconds": 0.3286946500011254,
+ "phase": "clone",
+ "ratio": 8.521259244688585
+ },
+ {
+ "agentfs_seconds": 0.06838756799697876,
+ "native_seconds": 0.013687198006664403,
+ "phase": "diff",
+ "ratio": 4.996462238924309
+ },
+ {
+ "agentfs_seconds": 0.004524231000686996,
+ "native_seconds": 0.000326687004417181,
+ "phase": "edit",
+ "ratio": 13.848824530863581
+ },
+ {
+ "agentfs_seconds": 0.17797551400144584,
+ "native_seconds": 0.018477466990589164,
+ "phase": "status",
+ "ratio": 9.632029871415346
+ }
+ ]
+ },
+ "temp_dir": "/tmp/agentfs-git-workload-qcdrpuw6"
+}
diff --git a/.agents/benchmarks/restructure-baseline/medians-post-m3.json.iterations/iter-02.json b/.agents/benchmarks/restructure-baseline/medians-post-m3.json.iterations/iter-02.json
new file mode 100644
index 00000000..76509b35
--- /dev/null
+++ b/.agents/benchmarks/restructure-baseline/medians-post-m3.json.iterations/iter-02.json
@@ -0,0 +1,8674 @@
+{
+ "agentfs": {
+ "bin": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "db_path": "/tmp/agentfs-git-workload-bkhbczd5/home/.agentfs/run/git-workload-e09c5e33cc4249779c53f1e85f08fbe4/delta.db",
+ "per_phase_counters": {
+ "checkpoint_count": 7,
+ "label_count": 7,
+ "labels_aligned": true,
+ "phases": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 792864828,
+ "agentfs_batcher_commit_txns": 4780,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25921,
+ "attr_cache_misses": 29045,
+ "base_fast_inode_invalidations": 15025,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 968,
+ "connection_create": 2,
+ "connection_reuse": 31198,
+ "connection_wait_count": 31200,
+ "connection_wait_nanos": 9492867,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 91,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5281,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21779,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 34,
+ "fuse_dispatch_wait_count": 34,
+ "fuse_dispatch_wait_nanos": 571446,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52448340,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5025,
+ "fuse_ino_file_resolutions": 18,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11698,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 460793278,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 31,
+ "fuse_op_forget_nanos": 913722,
+ "fuse_op_getattr_count": 5025,
+ "fuse_op_getattr_nanos": 50503736,
+ "fuse_op_lookup_count": 11698,
+ "fuse_op_lookup_nanos": 126133971,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 96227847,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 30116469,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 2099847,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4748,
+ "fuse_op_setattr_nanos": 1115862338,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 25063983,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16147,
+ "fuse_read_lane_wait_nanos": 2404255,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32002,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1794011,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19330,
+ "lookup_base_count": 23,
+ "lookup_count": 40286,
+ "lookup_delta_count": 7190,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6774,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14254,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32899,
+ "path_resolution_count": 7117,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1649454
+ },
+ "phase": "clone",
+ "seq": 1
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 2,
+ "agentfs_batcher_commit_latency_ns_total": 5784853,
+ "agentfs_batcher_commit_txns": 11,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 5,
+ "agentfs_batcher_drains_timer": 3,
+ "agentfs_batcher_enqueues": 10,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 15,
+ "attr_cache_hits": 242,
+ "attr_cache_misses": 1775,
+ "base_fast_inode_invalidations": 51,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 10,
+ "chunk_read_queries": 6,
+ "chunk_write_chunks": 15,
+ "connection_create": 7,
+ "connection_reuse": 625,
+ "connection_wait_count": 632,
+ "connection_wait_nanos": 293118,
+ "dentry_cache_hits": 73,
+ "dentry_cache_misses": 56,
+ "fuse_adapter_attr_hits": 4561,
+ "fuse_adapter_attr_misses": 696,
+ "fuse_adapter_entry_hits": 2,
+ "fuse_adapter_entry_misses": 35,
+ "fuse_adapter_inval_entry_notifications": 10,
+ "fuse_adapter_inval_inode_notifications": 28,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 11,
+ "fuse_adapter_negative_misses": 35,
+ "fuse_callback_count": 5326,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 8,
+ "fuse_dispatch_wait_count": 8,
+ "fuse_dispatch_wait_nanos": 48135,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 785936,
+ "fuse_flush_count": 10,
+ "fuse_flush_ranges": 10,
+ "fuse_getattr_count": 5257,
+ "fuse_ino_file_resolutions": 3,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 48,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 9,
+ "fuse_op_create_nanos": 1226165,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 8,
+ "fuse_op_forget_nanos": 81861,
+ "fuse_op_getattr_count": 5257,
+ "fuse_op_getattr_nanos": 29609297,
+ "fuse_op_lookup_count": 48,
+ "fuse_op_lookup_nanos": 719726,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 14,
+ "fuse_op_other_nanos": 3128142,
+ "fuse_op_read_count": 8,
+ "fuse_op_read_nanos": 2320137,
+ "fuse_op_readdirplus_count": 4,
+ "fuse_op_readdirplus_nanos": 1192686,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 14,
+ "fuse_op_setattr_nanos": 4756141,
+ "fuse_op_write_count": 9,
+ "fuse_op_write_nanos": 321881,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 8,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 760,
+ "fuse_read_lane_wait_nanos": 122421,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 4,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 5363,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 591393,
+ "fuse_write_count": 9,
+ "fuse_write_lane_wait_count": 42,
+ "fuse_write_lane_wait_nanos": 50042,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 1420,
+ "lookup_base_count": 0,
+ "lookup_count": 164,
+ "lookup_delta_count": 60,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 32,
+ "negative_cache_invalidations": 26,
+ "negative_cache_misses": 148,
+ "negative_lookup_count": 86,
+ "path_cache_hits": 73,
+ "path_cache_misses": 56,
+ "path_component_count": 124,
+ "path_resolution_count": 45,
+ "readdir_count": 0,
+ "readdir_plus_count": 4,
+ "wal_checkpoint_count": 2,
+ "wal_checkpoint_nanos": 844380
+ },
+ "phase": "checkout",
+ "seq": 2
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 4,
+ "agentfs_batcher_commit_latency_ns_total": 3833308,
+ "agentfs_batcher_commit_txns": 4,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 2,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 6,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 4,
+ "attr_cache_hits": 18,
+ "attr_cache_misses": 35,
+ "base_fast_inode_invalidations": 24,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 20,
+ "chunk_read_queries": 12,
+ "chunk_write_chunks": 20,
+ "connection_create": 0,
+ "connection_reuse": 1705,
+ "connection_wait_count": 1705,
+ "connection_wait_nanos": 378304,
+ "dentry_cache_hits": 19,
+ "dentry_cache_misses": 570,
+ "fuse_adapter_attr_hits": 875,
+ "fuse_adapter_attr_misses": 6,
+ "fuse_adapter_entry_hits": 2,
+ "fuse_adapter_entry_misses": 289,
+ "fuse_adapter_inval_entry_notifications": 4,
+ "fuse_adapter_inval_inode_notifications": 8,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 289,
+ "fuse_callback_count": 2575,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 4,
+ "fuse_dispatch_wait_count": 4,
+ "fuse_dispatch_wait_nanos": 59380,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 1181458,
+ "fuse_flush_count": 6,
+ "fuse_flush_ranges": 6,
+ "fuse_getattr_count": 881,
+ "fuse_ino_file_resolutions": 2,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 291,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 2,
+ "fuse_op_create_nanos": 619475,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 4,
+ "fuse_op_forget_nanos": 31731,
+ "fuse_op_getattr_count": 881,
+ "fuse_op_getattr_nanos": 1033831,
+ "fuse_op_lookup_count": 291,
+ "fuse_op_lookup_nanos": 4681706,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 2762,
+ "fuse_op_other_nanos": 1826905,
+ "fuse_op_read_count": 12,
+ "fuse_op_read_nanos": 2209197,
+ "fuse_op_readdirplus_count": 1381,
+ "fuse_op_readdirplus_nanos": 59557332,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 6,
+ "fuse_op_setattr_nanos": 6018352,
+ "fuse_op_write_count": 10,
+ "fuse_op_write_nanos": 1908780,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 12,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 995,
+ "fuse_read_lane_wait_nanos": 119240,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1381,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 5345,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 1181458,
+ "fuse_write_count": 10,
+ "fuse_write_lane_wait_count": 14,
+ "fuse_write_lane_wait_nanos": 10741,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 24,
+ "lookup_base_count": 0,
+ "lookup_count": 598,
+ "lookup_delta_count": 295,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 4,
+ "negative_cache_invalidations": 4,
+ "negative_cache_misses": 873,
+ "negative_lookup_count": 578,
+ "path_cache_hits": 19,
+ "path_cache_misses": 570,
+ "path_component_count": 4606,
+ "path_resolution_count": 977,
+ "readdir_count": 0,
+ "readdir_plus_count": 1376,
+ "wal_checkpoint_count": 688,
+ "wal_checkpoint_nanos": 9148410
+ },
+ "phase": "status",
+ "seq": 3
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 1,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 10,
+ "chunk_read_queries": 6,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 8,
+ "connection_wait_count": 8,
+ "connection_wait_nanos": 5583,
+ "dentry_cache_hits": 1,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 69,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 1,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 1,
+ "fuse_callback_count": 76,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 69,
+ "fuse_ino_file_resolutions": 1,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 1,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 69,
+ "fuse_op_getattr_nanos": 74101,
+ "fuse_op_lookup_count": 1,
+ "fuse_op_lookup_nanos": 25064,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 6,
+ "fuse_op_read_nanos": 806933,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 6,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 2,
+ "fuse_read_lane_wait_nanos": 570,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 76,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 2,
+ "lookup_delta_count": 1,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 2,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 1,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "read_search",
+ "seq": 4
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 1367975,
+ "agentfs_batcher_commit_txns": 8,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 8,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 8,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 8,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 24,
+ "base_fast_inode_invalidations": 16,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 32,
+ "connection_wait_count": 32,
+ "connection_wait_nanos": 16669,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 8,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 16,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 6398,
+ "fuse_flush_count": 8,
+ "fuse_flush_ranges": 8,
+ "fuse_getattr_count": 8,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 8,
+ "fuse_op_getattr_nanos": 9464,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 8,
+ "fuse_op_other_nanos": 994214,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 8,
+ "fuse_op_setattr_nanos": 2489436,
+ "fuse_op_write_count": 8,
+ "fuse_op_write_nanos": 468679,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 8,
+ "fuse_read_lane_wait_nanos": 2666,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 32,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 6398,
+ "fuse_write_count": 8,
+ "fuse_write_lane_wait_count": 8,
+ "fuse_write_lane_wait_nanos": 1688,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 16,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 8,
+ "wal_checkpoint_nanos": 847497
+ },
+ "phase": "edit",
+ "seq": 5
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 353,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 14,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 367,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 353,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 14,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 353,
+ "fuse_op_getattr_nanos": 320738,
+ "fuse_op_lookup_count": 14,
+ "fuse_op_lookup_nanos": 14429,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 12,
+ "fuse_op_other_nanos": 10349,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 379,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 14,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "diff",
+ "seq": 6
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 3,
+ "attr_cache_misses": 2,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 1,
+ "chunk_read_queries": 1,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 24,
+ "connection_wait_count": 24,
+ "connection_wait_nanos": 15069,
+ "dentry_cache_hits": 4,
+ "dentry_cache_misses": 2,
+ "fuse_adapter_attr_hits": 44,
+ "fuse_adapter_attr_misses": 1,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 4,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 234,
+ "fuse_adapter_negative_misses": 4,
+ "fuse_callback_count": 303,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 45,
+ "fuse_ino_file_resolutions": 1,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 238,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 45,
+ "fuse_op_getattr_nanos": 79538,
+ "fuse_op_lookup_count": 238,
+ "fuse_op_lookup_nanos": 285815,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 36,
+ "fuse_op_other_nanos": 10146,
+ "fuse_op_read_count": 2,
+ "fuse_op_read_nanos": 365484,
+ "fuse_op_readdirplus_count": 18,
+ "fuse_op_readdirplus_nanos": 938390,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 2,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 15,
+ "fuse_read_lane_wait_nanos": 3512,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 18,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 339,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 2,
+ "lookup_base_count": 0,
+ "lookup_count": 8,
+ "lookup_delta_count": 4,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 234,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 9,
+ "negative_lookup_count": 2,
+ "path_cache_hits": 4,
+ "path_cache_misses": 2,
+ "path_component_count": 42,
+ "path_resolution_count": 10,
+ "readdir_count": 0,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 9,
+ "wal_checkpoint_nanos": 277412
+ },
+ "phase": "fsck",
+ "seq": 7
+ }
+ ]
+ },
+ "profile_counters": {
+ "last_by_source": {
+ "cli": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 803850964,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26185,
+ "attr_cache_misses": 30881,
+ "base_fast_inode_invalidations": 15116,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33595,
+ "connection_wait_count": 33604,
+ "connection_wait_nanos": 10208367,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 6001,
+ "fuse_adapter_attr_misses": 5637,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5540,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 30442,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11638,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12290,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11638,
+ "fuse_op_getattr_nanos": 81630705,
+ "fuse_op_lookup_count": 12290,
+ "fuse_op_lookup_nanos": 131860711,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 102197603,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 35818220,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 63788255,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1129126267,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 27763323,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17927,
+ "fuse_read_lane_wait_nanos": 2652664,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43536,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1858106,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20792,
+ "lookup_base_count": 23,
+ "lookup_count": 41058,
+ "lookup_delta_count": 7550,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7058,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37671,
+ "path_resolution_count": 8149,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 12934046
+ },
+ "phase-checkpoint-1": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 792864828,
+ "agentfs_batcher_commit_txns": 4780,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25921,
+ "attr_cache_misses": 29045,
+ "base_fast_inode_invalidations": 15025,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 968,
+ "connection_create": 2,
+ "connection_reuse": 31198,
+ "connection_wait_count": 31200,
+ "connection_wait_nanos": 9492867,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 91,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5281,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21779,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 34,
+ "fuse_dispatch_wait_count": 34,
+ "fuse_dispatch_wait_nanos": 571446,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52448340,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5025,
+ "fuse_ino_file_resolutions": 18,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11698,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 460793278,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 31,
+ "fuse_op_forget_nanos": 913722,
+ "fuse_op_getattr_count": 5025,
+ "fuse_op_getattr_nanos": 50503736,
+ "fuse_op_lookup_count": 11698,
+ "fuse_op_lookup_nanos": 126133971,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 96227847,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 30116469,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 2099847,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4748,
+ "fuse_op_setattr_nanos": 1115862338,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 25063983,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16147,
+ "fuse_read_lane_wait_nanos": 2404255,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32002,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1794011,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19330,
+ "lookup_base_count": 23,
+ "lookup_count": 40286,
+ "lookup_delta_count": 7190,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6774,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14254,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32899,
+ "path_resolution_count": 7117,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1649454
+ },
+ "phase-checkpoint-2": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 798649681,
+ "agentfs_batcher_commit_txns": 4791,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9400,
+ "attr_cache_hits": 26163,
+ "attr_cache_misses": 30820,
+ "base_fast_inode_invalidations": 15076,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 983,
+ "connection_create": 9,
+ "connection_reuse": 31823,
+ "connection_wait_count": 31832,
+ "connection_wait_nanos": 9785985,
+ "dentry_cache_hits": 26105,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4652,
+ "fuse_adapter_attr_misses": 5630,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27105,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 42,
+ "fuse_dispatch_wait_count": 42,
+ "fuse_dispatch_wait_nanos": 619581,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10282,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11746,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 462019443,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 39,
+ "fuse_op_forget_nanos": 995583,
+ "fuse_op_getattr_count": 10282,
+ "fuse_op_getattr_nanos": 80113033,
+ "fuse_op_lookup_count": 11746,
+ "fuse_op_lookup_nanos": 126853697,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 798,
+ "fuse_op_other_nanos": 99355989,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 32436606,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3292533,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4762,
+ "fuse_op_setattr_nanos": 1120618479,
+ "fuse_op_write_count": 4829,
+ "fuse_op_write_nanos": 25385864,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16907,
+ "fuse_read_lane_wait_nanos": 2526676,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37365,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4829,
+ "fuse_write_lane_wait_count": 10245,
+ "fuse_write_lane_wait_nanos": 1844053,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20750,
+ "lookup_base_count": 23,
+ "lookup_count": 40450,
+ "lookup_delta_count": 7250,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6806,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14340,
+ "path_cache_hits": 26105,
+ "path_cache_misses": 13482,
+ "path_component_count": 33023,
+ "path_resolution_count": 7162,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2493834
+ },
+ "phase-checkpoint-3": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 802482989,
+ "agentfs_batcher_commit_txns": 4795,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26181,
+ "attr_cache_misses": 30855,
+ "base_fast_inode_invalidations": 15100,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33528,
+ "connection_wait_count": 33537,
+ "connection_wait_nanos": 10164289,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 5527,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 29680,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11163,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12037,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11163,
+ "fuse_op_getattr_nanos": 81146864,
+ "fuse_op_lookup_count": 12037,
+ "fuse_op_lookup_nanos": 131535403,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 101182894,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 34645803,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 62849865,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1126636831,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 27294644,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17902,
+ "fuse_read_lane_wait_nanos": 2645916,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 42710,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1854794,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20774,
+ "lookup_base_count": 23,
+ "lookup_count": 41048,
+ "lookup_delta_count": 7545,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6810,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 11642244
+ },
+ "phase-checkpoint-4": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 802482989,
+ "agentfs_batcher_commit_txns": 4795,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30855,
+ "base_fast_inode_invalidations": 15100,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33536,
+ "connection_wait_count": 33545,
+ "connection_wait_nanos": 10169872,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 5596,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 29756,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11232,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12038,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11232,
+ "fuse_op_getattr_nanos": 81220965,
+ "fuse_op_lookup_count": 12038,
+ "fuse_op_lookup_nanos": 131560467,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 101182894,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 35452736,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 62849865,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1126636831,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 27294644,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17904,
+ "fuse_read_lane_wait_nanos": 2646486,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 42786,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1854794,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20774,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6810,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 11642244
+ },
+ "phase-checkpoint-5": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 803850964,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30879,
+ "base_fast_inode_invalidations": 15116,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33568,
+ "connection_wait_count": 33577,
+ "connection_wait_nanos": 10186541,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 5604,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 29772,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11240,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12038,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11240,
+ "fuse_op_getattr_nanos": 81230429,
+ "fuse_op_lookup_count": 12038,
+ "fuse_op_lookup_nanos": 131560467,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3568,
+ "fuse_op_other_nanos": 102177108,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 35452736,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 62849865,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1129126267,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 27763323,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17912,
+ "fuse_read_lane_wait_nanos": 2649152,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 42818,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1856482,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20790,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6810,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 12489741
+ },
+ "phase-checkpoint-6": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 803850964,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30879,
+ "base_fast_inode_invalidations": 15116,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33568,
+ "connection_wait_count": 33577,
+ "connection_wait_nanos": 10186541,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 5957,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5306,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30139,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11593,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12052,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11593,
+ "fuse_op_getattr_nanos": 81551167,
+ "fuse_op_lookup_count": 12052,
+ "fuse_op_lookup_nanos": 131574896,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3580,
+ "fuse_op_other_nanos": 102187457,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 35452736,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 62849865,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1129126267,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 27763323,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17912,
+ "fuse_read_lane_wait_nanos": 2649152,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43197,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1856482,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20790,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6824,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 12489741
+ },
+ "phase-checkpoint-7": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 803850964,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26185,
+ "attr_cache_misses": 30881,
+ "base_fast_inode_invalidations": 15116,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33592,
+ "connection_wait_count": 33601,
+ "connection_wait_nanos": 10201610,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 6001,
+ "fuse_adapter_attr_misses": 5637,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5540,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 30442,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11638,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12290,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11638,
+ "fuse_op_getattr_nanos": 81630705,
+ "fuse_op_lookup_count": 12290,
+ "fuse_op_lookup_nanos": 131860711,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 102197603,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 35818220,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 63788255,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1129126267,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 27763323,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17927,
+ "fuse_read_lane_wait_nanos": 2652664,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43536,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1856482,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20792,
+ "lookup_base_count": 23,
+ "lookup_count": 41058,
+ "lookup_delta_count": 7550,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7058,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37671,
+ "path_resolution_count": 8149,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 12767153
+ }
+ },
+ "max_counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 803850964,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26185,
+ "attr_cache_misses": 30881,
+ "base_fast_inode_invalidations": 15116,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33595,
+ "connection_wait_count": 33604,
+ "connection_wait_nanos": 10208367,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 6001,
+ "fuse_adapter_attr_misses": 5637,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5540,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 30442,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11638,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12290,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11638,
+ "fuse_op_getattr_nanos": 81630705,
+ "fuse_op_lookup_count": 12290,
+ "fuse_op_lookup_nanos": 131860711,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 102197603,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 35818220,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 63788255,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1129126267,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 27763323,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17927,
+ "fuse_read_lane_wait_nanos": 2652664,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43536,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1858106,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20792,
+ "lookup_base_count": 23,
+ "lookup_count": 41058,
+ "lookup_delta_count": 7550,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7058,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37671,
+ "path_resolution_count": 8149,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 12934046
+ },
+ "summary_count": 8
+ },
+ "profile_enabled": true,
+ "profile_summary_count": 8,
+ "session": "git-workload-e09c5e33cc4249779c53f1e85f08fbe4"
+ },
+ "agentfs_overlay": {
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 792864828,
+ "agentfs_batcher_commit_txns": 4780,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25921,
+ "attr_cache_misses": 29045,
+ "base_fast_inode_invalidations": 15025,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 968,
+ "connection_create": 2,
+ "connection_reuse": 31198,
+ "connection_wait_count": 31200,
+ "connection_wait_nanos": 9492867,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 91,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5281,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21779,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 34,
+ "fuse_dispatch_wait_count": 34,
+ "fuse_dispatch_wait_nanos": 571446,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52448340,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5025,
+ "fuse_ino_file_resolutions": 18,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11698,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 460793278,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 31,
+ "fuse_op_forget_nanos": 913722,
+ "fuse_op_getattr_count": 5025,
+ "fuse_op_getattr_nanos": 50503736,
+ "fuse_op_lookup_count": 11698,
+ "fuse_op_lookup_nanos": 126133971,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 96227847,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 30116469,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 2099847,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4748,
+ "fuse_op_setattr_nanos": 1115862338,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 25063983,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16147,
+ "fuse_read_lane_wait_nanos": 2404255,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32002,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1794011,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19330,
+ "lookup_base_count": 23,
+ "lookup_count": 40286,
+ "lookup_delta_count": 7190,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6774,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14254,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32899,
+ "path_resolution_count": 7117,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1649454
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15025,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 792864828,
+ "agentfs_batcher_commit_txns": 4780,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25921,
+ "attr_cache_misses": 29045,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 968,
+ "connection_create": 2,
+ "connection_reuse": 31198,
+ "connection_wait_count": 31200,
+ "connection_wait_nanos": 9492867,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "getattr_count": 19330,
+ "lookup_base_count": 23,
+ "lookup_count": 40286,
+ "lookup_delta_count": 7190,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6774,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14254,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32899,
+ "path_resolution_count": 7117,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1649454
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 91,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5281,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21779,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 34,
+ "fuse_dispatch_wait_count": 34,
+ "fuse_dispatch_wait_nanos": 571446,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52448340,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5025,
+ "fuse_ino_file_resolutions": 18,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 11698,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 460793278,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 31,
+ "fuse_op_forget_nanos": 913722,
+ "fuse_op_getattr_count": 5025,
+ "fuse_op_getattr_nanos": 50503736,
+ "fuse_op_lookup_count": 11698,
+ "fuse_op_lookup_nanos": 126133971,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 96227847,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 30116469,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 2099847,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4748,
+ "fuse_op_setattr_nanos": 1115862338,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 25063983,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16147,
+ "fuse_read_lane_wait_nanos": 2404255,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 32002,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1794011
+ }
+ },
+ "source": "phase-checkpoint-1"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 798649681,
+ "agentfs_batcher_commit_txns": 4791,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9400,
+ "attr_cache_hits": 26163,
+ "attr_cache_misses": 30820,
+ "base_fast_inode_invalidations": 15076,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 983,
+ "connection_create": 9,
+ "connection_reuse": 31823,
+ "connection_wait_count": 31832,
+ "connection_wait_nanos": 9785985,
+ "dentry_cache_hits": 26105,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4652,
+ "fuse_adapter_attr_misses": 5630,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27105,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 42,
+ "fuse_dispatch_wait_count": 42,
+ "fuse_dispatch_wait_nanos": 619581,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10282,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11746,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 462019443,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 39,
+ "fuse_op_forget_nanos": 995583,
+ "fuse_op_getattr_count": 10282,
+ "fuse_op_getattr_nanos": 80113033,
+ "fuse_op_lookup_count": 11746,
+ "fuse_op_lookup_nanos": 126853697,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 798,
+ "fuse_op_other_nanos": 99355989,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 32436606,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3292533,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4762,
+ "fuse_op_setattr_nanos": 1120618479,
+ "fuse_op_write_count": 4829,
+ "fuse_op_write_nanos": 25385864,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16907,
+ "fuse_read_lane_wait_nanos": 2526676,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37365,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4829,
+ "fuse_write_lane_wait_count": 10245,
+ "fuse_write_lane_wait_nanos": 1844053,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20750,
+ "lookup_base_count": 23,
+ "lookup_count": 40450,
+ "lookup_delta_count": 7250,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6806,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14340,
+ "path_cache_hits": 26105,
+ "path_cache_misses": 13482,
+ "path_component_count": 33023,
+ "path_resolution_count": 7162,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2493834
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15076,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 798649681,
+ "agentfs_batcher_commit_txns": 4791,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9400,
+ "attr_cache_hits": 26163,
+ "attr_cache_misses": 30820,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 983,
+ "connection_create": 9,
+ "connection_reuse": 31823,
+ "connection_wait_count": 31832,
+ "connection_wait_nanos": 9785985,
+ "dentry_cache_hits": 26105,
+ "dentry_cache_misses": 13482,
+ "getattr_count": 20750,
+ "lookup_base_count": 23,
+ "lookup_count": 40450,
+ "lookup_delta_count": 7250,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6806,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14340,
+ "path_cache_hits": 26105,
+ "path_cache_misses": 13482,
+ "path_component_count": 33023,
+ "path_resolution_count": 7162,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2493834
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 4652,
+ "fuse_adapter_attr_misses": 5630,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27105,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 42,
+ "fuse_dispatch_wait_count": 42,
+ "fuse_dispatch_wait_nanos": 619581,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10282,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 11746,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 462019443,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 39,
+ "fuse_op_forget_nanos": 995583,
+ "fuse_op_getattr_count": 10282,
+ "fuse_op_getattr_nanos": 80113033,
+ "fuse_op_lookup_count": 11746,
+ "fuse_op_lookup_nanos": 126853697,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 798,
+ "fuse_op_other_nanos": 99355989,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 32436606,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3292533,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4762,
+ "fuse_op_setattr_nanos": 1120618479,
+ "fuse_op_write_count": 4829,
+ "fuse_op_write_nanos": 25385864,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16907,
+ "fuse_read_lane_wait_nanos": 2526676,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 37365,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4829,
+ "fuse_write_lane_wait_count": 10245,
+ "fuse_write_lane_wait_nanos": 1844053
+ }
+ },
+ "source": "phase-checkpoint-2"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 802482989,
+ "agentfs_batcher_commit_txns": 4795,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26181,
+ "attr_cache_misses": 30855,
+ "base_fast_inode_invalidations": 15100,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33528,
+ "connection_wait_count": 33537,
+ "connection_wait_nanos": 10164289,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 5527,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 29680,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11163,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12037,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11163,
+ "fuse_op_getattr_nanos": 81146864,
+ "fuse_op_lookup_count": 12037,
+ "fuse_op_lookup_nanos": 131535403,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 101182894,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 34645803,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 62849865,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1126636831,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 27294644,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17902,
+ "fuse_read_lane_wait_nanos": 2645916,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 42710,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1854794,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20774,
+ "lookup_base_count": 23,
+ "lookup_count": 41048,
+ "lookup_delta_count": 7545,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6810,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 11642244
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15100,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 802482989,
+ "agentfs_batcher_commit_txns": 4795,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26181,
+ "attr_cache_misses": 30855,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33528,
+ "connection_wait_count": 33537,
+ "connection_wait_nanos": 10164289,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20774,
+ "lookup_base_count": 23,
+ "lookup_count": 41048,
+ "lookup_delta_count": 7545,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6810,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 11642244
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 5527,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 29680,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11163,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12037,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11163,
+ "fuse_op_getattr_nanos": 81146864,
+ "fuse_op_lookup_count": 12037,
+ "fuse_op_lookup_nanos": 131535403,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 101182894,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 34645803,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 62849865,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1126636831,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 27294644,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17902,
+ "fuse_read_lane_wait_nanos": 2645916,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 42710,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1854794
+ }
+ },
+ "source": "phase-checkpoint-3"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 802482989,
+ "agentfs_batcher_commit_txns": 4795,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30855,
+ "base_fast_inode_invalidations": 15100,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33536,
+ "connection_wait_count": 33545,
+ "connection_wait_nanos": 10169872,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 5596,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 29756,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11232,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12038,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11232,
+ "fuse_op_getattr_nanos": 81220965,
+ "fuse_op_lookup_count": 12038,
+ "fuse_op_lookup_nanos": 131560467,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 101182894,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 35452736,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 62849865,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1126636831,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 27294644,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17904,
+ "fuse_read_lane_wait_nanos": 2646486,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 42786,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1854794,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20774,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6810,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 11642244
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15100,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 802482989,
+ "agentfs_batcher_commit_txns": 4795,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30855,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33536,
+ "connection_wait_count": 33545,
+ "connection_wait_nanos": 10169872,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20774,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6810,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 11642244
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 5596,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 29756,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11232,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12038,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11232,
+ "fuse_op_getattr_nanos": 81220965,
+ "fuse_op_lookup_count": 12038,
+ "fuse_op_lookup_nanos": 131560467,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 101182894,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 35452736,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 62849865,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1126636831,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 27294644,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17904,
+ "fuse_read_lane_wait_nanos": 2646486,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 42786,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1854794
+ }
+ },
+ "source": "phase-checkpoint-4"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 803850964,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30879,
+ "base_fast_inode_invalidations": 15116,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33568,
+ "connection_wait_count": 33577,
+ "connection_wait_nanos": 10186541,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 5604,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 29772,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11240,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12038,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11240,
+ "fuse_op_getattr_nanos": 81230429,
+ "fuse_op_lookup_count": 12038,
+ "fuse_op_lookup_nanos": 131560467,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3568,
+ "fuse_op_other_nanos": 102177108,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 35452736,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 62849865,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1129126267,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 27763323,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17912,
+ "fuse_read_lane_wait_nanos": 2649152,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 42818,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1856482,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20790,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6810,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 12489741
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15116,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 803850964,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30879,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33568,
+ "connection_wait_count": 33577,
+ "connection_wait_nanos": 10186541,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20790,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6810,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 12489741
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 5604,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 29772,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11240,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12038,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11240,
+ "fuse_op_getattr_nanos": 81230429,
+ "fuse_op_lookup_count": 12038,
+ "fuse_op_lookup_nanos": 131560467,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3568,
+ "fuse_op_other_nanos": 102177108,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 35452736,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 62849865,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1129126267,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 27763323,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17912,
+ "fuse_read_lane_wait_nanos": 2649152,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 42818,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1856482
+ }
+ },
+ "source": "phase-checkpoint-5"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 803850964,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30879,
+ "base_fast_inode_invalidations": 15116,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33568,
+ "connection_wait_count": 33577,
+ "connection_wait_nanos": 10186541,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 5957,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5306,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30139,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11593,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12052,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11593,
+ "fuse_op_getattr_nanos": 81551167,
+ "fuse_op_lookup_count": 12052,
+ "fuse_op_lookup_nanos": 131574896,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3580,
+ "fuse_op_other_nanos": 102187457,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 35452736,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 62849865,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1129126267,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 27763323,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17912,
+ "fuse_read_lane_wait_nanos": 2649152,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43197,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1856482,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20790,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6824,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 12489741
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15116,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 803850964,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30879,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33568,
+ "connection_wait_count": 33577,
+ "connection_wait_nanos": 10186541,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20790,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6824,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 12489741
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 5957,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5306,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30139,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11593,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12052,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11593,
+ "fuse_op_getattr_nanos": 81551167,
+ "fuse_op_lookup_count": 12052,
+ "fuse_op_lookup_nanos": 131574896,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3580,
+ "fuse_op_other_nanos": 102187457,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 35452736,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 62849865,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1129126267,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 27763323,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17912,
+ "fuse_read_lane_wait_nanos": 2649152,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43197,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1856482
+ }
+ },
+ "source": "phase-checkpoint-6"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 803850964,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26185,
+ "attr_cache_misses": 30881,
+ "base_fast_inode_invalidations": 15116,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33592,
+ "connection_wait_count": 33601,
+ "connection_wait_nanos": 10201610,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 6001,
+ "fuse_adapter_attr_misses": 5637,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5540,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 30442,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11638,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12290,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11638,
+ "fuse_op_getattr_nanos": 81630705,
+ "fuse_op_lookup_count": 12290,
+ "fuse_op_lookup_nanos": 131860711,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 102197603,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 35818220,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 63788255,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1129126267,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 27763323,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17927,
+ "fuse_read_lane_wait_nanos": 2652664,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43536,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1856482,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20792,
+ "lookup_base_count": 23,
+ "lookup_count": 41058,
+ "lookup_delta_count": 7550,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7058,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37671,
+ "path_resolution_count": 8149,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 12767153
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15116,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 803850964,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26185,
+ "attr_cache_misses": 30881,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33592,
+ "connection_wait_count": 33601,
+ "connection_wait_nanos": 10201610,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "getattr_count": 20792,
+ "lookup_base_count": 23,
+ "lookup_count": 41058,
+ "lookup_delta_count": 7550,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7058,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37671,
+ "path_resolution_count": 8149,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 12767153
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6001,
+ "fuse_adapter_attr_misses": 5637,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5540,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 30442,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11638,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12290,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11638,
+ "fuse_op_getattr_nanos": 81630705,
+ "fuse_op_lookup_count": 12290,
+ "fuse_op_lookup_nanos": 131860711,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 102197603,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 35818220,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 63788255,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1129126267,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 27763323,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17927,
+ "fuse_read_lane_wait_nanos": 2652664,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43536,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1856482
+ }
+ },
+ "source": "phase-checkpoint-7"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 803850964,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26185,
+ "attr_cache_misses": 30881,
+ "base_fast_inode_invalidations": 15116,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33595,
+ "connection_wait_count": 33604,
+ "connection_wait_nanos": 10208367,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 6001,
+ "fuse_adapter_attr_misses": 5637,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5540,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 30442,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11638,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12290,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11638,
+ "fuse_op_getattr_nanos": 81630705,
+ "fuse_op_lookup_count": 12290,
+ "fuse_op_lookup_nanos": 131860711,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 102197603,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 35818220,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 63788255,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1129126267,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 27763323,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17927,
+ "fuse_read_lane_wait_nanos": 2652664,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43536,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1858106,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20792,
+ "lookup_base_count": 23,
+ "lookup_count": 41058,
+ "lookup_delta_count": 7550,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7058,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37671,
+ "path_resolution_count": 8149,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 12934046
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15116,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 803850964,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26185,
+ "attr_cache_misses": 30881,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33595,
+ "connection_wait_count": 33604,
+ "connection_wait_nanos": 10208367,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "getattr_count": 20792,
+ "lookup_base_count": 23,
+ "lookup_count": 41058,
+ "lookup_delta_count": 7550,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7058,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37671,
+ "path_resolution_count": 8149,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 12934046
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6001,
+ "fuse_adapter_attr_misses": 5637,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5540,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 30442,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11638,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12290,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11638,
+ "fuse_op_getattr_nanos": 81630705,
+ "fuse_op_lookup_count": 12290,
+ "fuse_op_lookup_nanos": 131860711,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 102197603,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 35818220,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 63788255,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1129126267,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 27763323,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17927,
+ "fuse_read_lane_wait_nanos": 2652664,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43536,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1858106
+ }
+ },
+ "source": "cli"
+ }
+ ],
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "run",
+ "--session",
+ "git-workload-e09c5e33cc4249779c53f1e85f08fbe4",
+ "--no-default-allows",
+ "--",
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-bkhbczd5/agentfs-base",
+ "duration_seconds": 4.013545581008657,
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 792864828,
+ "agentfs_batcher_commit_txns": 4780,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25921,
+ "attr_cache_misses": 29045,
+ "base_fast_inode_invalidations": 15025,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 968,
+ "connection_create": 2,
+ "connection_reuse": 31198,
+ "connection_wait_count": 31200,
+ "connection_wait_nanos": 9492867,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 91,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5281,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21779,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 34,
+ "fuse_dispatch_wait_count": 34,
+ "fuse_dispatch_wait_nanos": 571446,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52448340,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5025,
+ "fuse_ino_file_resolutions": 18,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11698,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 460793278,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 31,
+ "fuse_op_forget_nanos": 913722,
+ "fuse_op_getattr_count": 5025,
+ "fuse_op_getattr_nanos": 50503736,
+ "fuse_op_lookup_count": 11698,
+ "fuse_op_lookup_nanos": 126133971,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 96227847,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 30116469,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 2099847,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4748,
+ "fuse_op_setattr_nanos": 1115862338,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 25063983,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16147,
+ "fuse_read_lane_wait_nanos": 2404255,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32002,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1794011,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19330,
+ "lookup_base_count": 23,
+ "lookup_count": 40286,
+ "lookup_delta_count": 7190,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6774,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14254,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32899,
+ "path_resolution_count": 7117,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1649454
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15025,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 792864828,
+ "agentfs_batcher_commit_txns": 4780,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25921,
+ "attr_cache_misses": 29045,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 968,
+ "connection_create": 2,
+ "connection_reuse": 31198,
+ "connection_wait_count": 31200,
+ "connection_wait_nanos": 9492867,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "getattr_count": 19330,
+ "lookup_base_count": 23,
+ "lookup_count": 40286,
+ "lookup_delta_count": 7190,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6774,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14254,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32899,
+ "path_resolution_count": 7117,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1649454
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 91,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5281,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21779,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 34,
+ "fuse_dispatch_wait_count": 34,
+ "fuse_dispatch_wait_nanos": 571446,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52448340,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5025,
+ "fuse_ino_file_resolutions": 18,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 11698,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 460793278,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 31,
+ "fuse_op_forget_nanos": 913722,
+ "fuse_op_getattr_count": 5025,
+ "fuse_op_getattr_nanos": 50503736,
+ "fuse_op_lookup_count": 11698,
+ "fuse_op_lookup_nanos": 126133971,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 96227847,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 30116469,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 2099847,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4748,
+ "fuse_op_setattr_nanos": 1115862338,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 25063983,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16147,
+ "fuse_read_lane_wait_nanos": 2404255,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 32002,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1794011
+ }
+ },
+ "source": "phase-checkpoint-1"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 798649681,
+ "agentfs_batcher_commit_txns": 4791,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9400,
+ "attr_cache_hits": 26163,
+ "attr_cache_misses": 30820,
+ "base_fast_inode_invalidations": 15076,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 983,
+ "connection_create": 9,
+ "connection_reuse": 31823,
+ "connection_wait_count": 31832,
+ "connection_wait_nanos": 9785985,
+ "dentry_cache_hits": 26105,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4652,
+ "fuse_adapter_attr_misses": 5630,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27105,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 42,
+ "fuse_dispatch_wait_count": 42,
+ "fuse_dispatch_wait_nanos": 619581,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10282,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11746,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 462019443,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 39,
+ "fuse_op_forget_nanos": 995583,
+ "fuse_op_getattr_count": 10282,
+ "fuse_op_getattr_nanos": 80113033,
+ "fuse_op_lookup_count": 11746,
+ "fuse_op_lookup_nanos": 126853697,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 798,
+ "fuse_op_other_nanos": 99355989,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 32436606,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3292533,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4762,
+ "fuse_op_setattr_nanos": 1120618479,
+ "fuse_op_write_count": 4829,
+ "fuse_op_write_nanos": 25385864,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16907,
+ "fuse_read_lane_wait_nanos": 2526676,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37365,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4829,
+ "fuse_write_lane_wait_count": 10245,
+ "fuse_write_lane_wait_nanos": 1844053,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20750,
+ "lookup_base_count": 23,
+ "lookup_count": 40450,
+ "lookup_delta_count": 7250,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6806,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14340,
+ "path_cache_hits": 26105,
+ "path_cache_misses": 13482,
+ "path_component_count": 33023,
+ "path_resolution_count": 7162,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2493834
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15076,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 798649681,
+ "agentfs_batcher_commit_txns": 4791,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9400,
+ "attr_cache_hits": 26163,
+ "attr_cache_misses": 30820,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 983,
+ "connection_create": 9,
+ "connection_reuse": 31823,
+ "connection_wait_count": 31832,
+ "connection_wait_nanos": 9785985,
+ "dentry_cache_hits": 26105,
+ "dentry_cache_misses": 13482,
+ "getattr_count": 20750,
+ "lookup_base_count": 23,
+ "lookup_count": 40450,
+ "lookup_delta_count": 7250,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6806,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14340,
+ "path_cache_hits": 26105,
+ "path_cache_misses": 13482,
+ "path_component_count": 33023,
+ "path_resolution_count": 7162,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2493834
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 4652,
+ "fuse_adapter_attr_misses": 5630,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27105,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 42,
+ "fuse_dispatch_wait_count": 42,
+ "fuse_dispatch_wait_nanos": 619581,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10282,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 11746,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 462019443,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 39,
+ "fuse_op_forget_nanos": 995583,
+ "fuse_op_getattr_count": 10282,
+ "fuse_op_getattr_nanos": 80113033,
+ "fuse_op_lookup_count": 11746,
+ "fuse_op_lookup_nanos": 126853697,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 798,
+ "fuse_op_other_nanos": 99355989,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 32436606,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3292533,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4762,
+ "fuse_op_setattr_nanos": 1120618479,
+ "fuse_op_write_count": 4829,
+ "fuse_op_write_nanos": 25385864,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16907,
+ "fuse_read_lane_wait_nanos": 2526676,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 37365,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4829,
+ "fuse_write_lane_wait_count": 10245,
+ "fuse_write_lane_wait_nanos": 1844053
+ }
+ },
+ "source": "phase-checkpoint-2"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 802482989,
+ "agentfs_batcher_commit_txns": 4795,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26181,
+ "attr_cache_misses": 30855,
+ "base_fast_inode_invalidations": 15100,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33528,
+ "connection_wait_count": 33537,
+ "connection_wait_nanos": 10164289,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 5527,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 29680,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11163,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12037,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11163,
+ "fuse_op_getattr_nanos": 81146864,
+ "fuse_op_lookup_count": 12037,
+ "fuse_op_lookup_nanos": 131535403,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 101182894,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 34645803,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 62849865,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1126636831,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 27294644,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17902,
+ "fuse_read_lane_wait_nanos": 2645916,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 42710,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1854794,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20774,
+ "lookup_base_count": 23,
+ "lookup_count": 41048,
+ "lookup_delta_count": 7545,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6810,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 11642244
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15100,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 802482989,
+ "agentfs_batcher_commit_txns": 4795,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26181,
+ "attr_cache_misses": 30855,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33528,
+ "connection_wait_count": 33537,
+ "connection_wait_nanos": 10164289,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20774,
+ "lookup_base_count": 23,
+ "lookup_count": 41048,
+ "lookup_delta_count": 7545,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6810,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 11642244
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 5527,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 29680,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11163,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12037,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11163,
+ "fuse_op_getattr_nanos": 81146864,
+ "fuse_op_lookup_count": 12037,
+ "fuse_op_lookup_nanos": 131535403,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 101182894,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 34645803,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 62849865,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1126636831,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 27294644,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17902,
+ "fuse_read_lane_wait_nanos": 2645916,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 42710,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1854794
+ }
+ },
+ "source": "phase-checkpoint-3"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 802482989,
+ "agentfs_batcher_commit_txns": 4795,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30855,
+ "base_fast_inode_invalidations": 15100,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33536,
+ "connection_wait_count": 33545,
+ "connection_wait_nanos": 10169872,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 5596,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 29756,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11232,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12038,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11232,
+ "fuse_op_getattr_nanos": 81220965,
+ "fuse_op_lookup_count": 12038,
+ "fuse_op_lookup_nanos": 131560467,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 101182894,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 35452736,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 62849865,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1126636831,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 27294644,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17904,
+ "fuse_read_lane_wait_nanos": 2646486,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 42786,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1854794,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20774,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6810,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 11642244
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15100,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 802482989,
+ "agentfs_batcher_commit_txns": 4795,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30855,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33536,
+ "connection_wait_count": 33545,
+ "connection_wait_nanos": 10169872,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20774,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6810,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 11642244
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 5596,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 29756,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11232,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12038,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11232,
+ "fuse_op_getattr_nanos": 81220965,
+ "fuse_op_lookup_count": 12038,
+ "fuse_op_lookup_nanos": 131560467,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 101182894,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 35452736,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 62849865,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1126636831,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 27294644,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17904,
+ "fuse_read_lane_wait_nanos": 2646486,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 42786,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1854794
+ }
+ },
+ "source": "phase-checkpoint-4"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 803850964,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30879,
+ "base_fast_inode_invalidations": 15116,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33568,
+ "connection_wait_count": 33577,
+ "connection_wait_nanos": 10186541,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 5604,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 29772,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11240,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12038,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11240,
+ "fuse_op_getattr_nanos": 81230429,
+ "fuse_op_lookup_count": 12038,
+ "fuse_op_lookup_nanos": 131560467,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3568,
+ "fuse_op_other_nanos": 102177108,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 35452736,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 62849865,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1129126267,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 27763323,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17912,
+ "fuse_read_lane_wait_nanos": 2649152,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 42818,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1856482,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20790,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6810,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 12489741
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15116,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 803850964,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30879,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33568,
+ "connection_wait_count": 33577,
+ "connection_wait_nanos": 10186541,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20790,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6810,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 12489741
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 5604,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 29772,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11240,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12038,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11240,
+ "fuse_op_getattr_nanos": 81230429,
+ "fuse_op_lookup_count": 12038,
+ "fuse_op_lookup_nanos": 131560467,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3568,
+ "fuse_op_other_nanos": 102177108,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 35452736,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 62849865,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1129126267,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 27763323,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17912,
+ "fuse_read_lane_wait_nanos": 2649152,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 42818,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1856482
+ }
+ },
+ "source": "phase-checkpoint-5"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 803850964,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30879,
+ "base_fast_inode_invalidations": 15116,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33568,
+ "connection_wait_count": 33577,
+ "connection_wait_nanos": 10186541,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 5957,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5306,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30139,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11593,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12052,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11593,
+ "fuse_op_getattr_nanos": 81551167,
+ "fuse_op_lookup_count": 12052,
+ "fuse_op_lookup_nanos": 131574896,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3580,
+ "fuse_op_other_nanos": 102187457,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 35452736,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 62849865,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1129126267,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 27763323,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17912,
+ "fuse_read_lane_wait_nanos": 2649152,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43197,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1856482,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20790,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6824,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 12489741
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15116,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 803850964,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26182,
+ "attr_cache_misses": 30879,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33568,
+ "connection_wait_count": 33577,
+ "connection_wait_nanos": 10186541,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20790,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6824,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 12489741
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 5957,
+ "fuse_adapter_attr_misses": 5636,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5306,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30139,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11593,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12052,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11593,
+ "fuse_op_getattr_nanos": 81551167,
+ "fuse_op_lookup_count": 12052,
+ "fuse_op_lookup_nanos": 131574896,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3580,
+ "fuse_op_other_nanos": 102187457,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 35452736,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 62849865,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1129126267,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 27763323,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17912,
+ "fuse_read_lane_wait_nanos": 2649152,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43197,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1856482
+ }
+ },
+ "source": "phase-checkpoint-6"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 803850964,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26185,
+ "attr_cache_misses": 30881,
+ "base_fast_inode_invalidations": 15116,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33592,
+ "connection_wait_count": 33601,
+ "connection_wait_nanos": 10201610,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 6001,
+ "fuse_adapter_attr_misses": 5637,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5540,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 30442,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11638,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12290,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11638,
+ "fuse_op_getattr_nanos": 81630705,
+ "fuse_op_lookup_count": 12290,
+ "fuse_op_lookup_nanos": 131860711,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 102197603,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 35818220,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 63788255,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1129126267,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 27763323,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17927,
+ "fuse_read_lane_wait_nanos": 2652664,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43536,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1856482,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20792,
+ "lookup_base_count": 23,
+ "lookup_count": 41058,
+ "lookup_delta_count": 7550,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7058,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37671,
+ "path_resolution_count": 8149,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 12767153
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15116,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 803850964,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26185,
+ "attr_cache_misses": 30881,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33592,
+ "connection_wait_count": 33601,
+ "connection_wait_nanos": 10201610,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "getattr_count": 20792,
+ "lookup_base_count": 23,
+ "lookup_count": 41058,
+ "lookup_delta_count": 7550,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7058,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37671,
+ "path_resolution_count": 8149,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 12767153
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6001,
+ "fuse_adapter_attr_misses": 5637,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5540,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 30442,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11638,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12290,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11638,
+ "fuse_op_getattr_nanos": 81630705,
+ "fuse_op_lookup_count": 12290,
+ "fuse_op_lookup_nanos": 131860711,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 102197603,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 35818220,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 63788255,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1129126267,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 27763323,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17927,
+ "fuse_read_lane_wait_nanos": 2652664,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43536,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1856482
+ }
+ },
+ "source": "phase-checkpoint-7"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 803850964,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26185,
+ "attr_cache_misses": 30881,
+ "base_fast_inode_invalidations": 15116,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33595,
+ "connection_wait_count": 33604,
+ "connection_wait_nanos": 10208367,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 6001,
+ "fuse_adapter_attr_misses": 5637,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5540,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 30442,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11638,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12290,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11638,
+ "fuse_op_getattr_nanos": 81630705,
+ "fuse_op_lookup_count": 12290,
+ "fuse_op_lookup_nanos": 131860711,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 102197603,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 35818220,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 63788255,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1129126267,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 27763323,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17927,
+ "fuse_read_lane_wait_nanos": 2652664,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43536,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1858106,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20792,
+ "lookup_base_count": 23,
+ "lookup_count": 41058,
+ "lookup_delta_count": 7550,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7058,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37671,
+ "path_resolution_count": 8149,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 12934046
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15116,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 803850964,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1351680,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26185,
+ "attr_cache_misses": 30881,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 9,
+ "connection_reuse": 33595,
+ "connection_wait_count": 33604,
+ "connection_wait_nanos": 10208367,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "getattr_count": 20792,
+ "lookup_base_count": 23,
+ "lookup_count": 41058,
+ "lookup_delta_count": 7550,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7058,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37671,
+ "path_resolution_count": 8149,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 12934046
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6001,
+ "fuse_adapter_attr_misses": 5637,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5540,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 30442,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 46,
+ "fuse_dispatch_wait_count": 46,
+ "fuse_dispatch_wait_nanos": 678961,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11638,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12290,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 462638918,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 708,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 1027314,
+ "fuse_op_getattr_count": 11638,
+ "fuse_op_getattr_nanos": 81630705,
+ "fuse_op_lookup_count": 12290,
+ "fuse_op_lookup_nanos": 131860711,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 930,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 102197603,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 35818220,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 63788255,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1129126267,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 27763323,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17927,
+ "fuse_read_lane_wait_nanos": 2652664,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43536,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1858106
+ }
+ },
+ "source": "cli"
+ }
+ ],
+ "returncode": 0,
+ "stderr_bytes": 64588,
+ "stderr_tail": "en_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":1,\"fuse_readdirplus_mode\":2,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_workers_configured\":7,\"fuse_writeback_cache_enabled\":1},\"core\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":803850964,\"agentfs_batcher_commit_txns\":4803,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4697,\"agentfs_batcher_drains_timer\":16,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1351680,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9412,\"attr_cache_hits\":26182,\"attr_cache_misses\":30879,\"chunk_read_chunks\":267,\"chunk_read_queries\":122,\"chunk_write_chunks\":1003,\"connection_create\":9,\"connection_reuse\":33568,\"connection_wait_count\":33577,\"connection_wait_nanos\":10186541,\"dentry_cache_hits\":26125,\"dentry_cache_misses\":14052,\"getattr_count\":20790,\"lookup_base_count\":23,\"lookup_count\":41050,\"lookup_delta_count\":7546,\"lookup_whiteout_count\":0,\"negative_cache_hits\":6824,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46085,\"negative_lookup_count\":14918,\"path_cache_hits\":26125,\"path_cache_misses\":14052,\"path_component_count\":37629,\"path_resolution_count\":8139,\"readdir_count\":1,\"readdir_plus_count\":1398,\"wal_checkpoint_count\":708,\"wal_checkpoint_nanos\":12489741},\"fuse\":{\"fuse_adapter_attr_hits\":5957,\"fuse_adapter_attr_misses\":5636,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6734,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5306,\"fuse_adapter_negative_misses\":6734,\"fuse_callback_count\":30139,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":8,\"fuse_dispatch_parallel_tasks\":46,\"fuse_dispatch_wait_count\":46,\"fuse_dispatch_wait_nanos\":678961,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":11593,\"fuse_ino_file_resolutions\":24,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":12052,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":462638918,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":708,\"fuse_op_forget_count\":43,\"fuse_op_forget_nanos\":1027314,\"fuse_op_getattr_count\":11593,\"fuse_op_getattr_nanos\":81551167,\"fuse_op_lookup_count\":12052,\"fuse_op_lookup_nanos\":131574896,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":930,\"fuse_op_other_count\":3580,\"fuse_op_other_nanos\":102187457,\"fuse_op_read_count\":239,\"fuse_op_read_nanos\":35452736,\"fuse_op_readdirplus_count\":1407,\"fuse_op_readdirplus_nanos\":62849865,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4776,\"fuse_op_setattr_nanos\":1129126267,\"fuse_op_write_count\":4847,\"fuse_op_write_nanos\":27763323,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":239,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17912,\"fuse_read_lane_wait_nanos\":2649152,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1407,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":43197,\"fuse_worker_queue_depth_peak\":2,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4847,\"fuse_write_lane_wait_count\":10267,\"fuse_write_lane_wait_nanos\":1856482}},\"source\":\"phase-checkpoint-6\"}\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":803850964,\"agentfs_batcher_commit_txns\":4803,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4697,\"agentfs_batcher_drains_timer\":16,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1351680,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9412,\"attr_cache_hits\":26185,\"attr_cache_misses\":30881,\"base_fast_inode_invalidations\":15116,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1003,\"connection_create\":9,\"connection_reuse\":33592,\"connection_wait_count\":33601,\"connection_wait_nanos\":10201610,\"dentry_cache_hits\":26129,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":6001,\"fuse_adapter_attr_misses\":5637,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5540,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":30442,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":8,\"fuse_dispatch_parallel_tasks\":46,\"fuse_dispatch_wait_count\":46,\"fuse_dispatch_wait_nanos\":678961,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":11638,\"fuse_ino_file_resolutions\":25,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12290,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":462638918,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":708,\"fuse_op_forget_count\":43,\"fuse_op_forget_nanos\":1027314,\"fuse_op_getattr_count\":11638,\"fuse_op_getattr_nanos\":81630705,\"fuse_op_lookup_count\":12290,\"fuse_op_lookup_nanos\":131860711,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":930,\"fuse_op_other_count\":3616,\"fuse_op_other_nanos\":102197603,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":35818220,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":63788255,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4776,\"fuse_op_setattr_nanos\":1129126267,\"fuse_op_write_count\":4847,\"fuse_op_write_nanos\":27763323,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17927,\"fuse_read_lane_wait_nanos\":2652664,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":43536,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4847,\"fuse_write_lane_wait_count\":10267,\"fuse_write_lane_wait_nanos\":1856482,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20792,\"lookup_base_count\":23,\"lookup_count\":41058,\"lookup_delta_count\":7550,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7058,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14920,\"path_cache_hits\":26129,\"path_cache_misses\":14054,\"path_component_count\":37671,\"path_resolution_count\":8149,\"readdir_count\":1,\"readdir_plus_count\":1416,\"wal_checkpoint_count\":717,\"wal_checkpoint_nanos\":12767153},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"sections\":{\"base\":{\"base_fast_inode_invalidations\":15116,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":1,\"fuse_readdirplus_mode\":2,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_workers_configured\":7,\"fuse_writeback_cache_enabled\":1},\"core\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":803850964,\"agentfs_batcher_commit_txns\":4803,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4697,\"agentfs_batcher_drains_timer\":16,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1351680,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9412,\"attr_cache_hits\":26185,\"attr_cache_misses\":30881,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1003,\"connection_create\":9,\"connection_reuse\":33592,\"connection_wait_count\":33601,\"connection_wait_nanos\":10201610,\"dentry_cache_hits\":26129,\"dentry_cache_misses\":14054,\"getattr_count\":20792,\"lookup_base_count\":23,\"lookup_count\":41058,\"lookup_delta_count\":7550,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7058,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14920,\"path_cache_hits\":26129,\"path_cache_misses\":14054,\"path_component_count\":37671,\"path_resolution_count\":8149,\"readdir_count\":1,\"readdir_plus_count\":1416,\"wal_checkpoint_count\":717,\"wal_checkpoint_nanos\":12767153},\"fuse\":{\"fuse_adapter_attr_hits\":6001,\"fuse_adapter_attr_misses\":5637,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5540,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":30442,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":8,\"fuse_dispatch_parallel_tasks\":46,\"fuse_dispatch_wait_count\":46,\"fuse_dispatch_wait_nanos\":678961,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":11638,\"fuse_ino_file_resolutions\":25,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":12290,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":462638918,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":708,\"fuse_op_forget_count\":43,\"fuse_op_forget_nanos\":1027314,\"fuse_op_getattr_count\":11638,\"fuse_op_getattr_nanos\":81630705,\"fuse_op_lookup_count\":12290,\"fuse_op_lookup_nanos\":131860711,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":930,\"fuse_op_other_count\":3616,\"fuse_op_other_nanos\":102197603,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":35818220,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":63788255,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4776,\"fuse_op_setattr_nanos\":1129126267,\"fuse_op_write_count\":4847,\"fuse_op_write_nanos\":27763323,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17927,\"fuse_read_lane_wait_nanos\":2652664,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":43536,\"fuse_worker_queue_depth_peak\":2,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4847,\"fuse_write_lane_wait_count\":10267,\"fuse_write_lane_wait_nanos\":1856482}},\"source\":\"phase-checkpoint-7\"}\n\nSession: git-workload-e09c5e33cc4249779c53f1e85f08fbe4\n\nTo resume this session:\n agentfs run --session git-workload-e09c5e33cc4249779c53f1e85f08fbe4\n\nTo see what changed:\n agentfs diff git-workload-e09c5e33cc4249779c53f1e85f08fbe4\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":803850964,\"agentfs_batcher_commit_txns\":4803,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4697,\"agentfs_batcher_drains_timer\":16,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1351680,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9412,\"attr_cache_hits\":26185,\"attr_cache_misses\":30881,\"base_fast_inode_invalidations\":15116,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1003,\"connection_create\":9,\"connection_reuse\":33595,\"connection_wait_count\":33604,\"connection_wait_nanos\":10208367,\"dentry_cache_hits\":26129,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":6001,\"fuse_adapter_attr_misses\":5637,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5540,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":30442,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":8,\"fuse_dispatch_parallel_tasks\":46,\"fuse_dispatch_wait_count\":46,\"fuse_dispatch_wait_nanos\":678961,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":11638,\"fuse_ino_file_resolutions\":25,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12290,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":462638918,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":708,\"fuse_op_forget_count\":43,\"fuse_op_forget_nanos\":1027314,\"fuse_op_getattr_count\":11638,\"fuse_op_getattr_nanos\":81630705,\"fuse_op_lookup_count\":12290,\"fuse_op_lookup_nanos\":131860711,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":930,\"fuse_op_other_count\":3616,\"fuse_op_other_nanos\":102197603,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":35818220,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":63788255,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4776,\"fuse_op_setattr_nanos\":1129126267,\"fuse_op_write_count\":4847,\"fuse_op_write_nanos\":27763323,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17927,\"fuse_read_lane_wait_nanos\":2652664,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":43536,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4847,\"fuse_write_lane_wait_count\":10269,\"fuse_write_lane_wait_nanos\":1858106,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20792,\"lookup_base_count\":23,\"lookup_count\":41058,\"lookup_delta_count\":7550,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7058,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14920,\"path_cache_hits\":26129,\"path_cache_misses\":14054,\"path_component_count\":37671,\"path_resolution_count\":8149,\"readdir_count\":1,\"readdir_plus_count\":1416,\"wal_checkpoint_count\":719,\"wal_checkpoint_nanos\":12934046},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"sections\":{\"base\":{\"base_fast_inode_invalidations\":15116,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":1,\"fuse_readdirplus_mode\":2,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_workers_configured\":7,\"fuse_writeback_cache_enabled\":1},\"core\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":803850964,\"agentfs_batcher_commit_txns\":4803,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4697,\"agentfs_batcher_drains_timer\":16,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1351680,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9412,\"attr_cache_hits\":26185,\"attr_cache_misses\":30881,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1003,\"connection_create\":9,\"connection_reuse\":33595,\"connection_wait_count\":33604,\"connection_wait_nanos\":10208367,\"dentry_cache_hits\":26129,\"dentry_cache_misses\":14054,\"getattr_count\":20792,\"lookup_base_count\":23,\"lookup_count\":41058,\"lookup_delta_count\":7550,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7058,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14920,\"path_cache_hits\":26129,\"path_cache_misses\":14054,\"path_component_count\":37671,\"path_resolution_count\":8149,\"readdir_count\":1,\"readdir_plus_count\":1416,\"wal_checkpoint_count\":719,\"wal_checkpoint_nanos\":12934046},\"fuse\":{\"fuse_adapter_attr_hits\":6001,\"fuse_adapter_attr_misses\":5637,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5540,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":30442,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":8,\"fuse_dispatch_parallel_tasks\":46,\"fuse_dispatch_wait_count\":46,\"fuse_dispatch_wait_nanos\":678961,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":11638,\"fuse_ino_file_resolutions\":25,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":12290,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":462638918,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":708,\"fuse_op_forget_count\":43,\"fuse_op_forget_nanos\":1027314,\"fuse_op_getattr_count\":11638,\"fuse_op_getattr_nanos\":81630705,\"fuse_op_lookup_count\":12290,\"fuse_op_lookup_nanos\":131860711,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":930,\"fuse_op_other_count\":3616,\"fuse_op_other_nanos\":102197603,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":35818220,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":63788255,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4776,\"fuse_op_setattr_nanos\":1129126267,\"fuse_op_write_count\":4847,\"fuse_op_write_nanos\":27763323,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17927,\"fuse_read_lane_wait_nanos\":2652664,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":43536,\"fuse_worker_queue_depth_peak\":2,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4847,\"fuse_write_lane_wait_count\":10269,\"fuse_write_lane_wait_nanos\":1858106}},\"source\":\"cli\"}\n",
+ "stdout_bytes": 18886,
+ "stdout_tail": "2026-07-04T01:14:05.232762Z INFO agentfs::fuser::session: resolved FUSE dispatch mode: parallel workers=7 queue_capacity=28\n2026-07-04T01:14:05.233277Z INFO agentfs::fuse: advertising FUSE_OVER_IO_URING\n2026-07-04T01:14:05.233346Z INFO agentfs::fuser::uring: starting fuse-over-io_uring queues nr_queues=14 depth=4\n2026-07-04T01:14:06.603577Z WARN agentfs::fuser::request: Request RequestId(26501): Failed to send reply: No such file or directory (os error 2)\n2026-07-04T01:14:07.603561Z WARN agentfs::fuser::request: Request RequestId(53005): Failed to send reply: No such file or directory (os error 2)\n{\"branch_status\": \"## agentfs-benchmark\\n\", \"diff\": {\"changed_file_count\": 8, \"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.024519680009689182, \"patch_bytes\": 3282, \"patch_sha256\": \"51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc\", \"runs\": {\"name_only\": {\"argv\": [\"git\", \"diff\", \"--name-only\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-bkhbczd5/agentfs-base/work\", \"duration_seconds\": 0.00708862098690588, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 144, \"stdout_tail\": \"docs/CLA.md\\ndocs/agents_md.md\\ndocs/authentication.md\\ndocs/config.md\\ndocs/contributing.md\\ndocs/example-config.md\\ndocs/exec.md\\ndocs/execpolicy.md\\n\"}, \"patch\": {\"argv\": [\"git\", \"diff\", \"--\", \".\"], \"cwd\": \"/tmp/agentfs-git-workload-bkhbczd5/agentfs-base/work\", \"duration_seconds\": 0.008762903991737403, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 3282, \"stdout_tail\": \"diff --git a/docs/CLA.md b/docs/CLA.md\\nindex 804f202..3495ac9 100644\\n--- a/docs/CLA.md\\n+++ b/docs/CLA.md\\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\\n This Agreement is governed by the laws of the **State of California**, USA,\\n excluding its conflict\\u2011of\\u2011laws rules. If any provision is held unenforceable,\\n the remaining provisions remain in force.\\n+\\n+AgentFS Git benchmark edit 00 for docs/CLA.md\\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\\nindex 3df0fac..b8b063d 100644\\n--- a/docs/agents_md.md\\n+++ b/docs/agents_md.md\\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\\n ## Hierarchical agents message\\n \\n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\\n+\\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\\ndiff --git a/docs/authentication.md b/docs/authentication.md\\nindex c307349..b3bc9dc 100644\\n--- a/docs/authentication.md\\n+++ b/docs/authentication.md\\n@@ -1,3 +1,5 @@\\n # Authentication\\n \\n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\\n+\\n+AgentFS Git benchmark edit 02 for docs/authentication.md\\ndiff --git a/docs/config.md b/docs/config.md\\nindex d35b0a8..030e278 100644\\n--- a/docs/config.md\\n+++ b/docs/config.md\\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\\n still allowing managed hooks from requirements and managed config layers. This\\n setting is only supported in `requirements.toml`; putting it in `config.toml`\\n does not enable managed-hooks-only mode.\\n+\\n+AgentFS Git benchmark edit 03 for docs/config.md\\ndiff --git a/docs/contributing.md b/docs/contributing.md\\nindex aeae1f1..b5a22ac 100644\\n--- a/docs/contributing.md\\n+++ b/docs/contributing.md\\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\\n ### Security & responsible AI\\n \\n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\\n+\\n+AgentFS Git benchmark edit 04 for docs/contributing.md\\ndiff --git a/docs/example-config.md b/docs/example-config.md\\nindex 84b1143..b09f835 100644\\n--- a/docs/example-config.md\\n+++ b/docs/example-config.md\\n@@ -1,3 +1,5 @@\\n # Sample configuration\\n \\n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\\n+\\n+AgentFS Git benchmark edit 05 for docs/example-config.md\\ndiff --git a/docs/exec.md b/docs/exec.md\\nindex 57e4323..a81da98 100644\\n--- a/docs/exec.md\\n+++ b/docs/exec.md\\n@@ -1,3 +1,5 @@\\n # Non-interactive mode\\n \\n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\\n+\\n+AgentFS Git benchmark edit 06 for docs/exec.md\\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\\nindex cafebb3..3b48afe 100644\\n--- a/docs/execpolicy.md\\n+++ b/docs/execpolicy.md\\n@@ -1,3 +1,5 @@\\n # Execution policy\\n \\n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\\n+\\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\\n\"}, \"stat\": {\"argv\": [\"git\", \"diff\", \"--stat\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-bkhbczd5/agentfs-base/work\", \"duration_seconds\": 0.008617704006610438, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 283, \"stdout_tail\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}}, \"stat_stdout\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}, \"edits\": {\"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.004875056998571381, \"edits\": [{\"appended_bytes\": 47, \"path\": \"docs/CLA.md\", \"size_after\": 2106, \"size_before\": 2059}, {\"appended_bytes\": 53, \"path\": \"docs/agents_md.md\", \"size_after\": 462, \"size_before\": 409}, {\"appended_bytes\": 58, \"path\": \"docs/authentication.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 50, \"path\": \"docs/config.md\", \"size_after\": 776, \"size_before\": 726}, {\"appended_bytes\": 56, \"path\": \"docs/contributing.md\", \"size_after\": 6380, \"size_before\": 6324}, {\"appended_bytes\": 58, \"path\": \"docs/example-config.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 48, \"path\": \"docs/exec.md\", \"size_after\": 194, \"size_before\": 146}, {\"appended_bytes\": 54, \"path\": \"docs/execpolicy.md\", \"size_after\": 192, \"size_before\": 138}]}, \"fsck\": {\"ok\": true, \"ran\": true, \"run\": {\"argv\": [\"git\", \"fsck\", \"--strict\"], \"cwd\": \"/tmp/agentfs-git-workload-bkhbczd5/agentfs-base/work\", \"duration_seconds\": 0.20235960099671502, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}, \"head_commit\": \"7d47056ea42636271ac020b86347fbbef49490aa\", \"initial_status\": \"\", \"phase_runs\": {\"checkout\": {\"argv\": [\"git\", \"checkout\", \"-B\", \"agentfs-benchmark\"], \"cwd\": \"/tmp/agentfs-git-workload-bkhbczd5/agentfs-base/work\", \"duration_seconds\": 0.05157221599074546, \"returncode\": 0, \"stderr_bytes\": 45, \"stderr_tail\": \"Switched to a new branch 'agentfs-benchmark'\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"clone\": {\"argv\": [\"git\", \"clone\", \"--local\", \"--no-hardlinks\", \"/tmp/agentfs-git-workload-bkhbczd5/agentfs-base/mirror.git\", \"/tmp/agentfs-git-workload-bkhbczd5/agentfs-base/work\"], \"cwd\": \"/tmp/agentfs-git-workload-bkhbczd5/agentfs-base\", \"duration_seconds\": 2.7773549539997475, \"returncode\": 0, \"stderr_bytes\": 2307, \"stderr_tail\": \"Cloning into '/tmp/agentfs-git-workload-bkhbczd5/agentfs-base/work'...\\nwarning: source repository is shallow, ignoring --local\\nwarning: --local is ignored\\nUpdating files: 38% (1803/4644)\\nUpdating files: 39% (1812/4644)\\nUpdating files: 40% (1858/4644)\\nUpdating files: 41% (1905/4644)\\nUpdating files: 42% (1951/4644)\\nUpdating files: 43% (1997/4644)\\nUpdating files: 44% (2044/4644)\\nUpdating files: 45% (2090/4644)\\nUpdating files: 46% (2137/4644)\\nUpdating files: 47% (2183/4644)\\nUpdating files: 48% (2230/4644)\\nUpdating files: 49% (2276/4644)\\nUpdating files: 50% (2322/4644)\\nUpdating files: 51% (2369/4644)\\nUpdating files: 52% (2415/4644)\\nUpdating files: 53% (2462/4644)\\nUpdating files: 54% (2508/4644)\\nUpdating files: 55% (2555/4644)\\nUpdating files: 56% (2601/4644)\\nUpdating files: 57% (2648/4644)\\nUpdating files: 58% (2694/4644)\\nUpdating files: 59% (2740/4644)\\nUpdating files: 60% (2787/4644)\\nUpdating files: 61% (2833/4644)\\nUpdating files: 62% (2880/4644)\\nUpdating files: 63% (2926/4644)\\nUpdating files: 64% (2973/4644)\\nUpdating files: 65% (3019/4644)\\nUpdating files: 66% (3066/4644)\\nUpdating files: 67% (3112/4644)\\nUpdating files: 68% (3158/4644)\\nUpdating files: 69% (3205/4644)\\nUpdating files: 70% (3251/4644)\\nUpdating files: 71% (3298/4644)\\nUpdating files: 72% (3344/4644)\\nUpdating files: 73% (3391/4644)\\nUpdating files: 74% (3437/4644)\\nUpdating files: 75% (3483/4644)\\nUpdating files: 76% (3530/4644)\\nUpdating files: 77% (3576/4644)\\nUpdating files: 78% (3623/4644)\\nUpdating files: 79% (3669/4644)\\nUpdating files: 80% (3716/4644)\\nUpdating files: 81% (3762/4644)\\nUpdating files: 82% (3809/4644)\\nUpdating files: 82% (3824/4644)\\nUpdating files: 83% (3855/4644)\\nUpdating files: 84% (3901/4644)\\nUpdating files: 85% (3948/4644)\\nUpdating files: 86% (3994/4644)\\nUpdating files: 87% (4041/4644)\\nUpdating files: 88% (4087/4644)\\nUpdating files: 89% (4134/4644)\\nUpdating files: 90% (4180/4644)\\nUpdating files: 91% (4227/4644)\\nUpdating files: 92% (4273/4644)\\nUpdating files: 93% (4319/4644)\\nUpdating files: 94% (4366/4644)\\nUpdating files: 95% (4412/4644)\\nUpdating files: 96% (4459/4644)\\nUpdating files: 97% (4505/4644)\\nUpdating files: 98% (4552/4644)\\nUpdating files: 99% (4598/4644)\\nUpdating files: 100% (4644/4644)\\nUpdating files: 100% (4644/4644), done.\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"status\": {\"branch\": {\"argv\": [\"git\", \"status\", \"--short\", \"--branch\"], \"cwd\": \"/tmp/agentfs-git-workload-bkhbczd5/agentfs-base/work\", \"duration_seconds\": 0.026326373001211323, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 21, \"stdout_tail\": \"## agentfs-benchmark\\n\"}, \"short\": {\"argv\": [\"git\", \"status\", \"--short\"], \"cwd\": \"/tmp/agentfs-git-workload-bkhbczd5/agentfs-base/work\", \"duration_seconds\": 0.12444656799198128, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}}, \"phase_seconds\": {\"checkout\": 0.05428599700098857, \"clone\": 2.777395411001635, \"diff\": 0.024519680009689182, \"edit\": 0.004875056998571381, \"fsck\": 0.2023740630102111, \"read_search\": 0.008785623009316623, \"status\": 0.1508024939976167}, \"profile_checkpoints\": [\"clone\", \"checkout\", \"status\", \"read_search\", \"edit\", \"diff\", \"fsck\"], \"read_search\": {\"bytes_read\": 117190, \"digest\": \"6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53\", \"files_scanned\": 64, \"files_total\": 4644, \"ls_files_run\": {\"argv\": [\"git\", \"ls-files\", \"-z\"], \"cwd\": \"/tmp/agentfs-git-workload-bkhbczd5/agentfs-base/work\", \"duration_seconds\": 0.0056938799971248955, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 263077, \"stdout_tail\": \"i_codex/api.py\\u0000sdk/python/src/openai_codex/async_client.py\\u0000sdk/python/src/openai_codex/client.py\\u0000sdk/python/src/openai_codex/errors.py\\u0000sdk/python/src/openai_codex/generated/__init__.py\\u0000sdk/python/src/openai_codex/generated/notification_registry.py\\u0000sdk/python/src/openai_codex/generated/v2_all.py\\u0000sdk/python/src/openai_codex/models.py\\u0000sdk/python/src/openai_codex/py.typed\\u0000sdk/python/src/openai_codex/retry.py\\u0000sdk/python/src/openai_codex/types.py\\u0000sdk/python/tests/app_server_harness.py\\u0000sdk/python/tests/app_server_helpers.py\\u0000sdk/python/tests/conftest.py\\u0000sdk/python/tests/test_app_server_approvals.py\\u0000sdk/python/tests/test_app_server_inputs.py\\u0000sdk/python/tests/test_app_server_lifecycle.py\\u0000sdk/python/tests/test_app_server_login.py\\u0000sdk/python/tests/test_app_server_run.py\\u0000sdk/python/tests/test_app_server_streaming.py\\u0000sdk/python/tests/test_app_server_turn_controls.py\\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\\u0000sdk/python/tests/test_async_client_behavior.py\\u0000sdk/python/tests/test_client_rpc_methods.py\\u0000sdk/python/tests/test_contract_generation.py\\u0000sdk/python/tests/test_public_api_runtime_behavior.py\\u0000sdk/python/tests/test_public_api_signatures.py\\u0000sdk/python/tests/test_real_app_server_integration.py\\u0000sdk/python/uv.lock\\u0000sdk/typescript/.prettierignore\\u0000sdk/typescript/.prettierrc\\u0000sdk/typescript/README.md\\u0000sdk/typescript/eslint.config.js\\u0000sdk/typescript/jest.config.cjs\\u0000sdk/typescript/package.json\\u0000sdk/typescript/samples/basic_streaming.ts\\u0000sdk/typescript/samples/helpers.ts\\u0000sdk/typescript/samples/structured_output.ts\\u0000sdk/typescript/samples/structured_output_zod.ts\\u0000sdk/typescript/src/codex.ts\\u0000sdk/typescript/src/codexOptions.ts\\u0000sdk/typescript/src/events.ts\\u0000sdk/typescript/src/exec.ts\\u0000sdk/typescript/src/index.ts\\u0000sdk/typescript/src/items.ts\\u0000sdk/typescript/src/outputSchemaFile.ts\\u0000sdk/typescript/src/thread.ts\\u0000sdk/typescript/src/threadOptions.ts\\u0000sdk/typescript/src/turnOptions.ts\\u0000sdk/typescript/tests/abort.test.ts\\u0000sdk/typescript/tests/codexExecSpy.ts\\u0000sdk/typescript/tests/exec.test.ts\\u0000sdk/typescript/tests/responsesProxy.ts\\u0000sdk/typescript/tests/run.test.ts\\u0000sdk/typescript/tests/runStreamed.test.ts\\u0000sdk/typescript/tests/setupCodexHome.ts\\u0000sdk/typescript/tests/testCodex.ts\\u0000sdk/typescript/tsconfig.json\\u0000sdk/typescript/tsup.config.ts\\u0000third_party/v8/BUILD.bazel\\u0000third_party/v8/README.md\\u0000third_party/v8/libcxx.BUILD.bazel\\u0000third_party/v8/libcxx_config/BUILD.bazel\\u0000third_party/v8/libcxx_config/__assertion_handler\\u0000third_party/v8/libcxx_config/__config_site\\u0000third_party/v8/libcxxabi.BUILD.bazel\\u0000third_party/v8/llvm_libc.BUILD.bazel\\u0000third_party/v8/rusty_v8_147_4_0.sha256\\u0000third_party/v8/v8_crate.BUILD.bazel\\u0000third_party/wezterm/LICENSE\\u0000tools/argument-comment-lint/.cargo/config.toml\\u0000tools/argument-comment-lint/.gitignore\\u0000tools/argument-comment-lint/BUILD.bazel\\u0000tools/argument-comment-lint/Cargo.lock\\u0000tools/argument-comment-lint/Cargo.toml\\u0000tools/argument-comment-lint/README.md\\u0000tools/argument-comment-lint/argument-comment-lint\\u0000tools/argument-comment-lint/driver.rs\\u0000tools/argument-comment-lint/lint_aspect.bzl\\u0000tools/argument-comment-lint/list-bazel-targets.sh\\u0000tools/argument-comment-lint/run-prebuilt-linter.py\\u0000tools/argument-comment-lint/run.py\\u0000tools/argument-comment-lint/rust-toolchain\\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\\u0000tools/argument-comment-lint/src/comment_parser.rs\\u0000tools/argument-comment-lint/src/lib.rs\\u0000tools/argument-comment-lint/test_wrapper_common.py\\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\\u0000tools/argument-comment-lint/ui/comment_matches.rs\\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\\u0000tools/argument-comment-lint/wrapper_common.py\\u0000workspace_root_test_launcher.bat.tpl\\u0000workspace_root_test_launcher.sh.tpl\\u0000\"}, \"matches\": 0, \"selected_files\": [\".bazelignore\", \".bazelrc\", \".bazelversion\", \".codespellignore\", \".codespellrc\", \".codex/environments/environment.toml\", \".codex/skills/babysit-pr/SKILL.md\", \".codex/skills/babysit-pr/agents/openai.yaml\", \".codex/skills/babysit-pr/references/github-api-notes.md\", \".codex/skills/babysit-pr/references/heuristics.md\", \".codex/skills/babysit-pr/scripts/gh_pr_watch.py\", \".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py\", \".codex/skills/code-review-breaking-changes/SKILL.md\", \".codex/skills/code-review-change-size/SKILL.md\", \".codex/skills/code-review-context/SKILL.md\", \".codex/skills/code-review-testing/SKILL.md\", \".codex/skills/code-review/SKILL.md\", \".codex/skills/codex-bug/SKILL.md\", \".codex/skills/codex-issue-digest/SKILL.md\", \".codex/skills/codex-issue-digest/agents/openai.yaml\", \".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py\", \".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py\", \".codex/skills/codex-pr-body/SKILL.md\", \".codex/skills/remote-tests/SKILL.md\", \".codex/skills/test-tui/SKILL.md\", \".codex/skills/update-v8-version/SKILL.md\", \".codex/skills/update-v8-version/agents/openai.yaml\", \".devcontainer/Dockerfile\", \".devcontainer/Dockerfile.secure\", \".devcontainer/README.md\", \".devcontainer/codex-install/package.json\", \".devcontainer/codex-install/pnpm-lock.yaml\", \".devcontainer/codex-install/pnpm-workspace.yaml\", \".devcontainer/devcontainer.json\", \".devcontainer/devcontainer.secure.json\", \".devcontainer/init-firewall.sh\", \".devcontainer/post-start.sh\", \".devcontainer/post_install.py\", \".gitattributes\", \".github/CODEOWNERS\", \".github/ISSUE_TEMPLATE/1-codex-app.yml\", \".github/ISSUE_TEMPLATE/2-extension.yml\", \".github/ISSUE_TEMPLATE/3-cli.yml\", \".github/ISSUE_TEMPLATE/4-bug-report.yml\", \".github/ISSUE_TEMPLATE/5-feature-request.yml\", \".github/ISSUE_TEMPLATE/6-docs-issue.yml\", \".github/actions/linux-code-sign/action.yml\", \".github/actions/macos-code-sign/action.yml\", \".github/actions/macos-code-sign/codex.entitlements.plist\", \".github/actions/macos-code-sign/notary_helpers.sh\", \".github/actions/prepare-bazel-ci/action.yml\", \".github/actions/run-argument-comment-lint/action.yml\", \".github/actions/setup-bazel-ci/action.yml\", \".github/actions/setup-msvc-env/action.yml\", \".github/actions/setup-msvc-env/setup-msvc-env.ps1\", \".github/actions/setup-rusty-v8/action.yml\", \".github/actions/windows-code-sign/action.yml\", \".github/blob-size-allowlist.txt\", \".github/codex-cli-splash.png\", \".github/codex/home/config.toml\", \".github/codex/labels/codex-attempt.md\", \".github/codex/labels/codex-review.md\", \".github/codex/labels/codex-rust-review.md\", \".github/codex/labels/codex-triage.md\"], \"token\": \"AGENTFS_TOKEN\"}, \"total_seconds\": 3.9237991579866502}\n",
+ "timed_out": false
+ },
+ "workload": {
+ "branch_status": "## agentfs-benchmark\n",
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.024519680009689182,
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc",
+ "runs": {
+ "name_only": {
+ "argv": [
+ "git",
+ "diff",
+ "--name-only",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-bkhbczd5/agentfs-base/work",
+ "duration_seconds": 0.00708862098690588,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 144,
+ "stdout_tail": "docs/CLA.md\ndocs/agents_md.md\ndocs/authentication.md\ndocs/config.md\ndocs/contributing.md\ndocs/example-config.md\ndocs/exec.md\ndocs/execpolicy.md\n"
+ },
+ "patch": {
+ "argv": [
+ "git",
+ "diff",
+ "--",
+ "."
+ ],
+ "cwd": "/tmp/agentfs-git-workload-bkhbczd5/agentfs-base/work",
+ "duration_seconds": 0.008762903991737403,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 3282,
+ "stdout_tail": "diff --git a/docs/CLA.md b/docs/CLA.md\nindex 804f202..3495ac9 100644\n--- a/docs/CLA.md\n+++ b/docs/CLA.md\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\n This Agreement is governed by the laws of the **State of California**, USA,\n excluding its conflict\u2011of\u2011laws rules. If any provision is held unenforceable,\n the remaining provisions remain in force.\n+\n+AgentFS Git benchmark edit 00 for docs/CLA.md\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\nindex 3df0fac..b8b063d 100644\n--- a/docs/agents_md.md\n+++ b/docs/agents_md.md\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\n ## Hierarchical agents message\n \n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\n+\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\ndiff --git a/docs/authentication.md b/docs/authentication.md\nindex c307349..b3bc9dc 100644\n--- a/docs/authentication.md\n+++ b/docs/authentication.md\n@@ -1,3 +1,5 @@\n # Authentication\n \n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\n+\n+AgentFS Git benchmark edit 02 for docs/authentication.md\ndiff --git a/docs/config.md b/docs/config.md\nindex d35b0a8..030e278 100644\n--- a/docs/config.md\n+++ b/docs/config.md\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\n still allowing managed hooks from requirements and managed config layers. This\n setting is only supported in `requirements.toml`; putting it in `config.toml`\n does not enable managed-hooks-only mode.\n+\n+AgentFS Git benchmark edit 03 for docs/config.md\ndiff --git a/docs/contributing.md b/docs/contributing.md\nindex aeae1f1..b5a22ac 100644\n--- a/docs/contributing.md\n+++ b/docs/contributing.md\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\n ### Security & responsible AI\n \n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\n+\n+AgentFS Git benchmark edit 04 for docs/contributing.md\ndiff --git a/docs/example-config.md b/docs/example-config.md\nindex 84b1143..b09f835 100644\n--- a/docs/example-config.md\n+++ b/docs/example-config.md\n@@ -1,3 +1,5 @@\n # Sample configuration\n \n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\n+\n+AgentFS Git benchmark edit 05 for docs/example-config.md\ndiff --git a/docs/exec.md b/docs/exec.md\nindex 57e4323..a81da98 100644\n--- a/docs/exec.md\n+++ b/docs/exec.md\n@@ -1,3 +1,5 @@\n # Non-interactive mode\n \n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\n+\n+AgentFS Git benchmark edit 06 for docs/exec.md\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\nindex cafebb3..3b48afe 100644\n--- a/docs/execpolicy.md\n+++ b/docs/execpolicy.md\n@@ -1,3 +1,5 @@\n # Execution policy\n \n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\n+\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\n"
+ },
+ "stat": {
+ "argv": [
+ "git",
+ "diff",
+ "--stat",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-bkhbczd5/agentfs-base/work",
+ "duration_seconds": 0.008617704006610438,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 283,
+ "stdout_tail": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ }
+ },
+ "stat_stdout": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.004875056998571381,
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true,
+ "run": {
+ "argv": [
+ "git",
+ "fsck",
+ "--strict"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-bkhbczd5/agentfs-base/work",
+ "duration_seconds": 0.20235960099671502,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "phase_runs": {
+ "checkout": {
+ "argv": [
+ "git",
+ "checkout",
+ "-B",
+ "agentfs-benchmark"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-bkhbczd5/agentfs-base/work",
+ "duration_seconds": 0.05157221599074546,
+ "returncode": 0,
+ "stderr_bytes": 45,
+ "stderr_tail": "Switched to a new branch 'agentfs-benchmark'\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "clone": {
+ "argv": [
+ "git",
+ "clone",
+ "--local",
+ "--no-hardlinks",
+ "/tmp/agentfs-git-workload-bkhbczd5/agentfs-base/mirror.git",
+ "/tmp/agentfs-git-workload-bkhbczd5/agentfs-base/work"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-bkhbczd5/agentfs-base",
+ "duration_seconds": 2.7773549539997475,
+ "returncode": 0,
+ "stderr_bytes": 2307,
+ "stderr_tail": "Cloning into '/tmp/agentfs-git-workload-bkhbczd5/agentfs-base/work'...\nwarning: source repository is shallow, ignoring --local\nwarning: --local is ignored\nUpdating files: 38% (1803/4644)\nUpdating files: 39% (1812/4644)\nUpdating files: 40% (1858/4644)\nUpdating files: 41% (1905/4644)\nUpdating files: 42% (1951/4644)\nUpdating files: 43% (1997/4644)\nUpdating files: 44% (2044/4644)\nUpdating files: 45% (2090/4644)\nUpdating files: 46% (2137/4644)\nUpdating files: 47% (2183/4644)\nUpdating files: 48% (2230/4644)\nUpdating files: 49% (2276/4644)\nUpdating files: 50% (2322/4644)\nUpdating files: 51% (2369/4644)\nUpdating files: 52% (2415/4644)\nUpdating files: 53% (2462/4644)\nUpdating files: 54% (2508/4644)\nUpdating files: 55% (2555/4644)\nUpdating files: 56% (2601/4644)\nUpdating files: 57% (2648/4644)\nUpdating files: 58% (2694/4644)\nUpdating files: 59% (2740/4644)\nUpdating files: 60% (2787/4644)\nUpdating files: 61% (2833/4644)\nUpdating files: 62% (2880/4644)\nUpdating files: 63% (2926/4644)\nUpdating files: 64% (2973/4644)\nUpdating files: 65% (3019/4644)\nUpdating files: 66% (3066/4644)\nUpdating files: 67% (3112/4644)\nUpdating files: 68% (3158/4644)\nUpdating files: 69% (3205/4644)\nUpdating files: 70% (3251/4644)\nUpdating files: 71% (3298/4644)\nUpdating files: 72% (3344/4644)\nUpdating files: 73% (3391/4644)\nUpdating files: 74% (3437/4644)\nUpdating files: 75% (3483/4644)\nUpdating files: 76% (3530/4644)\nUpdating files: 77% (3576/4644)\nUpdating files: 78% (3623/4644)\nUpdating files: 79% (3669/4644)\nUpdating files: 80% (3716/4644)\nUpdating files: 81% (3762/4644)\nUpdating files: 82% (3809/4644)\nUpdating files: 82% (3824/4644)\nUpdating files: 83% (3855/4644)\nUpdating files: 84% (3901/4644)\nUpdating files: 85% (3948/4644)\nUpdating files: 86% (3994/4644)\nUpdating files: 87% (4041/4644)\nUpdating files: 88% (4087/4644)\nUpdating files: 89% (4134/4644)\nUpdating files: 90% (4180/4644)\nUpdating files: 91% (4227/4644)\nUpdating files: 92% (4273/4644)\nUpdating files: 93% (4319/4644)\nUpdating files: 94% (4366/4644)\nUpdating files: 95% (4412/4644)\nUpdating files: 96% (4459/4644)\nUpdating files: 97% (4505/4644)\nUpdating files: 98% (4552/4644)\nUpdating files: 99% (4598/4644)\nUpdating files: 100% (4644/4644)\nUpdating files: 100% (4644/4644), done.\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "status": {
+ "branch": {
+ "argv": [
+ "git",
+ "status",
+ "--short",
+ "--branch"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-bkhbczd5/agentfs-base/work",
+ "duration_seconds": 0.026326373001211323,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 21,
+ "stdout_tail": "## agentfs-benchmark\n"
+ },
+ "short": {
+ "argv": [
+ "git",
+ "status",
+ "--short"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-bkhbczd5/agentfs-base/work",
+ "duration_seconds": 0.12444656799198128,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ }
+ },
+ "phase_seconds": {
+ "checkout": 0.05428599700098857,
+ "clone": 2.777395411001635,
+ "diff": 0.024519680009689182,
+ "edit": 0.004875056998571381,
+ "fsck": 0.2023740630102111,
+ "read_search": 0.008785623009316623,
+ "status": 0.1508024939976167
+ },
+ "profile_checkpoints": [
+ "clone",
+ "checkout",
+ "status",
+ "read_search",
+ "edit",
+ "diff",
+ "fsck"
+ ],
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "ls_files_run": {
+ "argv": [
+ "git",
+ "ls-files",
+ "-z"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-bkhbczd5/agentfs-base/work",
+ "duration_seconds": 0.0056938799971248955,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 263077,
+ "stdout_tail": "i_codex/api.py\u0000sdk/python/src/openai_codex/async_client.py\u0000sdk/python/src/openai_codex/client.py\u0000sdk/python/src/openai_codex/errors.py\u0000sdk/python/src/openai_codex/generated/__init__.py\u0000sdk/python/src/openai_codex/generated/notification_registry.py\u0000sdk/python/src/openai_codex/generated/v2_all.py\u0000sdk/python/src/openai_codex/models.py\u0000sdk/python/src/openai_codex/py.typed\u0000sdk/python/src/openai_codex/retry.py\u0000sdk/python/src/openai_codex/types.py\u0000sdk/python/tests/app_server_harness.py\u0000sdk/python/tests/app_server_helpers.py\u0000sdk/python/tests/conftest.py\u0000sdk/python/tests/test_app_server_approvals.py\u0000sdk/python/tests/test_app_server_inputs.py\u0000sdk/python/tests/test_app_server_lifecycle.py\u0000sdk/python/tests/test_app_server_login.py\u0000sdk/python/tests/test_app_server_run.py\u0000sdk/python/tests/test_app_server_streaming.py\u0000sdk/python/tests/test_app_server_turn_controls.py\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\u0000sdk/python/tests/test_async_client_behavior.py\u0000sdk/python/tests/test_client_rpc_methods.py\u0000sdk/python/tests/test_contract_generation.py\u0000sdk/python/tests/test_public_api_runtime_behavior.py\u0000sdk/python/tests/test_public_api_signatures.py\u0000sdk/python/tests/test_real_app_server_integration.py\u0000sdk/python/uv.lock\u0000sdk/typescript/.prettierignore\u0000sdk/typescript/.prettierrc\u0000sdk/typescript/README.md\u0000sdk/typescript/eslint.config.js\u0000sdk/typescript/jest.config.cjs\u0000sdk/typescript/package.json\u0000sdk/typescript/samples/basic_streaming.ts\u0000sdk/typescript/samples/helpers.ts\u0000sdk/typescript/samples/structured_output.ts\u0000sdk/typescript/samples/structured_output_zod.ts\u0000sdk/typescript/src/codex.ts\u0000sdk/typescript/src/codexOptions.ts\u0000sdk/typescript/src/events.ts\u0000sdk/typescript/src/exec.ts\u0000sdk/typescript/src/index.ts\u0000sdk/typescript/src/items.ts\u0000sdk/typescript/src/outputSchemaFile.ts\u0000sdk/typescript/src/thread.ts\u0000sdk/typescript/src/threadOptions.ts\u0000sdk/typescript/src/turnOptions.ts\u0000sdk/typescript/tests/abort.test.ts\u0000sdk/typescript/tests/codexExecSpy.ts\u0000sdk/typescript/tests/exec.test.ts\u0000sdk/typescript/tests/responsesProxy.ts\u0000sdk/typescript/tests/run.test.ts\u0000sdk/typescript/tests/runStreamed.test.ts\u0000sdk/typescript/tests/setupCodexHome.ts\u0000sdk/typescript/tests/testCodex.ts\u0000sdk/typescript/tsconfig.json\u0000sdk/typescript/tsup.config.ts\u0000third_party/v8/BUILD.bazel\u0000third_party/v8/README.md\u0000third_party/v8/libcxx.BUILD.bazel\u0000third_party/v8/libcxx_config/BUILD.bazel\u0000third_party/v8/libcxx_config/__assertion_handler\u0000third_party/v8/libcxx_config/__config_site\u0000third_party/v8/libcxxabi.BUILD.bazel\u0000third_party/v8/llvm_libc.BUILD.bazel\u0000third_party/v8/rusty_v8_147_4_0.sha256\u0000third_party/v8/v8_crate.BUILD.bazel\u0000third_party/wezterm/LICENSE\u0000tools/argument-comment-lint/.cargo/config.toml\u0000tools/argument-comment-lint/.gitignore\u0000tools/argument-comment-lint/BUILD.bazel\u0000tools/argument-comment-lint/Cargo.lock\u0000tools/argument-comment-lint/Cargo.toml\u0000tools/argument-comment-lint/README.md\u0000tools/argument-comment-lint/argument-comment-lint\u0000tools/argument-comment-lint/driver.rs\u0000tools/argument-comment-lint/lint_aspect.bzl\u0000tools/argument-comment-lint/list-bazel-targets.sh\u0000tools/argument-comment-lint/run-prebuilt-linter.py\u0000tools/argument-comment-lint/run.py\u0000tools/argument-comment-lint/rust-toolchain\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\u0000tools/argument-comment-lint/src/comment_parser.rs\u0000tools/argument-comment-lint/src/lib.rs\u0000tools/argument-comment-lint/test_wrapper_common.py\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\u0000tools/argument-comment-lint/ui/comment_matches.rs\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\u0000tools/argument-comment-lint/wrapper_common.py\u0000workspace_root_test_launcher.bat.tpl\u0000workspace_root_test_launcher.sh.tpl\u0000"
+ },
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ],
+ "token": "AGENTFS_TOKEN"
+ },
+ "total_seconds": 3.9237991579866502
+ }
+ },
+ "base_tree": {
+ "after": {
+ "bytes": 9207621,
+ "directories": 10,
+ "files": 23,
+ "sha256": "0c44ee911aea10f3ef10e46fab550fc98ee5df7371c76ffa1a749db083177adc",
+ "symlinks": 0
+ },
+ "before": {
+ "bytes": 9207621,
+ "directories": 10,
+ "files": 23,
+ "sha256": "0c44ee911aea10f3ef10e46fab550fc98ee5df7371c76ffa1a749db083177adc",
+ "symlinks": 0
+ },
+ "unchanged": true
+ },
+ "benchmark": "phase7-git-workload",
+ "command": {
+ "agentfs_prefix": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "run",
+ "--session",
+ "git-workload-e09c5e33cc4249779c53f1e85f08fbe4",
+ "--no-default-allows",
+ "--"
+ ],
+ "argv": [
+ "/home/ain3sh/factory/vfs/scripts/validation/git-workload-benchmark.py",
+ "--output",
+ "/tmp/vfs-val/misc-a-bench-rebaseline/run3.json.iterations/iter-02.json",
+ "--source",
+ ".agents/benchmarks/fixtures/codex",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8"
+ ],
+ "workload_argv": [
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ]
+ },
+ "correctness": {
+ "agentfs_backup_verify": true,
+ "agentfs_base_unchanged": true,
+ "agentfs_db_inspectable": true,
+ "agentfs_integrity_require_portable": true,
+ "agentfs_no_nonempty_sidecars": true,
+ "agentfs_portable": true,
+ "agentfs_returncode_zero": true,
+ "equivalence": {
+ "agentfs": {
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ]
+ }
+ },
+ "checked": true,
+ "equivalent": true,
+ "native": {
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ]
+ }
+ }
+ },
+ "native_returncode_zero": true,
+ "passed": true,
+ "performance_passed": false
+ },
+ "database": {
+ "after": {
+ "artifacts": [
+ {
+ "bytes": 57147392,
+ "path": "/tmp/agentfs-git-workload-bkhbczd5/home/.agentfs/run/git-workload-e09c5e33cc4249779c53f1e85f08fbe4/delta.db"
+ }
+ ],
+ "path": "/tmp/agentfs-git-workload-bkhbczd5/home/.agentfs/run/git-workload-e09c5e33cc4249779c53f1e85f08fbe4/delta.db",
+ "total_bytes": 57147392
+ },
+ "backup": {
+ "artifacts": {
+ "artifacts": [
+ {
+ "bytes": 57147392,
+ "path": "/tmp/agentfs-git-workload-bkhbczd5/git-workload-backup.db"
+ }
+ ],
+ "path": "/tmp/agentfs-git-workload-bkhbczd5/git-workload-backup.db",
+ "total_bytes": 57147392
+ },
+ "inspect": {
+ "fs_chunk_override_rows": 0,
+ "fs_config": {
+ "chunk_size": "65536",
+ "inline_threshold": "16384",
+ "schema_version": "0.5"
+ },
+ "fs_data_bytes": 41204221,
+ "fs_data_rows": 960,
+ "fs_inline_bytes": 11434794,
+ "fs_inode_rows": 5385,
+ "fs_origin_rows": 0,
+ "fs_partial_origin_rows": 0,
+ "fs_whiteout_rows": 0,
+ "inline_inode_rows": 4060,
+ "inspectable": true,
+ "portability_status": {
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true,
+ "stored_bytes": 52639015
+ }
+ },
+ "path": "/tmp/agentfs-git-workload-bkhbczd5/git-workload-backup.db",
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "backup",
+ "/tmp/agentfs-git-workload-bkhbczd5/home/.agentfs/run/git-workload-e09c5e33cc4249779c53f1e85f08fbe4/delta.db",
+ "/tmp/agentfs-git-workload-bkhbczd5/git-workload-backup.db",
+ "--verify"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-bkhbczd5",
+ "duration_seconds": 2.6570647429907694,
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 0,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 0,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 0,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 0,
+ "fuse_op_getattr_nanos": 0,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 0,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_workers_configured": 0,
+ "fuse_writeback_cache_enabled": 0
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 0,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 0,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 0,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 0,
+ "fuse_op_getattr_nanos": 0,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 0,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0
+ }
+ },
+ "source": "cli"
+ }
+ ],
+ "returncode": 0,
+ "stderr_bytes": 7355,
+ "stderr_tail": "{\"counters\":{\"agentfs_batcher_coalesced_ranges\":0,\"agentfs_batcher_commit_latency_ns_total\":0,\"agentfs_batcher_commit_txns\":0,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":0,\"agentfs_batcher_drains_timer\":0,\"agentfs_batcher_enqueues\":0,\"agentfs_batcher_pending_max_bytes\":0,\"agentfs_batcher_txn_inodes_max\":0,\"agentfs_batcher_txn_inodes_total\":0,\"attr_cache_hits\":0,\"attr_cache_misses\":0,\"base_fast_inode_invalidations\":0,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":0,\"chunk_read_queries\":0,\"chunk_write_chunks\":0,\"connection_create\":0,\"connection_reuse\":0,\"connection_wait_count\":0,\"connection_wait_nanos\":0,\"dentry_cache_hits\":0,\"dentry_cache_misses\":0,\"fuse_adapter_attr_hits\":0,\"fuse_adapter_attr_misses\":0,\"fuse_adapter_entry_hits\":0,\"fuse_adapter_entry_misses\":0,\"fuse_adapter_inval_entry_notifications\":0,\"fuse_adapter_inval_inode_notifications\":0,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":0,\"fuse_adapter_negative_misses\":0,\"fuse_callback_count\":0,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":0,\"fuse_dispatch_parallel_tasks\":0,\"fuse_dispatch_wait_count\":0,\"fuse_dispatch_wait_nanos\":0,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":0,\"fuse_flush_count\":0,\"fuse_flush_ranges\":0,\"fuse_getattr_count\":0,\"fuse_ino_file_resolutions\":0,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":0,\"fuse_lookup_count\":0,\"fuse_noflush_enosys_replies\":0,\"fuse_noopen_enosys_replies\":0,\"fuse_op_create_count\":0,\"fuse_op_create_nanos\":0,\"fuse_op_flush_count\":0,\"fuse_op_flush_nanos\":0,\"fuse_op_forget_count\":0,\"fuse_op_forget_nanos\":0,\"fuse_op_getattr_count\":0,\"fuse_op_getattr_nanos\":0,\"fuse_op_lookup_count\":0,\"fuse_op_lookup_nanos\":0,\"fuse_op_open_count\":0,\"fuse_op_open_nanos\":0,\"fuse_op_other_count\":0,\"fuse_op_other_nanos\":0,\"fuse_op_read_count\":0,\"fuse_op_read_nanos\":0,\"fuse_op_readdirplus_count\":0,\"fuse_op_readdirplus_nanos\":0,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":0,\"fuse_op_setattr_nanos\":0,\"fuse_op_write_count\":0,\"fuse_op_write_nanos\":0,\"fuse_open_count\":0,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":0,\"fuse_read_lane_max_concurrent\":0,\"fuse_read_lane_wait_count\":0,\"fuse_read_lane_wait_nanos\":0,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":0,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":0,\"fuse_readdirplus_do_requested\":0,\"fuse_readdirplus_mode\":0,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":0,\"fuse_ttl_entry_ms\":0,\"fuse_ttl_neg_ms\":0,\"fuse_uring_requests\":0,\"fuse_worker_queue_depth_peak\":0,\"fuse_workers_configured\":0,\"fuse_write_bytes\":0,\"fuse_write_count\":0,\"fuse_write_lane_wait_count\":0,\"fuse_write_lane_wait_nanos\":0,\"fuse_writeback_cache_enabled\":0,\"getattr_count\":0,\"lookup_base_count\":0,\"lookup_count\":0,\"lookup_delta_count\":0,\"lookup_whiteout_count\":0,\"negative_cache_hits\":0,\"negative_cache_invalidations\":0,\"negative_cache_misses\":0,\"negative_lookup_count\":0,\"path_cache_hits\":0,\"path_cache_misses\":0,\"path_component_count\":0,\"path_resolution_count\":0,\"readdir_count\":0,\"readdir_plus_count\":0,\"wal_checkpoint_count\":0,\"wal_checkpoint_nanos\":0},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"sections\":{\"base\":{\"base_fast_inode_invalidations\":0,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":0,\"fuse_readdirplus_mode\":0,\"fuse_ttl_attr_ms\":0,\"fuse_ttl_entry_ms\":0,\"fuse_ttl_neg_ms\":0,\"fuse_workers_configured\":0,\"fuse_writeback_cache_enabled\":0},\"core\":{\"agentfs_batcher_coalesced_ranges\":0,\"agentfs_batcher_commit_latency_ns_total\":0,\"agentfs_batcher_commit_txns\":0,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":0,\"agentfs_batcher_drains_timer\":0,\"agentfs_batcher_enqueues\":0,\"agentfs_batcher_pending_max_bytes\":0,\"agentfs_batcher_txn_inodes_max\":0,\"agentfs_batcher_txn_inodes_total\":0,\"attr_cache_hits\":0,\"attr_cache_misses\":0,\"chunk_read_chunks\":0,\"chunk_read_queries\":0,\"chunk_write_chunks\":0,\"connection_create\":0,\"connection_reuse\":0,\"connection_wait_count\":0,\"connection_wait_nanos\":0,\"dentry_cache_hits\":0,\"dentry_cache_misses\":0,\"getattr_count\":0,\"lookup_base_count\":0,\"lookup_count\":0,\"lookup_delta_count\":0,\"lookup_whiteout_count\":0,\"negative_cache_hits\":0,\"negative_cache_invalidations\":0,\"negative_cache_misses\":0,\"negative_lookup_count\":0,\"path_cache_hits\":0,\"path_cache_misses\":0,\"path_component_count\":0,\"path_resolution_count\":0,\"readdir_count\":0,\"readdir_plus_count\":0,\"wal_checkpoint_count\":0,\"wal_checkpoint_nanos\":0},\"fuse\":{\"fuse_adapter_attr_hits\":0,\"fuse_adapter_attr_misses\":0,\"fuse_adapter_entry_hits\":0,\"fuse_adapter_entry_misses\":0,\"fuse_adapter_inval_entry_notifications\":0,\"fuse_adapter_inval_inode_notifications\":0,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":0,\"fuse_adapter_negative_misses\":0,\"fuse_callback_count\":0,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":0,\"fuse_dispatch_parallel_tasks\":0,\"fuse_dispatch_wait_count\":0,\"fuse_dispatch_wait_nanos\":0,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":0,\"fuse_flush_count\":0,\"fuse_flush_ranges\":0,\"fuse_getattr_count\":0,\"fuse_ino_file_resolutions\":0,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":0,\"fuse_noflush_enosys_replies\":0,\"fuse_noopen_enosys_replies\":0,\"fuse_op_create_count\":0,\"fuse_op_create_nanos\":0,\"fuse_op_flush_count\":0,\"fuse_op_flush_nanos\":0,\"fuse_op_forget_count\":0,\"fuse_op_forget_nanos\":0,\"fuse_op_getattr_count\":0,\"fuse_op_getattr_nanos\":0,\"fuse_op_lookup_count\":0,\"fuse_op_lookup_nanos\":0,\"fuse_op_open_count\":0,\"fuse_op_open_nanos\":0,\"fuse_op_other_count\":0,\"fuse_op_other_nanos\":0,\"fuse_op_read_count\":0,\"fuse_op_read_nanos\":0,\"fuse_op_readdirplus_count\":0,\"fuse_op_readdirplus_nanos\":0,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":0,\"fuse_op_setattr_nanos\":0,\"fuse_op_write_count\":0,\"fuse_op_write_nanos\":0,\"fuse_open_count\":0,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":0,\"fuse_read_lane_max_concurrent\":0,\"fuse_read_lane_wait_count\":0,\"fuse_read_lane_wait_nanos\":0,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":0,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":0,\"fuse_readdirplus_do_requested\":0,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":0,\"fuse_worker_queue_depth_peak\":0,\"fuse_write_bytes\":0,\"fuse_write_count\":0,\"fuse_write_lane_wait_count\":0,\"fuse_write_lane_wait_nanos\":0}},\"source\":\"cli\"}\n",
+ "stdout_bytes": 241,
+ "stdout_tail": "Source: /tmp/agentfs-git-workload-bkhbczd5/home/.agentfs/run/git-workload-e09c5e33cc4249779c53f1e85f08fbe4/delta.db\nBackup: /tmp/agentfs-git-workload-bkhbczd5/git-workload-backup.db\nCheckpoint: complete\nCopy: complete\nVerification: complete\n",
+ "timed_out": false
+ }
+ },
+ "inspect_after": {
+ "fs_chunk_override_rows": 0,
+ "fs_config": {
+ "chunk_size": "65536",
+ "inline_threshold": "16384",
+ "schema_version": "0.5"
+ },
+ "fs_data_bytes": 41204221,
+ "fs_data_rows": 960,
+ "fs_inline_bytes": 11434794,
+ "fs_inode_rows": 5385,
+ "fs_origin_rows": 0,
+ "fs_partial_origin_rows": 0,
+ "fs_whiteout_rows": 0,
+ "inline_inode_rows": 4060,
+ "inspectable": true,
+ "portability_status": {
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true,
+ "stored_bytes": 52639015
+ }
+ },
+ "integrity": {
+ "result": {
+ "checks": [
+ {
+ "detail": "ok",
+ "name": "pragma.integrity_check",
+ "ok": true,
+ "violating_rows": null
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_config",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_inode",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_dentry",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_symlink",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.kv_store",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.tool_calls",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 0.5",
+ "name": "config.schema_version",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 65536",
+ "name": "config.chunk_size",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 16384",
+ "name": "config.inline_threshold",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.kind_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_has_no_chunks",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunked_has_no_inline_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_size_matches_blob",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_only_regular_files",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.non_regular_has_no_inline_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_reference_inodes",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_nonnegative_index",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunk_length_within_chunk_size",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_only_regular_files",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 1, expected 1",
+ "name": "namespace.root_inode",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_parent_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_parent_is_directory",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_target_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.non_root_inode_has_dentry",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_names_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.non_directory_nlink_matches_dentries",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.directory_nlink_positive",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "symlink.rows_reference_symlink_inodes",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "symlink.inodes_have_rows",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "portable: no partial-origin rows",
+ "name": "overlay.portability_status",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "portable requirement satisfied",
+ "name": "overlay.require_portable",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.origin_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_delta_inode_regular",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_sizes_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_paths_absolute",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_nonnegative_index",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_references_partial_origin",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_unique",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_index_in_range",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.whiteout_paths_absolute",
+ "ok": true,
+ "violating_rows": 0
+ }
+ ],
+ "database": "/tmp/agentfs-git-workload-bkhbczd5/home/.agentfs/run/git-workload-e09c5e33cc4249779c53f1e85f08fbe4/delta.db",
+ "ok": true,
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true
+ },
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "integrity",
+ "/tmp/agentfs-git-workload-bkhbczd5/home/.agentfs/run/git-workload-e09c5e33cc4249779c53f1e85f08fbe4/delta.db",
+ "--json",
+ "--require-portable"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-bkhbczd5",
+ "duration_seconds": 2.7822104869992472,
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 0,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 0,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 0,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 0,
+ "fuse_op_getattr_nanos": 0,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 0,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_workers_configured": 0,
+ "fuse_writeback_cache_enabled": 0
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 0,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 0,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 0,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 0,
+ "fuse_op_getattr_nanos": 0,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 0,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0
+ }
+ },
+ "source": "cli"
+ }
+ ],
+ "returncode": 0,
+ "stderr_bytes": 7355,
+ "stderr_tail": "{\"counters\":{\"agentfs_batcher_coalesced_ranges\":0,\"agentfs_batcher_commit_latency_ns_total\":0,\"agentfs_batcher_commit_txns\":0,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":0,\"agentfs_batcher_drains_timer\":0,\"agentfs_batcher_enqueues\":0,\"agentfs_batcher_pending_max_bytes\":0,\"agentfs_batcher_txn_inodes_max\":0,\"agentfs_batcher_txn_inodes_total\":0,\"attr_cache_hits\":0,\"attr_cache_misses\":0,\"base_fast_inode_invalidations\":0,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":0,\"chunk_read_queries\":0,\"chunk_write_chunks\":0,\"connection_create\":0,\"connection_reuse\":0,\"connection_wait_count\":0,\"connection_wait_nanos\":0,\"dentry_cache_hits\":0,\"dentry_cache_misses\":0,\"fuse_adapter_attr_hits\":0,\"fuse_adapter_attr_misses\":0,\"fuse_adapter_entry_hits\":0,\"fuse_adapter_entry_misses\":0,\"fuse_adapter_inval_entry_notifications\":0,\"fuse_adapter_inval_inode_notifications\":0,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":0,\"fuse_adapter_negative_misses\":0,\"fuse_callback_count\":0,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":0,\"fuse_dispatch_parallel_tasks\":0,\"fuse_dispatch_wait_count\":0,\"fuse_dispatch_wait_nanos\":0,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":0,\"fuse_flush_count\":0,\"fuse_flush_ranges\":0,\"fuse_getattr_count\":0,\"fuse_ino_file_resolutions\":0,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":0,\"fuse_lookup_count\":0,\"fuse_noflush_enosys_replies\":0,\"fuse_noopen_enosys_replies\":0,\"fuse_op_create_count\":0,\"fuse_op_create_nanos\":0,\"fuse_op_flush_count\":0,\"fuse_op_flush_nanos\":0,\"fuse_op_forget_count\":0,\"fuse_op_forget_nanos\":0,\"fuse_op_getattr_count\":0,\"fuse_op_getattr_nanos\":0,\"fuse_op_lookup_count\":0,\"fuse_op_lookup_nanos\":0,\"fuse_op_open_count\":0,\"fuse_op_open_nanos\":0,\"fuse_op_other_count\":0,\"fuse_op_other_nanos\":0,\"fuse_op_read_count\":0,\"fuse_op_read_nanos\":0,\"fuse_op_readdirplus_count\":0,\"fuse_op_readdirplus_nanos\":0,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":0,\"fuse_op_setattr_nanos\":0,\"fuse_op_write_count\":0,\"fuse_op_write_nanos\":0,\"fuse_open_count\":0,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":0,\"fuse_read_lane_max_concurrent\":0,\"fuse_read_lane_wait_count\":0,\"fuse_read_lane_wait_nanos\":0,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":0,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":0,\"fuse_readdirplus_do_requested\":0,\"fuse_readdirplus_mode\":0,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":0,\"fuse_ttl_entry_ms\":0,\"fuse_ttl_neg_ms\":0,\"fuse_uring_requests\":0,\"fuse_worker_queue_depth_peak\":0,\"fuse_workers_configured\":0,\"fuse_write_bytes\":0,\"fuse_write_count\":0,\"fuse_write_lane_wait_count\":0,\"fuse_write_lane_wait_nanos\":0,\"fuse_writeback_cache_enabled\":0,\"getattr_count\":0,\"lookup_base_count\":0,\"lookup_count\":0,\"lookup_delta_count\":0,\"lookup_whiteout_count\":0,\"negative_cache_hits\":0,\"negative_cache_invalidations\":0,\"negative_cache_misses\":0,\"negative_lookup_count\":0,\"path_cache_hits\":0,\"path_cache_misses\":0,\"path_component_count\":0,\"path_resolution_count\":0,\"readdir_count\":0,\"readdir_plus_count\":0,\"wal_checkpoint_count\":0,\"wal_checkpoint_nanos\":0},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"sections\":{\"base\":{\"base_fast_inode_invalidations\":0,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":0,\"fuse_readdirplus_mode\":0,\"fuse_ttl_attr_ms\":0,\"fuse_ttl_entry_ms\":0,\"fuse_ttl_neg_ms\":0,\"fuse_workers_configured\":0,\"fuse_writeback_cache_enabled\":0},\"core\":{\"agentfs_batcher_coalesced_ranges\":0,\"agentfs_batcher_commit_latency_ns_total\":0,\"agentfs_batcher_commit_txns\":0,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":0,\"agentfs_batcher_drains_timer\":0,\"agentfs_batcher_enqueues\":0,\"agentfs_batcher_pending_max_bytes\":0,\"agentfs_batcher_txn_inodes_max\":0,\"agentfs_batcher_txn_inodes_total\":0,\"attr_cache_hits\":0,\"attr_cache_misses\":0,\"chunk_read_chunks\":0,\"chunk_read_queries\":0,\"chunk_write_chunks\":0,\"connection_create\":0,\"connection_reuse\":0,\"connection_wait_count\":0,\"connection_wait_nanos\":0,\"dentry_cache_hits\":0,\"dentry_cache_misses\":0,\"getattr_count\":0,\"lookup_base_count\":0,\"lookup_count\":0,\"lookup_delta_count\":0,\"lookup_whiteout_count\":0,\"negative_cache_hits\":0,\"negative_cache_invalidations\":0,\"negative_cache_misses\":0,\"negative_lookup_count\":0,\"path_cache_hits\":0,\"path_cache_misses\":0,\"path_component_count\":0,\"path_resolution_count\":0,\"readdir_count\":0,\"readdir_plus_count\":0,\"wal_checkpoint_count\":0,\"wal_checkpoint_nanos\":0},\"fuse\":{\"fuse_adapter_attr_hits\":0,\"fuse_adapter_attr_misses\":0,\"fuse_adapter_entry_hits\":0,\"fuse_adapter_entry_misses\":0,\"fuse_adapter_inval_entry_notifications\":0,\"fuse_adapter_inval_inode_notifications\":0,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":0,\"fuse_adapter_negative_misses\":0,\"fuse_callback_count\":0,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":0,\"fuse_dispatch_parallel_tasks\":0,\"fuse_dispatch_wait_count\":0,\"fuse_dispatch_wait_nanos\":0,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":0,\"fuse_flush_count\":0,\"fuse_flush_ranges\":0,\"fuse_getattr_count\":0,\"fuse_ino_file_resolutions\":0,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":0,\"fuse_noflush_enosys_replies\":0,\"fuse_noopen_enosys_replies\":0,\"fuse_op_create_count\":0,\"fuse_op_create_nanos\":0,\"fuse_op_flush_count\":0,\"fuse_op_flush_nanos\":0,\"fuse_op_forget_count\":0,\"fuse_op_forget_nanos\":0,\"fuse_op_getattr_count\":0,\"fuse_op_getattr_nanos\":0,\"fuse_op_lookup_count\":0,\"fuse_op_lookup_nanos\":0,\"fuse_op_open_count\":0,\"fuse_op_open_nanos\":0,\"fuse_op_other_count\":0,\"fuse_op_other_nanos\":0,\"fuse_op_read_count\":0,\"fuse_op_read_nanos\":0,\"fuse_op_readdirplus_count\":0,\"fuse_op_readdirplus_nanos\":0,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":0,\"fuse_op_setattr_nanos\":0,\"fuse_op_write_count\":0,\"fuse_op_write_nanos\":0,\"fuse_open_count\":0,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":0,\"fuse_read_lane_max_concurrent\":0,\"fuse_read_lane_wait_count\":0,\"fuse_read_lane_wait_nanos\":0,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":0,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":0,\"fuse_readdirplus_do_requested\":0,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":0,\"fuse_worker_queue_depth_peak\":0,\"fuse_write_bytes\":0,\"fuse_write_count\":0,\"fuse_write_lane_wait_count\":0,\"fuse_write_lane_wait_nanos\":0}},\"source\":\"cli\"}\n",
+ "stdout_bytes": 6395,
+ "stdout_tail": "{\n \"database\": \"/tmp/agentfs-git-workload-bkhbczd5/home/.agentfs/run/git-workload-e09c5e33cc4249779c53f1e85f08fbe4/delta.db\",\n \"ok\": true,\n \"portable\": true,\n \"origin_backed\": false,\n \"partial_origin_rows\": 0,\n \"checks\": [\n {\n \"name\": \"pragma.integrity_check\",\n \"ok\": true,\n \"detail\": \"ok\",\n \"violating_rows\": null\n },\n {\n \"name\": \"schema.table.fs_config\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_inode\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_dentry\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_data\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_symlink\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.kv_store\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.tool_calls\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.schema_version\",\n \"ok\": true,\n \"detail\": \"found 0.5\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.chunk_size\",\n \"ok\": true,\n \"detail\": \"found 65536\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.inline_threshold\",\n \"ok\": true,\n \"detail\": \"found 16384\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.kind_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_has_no_chunks\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunked_has_no_inline_data\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_size_matches_blob\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_only_regular_files\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.non_regular_has_no_inline_data\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_reference_inodes\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_nonnegative_index\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunk_length_within_chunk_size\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_only_regular_files\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.root_inode\",\n \"ok\": true,\n \"detail\": \"found 1, expected 1\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_parent_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_parent_is_directory\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_target_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.non_root_inode_has_dentry\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_names_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.non_directory_nlink_matches_dentries\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.directory_nlink_positive\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"symlink.rows_reference_symlink_inodes\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"symlink.inodes_have_rows\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.portability_status\",\n \"ok\": true,\n \"detail\": \"portable: no partial-origin rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.require_portable\",\n \"ok\": true,\n \"detail\": \"portable requirement satisfied\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.origin_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_delta_inode_regular\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_sizes_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_paths_absolute\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_nonnegative_index\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_references_partial_origin\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_unique\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_index_in_range\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.whiteout_paths_absolute\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n }\n ]\n}\n",
+ "timed_out": false
+ }
+ },
+ "nonempty_sidecars": false
+ },
+ "environment": {
+ "AGENTFS_BIN": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "AGENTFS_PROFILE": "1"
+ },
+ "git_commit": "2b811f03493e861e5a7786592d25ac73b39e1aba",
+ "kept_temp": false,
+ "native": {
+ "run": {
+ "argv": [
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-bkhbczd5/native",
+ "duration_seconds": 0.936675634002313,
+ "profile_summaries": [],
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 15995,
+ "stdout_tail": "{\"branch_status\": \"## agentfs-benchmark\\n\", \"diff\": {\"changed_file_count\": 8, \"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.014816572002018802, \"patch_bytes\": 3282, \"patch_sha256\": \"51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc\", \"runs\": {\"name_only\": {\"argv\": [\"git\", \"diff\", \"--name-only\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-bkhbczd5/native/work\", \"duration_seconds\": 0.005024946993216872, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 144, \"stdout_tail\": \"docs/CLA.md\\ndocs/agents_md.md\\ndocs/authentication.md\\ndocs/config.md\\ndocs/contributing.md\\ndocs/example-config.md\\ndocs/exec.md\\ndocs/execpolicy.md\\n\"}, \"patch\": {\"argv\": [\"git\", \"diff\", \"--\", \".\"], \"cwd\": \"/tmp/agentfs-git-workload-bkhbczd5/native/work\", \"duration_seconds\": 0.0047310739901149645, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 3282, \"stdout_tail\": \"diff --git a/docs/CLA.md b/docs/CLA.md\\nindex 804f202..3495ac9 100644\\n--- a/docs/CLA.md\\n+++ b/docs/CLA.md\\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\\n This Agreement is governed by the laws of the **State of California**, USA,\\n excluding its conflict\\u2011of\\u2011laws rules. If any provision is held unenforceable,\\n the remaining provisions remain in force.\\n+\\n+AgentFS Git benchmark edit 00 for docs/CLA.md\\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\\nindex 3df0fac..b8b063d 100644\\n--- a/docs/agents_md.md\\n+++ b/docs/agents_md.md\\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\\n ## Hierarchical agents message\\n \\n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\\n+\\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\\ndiff --git a/docs/authentication.md b/docs/authentication.md\\nindex c307349..b3bc9dc 100644\\n--- a/docs/authentication.md\\n+++ b/docs/authentication.md\\n@@ -1,3 +1,5 @@\\n # Authentication\\n \\n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\\n+\\n+AgentFS Git benchmark edit 02 for docs/authentication.md\\ndiff --git a/docs/config.md b/docs/config.md\\nindex d35b0a8..030e278 100644\\n--- a/docs/config.md\\n+++ b/docs/config.md\\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\\n still allowing managed hooks from requirements and managed config layers. This\\n setting is only supported in `requirements.toml`; putting it in `config.toml`\\n does not enable managed-hooks-only mode.\\n+\\n+AgentFS Git benchmark edit 03 for docs/config.md\\ndiff --git a/docs/contributing.md b/docs/contributing.md\\nindex aeae1f1..b5a22ac 100644\\n--- a/docs/contributing.md\\n+++ b/docs/contributing.md\\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\\n ### Security & responsible AI\\n \\n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\\n+\\n+AgentFS Git benchmark edit 04 for docs/contributing.md\\ndiff --git a/docs/example-config.md b/docs/example-config.md\\nindex 84b1143..b09f835 100644\\n--- a/docs/example-config.md\\n+++ b/docs/example-config.md\\n@@ -1,3 +1,5 @@\\n # Sample configuration\\n \\n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\\n+\\n+AgentFS Git benchmark edit 05 for docs/example-config.md\\ndiff --git a/docs/exec.md b/docs/exec.md\\nindex 57e4323..a81da98 100644\\n--- a/docs/exec.md\\n+++ b/docs/exec.md\\n@@ -1,3 +1,5 @@\\n # Non-interactive mode\\n \\n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\\n+\\n+AgentFS Git benchmark edit 06 for docs/exec.md\\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\\nindex cafebb3..3b48afe 100644\\n--- a/docs/execpolicy.md\\n+++ b/docs/execpolicy.md\\n@@ -1,3 +1,5 @@\\n # Execution policy\\n \\n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\\n+\\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\\n\"}, \"stat\": {\"argv\": [\"git\", \"diff\", \"--stat\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-bkhbczd5/native/work\", \"duration_seconds\": 0.005027128994697705, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 283, \"stdout_tail\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}}, \"stat_stdout\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}, \"edits\": {\"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.00037815999530721456, \"edits\": [{\"appended_bytes\": 47, \"path\": \"docs/CLA.md\", \"size_after\": 2106, \"size_before\": 2059}, {\"appended_bytes\": 53, \"path\": \"docs/agents_md.md\", \"size_after\": 462, \"size_before\": 409}, {\"appended_bytes\": 58, \"path\": \"docs/authentication.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 50, \"path\": \"docs/config.md\", \"size_after\": 776, \"size_before\": 726}, {\"appended_bytes\": 56, \"path\": \"docs/contributing.md\", \"size_after\": 6380, \"size_before\": 6324}, {\"appended_bytes\": 58, \"path\": \"docs/example-config.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 48, \"path\": \"docs/exec.md\", \"size_after\": 194, \"size_before\": 146}, {\"appended_bytes\": 54, \"path\": \"docs/execpolicy.md\", \"size_after\": 192, \"size_before\": 138}]}, \"fsck\": {\"ok\": true, \"ran\": true, \"run\": {\"argv\": [\"git\", \"fsck\", \"--strict\"], \"cwd\": \"/tmp/agentfs-git-workload-bkhbczd5/native/work\", \"duration_seconds\": 0.17410612499224953, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}, \"head_commit\": \"7d47056ea42636271ac020b86347fbbef49490aa\", \"initial_status\": \"\", \"phase_runs\": {\"checkout\": {\"argv\": [\"git\", \"checkout\", \"-B\", \"agentfs-benchmark\"], \"cwd\": \"/tmp/agentfs-git-workload-bkhbczd5/native/work\", \"duration_seconds\": 0.16024740799912252, \"returncode\": 0, \"stderr_bytes\": 45, \"stderr_tail\": \"Switched to a new branch 'agentfs-benchmark'\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"clone\": {\"argv\": [\"git\", \"clone\", \"--local\", \"--no-hardlinks\", \"/tmp/agentfs-git-workload-bkhbczd5/native/mirror.git\", \"/tmp/agentfs-git-workload-bkhbczd5/native/work\"], \"cwd\": \"/tmp/agentfs-git-workload-bkhbczd5/native\", \"duration_seconds\": 0.37205095699755475, \"returncode\": 0, \"stderr_bytes\": 149, \"stderr_tail\": \"Cloning into '/tmp/agentfs-git-workload-bkhbczd5/native/work'...\\nwarning: source repository is shallow, ignoring --local\\nwarning: --local is ignored\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"status\": {\"branch\": {\"argv\": [\"git\", \"status\", \"--short\", \"--branch\"], \"cwd\": \"/tmp/agentfs-git-workload-bkhbczd5/native/work\", \"duration_seconds\": 0.010340622000512667, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 21, \"stdout_tail\": \"## agentfs-benchmark\\n\"}, \"short\": {\"argv\": [\"git\", \"status\", \"--short\"], \"cwd\": \"/tmp/agentfs-git-workload-bkhbczd5/native/work\", \"duration_seconds\": 0.14510634299949743, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}}, \"phase_seconds\": {\"checkout\": 0.16255415299383458, \"clone\": 0.37208808699506335, \"diff\": 0.014816572002018802, \"edit\": 0.00037815999530721456, \"fsck\": 0.1741181089892052, \"read_search\": 0.005955979009740986, \"status\": 0.15546543500386178}, \"profile_checkpoints\": [\"clone\", \"checkout\", \"status\", \"read_search\", \"edit\", \"diff\", \"fsck\"], \"read_search\": {\"bytes_read\": 117190, \"digest\": \"6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53\", \"files_scanned\": 64, \"files_total\": 4644, \"ls_files_run\": {\"argv\": [\"git\", \"ls-files\", \"-z\"], \"cwd\": \"/tmp/agentfs-git-workload-bkhbczd5/native/work\", \"duration_seconds\": 0.004471602995181456, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 263077, \"stdout_tail\": \"i_codex/api.py\\u0000sdk/python/src/openai_codex/async_client.py\\u0000sdk/python/src/openai_codex/client.py\\u0000sdk/python/src/openai_codex/errors.py\\u0000sdk/python/src/openai_codex/generated/__init__.py\\u0000sdk/python/src/openai_codex/generated/notification_registry.py\\u0000sdk/python/src/openai_codex/generated/v2_all.py\\u0000sdk/python/src/openai_codex/models.py\\u0000sdk/python/src/openai_codex/py.typed\\u0000sdk/python/src/openai_codex/retry.py\\u0000sdk/python/src/openai_codex/types.py\\u0000sdk/python/tests/app_server_harness.py\\u0000sdk/python/tests/app_server_helpers.py\\u0000sdk/python/tests/conftest.py\\u0000sdk/python/tests/test_app_server_approvals.py\\u0000sdk/python/tests/test_app_server_inputs.py\\u0000sdk/python/tests/test_app_server_lifecycle.py\\u0000sdk/python/tests/test_app_server_login.py\\u0000sdk/python/tests/test_app_server_run.py\\u0000sdk/python/tests/test_app_server_streaming.py\\u0000sdk/python/tests/test_app_server_turn_controls.py\\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\\u0000sdk/python/tests/test_async_client_behavior.py\\u0000sdk/python/tests/test_client_rpc_methods.py\\u0000sdk/python/tests/test_contract_generation.py\\u0000sdk/python/tests/test_public_api_runtime_behavior.py\\u0000sdk/python/tests/test_public_api_signatures.py\\u0000sdk/python/tests/test_real_app_server_integration.py\\u0000sdk/python/uv.lock\\u0000sdk/typescript/.prettierignore\\u0000sdk/typescript/.prettierrc\\u0000sdk/typescript/README.md\\u0000sdk/typescript/eslint.config.js\\u0000sdk/typescript/jest.config.cjs\\u0000sdk/typescript/package.json\\u0000sdk/typescript/samples/basic_streaming.ts\\u0000sdk/typescript/samples/helpers.ts\\u0000sdk/typescript/samples/structured_output.ts\\u0000sdk/typescript/samples/structured_output_zod.ts\\u0000sdk/typescript/src/codex.ts\\u0000sdk/typescript/src/codexOptions.ts\\u0000sdk/typescript/src/events.ts\\u0000sdk/typescript/src/exec.ts\\u0000sdk/typescript/src/index.ts\\u0000sdk/typescript/src/items.ts\\u0000sdk/typescript/src/outputSchemaFile.ts\\u0000sdk/typescript/src/thread.ts\\u0000sdk/typescript/src/threadOptions.ts\\u0000sdk/typescript/src/turnOptions.ts\\u0000sdk/typescript/tests/abort.test.ts\\u0000sdk/typescript/tests/codexExecSpy.ts\\u0000sdk/typescript/tests/exec.test.ts\\u0000sdk/typescript/tests/responsesProxy.ts\\u0000sdk/typescript/tests/run.test.ts\\u0000sdk/typescript/tests/runStreamed.test.ts\\u0000sdk/typescript/tests/setupCodexHome.ts\\u0000sdk/typescript/tests/testCodex.ts\\u0000sdk/typescript/tsconfig.json\\u0000sdk/typescript/tsup.config.ts\\u0000third_party/v8/BUILD.bazel\\u0000third_party/v8/README.md\\u0000third_party/v8/libcxx.BUILD.bazel\\u0000third_party/v8/libcxx_config/BUILD.bazel\\u0000third_party/v8/libcxx_config/__assertion_handler\\u0000third_party/v8/libcxx_config/__config_site\\u0000third_party/v8/libcxxabi.BUILD.bazel\\u0000third_party/v8/llvm_libc.BUILD.bazel\\u0000third_party/v8/rusty_v8_147_4_0.sha256\\u0000third_party/v8/v8_crate.BUILD.bazel\\u0000third_party/wezterm/LICENSE\\u0000tools/argument-comment-lint/.cargo/config.toml\\u0000tools/argument-comment-lint/.gitignore\\u0000tools/argument-comment-lint/BUILD.bazel\\u0000tools/argument-comment-lint/Cargo.lock\\u0000tools/argument-comment-lint/Cargo.toml\\u0000tools/argument-comment-lint/README.md\\u0000tools/argument-comment-lint/argument-comment-lint\\u0000tools/argument-comment-lint/driver.rs\\u0000tools/argument-comment-lint/lint_aspect.bzl\\u0000tools/argument-comment-lint/list-bazel-targets.sh\\u0000tools/argument-comment-lint/run-prebuilt-linter.py\\u0000tools/argument-comment-lint/run.py\\u0000tools/argument-comment-lint/rust-toolchain\\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\\u0000tools/argument-comment-lint/src/comment_parser.rs\\u0000tools/argument-comment-lint/src/lib.rs\\u0000tools/argument-comment-lint/test_wrapper_common.py\\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\\u0000tools/argument-comment-lint/ui/comment_matches.rs\\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\\u0000tools/argument-comment-lint/wrapper_common.py\\u0000workspace_root_test_launcher.bat.tpl\\u0000workspace_root_test_launcher.sh.tpl\\u0000\"}, \"matches\": 0, \"selected_files\": [\".bazelignore\", \".bazelrc\", \".bazelversion\", \".codespellignore\", \".codespellrc\", \".codex/environments/environment.toml\", \".codex/skills/babysit-pr/SKILL.md\", \".codex/skills/babysit-pr/agents/openai.yaml\", \".codex/skills/babysit-pr/references/github-api-notes.md\", \".codex/skills/babysit-pr/references/heuristics.md\", \".codex/skills/babysit-pr/scripts/gh_pr_watch.py\", \".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py\", \".codex/skills/code-review-breaking-changes/SKILL.md\", \".codex/skills/code-review-change-size/SKILL.md\", \".codex/skills/code-review-context/SKILL.md\", \".codex/skills/code-review-testing/SKILL.md\", \".codex/skills/code-review/SKILL.md\", \".codex/skills/codex-bug/SKILL.md\", \".codex/skills/codex-issue-digest/SKILL.md\", \".codex/skills/codex-issue-digest/agents/openai.yaml\", \".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py\", \".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py\", \".codex/skills/codex-pr-body/SKILL.md\", \".codex/skills/remote-tests/SKILL.md\", \".codex/skills/test-tui/SKILL.md\", \".codex/skills/update-v8-version/SKILL.md\", \".codex/skills/update-v8-version/agents/openai.yaml\", \".devcontainer/Dockerfile\", \".devcontainer/Dockerfile.secure\", \".devcontainer/README.md\", \".devcontainer/codex-install/package.json\", \".devcontainer/codex-install/pnpm-lock.yaml\", \".devcontainer/codex-install/pnpm-workspace.yaml\", \".devcontainer/devcontainer.json\", \".devcontainer/devcontainer.secure.json\", \".devcontainer/init-firewall.sh\", \".devcontainer/post-start.sh\", \".devcontainer/post_install.py\", \".gitattributes\", \".github/CODEOWNERS\", \".github/ISSUE_TEMPLATE/1-codex-app.yml\", \".github/ISSUE_TEMPLATE/2-extension.yml\", \".github/ISSUE_TEMPLATE/3-cli.yml\", \".github/ISSUE_TEMPLATE/4-bug-report.yml\", \".github/ISSUE_TEMPLATE/5-feature-request.yml\", \".github/ISSUE_TEMPLATE/6-docs-issue.yml\", \".github/actions/linux-code-sign/action.yml\", \".github/actions/macos-code-sign/action.yml\", \".github/actions/macos-code-sign/codex.entitlements.plist\", \".github/actions/macos-code-sign/notary_helpers.sh\", \".github/actions/prepare-bazel-ci/action.yml\", \".github/actions/run-argument-comment-lint/action.yml\", \".github/actions/setup-bazel-ci/action.yml\", \".github/actions/setup-msvc-env/action.yml\", \".github/actions/setup-msvc-env/setup-msvc-env.ps1\", \".github/actions/setup-rusty-v8/action.yml\", \".github/actions/windows-code-sign/action.yml\", \".github/blob-size-allowlist.txt\", \".github/codex-cli-splash.png\", \".github/codex/home/config.toml\", \".github/codex/labels/codex-attempt.md\", \".github/codex/labels/codex-review.md\", \".github/codex/labels/codex-rust-review.md\", \".github/codex/labels/codex-triage.md\"], \"token\": \"AGENTFS_TOKEN\"}, \"total_seconds\": 0.8855433049902786}\n",
+ "timed_out": false
+ },
+ "workload": {
+ "branch_status": "## agentfs-benchmark\n",
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.014816572002018802,
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc",
+ "runs": {
+ "name_only": {
+ "argv": [
+ "git",
+ "diff",
+ "--name-only",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-bkhbczd5/native/work",
+ "duration_seconds": 0.005024946993216872,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 144,
+ "stdout_tail": "docs/CLA.md\ndocs/agents_md.md\ndocs/authentication.md\ndocs/config.md\ndocs/contributing.md\ndocs/example-config.md\ndocs/exec.md\ndocs/execpolicy.md\n"
+ },
+ "patch": {
+ "argv": [
+ "git",
+ "diff",
+ "--",
+ "."
+ ],
+ "cwd": "/tmp/agentfs-git-workload-bkhbczd5/native/work",
+ "duration_seconds": 0.0047310739901149645,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 3282,
+ "stdout_tail": "diff --git a/docs/CLA.md b/docs/CLA.md\nindex 804f202..3495ac9 100644\n--- a/docs/CLA.md\n+++ b/docs/CLA.md\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\n This Agreement is governed by the laws of the **State of California**, USA,\n excluding its conflict\u2011of\u2011laws rules. If any provision is held unenforceable,\n the remaining provisions remain in force.\n+\n+AgentFS Git benchmark edit 00 for docs/CLA.md\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\nindex 3df0fac..b8b063d 100644\n--- a/docs/agents_md.md\n+++ b/docs/agents_md.md\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\n ## Hierarchical agents message\n \n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\n+\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\ndiff --git a/docs/authentication.md b/docs/authentication.md\nindex c307349..b3bc9dc 100644\n--- a/docs/authentication.md\n+++ b/docs/authentication.md\n@@ -1,3 +1,5 @@\n # Authentication\n \n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\n+\n+AgentFS Git benchmark edit 02 for docs/authentication.md\ndiff --git a/docs/config.md b/docs/config.md\nindex d35b0a8..030e278 100644\n--- a/docs/config.md\n+++ b/docs/config.md\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\n still allowing managed hooks from requirements and managed config layers. This\n setting is only supported in `requirements.toml`; putting it in `config.toml`\n does not enable managed-hooks-only mode.\n+\n+AgentFS Git benchmark edit 03 for docs/config.md\ndiff --git a/docs/contributing.md b/docs/contributing.md\nindex aeae1f1..b5a22ac 100644\n--- a/docs/contributing.md\n+++ b/docs/contributing.md\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\n ### Security & responsible AI\n \n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\n+\n+AgentFS Git benchmark edit 04 for docs/contributing.md\ndiff --git a/docs/example-config.md b/docs/example-config.md\nindex 84b1143..b09f835 100644\n--- a/docs/example-config.md\n+++ b/docs/example-config.md\n@@ -1,3 +1,5 @@\n # Sample configuration\n \n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\n+\n+AgentFS Git benchmark edit 05 for docs/example-config.md\ndiff --git a/docs/exec.md b/docs/exec.md\nindex 57e4323..a81da98 100644\n--- a/docs/exec.md\n+++ b/docs/exec.md\n@@ -1,3 +1,5 @@\n # Non-interactive mode\n \n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\n+\n+AgentFS Git benchmark edit 06 for docs/exec.md\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\nindex cafebb3..3b48afe 100644\n--- a/docs/execpolicy.md\n+++ b/docs/execpolicy.md\n@@ -1,3 +1,5 @@\n # Execution policy\n \n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\n+\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\n"
+ },
+ "stat": {
+ "argv": [
+ "git",
+ "diff",
+ "--stat",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-bkhbczd5/native/work",
+ "duration_seconds": 0.005027128994697705,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 283,
+ "stdout_tail": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ }
+ },
+ "stat_stdout": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.00037815999530721456,
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true,
+ "run": {
+ "argv": [
+ "git",
+ "fsck",
+ "--strict"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-bkhbczd5/native/work",
+ "duration_seconds": 0.17410612499224953,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "phase_runs": {
+ "checkout": {
+ "argv": [
+ "git",
+ "checkout",
+ "-B",
+ "agentfs-benchmark"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-bkhbczd5/native/work",
+ "duration_seconds": 0.16024740799912252,
+ "returncode": 0,
+ "stderr_bytes": 45,
+ "stderr_tail": "Switched to a new branch 'agentfs-benchmark'\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "clone": {
+ "argv": [
+ "git",
+ "clone",
+ "--local",
+ "--no-hardlinks",
+ "/tmp/agentfs-git-workload-bkhbczd5/native/mirror.git",
+ "/tmp/agentfs-git-workload-bkhbczd5/native/work"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-bkhbczd5/native",
+ "duration_seconds": 0.37205095699755475,
+ "returncode": 0,
+ "stderr_bytes": 149,
+ "stderr_tail": "Cloning into '/tmp/agentfs-git-workload-bkhbczd5/native/work'...\nwarning: source repository is shallow, ignoring --local\nwarning: --local is ignored\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "status": {
+ "branch": {
+ "argv": [
+ "git",
+ "status",
+ "--short",
+ "--branch"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-bkhbczd5/native/work",
+ "duration_seconds": 0.010340622000512667,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 21,
+ "stdout_tail": "## agentfs-benchmark\n"
+ },
+ "short": {
+ "argv": [
+ "git",
+ "status",
+ "--short"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-bkhbczd5/native/work",
+ "duration_seconds": 0.14510634299949743,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ }
+ },
+ "phase_seconds": {
+ "checkout": 0.16255415299383458,
+ "clone": 0.37208808699506335,
+ "diff": 0.014816572002018802,
+ "edit": 0.00037815999530721456,
+ "fsck": 0.1741181089892052,
+ "read_search": 0.005955979009740986,
+ "status": 0.15546543500386178
+ },
+ "profile_checkpoints": [
+ "clone",
+ "checkout",
+ "status",
+ "read_search",
+ "edit",
+ "diff",
+ "fsck"
+ ],
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "ls_files_run": {
+ "argv": [
+ "git",
+ "ls-files",
+ "-z"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-bkhbczd5/native/work",
+ "duration_seconds": 0.004471602995181456,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 263077,
+ "stdout_tail": "i_codex/api.py\u0000sdk/python/src/openai_codex/async_client.py\u0000sdk/python/src/openai_codex/client.py\u0000sdk/python/src/openai_codex/errors.py\u0000sdk/python/src/openai_codex/generated/__init__.py\u0000sdk/python/src/openai_codex/generated/notification_registry.py\u0000sdk/python/src/openai_codex/generated/v2_all.py\u0000sdk/python/src/openai_codex/models.py\u0000sdk/python/src/openai_codex/py.typed\u0000sdk/python/src/openai_codex/retry.py\u0000sdk/python/src/openai_codex/types.py\u0000sdk/python/tests/app_server_harness.py\u0000sdk/python/tests/app_server_helpers.py\u0000sdk/python/tests/conftest.py\u0000sdk/python/tests/test_app_server_approvals.py\u0000sdk/python/tests/test_app_server_inputs.py\u0000sdk/python/tests/test_app_server_lifecycle.py\u0000sdk/python/tests/test_app_server_login.py\u0000sdk/python/tests/test_app_server_run.py\u0000sdk/python/tests/test_app_server_streaming.py\u0000sdk/python/tests/test_app_server_turn_controls.py\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\u0000sdk/python/tests/test_async_client_behavior.py\u0000sdk/python/tests/test_client_rpc_methods.py\u0000sdk/python/tests/test_contract_generation.py\u0000sdk/python/tests/test_public_api_runtime_behavior.py\u0000sdk/python/tests/test_public_api_signatures.py\u0000sdk/python/tests/test_real_app_server_integration.py\u0000sdk/python/uv.lock\u0000sdk/typescript/.prettierignore\u0000sdk/typescript/.prettierrc\u0000sdk/typescript/README.md\u0000sdk/typescript/eslint.config.js\u0000sdk/typescript/jest.config.cjs\u0000sdk/typescript/package.json\u0000sdk/typescript/samples/basic_streaming.ts\u0000sdk/typescript/samples/helpers.ts\u0000sdk/typescript/samples/structured_output.ts\u0000sdk/typescript/samples/structured_output_zod.ts\u0000sdk/typescript/src/codex.ts\u0000sdk/typescript/src/codexOptions.ts\u0000sdk/typescript/src/events.ts\u0000sdk/typescript/src/exec.ts\u0000sdk/typescript/src/index.ts\u0000sdk/typescript/src/items.ts\u0000sdk/typescript/src/outputSchemaFile.ts\u0000sdk/typescript/src/thread.ts\u0000sdk/typescript/src/threadOptions.ts\u0000sdk/typescript/src/turnOptions.ts\u0000sdk/typescript/tests/abort.test.ts\u0000sdk/typescript/tests/codexExecSpy.ts\u0000sdk/typescript/tests/exec.test.ts\u0000sdk/typescript/tests/responsesProxy.ts\u0000sdk/typescript/tests/run.test.ts\u0000sdk/typescript/tests/runStreamed.test.ts\u0000sdk/typescript/tests/setupCodexHome.ts\u0000sdk/typescript/tests/testCodex.ts\u0000sdk/typescript/tsconfig.json\u0000sdk/typescript/tsup.config.ts\u0000third_party/v8/BUILD.bazel\u0000third_party/v8/README.md\u0000third_party/v8/libcxx.BUILD.bazel\u0000third_party/v8/libcxx_config/BUILD.bazel\u0000third_party/v8/libcxx_config/__assertion_handler\u0000third_party/v8/libcxx_config/__config_site\u0000third_party/v8/libcxxabi.BUILD.bazel\u0000third_party/v8/llvm_libc.BUILD.bazel\u0000third_party/v8/rusty_v8_147_4_0.sha256\u0000third_party/v8/v8_crate.BUILD.bazel\u0000third_party/wezterm/LICENSE\u0000tools/argument-comment-lint/.cargo/config.toml\u0000tools/argument-comment-lint/.gitignore\u0000tools/argument-comment-lint/BUILD.bazel\u0000tools/argument-comment-lint/Cargo.lock\u0000tools/argument-comment-lint/Cargo.toml\u0000tools/argument-comment-lint/README.md\u0000tools/argument-comment-lint/argument-comment-lint\u0000tools/argument-comment-lint/driver.rs\u0000tools/argument-comment-lint/lint_aspect.bzl\u0000tools/argument-comment-lint/list-bazel-targets.sh\u0000tools/argument-comment-lint/run-prebuilt-linter.py\u0000tools/argument-comment-lint/run.py\u0000tools/argument-comment-lint/rust-toolchain\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\u0000tools/argument-comment-lint/src/comment_parser.rs\u0000tools/argument-comment-lint/src/lib.rs\u0000tools/argument-comment-lint/test_wrapper_common.py\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\u0000tools/argument-comment-lint/ui/comment_matches.rs\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\u0000tools/argument-comment-lint/wrapper_common.py\u0000workspace_root_test_launcher.bat.tpl\u0000workspace_root_test_launcher.sh.tpl\u0000"
+ },
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ],
+ "token": "AGENTFS_TOKEN"
+ },
+ "total_seconds": 0.8855433049902786
+ }
+ },
+ "parameters": {
+ "edit_files": 8,
+ "fixture_dirs": 8,
+ "fixture_file_size_bytes": 1024,
+ "fixture_files": 96,
+ "read_bytes": 4096,
+ "read_files": 64,
+ "search_token": "AGENTFS_TOKEN",
+ "skip_fsck": false,
+ "timeout_seconds": 180.0
+ },
+ "schema_version": 1,
+ "source": {
+ "kind": "source",
+ "mirror_head": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "path": "/home/ain3sh/factory/vfs/.agents/benchmarks/fixtures/codex"
+ },
+ "summary": {
+ "agentfs_base_unchanged": true,
+ "agentfs_seconds": 3.9237991579866502,
+ "all_equivalent": true,
+ "correctness_passed": true,
+ "native_seconds": 0.8855433049902786,
+ "passed": true,
+ "performance_passed": false,
+ "phase_ratios": {
+ "checkout": {
+ "agentfs_seconds": 0.05428599700098857,
+ "native_seconds": 0.16255415299383458,
+ "ratio": 0.33395638315711046
+ },
+ "clone": {
+ "agentfs_seconds": 2.777395411001635,
+ "native_seconds": 0.37208808699506335,
+ "ratio": 7.464349190621853
+ },
+ "diff": {
+ "agentfs_seconds": 0.024519680009689182,
+ "native_seconds": 0.014816572002018802,
+ "ratio": 1.6548821148608668
+ },
+ "edit": {
+ "agentfs_seconds": 0.004875056998571381,
+ "native_seconds": 0.00037815999530721456,
+ "ratio": 12.891519618861109
+ },
+ "fsck": {
+ "agentfs_seconds": 0.2023740630102111,
+ "native_seconds": 0.1741181089892052,
+ "ratio": 1.1622803864861504
+ },
+ "read_search": {
+ "agentfs_seconds": 0.008785623009316623,
+ "native_seconds": 0.005955979009740986,
+ "ratio": 1.475093010728843
+ },
+ "status": {
+ "agentfs_seconds": 0.1508024939976167,
+ "native_seconds": 0.15546543500386178,
+ "ratio": 0.9700065740907021
+ }
+ },
+ "ratio": 4.4309511865483815,
+ "threshold_failures": [
+ {
+ "agentfs_seconds": 2.777395411001635,
+ "native_seconds": 0.37208808699506335,
+ "phase": "clone",
+ "ratio": 7.464349190621853
+ },
+ {
+ "agentfs_seconds": 0.004875056998571381,
+ "native_seconds": 0.00037815999530721456,
+ "phase": "edit",
+ "ratio": 12.891519618861109
+ }
+ ]
+ },
+ "temp_dir": "/tmp/agentfs-git-workload-bkhbczd5"
+}
diff --git a/.agents/benchmarks/restructure-baseline/medians-post-m3.json.iterations/iter-03.json b/.agents/benchmarks/restructure-baseline/medians-post-m3.json.iterations/iter-03.json
new file mode 100644
index 00000000..45214ee3
--- /dev/null
+++ b/.agents/benchmarks/restructure-baseline/medians-post-m3.json.iterations/iter-03.json
@@ -0,0 +1,8674 @@
+{
+ "agentfs": {
+ "bin": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "db_path": "/tmp/agentfs-git-workload-hulvm8vq/home/.agentfs/run/git-workload-5199c09fd6244c128bcf18f1942ccf0b/delta.db",
+ "per_phase_counters": {
+ "checkpoint_count": 7,
+ "label_count": 7,
+ "labels_aligned": true,
+ "phases": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 782562379,
+ "agentfs_batcher_commit_txns": 4777,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4681,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4731,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29053,
+ "base_fast_inode_invalidations": 15028,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 971,
+ "connection_create": 2,
+ "connection_reuse": 31203,
+ "connection_wait_count": 31205,
+ "connection_wait_nanos": 9319037,
+ "dentry_cache_hits": 26031,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 103,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5278,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21788,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 37,
+ "fuse_dispatch_wait_count": 37,
+ "fuse_dispatch_wait_nanos": 402826,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52580350,
+ "fuse_flush_count": 4731,
+ "fuse_flush_ranges": 4731,
+ "fuse_getattr_count": 5037,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11695,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 465601091,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 34,
+ "fuse_op_forget_nanos": 977357,
+ "fuse_op_getattr_count": 5037,
+ "fuse_op_getattr_nanos": 50738616,
+ "fuse_op_lookup_count": 11695,
+ "fuse_op_lookup_nanos": 126434122,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 90094734,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 29135632,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 1783658,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4748,
+ "fuse_op_setattr_nanos": 1103958669,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 26790926,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16153,
+ "fuse_read_lane_wait_nanos": 2330202,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32011,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10204,
+ "fuse_write_lane_wait_nanos": 1865087,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19336,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6772,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14256,
+ "path_cache_hits": 26031,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1426999
+ },
+ "phase": "clone",
+ "seq": 1
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 2,
+ "agentfs_batcher_commit_latency_ns_total": 3165915,
+ "agentfs_batcher_commit_txns": 10,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 5,
+ "agentfs_batcher_drains_timer": 1,
+ "agentfs_batcher_enqueues": 8,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 13,
+ "attr_cache_hits": 259,
+ "attr_cache_misses": 1789,
+ "base_fast_inode_invalidations": 51,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 10,
+ "chunk_read_queries": 6,
+ "chunk_write_chunks": 12,
+ "connection_create": 4,
+ "connection_reuse": 626,
+ "connection_wait_count": 630,
+ "connection_wait_nanos": 250762,
+ "dentry_cache_hits": 73,
+ "dentry_cache_misses": 56,
+ "fuse_adapter_attr_hits": 4560,
+ "fuse_adapter_attr_misses": 712,
+ "fuse_adapter_entry_hits": 2,
+ "fuse_adapter_entry_misses": 35,
+ "fuse_adapter_inval_entry_notifications": 10,
+ "fuse_adapter_inval_inode_notifications": 28,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 13,
+ "fuse_adapter_negative_misses": 35,
+ "fuse_callback_count": 5343,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 5,
+ "fuse_dispatch_parallel_tasks": 7,
+ "fuse_dispatch_wait_count": 7,
+ "fuse_dispatch_wait_nanos": 219062,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 653926,
+ "fuse_flush_count": 8,
+ "fuse_flush_ranges": 8,
+ "fuse_getattr_count": 5272,
+ "fuse_ino_file_resolutions": 3,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 50,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 9,
+ "fuse_op_create_nanos": 1059224,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 7,
+ "fuse_op_forget_nanos": 133182,
+ "fuse_op_getattr_count": 5272,
+ "fuse_op_getattr_nanos": 18354793,
+ "fuse_op_lookup_count": 50,
+ "fuse_op_lookup_nanos": 835243,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 15,
+ "fuse_op_other_nanos": 2695542,
+ "fuse_op_read_count": 8,
+ "fuse_op_read_nanos": 959708,
+ "fuse_op_readdirplus_count": 4,
+ "fuse_op_readdirplus_nanos": 1298775,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 14,
+ "fuse_op_setattr_nanos": 3311768,
+ "fuse_op_write_count": 9,
+ "fuse_op_write_nanos": 180231,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 8,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 777,
+ "fuse_read_lane_wait_nanos": 169368,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 4,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 5381,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 591393,
+ "fuse_write_count": 9,
+ "fuse_write_lane_wait_count": 42,
+ "fuse_write_lane_wait_nanos": 74463,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 1452,
+ "lookup_base_count": 0,
+ "lookup_count": 164,
+ "lookup_delta_count": 60,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 34,
+ "negative_cache_invalidations": 26,
+ "negative_cache_misses": 148,
+ "negative_lookup_count": 86,
+ "path_cache_hits": 73,
+ "path_cache_misses": 56,
+ "path_component_count": 124,
+ "path_resolution_count": 45,
+ "readdir_count": 0,
+ "readdir_plus_count": 4,
+ "wal_checkpoint_count": 2,
+ "wal_checkpoint_nanos": 892665
+ },
+ "phase": "checkout",
+ "seq": 2
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 4,
+ "agentfs_batcher_commit_latency_ns_total": 3350580,
+ "agentfs_batcher_commit_txns": 4,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 2,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 6,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 4,
+ "attr_cache_hits": 19,
+ "attr_cache_misses": 33,
+ "base_fast_inode_invalidations": 24,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 20,
+ "chunk_read_queries": 12,
+ "chunk_write_chunks": 20,
+ "connection_create": 0,
+ "connection_reuse": 1704,
+ "connection_wait_count": 1704,
+ "connection_wait_nanos": 450326,
+ "dentry_cache_hits": 19,
+ "dentry_cache_misses": 570,
+ "fuse_adapter_attr_hits": 1375,
+ "fuse_adapter_attr_misses": 6,
+ "fuse_adapter_entry_hits": 2,
+ "fuse_adapter_entry_misses": 289,
+ "fuse_adapter_inval_entry_notifications": 4,
+ "fuse_adapter_inval_inode_notifications": 8,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 1,
+ "fuse_adapter_negative_misses": 289,
+ "fuse_callback_count": 3076,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 3,
+ "fuse_dispatch_wait_count": 3,
+ "fuse_dispatch_wait_nanos": 71839,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 1181458,
+ "fuse_flush_count": 6,
+ "fuse_flush_ranges": 6,
+ "fuse_getattr_count": 1381,
+ "fuse_ino_file_resolutions": 2,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 292,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 2,
+ "fuse_op_create_nanos": 751668,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 3,
+ "fuse_op_forget_nanos": 51063,
+ "fuse_op_getattr_count": 1381,
+ "fuse_op_getattr_nanos": 1535770,
+ "fuse_op_lookup_count": 292,
+ "fuse_op_lookup_nanos": 5289729,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 2762,
+ "fuse_op_other_nanos": 2034314,
+ "fuse_op_read_count": 12,
+ "fuse_op_read_nanos": 3537414,
+ "fuse_op_readdirplus_count": 1381,
+ "fuse_op_readdirplus_nanos": 69494791,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 6,
+ "fuse_op_setattr_nanos": 6028982,
+ "fuse_op_write_count": 10,
+ "fuse_op_write_nanos": 1592580,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 12,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 995,
+ "fuse_read_lane_wait_nanos": 125711,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1381,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 5846,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 1181458,
+ "fuse_write_count": 10,
+ "fuse_write_lane_wait_count": 14,
+ "fuse_write_lane_wait_nanos": 16659,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 24,
+ "lookup_base_count": 0,
+ "lookup_count": 598,
+ "lookup_delta_count": 295,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 5,
+ "negative_cache_invalidations": 4,
+ "negative_cache_misses": 873,
+ "negative_lookup_count": 578,
+ "path_cache_hits": 19,
+ "path_cache_misses": 570,
+ "path_component_count": 4606,
+ "path_resolution_count": 977,
+ "readdir_count": 0,
+ "readdir_plus_count": 1376,
+ "wal_checkpoint_count": 688,
+ "wal_checkpoint_nanos": 11762064
+ },
+ "phase": "status",
+ "seq": 3
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 1,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 10,
+ "chunk_read_queries": 6,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 8,
+ "connection_wait_count": 8,
+ "connection_wait_nanos": 4205,
+ "dentry_cache_hits": 1,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 69,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 1,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 1,
+ "fuse_callback_count": 76,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 69,
+ "fuse_ino_file_resolutions": 1,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 1,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 69,
+ "fuse_op_getattr_nanos": 49972,
+ "fuse_op_lookup_count": 1,
+ "fuse_op_lookup_nanos": 25152,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 6,
+ "fuse_op_read_nanos": 778407,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 6,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 2,
+ "fuse_read_lane_wait_nanos": 877,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 76,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 2,
+ "lookup_delta_count": 1,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 2,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 1,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "read_search",
+ "seq": 4
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 1341052,
+ "agentfs_batcher_commit_txns": 8,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 8,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 8,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 8,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 24,
+ "base_fast_inode_invalidations": 16,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 32,
+ "connection_wait_count": 32,
+ "connection_wait_nanos": 13814,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 16,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 24,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 6398,
+ "fuse_flush_count": 8,
+ "fuse_flush_ranges": 8,
+ "fuse_getattr_count": 16,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 16,
+ "fuse_op_getattr_nanos": 23829,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 8,
+ "fuse_op_other_nanos": 986555,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 8,
+ "fuse_op_setattr_nanos": 2407236,
+ "fuse_op_write_count": 8,
+ "fuse_op_write_nanos": 450087,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 8,
+ "fuse_read_lane_wait_nanos": 2100,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 40,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 6398,
+ "fuse_write_count": 8,
+ "fuse_write_lane_wait_count": 8,
+ "fuse_write_lane_wait_nanos": 1789,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 16,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 8,
+ "wal_checkpoint_nanos": 845859
+ },
+ "phase": "edit",
+ "seq": 5
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 1849,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 89,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 1938,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 1849,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 89,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 1849,
+ "fuse_op_getattr_nanos": 1125750,
+ "fuse_op_lookup_count": 89,
+ "fuse_op_lookup_nanos": 101209,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 12,
+ "fuse_op_other_nanos": 8997,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 1950,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 89,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "diff",
+ "seq": 6
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 3,
+ "attr_cache_misses": 2,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 1,
+ "chunk_read_queries": 1,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 24,
+ "connection_wait_count": 24,
+ "connection_wait_nanos": 19473,
+ "dentry_cache_hits": 4,
+ "dentry_cache_misses": 2,
+ "fuse_adapter_attr_hits": 44,
+ "fuse_adapter_attr_misses": 1,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 4,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 248,
+ "fuse_adapter_negative_misses": 4,
+ "fuse_callback_count": 317,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 45,
+ "fuse_ino_file_resolutions": 1,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 252,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 45,
+ "fuse_op_getattr_nanos": 79697,
+ "fuse_op_lookup_count": 252,
+ "fuse_op_lookup_nanos": 390015,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 36,
+ "fuse_op_other_nanos": 12772,
+ "fuse_op_read_count": 2,
+ "fuse_op_read_nanos": 319728,
+ "fuse_op_readdirplus_count": 18,
+ "fuse_op_readdirplus_nanos": 1113658,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 2,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 15,
+ "fuse_read_lane_wait_nanos": 5219,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 18,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 353,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 2,
+ "lookup_base_count": 0,
+ "lookup_count": 8,
+ "lookup_delta_count": 4,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 248,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 9,
+ "negative_lookup_count": 2,
+ "path_cache_hits": 4,
+ "path_cache_misses": 2,
+ "path_component_count": 42,
+ "path_resolution_count": 10,
+ "readdir_count": 0,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 9,
+ "wal_checkpoint_nanos": 341330
+ },
+ "phase": "fsck",
+ "seq": 7
+ }
+ ]
+ },
+ "profile_counters": {
+ "last_by_source": {
+ "cli": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790419926,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26204,
+ "attr_cache_misses": 30901,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33600,
+ "connection_wait_count": 33606,
+ "connection_wait_nanos": 10063677,
+ "dentry_cache_hits": 26128,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8016,
+ "fuse_adapter_attr_misses": 5653,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5629,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32562,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13669,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12379,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 13669,
+ "fuse_op_getattr_nanos": 71908427,
+ "fuse_op_lookup_count": 12379,
+ "fuse_op_lookup_nanos": 133075470,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 95832914,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34730889,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 73690882,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1115706655,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29013824,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17950,
+ "fuse_read_lane_wait_nanos": 2633477,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45657,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 1959361,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20830,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7148,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26128,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 15442194
+ },
+ "phase-checkpoint-1": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 782562379,
+ "agentfs_batcher_commit_txns": 4777,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4681,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4731,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29053,
+ "base_fast_inode_invalidations": 15028,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 971,
+ "connection_create": 2,
+ "connection_reuse": 31203,
+ "connection_wait_count": 31205,
+ "connection_wait_nanos": 9319037,
+ "dentry_cache_hits": 26031,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 103,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5278,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21788,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 37,
+ "fuse_dispatch_wait_count": 37,
+ "fuse_dispatch_wait_nanos": 402826,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52580350,
+ "fuse_flush_count": 4731,
+ "fuse_flush_ranges": 4731,
+ "fuse_getattr_count": 5037,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11695,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 465601091,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 34,
+ "fuse_op_forget_nanos": 977357,
+ "fuse_op_getattr_count": 5037,
+ "fuse_op_getattr_nanos": 50738616,
+ "fuse_op_lookup_count": 11695,
+ "fuse_op_lookup_nanos": 126434122,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 90094734,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 29135632,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 1783658,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4748,
+ "fuse_op_setattr_nanos": 1103958669,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 26790926,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16153,
+ "fuse_read_lane_wait_nanos": 2330202,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32011,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10204,
+ "fuse_write_lane_wait_nanos": 1865087,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19336,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6772,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14256,
+ "path_cache_hits": 26031,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1426999
+ },
+ "phase-checkpoint-2": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 785728294,
+ "agentfs_batcher_commit_txns": 4787,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4686,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4739,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9398,
+ "attr_cache_hits": 26181,
+ "attr_cache_misses": 30842,
+ "base_fast_inode_invalidations": 15079,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 983,
+ "connection_create": 6,
+ "connection_reuse": 31829,
+ "connection_wait_count": 31835,
+ "connection_wait_nanos": 9569799,
+ "dentry_cache_hits": 26104,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4663,
+ "fuse_adapter_attr_misses": 5646,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5291,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27131,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 44,
+ "fuse_dispatch_wait_count": 44,
+ "fuse_dispatch_wait_nanos": 621888,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4739,
+ "fuse_flush_ranges": 4739,
+ "fuse_getattr_count": 10309,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11745,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 466660315,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 41,
+ "fuse_op_forget_nanos": 1110539,
+ "fuse_op_getattr_count": 10309,
+ "fuse_op_getattr_nanos": 69093409,
+ "fuse_op_lookup_count": 11745,
+ "fuse_op_lookup_nanos": 127269365,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 799,
+ "fuse_op_other_nanos": 92790276,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 30095340,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3082433,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4762,
+ "fuse_op_setattr_nanos": 1107270437,
+ "fuse_op_write_count": 4829,
+ "fuse_op_write_nanos": 26971157,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16930,
+ "fuse_read_lane_wait_nanos": 2499570,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37392,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4829,
+ "fuse_write_lane_wait_count": 10246,
+ "fuse_write_lane_wait_nanos": 1939550,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20788,
+ "lookup_base_count": 23,
+ "lookup_count": 40452,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6806,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14342,
+ "path_cache_hits": 26104,
+ "path_cache_misses": 13482,
+ "path_component_count": 33026,
+ "path_resolution_count": 7163,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2319664
+ },
+ "phase-checkpoint-3": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 789078874,
+ "agentfs_batcher_commit_txns": 4791,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4745,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9402,
+ "attr_cache_hits": 26200,
+ "attr_cache_misses": 30875,
+ "base_fast_inode_invalidations": 15103,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33533,
+ "connection_wait_count": 33539,
+ "connection_wait_nanos": 10020125,
+ "dentry_cache_hits": 26123,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6038,
+ "fuse_adapter_attr_misses": 5652,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30207,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4745,
+ "fuse_flush_ranges": 4745,
+ "fuse_getattr_count": 11690,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12037,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 11690,
+ "fuse_op_getattr_nanos": 70629179,
+ "fuse_op_lookup_count": 12037,
+ "fuse_op_lookup_nanos": 132559094,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 94824590,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 33632754,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 72577224,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1113299419,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 28563737,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17925,
+ "fuse_read_lane_wait_nanos": 2625281,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43238,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1956209,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20812,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6811,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26123,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 14081728
+ },
+ "phase-checkpoint-4": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 789078874,
+ "agentfs_batcher_commit_txns": 4791,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4745,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9402,
+ "attr_cache_hits": 26201,
+ "attr_cache_misses": 30875,
+ "base_fast_inode_invalidations": 15103,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33541,
+ "connection_wait_count": 33547,
+ "connection_wait_nanos": 10024330,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6107,
+ "fuse_adapter_attr_misses": 5652,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30283,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4745,
+ "fuse_flush_ranges": 4745,
+ "fuse_getattr_count": 11759,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12038,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 11759,
+ "fuse_op_getattr_nanos": 70679151,
+ "fuse_op_lookup_count": 12038,
+ "fuse_op_lookup_nanos": 132584246,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 94824590,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34411161,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 72577224,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1113299419,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 28563737,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17927,
+ "fuse_read_lane_wait_nanos": 2626158,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43314,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1956209,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20812,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6811,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 14081728
+ },
+ "phase-checkpoint-5": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790419926,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26201,
+ "attr_cache_misses": 30899,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33573,
+ "connection_wait_count": 33579,
+ "connection_wait_nanos": 10038144,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6123,
+ "fuse_adapter_attr_misses": 5652,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30307,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 11775,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12038,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 11775,
+ "fuse_op_getattr_nanos": 70702980,
+ "fuse_op_lookup_count": 12038,
+ "fuse_op_lookup_nanos": 132584246,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3569,
+ "fuse_op_other_nanos": 95811145,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34411161,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 72577224,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1115706655,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29013824,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17935,
+ "fuse_read_lane_wait_nanos": 2628258,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43354,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1957998,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20828,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6811,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14927587
+ },
+ "phase-checkpoint-6": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790419926,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26201,
+ "attr_cache_misses": 30899,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33573,
+ "connection_wait_count": 33579,
+ "connection_wait_nanos": 10038144,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7972,
+ "fuse_adapter_attr_misses": 5652,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5381,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 32245,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13624,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12127,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 13624,
+ "fuse_op_getattr_nanos": 71828730,
+ "fuse_op_lookup_count": 12127,
+ "fuse_op_lookup_nanos": 132685455,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3581,
+ "fuse_op_other_nanos": 95820142,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34411161,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 72577224,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1115706655,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29013824,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17935,
+ "fuse_read_lane_wait_nanos": 2628258,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45304,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1957998,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20828,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6900,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14927587
+ },
+ "phase-checkpoint-7": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790419926,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26204,
+ "attr_cache_misses": 30901,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33597,
+ "connection_wait_count": 33603,
+ "connection_wait_nanos": 10057617,
+ "dentry_cache_hits": 26128,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8016,
+ "fuse_adapter_attr_misses": 5653,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5629,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32562,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13669,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12379,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 13669,
+ "fuse_op_getattr_nanos": 71908427,
+ "fuse_op_lookup_count": 12379,
+ "fuse_op_lookup_nanos": 133075470,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 95832914,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34730889,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 73690882,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1115706655,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29013824,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17950,
+ "fuse_read_lane_wait_nanos": 2633477,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45657,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1957998,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20830,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7148,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26128,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 15268917
+ }
+ },
+ "max_counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790419926,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26204,
+ "attr_cache_misses": 30901,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33600,
+ "connection_wait_count": 33606,
+ "connection_wait_nanos": 10063677,
+ "dentry_cache_hits": 26128,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8016,
+ "fuse_adapter_attr_misses": 5653,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5629,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32562,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13669,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12379,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 13669,
+ "fuse_op_getattr_nanos": 71908427,
+ "fuse_op_lookup_count": 12379,
+ "fuse_op_lookup_nanos": 133075470,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 95832914,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34730889,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 73690882,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1115706655,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29013824,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17950,
+ "fuse_read_lane_wait_nanos": 2633477,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45657,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 1959361,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20830,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7148,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26128,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 15442194
+ },
+ "summary_count": 8
+ },
+ "profile_enabled": true,
+ "profile_summary_count": 8,
+ "session": "git-workload-5199c09fd6244c128bcf18f1942ccf0b"
+ },
+ "agentfs_overlay": {
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 782562379,
+ "agentfs_batcher_commit_txns": 4777,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4681,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4731,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29053,
+ "base_fast_inode_invalidations": 15028,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 971,
+ "connection_create": 2,
+ "connection_reuse": 31203,
+ "connection_wait_count": 31205,
+ "connection_wait_nanos": 9319037,
+ "dentry_cache_hits": 26031,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 103,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5278,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21788,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 37,
+ "fuse_dispatch_wait_count": 37,
+ "fuse_dispatch_wait_nanos": 402826,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52580350,
+ "fuse_flush_count": 4731,
+ "fuse_flush_ranges": 4731,
+ "fuse_getattr_count": 5037,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11695,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 465601091,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 34,
+ "fuse_op_forget_nanos": 977357,
+ "fuse_op_getattr_count": 5037,
+ "fuse_op_getattr_nanos": 50738616,
+ "fuse_op_lookup_count": 11695,
+ "fuse_op_lookup_nanos": 126434122,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 90094734,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 29135632,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 1783658,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4748,
+ "fuse_op_setattr_nanos": 1103958669,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 26790926,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16153,
+ "fuse_read_lane_wait_nanos": 2330202,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32011,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10204,
+ "fuse_write_lane_wait_nanos": 1865087,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19336,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6772,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14256,
+ "path_cache_hits": 26031,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1426999
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15028,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 782562379,
+ "agentfs_batcher_commit_txns": 4777,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4681,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4731,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29053,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 971,
+ "connection_create": 2,
+ "connection_reuse": 31203,
+ "connection_wait_count": 31205,
+ "connection_wait_nanos": 9319037,
+ "dentry_cache_hits": 26031,
+ "dentry_cache_misses": 13426,
+ "getattr_count": 19336,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6772,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14256,
+ "path_cache_hits": 26031,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1426999
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 103,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5278,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21788,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 37,
+ "fuse_dispatch_wait_count": 37,
+ "fuse_dispatch_wait_nanos": 402826,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52580350,
+ "fuse_flush_count": 4731,
+ "fuse_flush_ranges": 4731,
+ "fuse_getattr_count": 5037,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 11695,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 465601091,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 34,
+ "fuse_op_forget_nanos": 977357,
+ "fuse_op_getattr_count": 5037,
+ "fuse_op_getattr_nanos": 50738616,
+ "fuse_op_lookup_count": 11695,
+ "fuse_op_lookup_nanos": 126434122,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 90094734,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 29135632,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 1783658,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4748,
+ "fuse_op_setattr_nanos": 1103958669,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 26790926,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16153,
+ "fuse_read_lane_wait_nanos": 2330202,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 32011,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10204,
+ "fuse_write_lane_wait_nanos": 1865087
+ }
+ },
+ "source": "phase-checkpoint-1"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 785728294,
+ "agentfs_batcher_commit_txns": 4787,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4686,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4739,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9398,
+ "attr_cache_hits": 26181,
+ "attr_cache_misses": 30842,
+ "base_fast_inode_invalidations": 15079,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 983,
+ "connection_create": 6,
+ "connection_reuse": 31829,
+ "connection_wait_count": 31835,
+ "connection_wait_nanos": 9569799,
+ "dentry_cache_hits": 26104,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4663,
+ "fuse_adapter_attr_misses": 5646,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5291,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27131,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 44,
+ "fuse_dispatch_wait_count": 44,
+ "fuse_dispatch_wait_nanos": 621888,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4739,
+ "fuse_flush_ranges": 4739,
+ "fuse_getattr_count": 10309,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11745,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 466660315,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 41,
+ "fuse_op_forget_nanos": 1110539,
+ "fuse_op_getattr_count": 10309,
+ "fuse_op_getattr_nanos": 69093409,
+ "fuse_op_lookup_count": 11745,
+ "fuse_op_lookup_nanos": 127269365,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 799,
+ "fuse_op_other_nanos": 92790276,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 30095340,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3082433,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4762,
+ "fuse_op_setattr_nanos": 1107270437,
+ "fuse_op_write_count": 4829,
+ "fuse_op_write_nanos": 26971157,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16930,
+ "fuse_read_lane_wait_nanos": 2499570,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37392,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4829,
+ "fuse_write_lane_wait_count": 10246,
+ "fuse_write_lane_wait_nanos": 1939550,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20788,
+ "lookup_base_count": 23,
+ "lookup_count": 40452,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6806,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14342,
+ "path_cache_hits": 26104,
+ "path_cache_misses": 13482,
+ "path_component_count": 33026,
+ "path_resolution_count": 7163,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2319664
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15079,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 785728294,
+ "agentfs_batcher_commit_txns": 4787,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4686,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4739,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9398,
+ "attr_cache_hits": 26181,
+ "attr_cache_misses": 30842,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 983,
+ "connection_create": 6,
+ "connection_reuse": 31829,
+ "connection_wait_count": 31835,
+ "connection_wait_nanos": 9569799,
+ "dentry_cache_hits": 26104,
+ "dentry_cache_misses": 13482,
+ "getattr_count": 20788,
+ "lookup_base_count": 23,
+ "lookup_count": 40452,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6806,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14342,
+ "path_cache_hits": 26104,
+ "path_cache_misses": 13482,
+ "path_component_count": 33026,
+ "path_resolution_count": 7163,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2319664
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 4663,
+ "fuse_adapter_attr_misses": 5646,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5291,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27131,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 44,
+ "fuse_dispatch_wait_count": 44,
+ "fuse_dispatch_wait_nanos": 621888,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4739,
+ "fuse_flush_ranges": 4739,
+ "fuse_getattr_count": 10309,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 11745,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 466660315,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 41,
+ "fuse_op_forget_nanos": 1110539,
+ "fuse_op_getattr_count": 10309,
+ "fuse_op_getattr_nanos": 69093409,
+ "fuse_op_lookup_count": 11745,
+ "fuse_op_lookup_nanos": 127269365,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 799,
+ "fuse_op_other_nanos": 92790276,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 30095340,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3082433,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4762,
+ "fuse_op_setattr_nanos": 1107270437,
+ "fuse_op_write_count": 4829,
+ "fuse_op_write_nanos": 26971157,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16930,
+ "fuse_read_lane_wait_nanos": 2499570,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 37392,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4829,
+ "fuse_write_lane_wait_count": 10246,
+ "fuse_write_lane_wait_nanos": 1939550
+ }
+ },
+ "source": "phase-checkpoint-2"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 789078874,
+ "agentfs_batcher_commit_txns": 4791,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4745,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9402,
+ "attr_cache_hits": 26200,
+ "attr_cache_misses": 30875,
+ "base_fast_inode_invalidations": 15103,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33533,
+ "connection_wait_count": 33539,
+ "connection_wait_nanos": 10020125,
+ "dentry_cache_hits": 26123,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6038,
+ "fuse_adapter_attr_misses": 5652,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30207,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4745,
+ "fuse_flush_ranges": 4745,
+ "fuse_getattr_count": 11690,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12037,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 11690,
+ "fuse_op_getattr_nanos": 70629179,
+ "fuse_op_lookup_count": 12037,
+ "fuse_op_lookup_nanos": 132559094,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 94824590,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 33632754,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 72577224,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1113299419,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 28563737,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17925,
+ "fuse_read_lane_wait_nanos": 2625281,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43238,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1956209,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20812,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6811,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26123,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 14081728
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15103,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 789078874,
+ "agentfs_batcher_commit_txns": 4791,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4745,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9402,
+ "attr_cache_hits": 26200,
+ "attr_cache_misses": 30875,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33533,
+ "connection_wait_count": 33539,
+ "connection_wait_nanos": 10020125,
+ "dentry_cache_hits": 26123,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20812,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6811,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26123,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 14081728
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6038,
+ "fuse_adapter_attr_misses": 5652,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30207,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4745,
+ "fuse_flush_ranges": 4745,
+ "fuse_getattr_count": 11690,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12037,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 11690,
+ "fuse_op_getattr_nanos": 70629179,
+ "fuse_op_lookup_count": 12037,
+ "fuse_op_lookup_nanos": 132559094,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 94824590,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 33632754,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 72577224,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1113299419,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 28563737,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17925,
+ "fuse_read_lane_wait_nanos": 2625281,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43238,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1956209
+ }
+ },
+ "source": "phase-checkpoint-3"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 789078874,
+ "agentfs_batcher_commit_txns": 4791,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4745,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9402,
+ "attr_cache_hits": 26201,
+ "attr_cache_misses": 30875,
+ "base_fast_inode_invalidations": 15103,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33541,
+ "connection_wait_count": 33547,
+ "connection_wait_nanos": 10024330,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6107,
+ "fuse_adapter_attr_misses": 5652,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30283,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4745,
+ "fuse_flush_ranges": 4745,
+ "fuse_getattr_count": 11759,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12038,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 11759,
+ "fuse_op_getattr_nanos": 70679151,
+ "fuse_op_lookup_count": 12038,
+ "fuse_op_lookup_nanos": 132584246,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 94824590,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34411161,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 72577224,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1113299419,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 28563737,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17927,
+ "fuse_read_lane_wait_nanos": 2626158,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43314,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1956209,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20812,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6811,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 14081728
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15103,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 789078874,
+ "agentfs_batcher_commit_txns": 4791,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4745,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9402,
+ "attr_cache_hits": 26201,
+ "attr_cache_misses": 30875,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33541,
+ "connection_wait_count": 33547,
+ "connection_wait_nanos": 10024330,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20812,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6811,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 14081728
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6107,
+ "fuse_adapter_attr_misses": 5652,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30283,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4745,
+ "fuse_flush_ranges": 4745,
+ "fuse_getattr_count": 11759,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12038,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 11759,
+ "fuse_op_getattr_nanos": 70679151,
+ "fuse_op_lookup_count": 12038,
+ "fuse_op_lookup_nanos": 132584246,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 94824590,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34411161,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 72577224,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1113299419,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 28563737,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17927,
+ "fuse_read_lane_wait_nanos": 2626158,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43314,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1956209
+ }
+ },
+ "source": "phase-checkpoint-4"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790419926,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26201,
+ "attr_cache_misses": 30899,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33573,
+ "connection_wait_count": 33579,
+ "connection_wait_nanos": 10038144,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6123,
+ "fuse_adapter_attr_misses": 5652,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30307,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 11775,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12038,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 11775,
+ "fuse_op_getattr_nanos": 70702980,
+ "fuse_op_lookup_count": 12038,
+ "fuse_op_lookup_nanos": 132584246,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3569,
+ "fuse_op_other_nanos": 95811145,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34411161,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 72577224,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1115706655,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29013824,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17935,
+ "fuse_read_lane_wait_nanos": 2628258,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43354,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1957998,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20828,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6811,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14927587
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790419926,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26201,
+ "attr_cache_misses": 30899,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33573,
+ "connection_wait_count": 33579,
+ "connection_wait_nanos": 10038144,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20828,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6811,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14927587
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6123,
+ "fuse_adapter_attr_misses": 5652,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30307,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 11775,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12038,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 11775,
+ "fuse_op_getattr_nanos": 70702980,
+ "fuse_op_lookup_count": 12038,
+ "fuse_op_lookup_nanos": 132584246,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3569,
+ "fuse_op_other_nanos": 95811145,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34411161,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 72577224,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1115706655,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29013824,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17935,
+ "fuse_read_lane_wait_nanos": 2628258,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43354,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1957998
+ }
+ },
+ "source": "phase-checkpoint-5"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790419926,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26201,
+ "attr_cache_misses": 30899,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33573,
+ "connection_wait_count": 33579,
+ "connection_wait_nanos": 10038144,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7972,
+ "fuse_adapter_attr_misses": 5652,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5381,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 32245,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13624,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12127,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 13624,
+ "fuse_op_getattr_nanos": 71828730,
+ "fuse_op_lookup_count": 12127,
+ "fuse_op_lookup_nanos": 132685455,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3581,
+ "fuse_op_other_nanos": 95820142,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34411161,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 72577224,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1115706655,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29013824,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17935,
+ "fuse_read_lane_wait_nanos": 2628258,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45304,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1957998,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20828,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6900,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14927587
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790419926,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26201,
+ "attr_cache_misses": 30899,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33573,
+ "connection_wait_count": 33579,
+ "connection_wait_nanos": 10038144,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20828,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6900,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14927587
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 7972,
+ "fuse_adapter_attr_misses": 5652,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5381,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 32245,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13624,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12127,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 13624,
+ "fuse_op_getattr_nanos": 71828730,
+ "fuse_op_lookup_count": 12127,
+ "fuse_op_lookup_nanos": 132685455,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3581,
+ "fuse_op_other_nanos": 95820142,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34411161,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 72577224,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1115706655,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29013824,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17935,
+ "fuse_read_lane_wait_nanos": 2628258,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45304,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1957998
+ }
+ },
+ "source": "phase-checkpoint-6"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790419926,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26204,
+ "attr_cache_misses": 30901,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33597,
+ "connection_wait_count": 33603,
+ "connection_wait_nanos": 10057617,
+ "dentry_cache_hits": 26128,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8016,
+ "fuse_adapter_attr_misses": 5653,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5629,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32562,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13669,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12379,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 13669,
+ "fuse_op_getattr_nanos": 71908427,
+ "fuse_op_lookup_count": 12379,
+ "fuse_op_lookup_nanos": 133075470,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 95832914,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34730889,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 73690882,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1115706655,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29013824,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17950,
+ "fuse_read_lane_wait_nanos": 2633477,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45657,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1957998,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20830,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7148,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26128,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 15268917
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790419926,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26204,
+ "attr_cache_misses": 30901,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33597,
+ "connection_wait_count": 33603,
+ "connection_wait_nanos": 10057617,
+ "dentry_cache_hits": 26128,
+ "dentry_cache_misses": 14054,
+ "getattr_count": 20830,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7148,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26128,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 15268917
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 8016,
+ "fuse_adapter_attr_misses": 5653,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5629,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32562,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13669,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12379,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 13669,
+ "fuse_op_getattr_nanos": 71908427,
+ "fuse_op_lookup_count": 12379,
+ "fuse_op_lookup_nanos": 133075470,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 95832914,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34730889,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 73690882,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1115706655,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29013824,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17950,
+ "fuse_read_lane_wait_nanos": 2633477,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45657,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1957998
+ }
+ },
+ "source": "phase-checkpoint-7"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790419926,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26204,
+ "attr_cache_misses": 30901,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33600,
+ "connection_wait_count": 33606,
+ "connection_wait_nanos": 10063677,
+ "dentry_cache_hits": 26128,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8016,
+ "fuse_adapter_attr_misses": 5653,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5629,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32562,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13669,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12379,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 13669,
+ "fuse_op_getattr_nanos": 71908427,
+ "fuse_op_lookup_count": 12379,
+ "fuse_op_lookup_nanos": 133075470,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 95832914,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34730889,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 73690882,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1115706655,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29013824,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17950,
+ "fuse_read_lane_wait_nanos": 2633477,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45657,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 1959361,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20830,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7148,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26128,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 15442194
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790419926,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26204,
+ "attr_cache_misses": 30901,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33600,
+ "connection_wait_count": 33606,
+ "connection_wait_nanos": 10063677,
+ "dentry_cache_hits": 26128,
+ "dentry_cache_misses": 14054,
+ "getattr_count": 20830,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7148,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26128,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 15442194
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 8016,
+ "fuse_adapter_attr_misses": 5653,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5629,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32562,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13669,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12379,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 13669,
+ "fuse_op_getattr_nanos": 71908427,
+ "fuse_op_lookup_count": 12379,
+ "fuse_op_lookup_nanos": 133075470,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 95832914,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34730889,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 73690882,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1115706655,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29013824,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17950,
+ "fuse_read_lane_wait_nanos": 2633477,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45657,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 1959361
+ }
+ },
+ "source": "cli"
+ }
+ ],
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "run",
+ "--session",
+ "git-workload-5199c09fd6244c128bcf18f1942ccf0b",
+ "--no-default-allows",
+ "--",
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-hulvm8vq/agentfs-base",
+ "duration_seconds": 4.100164098999812,
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 782562379,
+ "agentfs_batcher_commit_txns": 4777,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4681,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4731,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29053,
+ "base_fast_inode_invalidations": 15028,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 971,
+ "connection_create": 2,
+ "connection_reuse": 31203,
+ "connection_wait_count": 31205,
+ "connection_wait_nanos": 9319037,
+ "dentry_cache_hits": 26031,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 103,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5278,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21788,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 37,
+ "fuse_dispatch_wait_count": 37,
+ "fuse_dispatch_wait_nanos": 402826,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52580350,
+ "fuse_flush_count": 4731,
+ "fuse_flush_ranges": 4731,
+ "fuse_getattr_count": 5037,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11695,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 465601091,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 34,
+ "fuse_op_forget_nanos": 977357,
+ "fuse_op_getattr_count": 5037,
+ "fuse_op_getattr_nanos": 50738616,
+ "fuse_op_lookup_count": 11695,
+ "fuse_op_lookup_nanos": 126434122,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 90094734,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 29135632,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 1783658,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4748,
+ "fuse_op_setattr_nanos": 1103958669,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 26790926,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16153,
+ "fuse_read_lane_wait_nanos": 2330202,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32011,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10204,
+ "fuse_write_lane_wait_nanos": 1865087,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19336,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6772,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14256,
+ "path_cache_hits": 26031,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1426999
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15028,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 782562379,
+ "agentfs_batcher_commit_txns": 4777,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4681,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4731,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29053,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 971,
+ "connection_create": 2,
+ "connection_reuse": 31203,
+ "connection_wait_count": 31205,
+ "connection_wait_nanos": 9319037,
+ "dentry_cache_hits": 26031,
+ "dentry_cache_misses": 13426,
+ "getattr_count": 19336,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6772,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14256,
+ "path_cache_hits": 26031,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1426999
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 103,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5278,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21788,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 37,
+ "fuse_dispatch_wait_count": 37,
+ "fuse_dispatch_wait_nanos": 402826,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52580350,
+ "fuse_flush_count": 4731,
+ "fuse_flush_ranges": 4731,
+ "fuse_getattr_count": 5037,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 11695,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 465601091,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 34,
+ "fuse_op_forget_nanos": 977357,
+ "fuse_op_getattr_count": 5037,
+ "fuse_op_getattr_nanos": 50738616,
+ "fuse_op_lookup_count": 11695,
+ "fuse_op_lookup_nanos": 126434122,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 90094734,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 29135632,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 1783658,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4748,
+ "fuse_op_setattr_nanos": 1103958669,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 26790926,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16153,
+ "fuse_read_lane_wait_nanos": 2330202,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 32011,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10204,
+ "fuse_write_lane_wait_nanos": 1865087
+ }
+ },
+ "source": "phase-checkpoint-1"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 785728294,
+ "agentfs_batcher_commit_txns": 4787,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4686,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4739,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9398,
+ "attr_cache_hits": 26181,
+ "attr_cache_misses": 30842,
+ "base_fast_inode_invalidations": 15079,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 983,
+ "connection_create": 6,
+ "connection_reuse": 31829,
+ "connection_wait_count": 31835,
+ "connection_wait_nanos": 9569799,
+ "dentry_cache_hits": 26104,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4663,
+ "fuse_adapter_attr_misses": 5646,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5291,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27131,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 44,
+ "fuse_dispatch_wait_count": 44,
+ "fuse_dispatch_wait_nanos": 621888,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4739,
+ "fuse_flush_ranges": 4739,
+ "fuse_getattr_count": 10309,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11745,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 466660315,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 41,
+ "fuse_op_forget_nanos": 1110539,
+ "fuse_op_getattr_count": 10309,
+ "fuse_op_getattr_nanos": 69093409,
+ "fuse_op_lookup_count": 11745,
+ "fuse_op_lookup_nanos": 127269365,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 799,
+ "fuse_op_other_nanos": 92790276,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 30095340,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3082433,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4762,
+ "fuse_op_setattr_nanos": 1107270437,
+ "fuse_op_write_count": 4829,
+ "fuse_op_write_nanos": 26971157,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16930,
+ "fuse_read_lane_wait_nanos": 2499570,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37392,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4829,
+ "fuse_write_lane_wait_count": 10246,
+ "fuse_write_lane_wait_nanos": 1939550,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20788,
+ "lookup_base_count": 23,
+ "lookup_count": 40452,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6806,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14342,
+ "path_cache_hits": 26104,
+ "path_cache_misses": 13482,
+ "path_component_count": 33026,
+ "path_resolution_count": 7163,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2319664
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15079,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 785728294,
+ "agentfs_batcher_commit_txns": 4787,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4686,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4739,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9398,
+ "attr_cache_hits": 26181,
+ "attr_cache_misses": 30842,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 983,
+ "connection_create": 6,
+ "connection_reuse": 31829,
+ "connection_wait_count": 31835,
+ "connection_wait_nanos": 9569799,
+ "dentry_cache_hits": 26104,
+ "dentry_cache_misses": 13482,
+ "getattr_count": 20788,
+ "lookup_base_count": 23,
+ "lookup_count": 40452,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6806,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14342,
+ "path_cache_hits": 26104,
+ "path_cache_misses": 13482,
+ "path_component_count": 33026,
+ "path_resolution_count": 7163,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2319664
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 4663,
+ "fuse_adapter_attr_misses": 5646,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5291,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27131,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 44,
+ "fuse_dispatch_wait_count": 44,
+ "fuse_dispatch_wait_nanos": 621888,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4739,
+ "fuse_flush_ranges": 4739,
+ "fuse_getattr_count": 10309,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 11745,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 466660315,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 41,
+ "fuse_op_forget_nanos": 1110539,
+ "fuse_op_getattr_count": 10309,
+ "fuse_op_getattr_nanos": 69093409,
+ "fuse_op_lookup_count": 11745,
+ "fuse_op_lookup_nanos": 127269365,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 799,
+ "fuse_op_other_nanos": 92790276,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 30095340,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3082433,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4762,
+ "fuse_op_setattr_nanos": 1107270437,
+ "fuse_op_write_count": 4829,
+ "fuse_op_write_nanos": 26971157,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16930,
+ "fuse_read_lane_wait_nanos": 2499570,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 37392,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4829,
+ "fuse_write_lane_wait_count": 10246,
+ "fuse_write_lane_wait_nanos": 1939550
+ }
+ },
+ "source": "phase-checkpoint-2"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 789078874,
+ "agentfs_batcher_commit_txns": 4791,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4745,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9402,
+ "attr_cache_hits": 26200,
+ "attr_cache_misses": 30875,
+ "base_fast_inode_invalidations": 15103,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33533,
+ "connection_wait_count": 33539,
+ "connection_wait_nanos": 10020125,
+ "dentry_cache_hits": 26123,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6038,
+ "fuse_adapter_attr_misses": 5652,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30207,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4745,
+ "fuse_flush_ranges": 4745,
+ "fuse_getattr_count": 11690,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12037,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 11690,
+ "fuse_op_getattr_nanos": 70629179,
+ "fuse_op_lookup_count": 12037,
+ "fuse_op_lookup_nanos": 132559094,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 94824590,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 33632754,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 72577224,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1113299419,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 28563737,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17925,
+ "fuse_read_lane_wait_nanos": 2625281,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43238,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1956209,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20812,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6811,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26123,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 14081728
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15103,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 789078874,
+ "agentfs_batcher_commit_txns": 4791,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4745,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9402,
+ "attr_cache_hits": 26200,
+ "attr_cache_misses": 30875,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33533,
+ "connection_wait_count": 33539,
+ "connection_wait_nanos": 10020125,
+ "dentry_cache_hits": 26123,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20812,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6811,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26123,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 14081728
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6038,
+ "fuse_adapter_attr_misses": 5652,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30207,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4745,
+ "fuse_flush_ranges": 4745,
+ "fuse_getattr_count": 11690,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12037,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 11690,
+ "fuse_op_getattr_nanos": 70629179,
+ "fuse_op_lookup_count": 12037,
+ "fuse_op_lookup_nanos": 132559094,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 94824590,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 33632754,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 72577224,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1113299419,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 28563737,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17925,
+ "fuse_read_lane_wait_nanos": 2625281,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43238,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1956209
+ }
+ },
+ "source": "phase-checkpoint-3"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 789078874,
+ "agentfs_batcher_commit_txns": 4791,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4745,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9402,
+ "attr_cache_hits": 26201,
+ "attr_cache_misses": 30875,
+ "base_fast_inode_invalidations": 15103,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33541,
+ "connection_wait_count": 33547,
+ "connection_wait_nanos": 10024330,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6107,
+ "fuse_adapter_attr_misses": 5652,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30283,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4745,
+ "fuse_flush_ranges": 4745,
+ "fuse_getattr_count": 11759,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12038,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 11759,
+ "fuse_op_getattr_nanos": 70679151,
+ "fuse_op_lookup_count": 12038,
+ "fuse_op_lookup_nanos": 132584246,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 94824590,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34411161,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 72577224,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1113299419,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 28563737,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17927,
+ "fuse_read_lane_wait_nanos": 2626158,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43314,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1956209,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20812,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6811,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 14081728
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15103,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 789078874,
+ "agentfs_batcher_commit_txns": 4791,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4745,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9402,
+ "attr_cache_hits": 26201,
+ "attr_cache_misses": 30875,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33541,
+ "connection_wait_count": 33547,
+ "connection_wait_nanos": 10024330,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20812,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6811,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 14081728
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6107,
+ "fuse_adapter_attr_misses": 5652,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30283,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4745,
+ "fuse_flush_ranges": 4745,
+ "fuse_getattr_count": 11759,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12038,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 11759,
+ "fuse_op_getattr_nanos": 70679151,
+ "fuse_op_lookup_count": 12038,
+ "fuse_op_lookup_nanos": 132584246,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 94824590,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34411161,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 72577224,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1113299419,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 28563737,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17927,
+ "fuse_read_lane_wait_nanos": 2626158,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43314,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1956209
+ }
+ },
+ "source": "phase-checkpoint-4"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790419926,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26201,
+ "attr_cache_misses": 30899,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33573,
+ "connection_wait_count": 33579,
+ "connection_wait_nanos": 10038144,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6123,
+ "fuse_adapter_attr_misses": 5652,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30307,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 11775,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12038,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 11775,
+ "fuse_op_getattr_nanos": 70702980,
+ "fuse_op_lookup_count": 12038,
+ "fuse_op_lookup_nanos": 132584246,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3569,
+ "fuse_op_other_nanos": 95811145,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34411161,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 72577224,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1115706655,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29013824,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17935,
+ "fuse_read_lane_wait_nanos": 2628258,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43354,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1957998,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20828,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6811,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14927587
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790419926,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26201,
+ "attr_cache_misses": 30899,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33573,
+ "connection_wait_count": 33579,
+ "connection_wait_nanos": 10038144,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20828,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6811,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14927587
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6123,
+ "fuse_adapter_attr_misses": 5652,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5292,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30307,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 11775,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12038,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 11775,
+ "fuse_op_getattr_nanos": 70702980,
+ "fuse_op_lookup_count": 12038,
+ "fuse_op_lookup_nanos": 132584246,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3569,
+ "fuse_op_other_nanos": 95811145,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34411161,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 72577224,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1115706655,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29013824,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17935,
+ "fuse_read_lane_wait_nanos": 2628258,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43354,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1957998
+ }
+ },
+ "source": "phase-checkpoint-5"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790419926,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26201,
+ "attr_cache_misses": 30899,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33573,
+ "connection_wait_count": 33579,
+ "connection_wait_nanos": 10038144,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7972,
+ "fuse_adapter_attr_misses": 5652,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5381,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 32245,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13624,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12127,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 13624,
+ "fuse_op_getattr_nanos": 71828730,
+ "fuse_op_lookup_count": 12127,
+ "fuse_op_lookup_nanos": 132685455,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3581,
+ "fuse_op_other_nanos": 95820142,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34411161,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 72577224,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1115706655,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29013824,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17935,
+ "fuse_read_lane_wait_nanos": 2628258,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45304,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1957998,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20828,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6900,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14927587
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790419926,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26201,
+ "attr_cache_misses": 30899,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33573,
+ "connection_wait_count": 33579,
+ "connection_wait_nanos": 10038144,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20828,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6900,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14927587
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 7972,
+ "fuse_adapter_attr_misses": 5652,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5381,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 32245,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13624,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12127,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 13624,
+ "fuse_op_getattr_nanos": 71828730,
+ "fuse_op_lookup_count": 12127,
+ "fuse_op_lookup_nanos": 132685455,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3581,
+ "fuse_op_other_nanos": 95820142,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 34411161,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 72577224,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1115706655,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29013824,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17935,
+ "fuse_read_lane_wait_nanos": 2628258,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45304,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1957998
+ }
+ },
+ "source": "phase-checkpoint-6"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790419926,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26204,
+ "attr_cache_misses": 30901,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33597,
+ "connection_wait_count": 33603,
+ "connection_wait_nanos": 10057617,
+ "dentry_cache_hits": 26128,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8016,
+ "fuse_adapter_attr_misses": 5653,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5629,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32562,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13669,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12379,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 13669,
+ "fuse_op_getattr_nanos": 71908427,
+ "fuse_op_lookup_count": 12379,
+ "fuse_op_lookup_nanos": 133075470,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 95832914,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34730889,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 73690882,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1115706655,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29013824,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17950,
+ "fuse_read_lane_wait_nanos": 2633477,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45657,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1957998,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20830,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7148,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26128,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 15268917
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790419926,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26204,
+ "attr_cache_misses": 30901,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33597,
+ "connection_wait_count": 33603,
+ "connection_wait_nanos": 10057617,
+ "dentry_cache_hits": 26128,
+ "dentry_cache_misses": 14054,
+ "getattr_count": 20830,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7148,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26128,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 15268917
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 8016,
+ "fuse_adapter_attr_misses": 5653,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5629,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32562,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13669,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12379,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 13669,
+ "fuse_op_getattr_nanos": 71908427,
+ "fuse_op_lookup_count": 12379,
+ "fuse_op_lookup_nanos": 133075470,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 95832914,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34730889,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 73690882,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1115706655,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29013824,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17950,
+ "fuse_read_lane_wait_nanos": 2633477,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45657,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1957998
+ }
+ },
+ "source": "phase-checkpoint-7"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790419926,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26204,
+ "attr_cache_misses": 30901,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33600,
+ "connection_wait_count": 33606,
+ "connection_wait_nanos": 10063677,
+ "dentry_cache_hits": 26128,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8016,
+ "fuse_adapter_attr_misses": 5653,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5629,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32562,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13669,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12379,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 13669,
+ "fuse_op_getattr_nanos": 71908427,
+ "fuse_op_lookup_count": 12379,
+ "fuse_op_lookup_nanos": 133075470,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 95832914,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34730889,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 73690882,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1115706655,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29013824,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17950,
+ "fuse_read_lane_wait_nanos": 2633477,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45657,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 1959361,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20830,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7148,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26128,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 15442194
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790419926,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 16,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1380352,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26204,
+ "attr_cache_misses": 30901,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 6,
+ "connection_reuse": 33600,
+ "connection_wait_count": 33606,
+ "connection_wait_nanos": 10063677,
+ "dentry_cache_hits": 26128,
+ "dentry_cache_misses": 14054,
+ "getattr_count": 20830,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7148,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26128,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 15442194
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 8016,
+ "fuse_adapter_attr_misses": 5653,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5629,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32562,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 693727,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13669,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12379,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 467411983,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 429,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 1161602,
+ "fuse_op_getattr_count": 13669,
+ "fuse_op_getattr_nanos": 71908427,
+ "fuse_op_lookup_count": 12379,
+ "fuse_op_lookup_nanos": 133075470,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 664,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 95832914,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34730889,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 73690882,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1115706655,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29013824,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17950,
+ "fuse_read_lane_wait_nanos": 2633477,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45657,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 1959361
+ }
+ },
+ "source": "cli"
+ }
+ ],
+ "returncode": 0,
+ "stderr_bytes": 64580,
+ "stderr_tail": "st_open_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":1,\"fuse_readdirplus_mode\":2,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_workers_configured\":7,\"fuse_writeback_cache_enabled\":1},\"core\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":790419926,\"agentfs_batcher_commit_txns\":4799,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4696,\"agentfs_batcher_drains_timer\":16,\"agentfs_batcher_enqueues\":4753,\"agentfs_batcher_pending_max_bytes\":1380352,\"agentfs_batcher_txn_inodes_max\":3,\"agentfs_batcher_txn_inodes_total\":9410,\"attr_cache_hits\":26201,\"attr_cache_misses\":30899,\"chunk_read_chunks\":267,\"chunk_read_queries\":122,\"chunk_write_chunks\":1003,\"connection_create\":6,\"connection_reuse\":33573,\"connection_wait_count\":33579,\"connection_wait_nanos\":10038144,\"dentry_cache_hits\":26124,\"dentry_cache_misses\":14052,\"getattr_count\":20828,\"lookup_base_count\":23,\"lookup_count\":41052,\"lookup_delta_count\":7547,\"lookup_whiteout_count\":0,\"negative_cache_hits\":6900,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46085,\"negative_lookup_count\":14920,\"path_cache_hits\":26124,\"path_cache_misses\":14052,\"path_component_count\":37632,\"path_resolution_count\":8140,\"readdir_count\":1,\"readdir_plus_count\":1398,\"wal_checkpoint_count\":708,\"wal_checkpoint_nanos\":14927587},\"fuse\":{\"fuse_adapter_attr_hits\":7972,\"fuse_adapter_attr_misses\":5652,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6734,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5381,\"fuse_adapter_negative_misses\":6734,\"fuse_callback_count\":32245,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":47,\"fuse_dispatch_wait_count\":47,\"fuse_dispatch_wait_nanos\":693727,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4753,\"fuse_flush_ranges\":4753,\"fuse_getattr_count\":13624,\"fuse_ino_file_resolutions\":26,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":12127,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":467411983,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":429,\"fuse_op_forget_count\":44,\"fuse_op_forget_nanos\":1161602,\"fuse_op_getattr_count\":13624,\"fuse_op_getattr_nanos\":71828730,\"fuse_op_lookup_count\":12127,\"fuse_op_lookup_nanos\":132685455,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":664,\"fuse_op_other_count\":3581,\"fuse_op_other_nanos\":95820142,\"fuse_op_read_count\":239,\"fuse_op_read_nanos\":34411161,\"fuse_op_readdirplus_count\":1407,\"fuse_op_readdirplus_nanos\":72577224,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4776,\"fuse_op_setattr_nanos\":1115706655,\"fuse_op_write_count\":4847,\"fuse_op_write_nanos\":29013824,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":239,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17935,\"fuse_read_lane_wait_nanos\":2628258,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1407,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":45304,\"fuse_worker_queue_depth_peak\":2,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4847,\"fuse_write_lane_wait_count\":10268,\"fuse_write_lane_wait_nanos\":1957998}},\"source\":\"phase-checkpoint-6\"}\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":790419926,\"agentfs_batcher_commit_txns\":4799,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4696,\"agentfs_batcher_drains_timer\":16,\"agentfs_batcher_enqueues\":4753,\"agentfs_batcher_pending_max_bytes\":1380352,\"agentfs_batcher_txn_inodes_max\":3,\"agentfs_batcher_txn_inodes_total\":9410,\"attr_cache_hits\":26204,\"attr_cache_misses\":30901,\"base_fast_inode_invalidations\":15119,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1003,\"connection_create\":6,\"connection_reuse\":33597,\"connection_wait_count\":33603,\"connection_wait_nanos\":10057617,\"dentry_cache_hits\":26128,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":8016,\"fuse_adapter_attr_misses\":5653,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5629,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":32562,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":47,\"fuse_dispatch_wait_count\":47,\"fuse_dispatch_wait_nanos\":693727,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4753,\"fuse_flush_ranges\":4753,\"fuse_getattr_count\":13669,\"fuse_ino_file_resolutions\":27,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12379,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":467411983,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":429,\"fuse_op_forget_count\":44,\"fuse_op_forget_nanos\":1161602,\"fuse_op_getattr_count\":13669,\"fuse_op_getattr_nanos\":71908427,\"fuse_op_lookup_count\":12379,\"fuse_op_lookup_nanos\":133075470,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":664,\"fuse_op_other_count\":3617,\"fuse_op_other_nanos\":95832914,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":34730889,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":73690882,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4776,\"fuse_op_setattr_nanos\":1115706655,\"fuse_op_write_count\":4847,\"fuse_op_write_nanos\":29013824,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17950,\"fuse_read_lane_wait_nanos\":2633477,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":45657,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4847,\"fuse_write_lane_wait_count\":10268,\"fuse_write_lane_wait_nanos\":1957998,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20830,\"lookup_base_count\":23,\"lookup_count\":41060,\"lookup_delta_count\":7551,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7148,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14922,\"path_cache_hits\":26128,\"path_cache_misses\":14054,\"path_component_count\":37674,\"path_resolution_count\":8150,\"readdir_count\":1,\"readdir_plus_count\":1416,\"wal_checkpoint_count\":717,\"wal_checkpoint_nanos\":15268917},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"sections\":{\"base\":{\"base_fast_inode_invalidations\":15119,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":1,\"fuse_readdirplus_mode\":2,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_workers_configured\":7,\"fuse_writeback_cache_enabled\":1},\"core\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":790419926,\"agentfs_batcher_commit_txns\":4799,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4696,\"agentfs_batcher_drains_timer\":16,\"agentfs_batcher_enqueues\":4753,\"agentfs_batcher_pending_max_bytes\":1380352,\"agentfs_batcher_txn_inodes_max\":3,\"agentfs_batcher_txn_inodes_total\":9410,\"attr_cache_hits\":26204,\"attr_cache_misses\":30901,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1003,\"connection_create\":6,\"connection_reuse\":33597,\"connection_wait_count\":33603,\"connection_wait_nanos\":10057617,\"dentry_cache_hits\":26128,\"dentry_cache_misses\":14054,\"getattr_count\":20830,\"lookup_base_count\":23,\"lookup_count\":41060,\"lookup_delta_count\":7551,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7148,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14922,\"path_cache_hits\":26128,\"path_cache_misses\":14054,\"path_component_count\":37674,\"path_resolution_count\":8150,\"readdir_count\":1,\"readdir_plus_count\":1416,\"wal_checkpoint_count\":717,\"wal_checkpoint_nanos\":15268917},\"fuse\":{\"fuse_adapter_attr_hits\":8016,\"fuse_adapter_attr_misses\":5653,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5629,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":32562,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":47,\"fuse_dispatch_wait_count\":47,\"fuse_dispatch_wait_nanos\":693727,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4753,\"fuse_flush_ranges\":4753,\"fuse_getattr_count\":13669,\"fuse_ino_file_resolutions\":27,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":12379,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":467411983,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":429,\"fuse_op_forget_count\":44,\"fuse_op_forget_nanos\":1161602,\"fuse_op_getattr_count\":13669,\"fuse_op_getattr_nanos\":71908427,\"fuse_op_lookup_count\":12379,\"fuse_op_lookup_nanos\":133075470,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":664,\"fuse_op_other_count\":3617,\"fuse_op_other_nanos\":95832914,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":34730889,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":73690882,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4776,\"fuse_op_setattr_nanos\":1115706655,\"fuse_op_write_count\":4847,\"fuse_op_write_nanos\":29013824,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17950,\"fuse_read_lane_wait_nanos\":2633477,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":45657,\"fuse_worker_queue_depth_peak\":2,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4847,\"fuse_write_lane_wait_count\":10268,\"fuse_write_lane_wait_nanos\":1957998}},\"source\":\"phase-checkpoint-7\"}\n\nSession: git-workload-5199c09fd6244c128bcf18f1942ccf0b\n\nTo resume this session:\n agentfs run --session git-workload-5199c09fd6244c128bcf18f1942ccf0b\n\nTo see what changed:\n agentfs diff git-workload-5199c09fd6244c128bcf18f1942ccf0b\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":790419926,\"agentfs_batcher_commit_txns\":4799,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4696,\"agentfs_batcher_drains_timer\":16,\"agentfs_batcher_enqueues\":4753,\"agentfs_batcher_pending_max_bytes\":1380352,\"agentfs_batcher_txn_inodes_max\":3,\"agentfs_batcher_txn_inodes_total\":9410,\"attr_cache_hits\":26204,\"attr_cache_misses\":30901,\"base_fast_inode_invalidations\":15119,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1003,\"connection_create\":6,\"connection_reuse\":33600,\"connection_wait_count\":33606,\"connection_wait_nanos\":10063677,\"dentry_cache_hits\":26128,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":8016,\"fuse_adapter_attr_misses\":5653,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5629,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":32562,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":47,\"fuse_dispatch_wait_count\":47,\"fuse_dispatch_wait_nanos\":693727,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4753,\"fuse_flush_ranges\":4753,\"fuse_getattr_count\":13669,\"fuse_ino_file_resolutions\":27,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12379,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":467411983,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":429,\"fuse_op_forget_count\":44,\"fuse_op_forget_nanos\":1161602,\"fuse_op_getattr_count\":13669,\"fuse_op_getattr_nanos\":71908427,\"fuse_op_lookup_count\":12379,\"fuse_op_lookup_nanos\":133075470,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":664,\"fuse_op_other_count\":3617,\"fuse_op_other_nanos\":95832914,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":34730889,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":73690882,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4776,\"fuse_op_setattr_nanos\":1115706655,\"fuse_op_write_count\":4847,\"fuse_op_write_nanos\":29013824,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17950,\"fuse_read_lane_wait_nanos\":2633477,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":45657,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4847,\"fuse_write_lane_wait_count\":10270,\"fuse_write_lane_wait_nanos\":1959361,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20830,\"lookup_base_count\":23,\"lookup_count\":41060,\"lookup_delta_count\":7551,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7148,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14922,\"path_cache_hits\":26128,\"path_cache_misses\":14054,\"path_component_count\":37674,\"path_resolution_count\":8150,\"readdir_count\":1,\"readdir_plus_count\":1416,\"wal_checkpoint_count\":719,\"wal_checkpoint_nanos\":15442194},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"sections\":{\"base\":{\"base_fast_inode_invalidations\":15119,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":1,\"fuse_readdirplus_mode\":2,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_workers_configured\":7,\"fuse_writeback_cache_enabled\":1},\"core\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":790419926,\"agentfs_batcher_commit_txns\":4799,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4696,\"agentfs_batcher_drains_timer\":16,\"agentfs_batcher_enqueues\":4753,\"agentfs_batcher_pending_max_bytes\":1380352,\"agentfs_batcher_txn_inodes_max\":3,\"agentfs_batcher_txn_inodes_total\":9410,\"attr_cache_hits\":26204,\"attr_cache_misses\":30901,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1003,\"connection_create\":6,\"connection_reuse\":33600,\"connection_wait_count\":33606,\"connection_wait_nanos\":10063677,\"dentry_cache_hits\":26128,\"dentry_cache_misses\":14054,\"getattr_count\":20830,\"lookup_base_count\":23,\"lookup_count\":41060,\"lookup_delta_count\":7551,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7148,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14922,\"path_cache_hits\":26128,\"path_cache_misses\":14054,\"path_component_count\":37674,\"path_resolution_count\":8150,\"readdir_count\":1,\"readdir_plus_count\":1416,\"wal_checkpoint_count\":719,\"wal_checkpoint_nanos\":15442194},\"fuse\":{\"fuse_adapter_attr_hits\":8016,\"fuse_adapter_attr_misses\":5653,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5629,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":32562,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":47,\"fuse_dispatch_wait_count\":47,\"fuse_dispatch_wait_nanos\":693727,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4753,\"fuse_flush_ranges\":4753,\"fuse_getattr_count\":13669,\"fuse_ino_file_resolutions\":27,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":12379,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":467411983,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":429,\"fuse_op_forget_count\":44,\"fuse_op_forget_nanos\":1161602,\"fuse_op_getattr_count\":13669,\"fuse_op_getattr_nanos\":71908427,\"fuse_op_lookup_count\":12379,\"fuse_op_lookup_nanos\":133075470,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":664,\"fuse_op_other_count\":3617,\"fuse_op_other_nanos\":95832914,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":34730889,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":73690882,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4776,\"fuse_op_setattr_nanos\":1115706655,\"fuse_op_write_count\":4847,\"fuse_op_write_nanos\":29013824,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17950,\"fuse_read_lane_wait_nanos\":2633477,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":45657,\"fuse_worker_queue_depth_peak\":2,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4847,\"fuse_write_lane_wait_count\":10270,\"fuse_write_lane_wait_nanos\":1959361}},\"source\":\"cli\"}\n",
+ "stdout_bytes": 18646,
+ "stdout_tail": "2026-07-04T01:14:16.536441Z INFO agentfs::fuser::session: resolved FUSE dispatch mode: parallel workers=7 queue_capacity=28\n2026-07-04T01:14:16.536695Z INFO agentfs::fuse: advertising FUSE_OVER_IO_URING\n2026-07-04T01:14:16.536731Z INFO agentfs::fuser::uring: starting fuse-over-io_uring queues nr_queues=14 depth=4\n2026-07-04T01:14:17.922551Z WARN agentfs::fuser::request: Request RequestId(30305): Failed to send reply: No such file or directory (os error 2)\n2026-07-04T01:14:18.922565Z WARN agentfs::fuser::request: Request RequestId(53893): Failed to send reply: No such file or directory (os error 2)\n{\"branch_status\": \"## agentfs-benchmark\\n\", \"diff\": {\"changed_file_count\": 8, \"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.06820097500167321, \"patch_bytes\": 3282, \"patch_sha256\": \"51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc\", \"runs\": {\"name_only\": {\"argv\": [\"git\", \"diff\", \"--name-only\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-hulvm8vq/agentfs-base/work\", \"duration_seconds\": 0.024116513988701627, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 144, \"stdout_tail\": \"docs/CLA.md\\ndocs/agents_md.md\\ndocs/authentication.md\\ndocs/config.md\\ndocs/contributing.md\\ndocs/example-config.md\\ndocs/exec.md\\ndocs/execpolicy.md\\n\"}, \"patch\": {\"argv\": [\"git\", \"diff\", \"--\", \".\"], \"cwd\": \"/tmp/agentfs-git-workload-hulvm8vq/agentfs-base/work\", \"duration_seconds\": 0.018570251006167382, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 3282, \"stdout_tail\": \"diff --git a/docs/CLA.md b/docs/CLA.md\\nindex 804f202..3495ac9 100644\\n--- a/docs/CLA.md\\n+++ b/docs/CLA.md\\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\\n This Agreement is governed by the laws of the **State of California**, USA,\\n excluding its conflict\\u2011of\\u2011laws rules. If any provision is held unenforceable,\\n the remaining provisions remain in force.\\n+\\n+AgentFS Git benchmark edit 00 for docs/CLA.md\\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\\nindex 3df0fac..b8b063d 100644\\n--- a/docs/agents_md.md\\n+++ b/docs/agents_md.md\\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\\n ## Hierarchical agents message\\n \\n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\\n+\\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\\ndiff --git a/docs/authentication.md b/docs/authentication.md\\nindex c307349..b3bc9dc 100644\\n--- a/docs/authentication.md\\n+++ b/docs/authentication.md\\n@@ -1,3 +1,5 @@\\n # Authentication\\n \\n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\\n+\\n+AgentFS Git benchmark edit 02 for docs/authentication.md\\ndiff --git a/docs/config.md b/docs/config.md\\nindex d35b0a8..030e278 100644\\n--- a/docs/config.md\\n+++ b/docs/config.md\\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\\n still allowing managed hooks from requirements and managed config layers. This\\n setting is only supported in `requirements.toml`; putting it in `config.toml`\\n does not enable managed-hooks-only mode.\\n+\\n+AgentFS Git benchmark edit 03 for docs/config.md\\ndiff --git a/docs/contributing.md b/docs/contributing.md\\nindex aeae1f1..b5a22ac 100644\\n--- a/docs/contributing.md\\n+++ b/docs/contributing.md\\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\\n ### Security & responsible AI\\n \\n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\\n+\\n+AgentFS Git benchmark edit 04 for docs/contributing.md\\ndiff --git a/docs/example-config.md b/docs/example-config.md\\nindex 84b1143..b09f835 100644\\n--- a/docs/example-config.md\\n+++ b/docs/example-config.md\\n@@ -1,3 +1,5 @@\\n # Sample configuration\\n \\n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\\n+\\n+AgentFS Git benchmark edit 05 for docs/example-config.md\\ndiff --git a/docs/exec.md b/docs/exec.md\\nindex 57e4323..a81da98 100644\\n--- a/docs/exec.md\\n+++ b/docs/exec.md\\n@@ -1,3 +1,5 @@\\n # Non-interactive mode\\n \\n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\\n+\\n+AgentFS Git benchmark edit 06 for docs/exec.md\\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\\nindex cafebb3..3b48afe 100644\\n--- a/docs/execpolicy.md\\n+++ b/docs/execpolicy.md\\n@@ -1,3 +1,5 @@\\n # Execution policy\\n \\n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\\n+\\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\\n\"}, \"stat\": {\"argv\": [\"git\", \"diff\", \"--stat\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-hulvm8vq/agentfs-base/work\", \"duration_seconds\": 0.025458272008108906, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 283, \"stdout_tail\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}}, \"stat_stdout\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}, \"edits\": {\"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.004993759008357301, \"edits\": [{\"appended_bytes\": 47, \"path\": \"docs/CLA.md\", \"size_after\": 2106, \"size_before\": 2059}, {\"appended_bytes\": 53, \"path\": \"docs/agents_md.md\", \"size_after\": 462, \"size_before\": 409}, {\"appended_bytes\": 58, \"path\": \"docs/authentication.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 50, \"path\": \"docs/config.md\", \"size_after\": 776, \"size_before\": 726}, {\"appended_bytes\": 56, \"path\": \"docs/contributing.md\", \"size_after\": 6380, \"size_before\": 6324}, {\"appended_bytes\": 58, \"path\": \"docs/example-config.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 48, \"path\": \"docs/exec.md\", \"size_after\": 194, \"size_before\": 146}, {\"appended_bytes\": 54, \"path\": \"docs/execpolicy.md\", \"size_after\": 192, \"size_before\": 138}]}, \"fsck\": {\"ok\": true, \"ran\": true, \"run\": {\"argv\": [\"git\", \"fsck\", \"--strict\"], \"cwd\": \"/tmp/agentfs-git-workload-hulvm8vq/agentfs-base/work\", \"duration_seconds\": 0.2147588650113903, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}, \"head_commit\": \"7d47056ea42636271ac020b86347fbbef49490aa\", \"initial_status\": \"\", \"phase_runs\": {\"checkout\": {\"argv\": [\"git\", \"checkout\", \"-B\", \"agentfs-benchmark\"], \"cwd\": \"/tmp/agentfs-git-workload-hulvm8vq/agentfs-base/work\", \"duration_seconds\": 0.054057981993537396, \"returncode\": 0, \"stderr_bytes\": 45, \"stderr_tail\": \"Switched to a new branch 'agentfs-benchmark'\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"clone\": {\"argv\": [\"git\", \"clone\", \"--local\", \"--no-hardlinks\", \"/tmp/agentfs-git-workload-hulvm8vq/agentfs-base/mirror.git\", \"/tmp/agentfs-git-workload-hulvm8vq/agentfs-base/work\"], \"cwd\": \"/tmp/agentfs-git-workload-hulvm8vq/agentfs-base\", \"duration_seconds\": 2.7699222920055036, \"returncode\": 0, \"stderr_bytes\": 2076, \"stderr_tail\": \"Cloning into '/tmp/agentfs-git-workload-hulvm8vq/agentfs-base/work'...\\nwarning: source repository is shallow, ignoring --local\\nwarning: --local is ignored\\nUpdating files: 45% (2099/4644)\\nUpdating files: 46% (2137/4644)\\nUpdating files: 47% (2183/4644)\\nUpdating files: 48% (2230/4644)\\nUpdating files: 49% (2276/4644)\\nUpdating files: 50% (2322/4644)\\nUpdating files: 51% (2369/4644)\\nUpdating files: 52% (2415/4644)\\nUpdating files: 53% (2462/4644)\\nUpdating files: 54% (2508/4644)\\nUpdating files: 55% (2555/4644)\\nUpdating files: 56% (2601/4644)\\nUpdating files: 57% (2648/4644)\\nUpdating files: 58% (2694/4644)\\nUpdating files: 59% (2740/4644)\\nUpdating files: 60% (2787/4644)\\nUpdating files: 61% (2833/4644)\\nUpdating files: 62% (2880/4644)\\nUpdating files: 63% (2926/4644)\\nUpdating files: 64% (2973/4644)\\nUpdating files: 65% (3019/4644)\\nUpdating files: 66% (3066/4644)\\nUpdating files: 67% (3112/4644)\\nUpdating files: 68% (3158/4644)\\nUpdating files: 69% (3205/4644)\\nUpdating files: 70% (3251/4644)\\nUpdating files: 71% (3298/4644)\\nUpdating files: 72% (3344/4644)\\nUpdating files: 73% (3391/4644)\\nUpdating files: 74% (3437/4644)\\nUpdating files: 75% (3483/4644)\\nUpdating files: 76% (3530/4644)\\nUpdating files: 77% (3576/4644)\\nUpdating files: 78% (3623/4644)\\nUpdating files: 79% (3669/4644)\\nUpdating files: 80% (3716/4644)\\nUpdating files: 81% (3762/4644)\\nUpdating files: 82% (3809/4644)\\nUpdating files: 83% (3855/4644)\\nUpdating files: 83% (3898/4644)\\nUpdating files: 84% (3901/4644)\\nUpdating files: 85% (3948/4644)\\nUpdating files: 86% (3994/4644)\\nUpdating files: 87% (4041/4644)\\nUpdating files: 88% (4087/4644)\\nUpdating files: 89% (4134/4644)\\nUpdating files: 90% (4180/4644)\\nUpdating files: 91% (4227/4644)\\nUpdating files: 92% (4273/4644)\\nUpdating files: 93% (4319/4644)\\nUpdating files: 94% (4366/4644)\\nUpdating files: 95% (4412/4644)\\nUpdating files: 96% (4459/4644)\\nUpdating files: 97% (4505/4644)\\nUpdating files: 98% (4552/4644)\\nUpdating files: 99% (4598/4644)\\nUpdating files: 100% (4644/4644)\\nUpdating files: 100% (4644/4644), done.\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"status\": {\"branch\": {\"argv\": [\"git\", \"status\", \"--short\", \"--branch\"], \"cwd\": \"/tmp/agentfs-git-workload-hulvm8vq/agentfs-base/work\", \"duration_seconds\": 0.036359681995236315, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 21, \"stdout_tail\": \"## agentfs-benchmark\\n\"}, \"short\": {\"argv\": [\"git\", \"status\", \"--short\"], \"cwd\": \"/tmp/agentfs-git-workload-hulvm8vq/agentfs-base/work\", \"duration_seconds\": 0.14226867599063553, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}}, \"phase_seconds\": {\"checkout\": 0.056683568996959366, \"clone\": 2.769973303991719, \"diff\": 0.06820097500167321, \"edit\": 0.004993759008357301, \"fsck\": 0.21477365799364634, \"read_search\": 0.0078469020081684, \"status\": 0.17865806899499148}, \"profile_checkpoints\": [\"clone\", \"checkout\", \"status\", \"read_search\", \"edit\", \"diff\", \"fsck\"], \"read_search\": {\"bytes_read\": 117190, \"digest\": \"6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53\", \"files_scanned\": 64, \"files_total\": 4644, \"ls_files_run\": {\"argv\": [\"git\", \"ls-files\", \"-z\"], \"cwd\": \"/tmp/agentfs-git-workload-hulvm8vq/agentfs-base/work\", \"duration_seconds\": 0.004879718006122857, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 263077, \"stdout_tail\": \"i_codex/api.py\\u0000sdk/python/src/openai_codex/async_client.py\\u0000sdk/python/src/openai_codex/client.py\\u0000sdk/python/src/openai_codex/errors.py\\u0000sdk/python/src/openai_codex/generated/__init__.py\\u0000sdk/python/src/openai_codex/generated/notification_registry.py\\u0000sdk/python/src/openai_codex/generated/v2_all.py\\u0000sdk/python/src/openai_codex/models.py\\u0000sdk/python/src/openai_codex/py.typed\\u0000sdk/python/src/openai_codex/retry.py\\u0000sdk/python/src/openai_codex/types.py\\u0000sdk/python/tests/app_server_harness.py\\u0000sdk/python/tests/app_server_helpers.py\\u0000sdk/python/tests/conftest.py\\u0000sdk/python/tests/test_app_server_approvals.py\\u0000sdk/python/tests/test_app_server_inputs.py\\u0000sdk/python/tests/test_app_server_lifecycle.py\\u0000sdk/python/tests/test_app_server_login.py\\u0000sdk/python/tests/test_app_server_run.py\\u0000sdk/python/tests/test_app_server_streaming.py\\u0000sdk/python/tests/test_app_server_turn_controls.py\\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\\u0000sdk/python/tests/test_async_client_behavior.py\\u0000sdk/python/tests/test_client_rpc_methods.py\\u0000sdk/python/tests/test_contract_generation.py\\u0000sdk/python/tests/test_public_api_runtime_behavior.py\\u0000sdk/python/tests/test_public_api_signatures.py\\u0000sdk/python/tests/test_real_app_server_integration.py\\u0000sdk/python/uv.lock\\u0000sdk/typescript/.prettierignore\\u0000sdk/typescript/.prettierrc\\u0000sdk/typescript/README.md\\u0000sdk/typescript/eslint.config.js\\u0000sdk/typescript/jest.config.cjs\\u0000sdk/typescript/package.json\\u0000sdk/typescript/samples/basic_streaming.ts\\u0000sdk/typescript/samples/helpers.ts\\u0000sdk/typescript/samples/structured_output.ts\\u0000sdk/typescript/samples/structured_output_zod.ts\\u0000sdk/typescript/src/codex.ts\\u0000sdk/typescript/src/codexOptions.ts\\u0000sdk/typescript/src/events.ts\\u0000sdk/typescript/src/exec.ts\\u0000sdk/typescript/src/index.ts\\u0000sdk/typescript/src/items.ts\\u0000sdk/typescript/src/outputSchemaFile.ts\\u0000sdk/typescript/src/thread.ts\\u0000sdk/typescript/src/threadOptions.ts\\u0000sdk/typescript/src/turnOptions.ts\\u0000sdk/typescript/tests/abort.test.ts\\u0000sdk/typescript/tests/codexExecSpy.ts\\u0000sdk/typescript/tests/exec.test.ts\\u0000sdk/typescript/tests/responsesProxy.ts\\u0000sdk/typescript/tests/run.test.ts\\u0000sdk/typescript/tests/runStreamed.test.ts\\u0000sdk/typescript/tests/setupCodexHome.ts\\u0000sdk/typescript/tests/testCodex.ts\\u0000sdk/typescript/tsconfig.json\\u0000sdk/typescript/tsup.config.ts\\u0000third_party/v8/BUILD.bazel\\u0000third_party/v8/README.md\\u0000third_party/v8/libcxx.BUILD.bazel\\u0000third_party/v8/libcxx_config/BUILD.bazel\\u0000third_party/v8/libcxx_config/__assertion_handler\\u0000third_party/v8/libcxx_config/__config_site\\u0000third_party/v8/libcxxabi.BUILD.bazel\\u0000third_party/v8/llvm_libc.BUILD.bazel\\u0000third_party/v8/rusty_v8_147_4_0.sha256\\u0000third_party/v8/v8_crate.BUILD.bazel\\u0000third_party/wezterm/LICENSE\\u0000tools/argument-comment-lint/.cargo/config.toml\\u0000tools/argument-comment-lint/.gitignore\\u0000tools/argument-comment-lint/BUILD.bazel\\u0000tools/argument-comment-lint/Cargo.lock\\u0000tools/argument-comment-lint/Cargo.toml\\u0000tools/argument-comment-lint/README.md\\u0000tools/argument-comment-lint/argument-comment-lint\\u0000tools/argument-comment-lint/driver.rs\\u0000tools/argument-comment-lint/lint_aspect.bzl\\u0000tools/argument-comment-lint/list-bazel-targets.sh\\u0000tools/argument-comment-lint/run-prebuilt-linter.py\\u0000tools/argument-comment-lint/run.py\\u0000tools/argument-comment-lint/rust-toolchain\\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\\u0000tools/argument-comment-lint/src/comment_parser.rs\\u0000tools/argument-comment-lint/src/lib.rs\\u0000tools/argument-comment-lint/test_wrapper_common.py\\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\\u0000tools/argument-comment-lint/ui/comment_matches.rs\\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\\u0000tools/argument-comment-lint/wrapper_common.py\\u0000workspace_root_test_launcher.bat.tpl\\u0000workspace_root_test_launcher.sh.tpl\\u0000\"}, \"matches\": 0, \"selected_files\": [\".bazelignore\", \".bazelrc\", \".bazelversion\", \".codespellignore\", \".codespellrc\", \".codex/environments/environment.toml\", \".codex/skills/babysit-pr/SKILL.md\", \".codex/skills/babysit-pr/agents/openai.yaml\", \".codex/skills/babysit-pr/references/github-api-notes.md\", \".codex/skills/babysit-pr/references/heuristics.md\", \".codex/skills/babysit-pr/scripts/gh_pr_watch.py\", \".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py\", \".codex/skills/code-review-breaking-changes/SKILL.md\", \".codex/skills/code-review-change-size/SKILL.md\", \".codex/skills/code-review-context/SKILL.md\", \".codex/skills/code-review-testing/SKILL.md\", \".codex/skills/code-review/SKILL.md\", \".codex/skills/codex-bug/SKILL.md\", \".codex/skills/codex-issue-digest/SKILL.md\", \".codex/skills/codex-issue-digest/agents/openai.yaml\", \".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py\", \".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py\", \".codex/skills/codex-pr-body/SKILL.md\", \".codex/skills/remote-tests/SKILL.md\", \".codex/skills/test-tui/SKILL.md\", \".codex/skills/update-v8-version/SKILL.md\", \".codex/skills/update-v8-version/agents/openai.yaml\", \".devcontainer/Dockerfile\", \".devcontainer/Dockerfile.secure\", \".devcontainer/README.md\", \".devcontainer/codex-install/package.json\", \".devcontainer/codex-install/pnpm-lock.yaml\", \".devcontainer/codex-install/pnpm-workspace.yaml\", \".devcontainer/devcontainer.json\", \".devcontainer/devcontainer.secure.json\", \".devcontainer/init-firewall.sh\", \".devcontainer/post-start.sh\", \".devcontainer/post_install.py\", \".gitattributes\", \".github/CODEOWNERS\", \".github/ISSUE_TEMPLATE/1-codex-app.yml\", \".github/ISSUE_TEMPLATE/2-extension.yml\", \".github/ISSUE_TEMPLATE/3-cli.yml\", \".github/ISSUE_TEMPLATE/4-bug-report.yml\", \".github/ISSUE_TEMPLATE/5-feature-request.yml\", \".github/ISSUE_TEMPLATE/6-docs-issue.yml\", \".github/actions/linux-code-sign/action.yml\", \".github/actions/macos-code-sign/action.yml\", \".github/actions/macos-code-sign/codex.entitlements.plist\", \".github/actions/macos-code-sign/notary_helpers.sh\", \".github/actions/prepare-bazel-ci/action.yml\", \".github/actions/run-argument-comment-lint/action.yml\", \".github/actions/setup-bazel-ci/action.yml\", \".github/actions/setup-msvc-env/action.yml\", \".github/actions/setup-msvc-env/setup-msvc-env.ps1\", \".github/actions/setup-rusty-v8/action.yml\", \".github/actions/windows-code-sign/action.yml\", \".github/blob-size-allowlist.txt\", \".github/codex-cli-splash.png\", \".github/codex/home/config.toml\", \".github/codex/labels/codex-attempt.md\", \".github/codex/labels/codex-review.md\", \".github/codex/labels/codex-rust-review.md\", \".github/codex/labels/codex-triage.md\"], \"token\": \"AGENTFS_TOKEN\"}, \"total_seconds\": 4.001881017000414}\n",
+ "timed_out": false
+ },
+ "workload": {
+ "branch_status": "## agentfs-benchmark\n",
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.06820097500167321,
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc",
+ "runs": {
+ "name_only": {
+ "argv": [
+ "git",
+ "diff",
+ "--name-only",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-hulvm8vq/agentfs-base/work",
+ "duration_seconds": 0.024116513988701627,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 144,
+ "stdout_tail": "docs/CLA.md\ndocs/agents_md.md\ndocs/authentication.md\ndocs/config.md\ndocs/contributing.md\ndocs/example-config.md\ndocs/exec.md\ndocs/execpolicy.md\n"
+ },
+ "patch": {
+ "argv": [
+ "git",
+ "diff",
+ "--",
+ "."
+ ],
+ "cwd": "/tmp/agentfs-git-workload-hulvm8vq/agentfs-base/work",
+ "duration_seconds": 0.018570251006167382,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 3282,
+ "stdout_tail": "diff --git a/docs/CLA.md b/docs/CLA.md\nindex 804f202..3495ac9 100644\n--- a/docs/CLA.md\n+++ b/docs/CLA.md\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\n This Agreement is governed by the laws of the **State of California**, USA,\n excluding its conflict\u2011of\u2011laws rules. If any provision is held unenforceable,\n the remaining provisions remain in force.\n+\n+AgentFS Git benchmark edit 00 for docs/CLA.md\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\nindex 3df0fac..b8b063d 100644\n--- a/docs/agents_md.md\n+++ b/docs/agents_md.md\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\n ## Hierarchical agents message\n \n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\n+\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\ndiff --git a/docs/authentication.md b/docs/authentication.md\nindex c307349..b3bc9dc 100644\n--- a/docs/authentication.md\n+++ b/docs/authentication.md\n@@ -1,3 +1,5 @@\n # Authentication\n \n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\n+\n+AgentFS Git benchmark edit 02 for docs/authentication.md\ndiff --git a/docs/config.md b/docs/config.md\nindex d35b0a8..030e278 100644\n--- a/docs/config.md\n+++ b/docs/config.md\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\n still allowing managed hooks from requirements and managed config layers. This\n setting is only supported in `requirements.toml`; putting it in `config.toml`\n does not enable managed-hooks-only mode.\n+\n+AgentFS Git benchmark edit 03 for docs/config.md\ndiff --git a/docs/contributing.md b/docs/contributing.md\nindex aeae1f1..b5a22ac 100644\n--- a/docs/contributing.md\n+++ b/docs/contributing.md\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\n ### Security & responsible AI\n \n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\n+\n+AgentFS Git benchmark edit 04 for docs/contributing.md\ndiff --git a/docs/example-config.md b/docs/example-config.md\nindex 84b1143..b09f835 100644\n--- a/docs/example-config.md\n+++ b/docs/example-config.md\n@@ -1,3 +1,5 @@\n # Sample configuration\n \n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\n+\n+AgentFS Git benchmark edit 05 for docs/example-config.md\ndiff --git a/docs/exec.md b/docs/exec.md\nindex 57e4323..a81da98 100644\n--- a/docs/exec.md\n+++ b/docs/exec.md\n@@ -1,3 +1,5 @@\n # Non-interactive mode\n \n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\n+\n+AgentFS Git benchmark edit 06 for docs/exec.md\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\nindex cafebb3..3b48afe 100644\n--- a/docs/execpolicy.md\n+++ b/docs/execpolicy.md\n@@ -1,3 +1,5 @@\n # Execution policy\n \n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\n+\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\n"
+ },
+ "stat": {
+ "argv": [
+ "git",
+ "diff",
+ "--stat",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-hulvm8vq/agentfs-base/work",
+ "duration_seconds": 0.025458272008108906,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 283,
+ "stdout_tail": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ }
+ },
+ "stat_stdout": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.004993759008357301,
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true,
+ "run": {
+ "argv": [
+ "git",
+ "fsck",
+ "--strict"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-hulvm8vq/agentfs-base/work",
+ "duration_seconds": 0.2147588650113903,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "phase_runs": {
+ "checkout": {
+ "argv": [
+ "git",
+ "checkout",
+ "-B",
+ "agentfs-benchmark"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-hulvm8vq/agentfs-base/work",
+ "duration_seconds": 0.054057981993537396,
+ "returncode": 0,
+ "stderr_bytes": 45,
+ "stderr_tail": "Switched to a new branch 'agentfs-benchmark'\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "clone": {
+ "argv": [
+ "git",
+ "clone",
+ "--local",
+ "--no-hardlinks",
+ "/tmp/agentfs-git-workload-hulvm8vq/agentfs-base/mirror.git",
+ "/tmp/agentfs-git-workload-hulvm8vq/agentfs-base/work"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-hulvm8vq/agentfs-base",
+ "duration_seconds": 2.7699222920055036,
+ "returncode": 0,
+ "stderr_bytes": 2076,
+ "stderr_tail": "Cloning into '/tmp/agentfs-git-workload-hulvm8vq/agentfs-base/work'...\nwarning: source repository is shallow, ignoring --local\nwarning: --local is ignored\nUpdating files: 45% (2099/4644)\nUpdating files: 46% (2137/4644)\nUpdating files: 47% (2183/4644)\nUpdating files: 48% (2230/4644)\nUpdating files: 49% (2276/4644)\nUpdating files: 50% (2322/4644)\nUpdating files: 51% (2369/4644)\nUpdating files: 52% (2415/4644)\nUpdating files: 53% (2462/4644)\nUpdating files: 54% (2508/4644)\nUpdating files: 55% (2555/4644)\nUpdating files: 56% (2601/4644)\nUpdating files: 57% (2648/4644)\nUpdating files: 58% (2694/4644)\nUpdating files: 59% (2740/4644)\nUpdating files: 60% (2787/4644)\nUpdating files: 61% (2833/4644)\nUpdating files: 62% (2880/4644)\nUpdating files: 63% (2926/4644)\nUpdating files: 64% (2973/4644)\nUpdating files: 65% (3019/4644)\nUpdating files: 66% (3066/4644)\nUpdating files: 67% (3112/4644)\nUpdating files: 68% (3158/4644)\nUpdating files: 69% (3205/4644)\nUpdating files: 70% (3251/4644)\nUpdating files: 71% (3298/4644)\nUpdating files: 72% (3344/4644)\nUpdating files: 73% (3391/4644)\nUpdating files: 74% (3437/4644)\nUpdating files: 75% (3483/4644)\nUpdating files: 76% (3530/4644)\nUpdating files: 77% (3576/4644)\nUpdating files: 78% (3623/4644)\nUpdating files: 79% (3669/4644)\nUpdating files: 80% (3716/4644)\nUpdating files: 81% (3762/4644)\nUpdating files: 82% (3809/4644)\nUpdating files: 83% (3855/4644)\nUpdating files: 83% (3898/4644)\nUpdating files: 84% (3901/4644)\nUpdating files: 85% (3948/4644)\nUpdating files: 86% (3994/4644)\nUpdating files: 87% (4041/4644)\nUpdating files: 88% (4087/4644)\nUpdating files: 89% (4134/4644)\nUpdating files: 90% (4180/4644)\nUpdating files: 91% (4227/4644)\nUpdating files: 92% (4273/4644)\nUpdating files: 93% (4319/4644)\nUpdating files: 94% (4366/4644)\nUpdating files: 95% (4412/4644)\nUpdating files: 96% (4459/4644)\nUpdating files: 97% (4505/4644)\nUpdating files: 98% (4552/4644)\nUpdating files: 99% (4598/4644)\nUpdating files: 100% (4644/4644)\nUpdating files: 100% (4644/4644), done.\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "status": {
+ "branch": {
+ "argv": [
+ "git",
+ "status",
+ "--short",
+ "--branch"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-hulvm8vq/agentfs-base/work",
+ "duration_seconds": 0.036359681995236315,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 21,
+ "stdout_tail": "## agentfs-benchmark\n"
+ },
+ "short": {
+ "argv": [
+ "git",
+ "status",
+ "--short"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-hulvm8vq/agentfs-base/work",
+ "duration_seconds": 0.14226867599063553,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ }
+ },
+ "phase_seconds": {
+ "checkout": 0.056683568996959366,
+ "clone": 2.769973303991719,
+ "diff": 0.06820097500167321,
+ "edit": 0.004993759008357301,
+ "fsck": 0.21477365799364634,
+ "read_search": 0.0078469020081684,
+ "status": 0.17865806899499148
+ },
+ "profile_checkpoints": [
+ "clone",
+ "checkout",
+ "status",
+ "read_search",
+ "edit",
+ "diff",
+ "fsck"
+ ],
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "ls_files_run": {
+ "argv": [
+ "git",
+ "ls-files",
+ "-z"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-hulvm8vq/agentfs-base/work",
+ "duration_seconds": 0.004879718006122857,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 263077,
+ "stdout_tail": "i_codex/api.py\u0000sdk/python/src/openai_codex/async_client.py\u0000sdk/python/src/openai_codex/client.py\u0000sdk/python/src/openai_codex/errors.py\u0000sdk/python/src/openai_codex/generated/__init__.py\u0000sdk/python/src/openai_codex/generated/notification_registry.py\u0000sdk/python/src/openai_codex/generated/v2_all.py\u0000sdk/python/src/openai_codex/models.py\u0000sdk/python/src/openai_codex/py.typed\u0000sdk/python/src/openai_codex/retry.py\u0000sdk/python/src/openai_codex/types.py\u0000sdk/python/tests/app_server_harness.py\u0000sdk/python/tests/app_server_helpers.py\u0000sdk/python/tests/conftest.py\u0000sdk/python/tests/test_app_server_approvals.py\u0000sdk/python/tests/test_app_server_inputs.py\u0000sdk/python/tests/test_app_server_lifecycle.py\u0000sdk/python/tests/test_app_server_login.py\u0000sdk/python/tests/test_app_server_run.py\u0000sdk/python/tests/test_app_server_streaming.py\u0000sdk/python/tests/test_app_server_turn_controls.py\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\u0000sdk/python/tests/test_async_client_behavior.py\u0000sdk/python/tests/test_client_rpc_methods.py\u0000sdk/python/tests/test_contract_generation.py\u0000sdk/python/tests/test_public_api_runtime_behavior.py\u0000sdk/python/tests/test_public_api_signatures.py\u0000sdk/python/tests/test_real_app_server_integration.py\u0000sdk/python/uv.lock\u0000sdk/typescript/.prettierignore\u0000sdk/typescript/.prettierrc\u0000sdk/typescript/README.md\u0000sdk/typescript/eslint.config.js\u0000sdk/typescript/jest.config.cjs\u0000sdk/typescript/package.json\u0000sdk/typescript/samples/basic_streaming.ts\u0000sdk/typescript/samples/helpers.ts\u0000sdk/typescript/samples/structured_output.ts\u0000sdk/typescript/samples/structured_output_zod.ts\u0000sdk/typescript/src/codex.ts\u0000sdk/typescript/src/codexOptions.ts\u0000sdk/typescript/src/events.ts\u0000sdk/typescript/src/exec.ts\u0000sdk/typescript/src/index.ts\u0000sdk/typescript/src/items.ts\u0000sdk/typescript/src/outputSchemaFile.ts\u0000sdk/typescript/src/thread.ts\u0000sdk/typescript/src/threadOptions.ts\u0000sdk/typescript/src/turnOptions.ts\u0000sdk/typescript/tests/abort.test.ts\u0000sdk/typescript/tests/codexExecSpy.ts\u0000sdk/typescript/tests/exec.test.ts\u0000sdk/typescript/tests/responsesProxy.ts\u0000sdk/typescript/tests/run.test.ts\u0000sdk/typescript/tests/runStreamed.test.ts\u0000sdk/typescript/tests/setupCodexHome.ts\u0000sdk/typescript/tests/testCodex.ts\u0000sdk/typescript/tsconfig.json\u0000sdk/typescript/tsup.config.ts\u0000third_party/v8/BUILD.bazel\u0000third_party/v8/README.md\u0000third_party/v8/libcxx.BUILD.bazel\u0000third_party/v8/libcxx_config/BUILD.bazel\u0000third_party/v8/libcxx_config/__assertion_handler\u0000third_party/v8/libcxx_config/__config_site\u0000third_party/v8/libcxxabi.BUILD.bazel\u0000third_party/v8/llvm_libc.BUILD.bazel\u0000third_party/v8/rusty_v8_147_4_0.sha256\u0000third_party/v8/v8_crate.BUILD.bazel\u0000third_party/wezterm/LICENSE\u0000tools/argument-comment-lint/.cargo/config.toml\u0000tools/argument-comment-lint/.gitignore\u0000tools/argument-comment-lint/BUILD.bazel\u0000tools/argument-comment-lint/Cargo.lock\u0000tools/argument-comment-lint/Cargo.toml\u0000tools/argument-comment-lint/README.md\u0000tools/argument-comment-lint/argument-comment-lint\u0000tools/argument-comment-lint/driver.rs\u0000tools/argument-comment-lint/lint_aspect.bzl\u0000tools/argument-comment-lint/list-bazel-targets.sh\u0000tools/argument-comment-lint/run-prebuilt-linter.py\u0000tools/argument-comment-lint/run.py\u0000tools/argument-comment-lint/rust-toolchain\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\u0000tools/argument-comment-lint/src/comment_parser.rs\u0000tools/argument-comment-lint/src/lib.rs\u0000tools/argument-comment-lint/test_wrapper_common.py\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\u0000tools/argument-comment-lint/ui/comment_matches.rs\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\u0000tools/argument-comment-lint/wrapper_common.py\u0000workspace_root_test_launcher.bat.tpl\u0000workspace_root_test_launcher.sh.tpl\u0000"
+ },
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ],
+ "token": "AGENTFS_TOKEN"
+ },
+ "total_seconds": 4.001881017000414
+ }
+ },
+ "base_tree": {
+ "after": {
+ "bytes": 9207621,
+ "directories": 10,
+ "files": 23,
+ "sha256": "2ddd357d6bf9e7832f411f450c2781a7ed4cb349ffe6ff1074bf523bf7a0cc7c",
+ "symlinks": 0
+ },
+ "before": {
+ "bytes": 9207621,
+ "directories": 10,
+ "files": 23,
+ "sha256": "2ddd357d6bf9e7832f411f450c2781a7ed4cb349ffe6ff1074bf523bf7a0cc7c",
+ "symlinks": 0
+ },
+ "unchanged": true
+ },
+ "benchmark": "phase7-git-workload",
+ "command": {
+ "agentfs_prefix": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "run",
+ "--session",
+ "git-workload-5199c09fd6244c128bcf18f1942ccf0b",
+ "--no-default-allows",
+ "--"
+ ],
+ "argv": [
+ "/home/ain3sh/factory/vfs/scripts/validation/git-workload-benchmark.py",
+ "--output",
+ "/tmp/vfs-val/misc-a-bench-rebaseline/run3.json.iterations/iter-03.json",
+ "--source",
+ ".agents/benchmarks/fixtures/codex",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8"
+ ],
+ "workload_argv": [
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ]
+ },
+ "correctness": {
+ "agentfs_backup_verify": true,
+ "agentfs_base_unchanged": true,
+ "agentfs_db_inspectable": true,
+ "agentfs_integrity_require_portable": true,
+ "agentfs_no_nonempty_sidecars": true,
+ "agentfs_portable": true,
+ "agentfs_returncode_zero": true,
+ "equivalence": {
+ "agentfs": {
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ]
+ }
+ },
+ "checked": true,
+ "equivalent": true,
+ "native": {
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ]
+ }
+ }
+ },
+ "native_returncode_zero": true,
+ "passed": true,
+ "performance_passed": false
+ },
+ "database": {
+ "after": {
+ "artifacts": [
+ {
+ "bytes": 57147392,
+ "path": "/tmp/agentfs-git-workload-hulvm8vq/home/.agentfs/run/git-workload-5199c09fd6244c128bcf18f1942ccf0b/delta.db"
+ }
+ ],
+ "path": "/tmp/agentfs-git-workload-hulvm8vq/home/.agentfs/run/git-workload-5199c09fd6244c128bcf18f1942ccf0b/delta.db",
+ "total_bytes": 57147392
+ },
+ "backup": {
+ "artifacts": {
+ "artifacts": [
+ {
+ "bytes": 57147392,
+ "path": "/tmp/agentfs-git-workload-hulvm8vq/git-workload-backup.db"
+ }
+ ],
+ "path": "/tmp/agentfs-git-workload-hulvm8vq/git-workload-backup.db",
+ "total_bytes": 57147392
+ },
+ "inspect": {
+ "fs_chunk_override_rows": 0,
+ "fs_config": {
+ "chunk_size": "65536",
+ "inline_threshold": "16384",
+ "schema_version": "0.5"
+ },
+ "fs_data_bytes": 41204221,
+ "fs_data_rows": 960,
+ "fs_inline_bytes": 11434794,
+ "fs_inode_rows": 5385,
+ "fs_origin_rows": 0,
+ "fs_partial_origin_rows": 0,
+ "fs_whiteout_rows": 0,
+ "inline_inode_rows": 4060,
+ "inspectable": true,
+ "portability_status": {
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true,
+ "stored_bytes": 52639015
+ }
+ },
+ "path": "/tmp/agentfs-git-workload-hulvm8vq/git-workload-backup.db",
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "backup",
+ "/tmp/agentfs-git-workload-hulvm8vq/home/.agentfs/run/git-workload-5199c09fd6244c128bcf18f1942ccf0b/delta.db",
+ "/tmp/agentfs-git-workload-hulvm8vq/git-workload-backup.db",
+ "--verify"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-hulvm8vq",
+ "duration_seconds": 2.7751211089926073,
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 0,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 0,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 0,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 0,
+ "fuse_op_getattr_nanos": 0,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 0,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_workers_configured": 0,
+ "fuse_writeback_cache_enabled": 0
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 0,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 0,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 0,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 0,
+ "fuse_op_getattr_nanos": 0,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 0,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0
+ }
+ },
+ "source": "cli"
+ }
+ ],
+ "returncode": 0,
+ "stderr_bytes": 7355,
+ "stderr_tail": "{\"counters\":{\"agentfs_batcher_coalesced_ranges\":0,\"agentfs_batcher_commit_latency_ns_total\":0,\"agentfs_batcher_commit_txns\":0,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":0,\"agentfs_batcher_drains_timer\":0,\"agentfs_batcher_enqueues\":0,\"agentfs_batcher_pending_max_bytes\":0,\"agentfs_batcher_txn_inodes_max\":0,\"agentfs_batcher_txn_inodes_total\":0,\"attr_cache_hits\":0,\"attr_cache_misses\":0,\"base_fast_inode_invalidations\":0,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":0,\"chunk_read_queries\":0,\"chunk_write_chunks\":0,\"connection_create\":0,\"connection_reuse\":0,\"connection_wait_count\":0,\"connection_wait_nanos\":0,\"dentry_cache_hits\":0,\"dentry_cache_misses\":0,\"fuse_adapter_attr_hits\":0,\"fuse_adapter_attr_misses\":0,\"fuse_adapter_entry_hits\":0,\"fuse_adapter_entry_misses\":0,\"fuse_adapter_inval_entry_notifications\":0,\"fuse_adapter_inval_inode_notifications\":0,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":0,\"fuse_adapter_negative_misses\":0,\"fuse_callback_count\":0,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":0,\"fuse_dispatch_parallel_tasks\":0,\"fuse_dispatch_wait_count\":0,\"fuse_dispatch_wait_nanos\":0,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":0,\"fuse_flush_count\":0,\"fuse_flush_ranges\":0,\"fuse_getattr_count\":0,\"fuse_ino_file_resolutions\":0,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":0,\"fuse_lookup_count\":0,\"fuse_noflush_enosys_replies\":0,\"fuse_noopen_enosys_replies\":0,\"fuse_op_create_count\":0,\"fuse_op_create_nanos\":0,\"fuse_op_flush_count\":0,\"fuse_op_flush_nanos\":0,\"fuse_op_forget_count\":0,\"fuse_op_forget_nanos\":0,\"fuse_op_getattr_count\":0,\"fuse_op_getattr_nanos\":0,\"fuse_op_lookup_count\":0,\"fuse_op_lookup_nanos\":0,\"fuse_op_open_count\":0,\"fuse_op_open_nanos\":0,\"fuse_op_other_count\":0,\"fuse_op_other_nanos\":0,\"fuse_op_read_count\":0,\"fuse_op_read_nanos\":0,\"fuse_op_readdirplus_count\":0,\"fuse_op_readdirplus_nanos\":0,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":0,\"fuse_op_setattr_nanos\":0,\"fuse_op_write_count\":0,\"fuse_op_write_nanos\":0,\"fuse_open_count\":0,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":0,\"fuse_read_lane_max_concurrent\":0,\"fuse_read_lane_wait_count\":0,\"fuse_read_lane_wait_nanos\":0,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":0,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":0,\"fuse_readdirplus_do_requested\":0,\"fuse_readdirplus_mode\":0,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":0,\"fuse_ttl_entry_ms\":0,\"fuse_ttl_neg_ms\":0,\"fuse_uring_requests\":0,\"fuse_worker_queue_depth_peak\":0,\"fuse_workers_configured\":0,\"fuse_write_bytes\":0,\"fuse_write_count\":0,\"fuse_write_lane_wait_count\":0,\"fuse_write_lane_wait_nanos\":0,\"fuse_writeback_cache_enabled\":0,\"getattr_count\":0,\"lookup_base_count\":0,\"lookup_count\":0,\"lookup_delta_count\":0,\"lookup_whiteout_count\":0,\"negative_cache_hits\":0,\"negative_cache_invalidations\":0,\"negative_cache_misses\":0,\"negative_lookup_count\":0,\"path_cache_hits\":0,\"path_cache_misses\":0,\"path_component_count\":0,\"path_resolution_count\":0,\"readdir_count\":0,\"readdir_plus_count\":0,\"wal_checkpoint_count\":0,\"wal_checkpoint_nanos\":0},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"sections\":{\"base\":{\"base_fast_inode_invalidations\":0,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":0,\"fuse_readdirplus_mode\":0,\"fuse_ttl_attr_ms\":0,\"fuse_ttl_entry_ms\":0,\"fuse_ttl_neg_ms\":0,\"fuse_workers_configured\":0,\"fuse_writeback_cache_enabled\":0},\"core\":{\"agentfs_batcher_coalesced_ranges\":0,\"agentfs_batcher_commit_latency_ns_total\":0,\"agentfs_batcher_commit_txns\":0,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":0,\"agentfs_batcher_drains_timer\":0,\"agentfs_batcher_enqueues\":0,\"agentfs_batcher_pending_max_bytes\":0,\"agentfs_batcher_txn_inodes_max\":0,\"agentfs_batcher_txn_inodes_total\":0,\"attr_cache_hits\":0,\"attr_cache_misses\":0,\"chunk_read_chunks\":0,\"chunk_read_queries\":0,\"chunk_write_chunks\":0,\"connection_create\":0,\"connection_reuse\":0,\"connection_wait_count\":0,\"connection_wait_nanos\":0,\"dentry_cache_hits\":0,\"dentry_cache_misses\":0,\"getattr_count\":0,\"lookup_base_count\":0,\"lookup_count\":0,\"lookup_delta_count\":0,\"lookup_whiteout_count\":0,\"negative_cache_hits\":0,\"negative_cache_invalidations\":0,\"negative_cache_misses\":0,\"negative_lookup_count\":0,\"path_cache_hits\":0,\"path_cache_misses\":0,\"path_component_count\":0,\"path_resolution_count\":0,\"readdir_count\":0,\"readdir_plus_count\":0,\"wal_checkpoint_count\":0,\"wal_checkpoint_nanos\":0},\"fuse\":{\"fuse_adapter_attr_hits\":0,\"fuse_adapter_attr_misses\":0,\"fuse_adapter_entry_hits\":0,\"fuse_adapter_entry_misses\":0,\"fuse_adapter_inval_entry_notifications\":0,\"fuse_adapter_inval_inode_notifications\":0,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":0,\"fuse_adapter_negative_misses\":0,\"fuse_callback_count\":0,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":0,\"fuse_dispatch_parallel_tasks\":0,\"fuse_dispatch_wait_count\":0,\"fuse_dispatch_wait_nanos\":0,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":0,\"fuse_flush_count\":0,\"fuse_flush_ranges\":0,\"fuse_getattr_count\":0,\"fuse_ino_file_resolutions\":0,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":0,\"fuse_noflush_enosys_replies\":0,\"fuse_noopen_enosys_replies\":0,\"fuse_op_create_count\":0,\"fuse_op_create_nanos\":0,\"fuse_op_flush_count\":0,\"fuse_op_flush_nanos\":0,\"fuse_op_forget_count\":0,\"fuse_op_forget_nanos\":0,\"fuse_op_getattr_count\":0,\"fuse_op_getattr_nanos\":0,\"fuse_op_lookup_count\":0,\"fuse_op_lookup_nanos\":0,\"fuse_op_open_count\":0,\"fuse_op_open_nanos\":0,\"fuse_op_other_count\":0,\"fuse_op_other_nanos\":0,\"fuse_op_read_count\":0,\"fuse_op_read_nanos\":0,\"fuse_op_readdirplus_count\":0,\"fuse_op_readdirplus_nanos\":0,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":0,\"fuse_op_setattr_nanos\":0,\"fuse_op_write_count\":0,\"fuse_op_write_nanos\":0,\"fuse_open_count\":0,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":0,\"fuse_read_lane_max_concurrent\":0,\"fuse_read_lane_wait_count\":0,\"fuse_read_lane_wait_nanos\":0,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":0,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":0,\"fuse_readdirplus_do_requested\":0,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":0,\"fuse_worker_queue_depth_peak\":0,\"fuse_write_bytes\":0,\"fuse_write_count\":0,\"fuse_write_lane_wait_count\":0,\"fuse_write_lane_wait_nanos\":0}},\"source\":\"cli\"}\n",
+ "stdout_bytes": 241,
+ "stdout_tail": "Source: /tmp/agentfs-git-workload-hulvm8vq/home/.agentfs/run/git-workload-5199c09fd6244c128bcf18f1942ccf0b/delta.db\nBackup: /tmp/agentfs-git-workload-hulvm8vq/git-workload-backup.db\nCheckpoint: complete\nCopy: complete\nVerification: complete\n",
+ "timed_out": false
+ }
+ },
+ "inspect_after": {
+ "fs_chunk_override_rows": 0,
+ "fs_config": {
+ "chunk_size": "65536",
+ "inline_threshold": "16384",
+ "schema_version": "0.5"
+ },
+ "fs_data_bytes": 41204221,
+ "fs_data_rows": 960,
+ "fs_inline_bytes": 11434794,
+ "fs_inode_rows": 5385,
+ "fs_origin_rows": 0,
+ "fs_partial_origin_rows": 0,
+ "fs_whiteout_rows": 0,
+ "inline_inode_rows": 4060,
+ "inspectable": true,
+ "portability_status": {
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true,
+ "stored_bytes": 52639015
+ }
+ },
+ "integrity": {
+ "result": {
+ "checks": [
+ {
+ "detail": "ok",
+ "name": "pragma.integrity_check",
+ "ok": true,
+ "violating_rows": null
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_config",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_inode",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_dentry",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_symlink",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.kv_store",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.tool_calls",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 0.5",
+ "name": "config.schema_version",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 65536",
+ "name": "config.chunk_size",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 16384",
+ "name": "config.inline_threshold",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.kind_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_has_no_chunks",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunked_has_no_inline_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_size_matches_blob",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_only_regular_files",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.non_regular_has_no_inline_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_reference_inodes",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_nonnegative_index",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunk_length_within_chunk_size",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_only_regular_files",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 1, expected 1",
+ "name": "namespace.root_inode",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_parent_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_parent_is_directory",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_target_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.non_root_inode_has_dentry",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_names_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.non_directory_nlink_matches_dentries",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.directory_nlink_positive",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "symlink.rows_reference_symlink_inodes",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "symlink.inodes_have_rows",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "portable: no partial-origin rows",
+ "name": "overlay.portability_status",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "portable requirement satisfied",
+ "name": "overlay.require_portable",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.origin_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_delta_inode_regular",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_sizes_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_paths_absolute",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_nonnegative_index",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_references_partial_origin",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_unique",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_index_in_range",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.whiteout_paths_absolute",
+ "ok": true,
+ "violating_rows": 0
+ }
+ ],
+ "database": "/tmp/agentfs-git-workload-hulvm8vq/home/.agentfs/run/git-workload-5199c09fd6244c128bcf18f1942ccf0b/delta.db",
+ "ok": true,
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true
+ },
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "integrity",
+ "/tmp/agentfs-git-workload-hulvm8vq/home/.agentfs/run/git-workload-5199c09fd6244c128bcf18f1942ccf0b/delta.db",
+ "--json",
+ "--require-portable"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-hulvm8vq",
+ "duration_seconds": 2.6715307739941636,
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 0,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 0,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 0,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 0,
+ "fuse_op_getattr_nanos": 0,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 0,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_workers_configured": 0,
+ "fuse_writeback_cache_enabled": 0
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 0,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 0,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 0,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 0,
+ "fuse_op_getattr_nanos": 0,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 0,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0
+ }
+ },
+ "source": "cli"
+ }
+ ],
+ "returncode": 0,
+ "stderr_bytes": 7355,
+ "stderr_tail": "{\"counters\":{\"agentfs_batcher_coalesced_ranges\":0,\"agentfs_batcher_commit_latency_ns_total\":0,\"agentfs_batcher_commit_txns\":0,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":0,\"agentfs_batcher_drains_timer\":0,\"agentfs_batcher_enqueues\":0,\"agentfs_batcher_pending_max_bytes\":0,\"agentfs_batcher_txn_inodes_max\":0,\"agentfs_batcher_txn_inodes_total\":0,\"attr_cache_hits\":0,\"attr_cache_misses\":0,\"base_fast_inode_invalidations\":0,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":0,\"chunk_read_queries\":0,\"chunk_write_chunks\":0,\"connection_create\":0,\"connection_reuse\":0,\"connection_wait_count\":0,\"connection_wait_nanos\":0,\"dentry_cache_hits\":0,\"dentry_cache_misses\":0,\"fuse_adapter_attr_hits\":0,\"fuse_adapter_attr_misses\":0,\"fuse_adapter_entry_hits\":0,\"fuse_adapter_entry_misses\":0,\"fuse_adapter_inval_entry_notifications\":0,\"fuse_adapter_inval_inode_notifications\":0,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":0,\"fuse_adapter_negative_misses\":0,\"fuse_callback_count\":0,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":0,\"fuse_dispatch_parallel_tasks\":0,\"fuse_dispatch_wait_count\":0,\"fuse_dispatch_wait_nanos\":0,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":0,\"fuse_flush_count\":0,\"fuse_flush_ranges\":0,\"fuse_getattr_count\":0,\"fuse_ino_file_resolutions\":0,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":0,\"fuse_lookup_count\":0,\"fuse_noflush_enosys_replies\":0,\"fuse_noopen_enosys_replies\":0,\"fuse_op_create_count\":0,\"fuse_op_create_nanos\":0,\"fuse_op_flush_count\":0,\"fuse_op_flush_nanos\":0,\"fuse_op_forget_count\":0,\"fuse_op_forget_nanos\":0,\"fuse_op_getattr_count\":0,\"fuse_op_getattr_nanos\":0,\"fuse_op_lookup_count\":0,\"fuse_op_lookup_nanos\":0,\"fuse_op_open_count\":0,\"fuse_op_open_nanos\":0,\"fuse_op_other_count\":0,\"fuse_op_other_nanos\":0,\"fuse_op_read_count\":0,\"fuse_op_read_nanos\":0,\"fuse_op_readdirplus_count\":0,\"fuse_op_readdirplus_nanos\":0,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":0,\"fuse_op_setattr_nanos\":0,\"fuse_op_write_count\":0,\"fuse_op_write_nanos\":0,\"fuse_open_count\":0,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":0,\"fuse_read_lane_max_concurrent\":0,\"fuse_read_lane_wait_count\":0,\"fuse_read_lane_wait_nanos\":0,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":0,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":0,\"fuse_readdirplus_do_requested\":0,\"fuse_readdirplus_mode\":0,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":0,\"fuse_ttl_entry_ms\":0,\"fuse_ttl_neg_ms\":0,\"fuse_uring_requests\":0,\"fuse_worker_queue_depth_peak\":0,\"fuse_workers_configured\":0,\"fuse_write_bytes\":0,\"fuse_write_count\":0,\"fuse_write_lane_wait_count\":0,\"fuse_write_lane_wait_nanos\":0,\"fuse_writeback_cache_enabled\":0,\"getattr_count\":0,\"lookup_base_count\":0,\"lookup_count\":0,\"lookup_delta_count\":0,\"lookup_whiteout_count\":0,\"negative_cache_hits\":0,\"negative_cache_invalidations\":0,\"negative_cache_misses\":0,\"negative_lookup_count\":0,\"path_cache_hits\":0,\"path_cache_misses\":0,\"path_component_count\":0,\"path_resolution_count\":0,\"readdir_count\":0,\"readdir_plus_count\":0,\"wal_checkpoint_count\":0,\"wal_checkpoint_nanos\":0},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"sections\":{\"base\":{\"base_fast_inode_invalidations\":0,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":0,\"fuse_readdirplus_mode\":0,\"fuse_ttl_attr_ms\":0,\"fuse_ttl_entry_ms\":0,\"fuse_ttl_neg_ms\":0,\"fuse_workers_configured\":0,\"fuse_writeback_cache_enabled\":0},\"core\":{\"agentfs_batcher_coalesced_ranges\":0,\"agentfs_batcher_commit_latency_ns_total\":0,\"agentfs_batcher_commit_txns\":0,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":0,\"agentfs_batcher_drains_timer\":0,\"agentfs_batcher_enqueues\":0,\"agentfs_batcher_pending_max_bytes\":0,\"agentfs_batcher_txn_inodes_max\":0,\"agentfs_batcher_txn_inodes_total\":0,\"attr_cache_hits\":0,\"attr_cache_misses\":0,\"chunk_read_chunks\":0,\"chunk_read_queries\":0,\"chunk_write_chunks\":0,\"connection_create\":0,\"connection_reuse\":0,\"connection_wait_count\":0,\"connection_wait_nanos\":0,\"dentry_cache_hits\":0,\"dentry_cache_misses\":0,\"getattr_count\":0,\"lookup_base_count\":0,\"lookup_count\":0,\"lookup_delta_count\":0,\"lookup_whiteout_count\":0,\"negative_cache_hits\":0,\"negative_cache_invalidations\":0,\"negative_cache_misses\":0,\"negative_lookup_count\":0,\"path_cache_hits\":0,\"path_cache_misses\":0,\"path_component_count\":0,\"path_resolution_count\":0,\"readdir_count\":0,\"readdir_plus_count\":0,\"wal_checkpoint_count\":0,\"wal_checkpoint_nanos\":0},\"fuse\":{\"fuse_adapter_attr_hits\":0,\"fuse_adapter_attr_misses\":0,\"fuse_adapter_entry_hits\":0,\"fuse_adapter_entry_misses\":0,\"fuse_adapter_inval_entry_notifications\":0,\"fuse_adapter_inval_inode_notifications\":0,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":0,\"fuse_adapter_negative_misses\":0,\"fuse_callback_count\":0,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":0,\"fuse_dispatch_parallel_tasks\":0,\"fuse_dispatch_wait_count\":0,\"fuse_dispatch_wait_nanos\":0,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":0,\"fuse_flush_count\":0,\"fuse_flush_ranges\":0,\"fuse_getattr_count\":0,\"fuse_ino_file_resolutions\":0,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":0,\"fuse_noflush_enosys_replies\":0,\"fuse_noopen_enosys_replies\":0,\"fuse_op_create_count\":0,\"fuse_op_create_nanos\":0,\"fuse_op_flush_count\":0,\"fuse_op_flush_nanos\":0,\"fuse_op_forget_count\":0,\"fuse_op_forget_nanos\":0,\"fuse_op_getattr_count\":0,\"fuse_op_getattr_nanos\":0,\"fuse_op_lookup_count\":0,\"fuse_op_lookup_nanos\":0,\"fuse_op_open_count\":0,\"fuse_op_open_nanos\":0,\"fuse_op_other_count\":0,\"fuse_op_other_nanos\":0,\"fuse_op_read_count\":0,\"fuse_op_read_nanos\":0,\"fuse_op_readdirplus_count\":0,\"fuse_op_readdirplus_nanos\":0,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":0,\"fuse_op_setattr_nanos\":0,\"fuse_op_write_count\":0,\"fuse_op_write_nanos\":0,\"fuse_open_count\":0,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":0,\"fuse_read_lane_max_concurrent\":0,\"fuse_read_lane_wait_count\":0,\"fuse_read_lane_wait_nanos\":0,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":0,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":0,\"fuse_readdirplus_do_requested\":0,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":0,\"fuse_worker_queue_depth_peak\":0,\"fuse_write_bytes\":0,\"fuse_write_count\":0,\"fuse_write_lane_wait_count\":0,\"fuse_write_lane_wait_nanos\":0}},\"source\":\"cli\"}\n",
+ "stdout_bytes": 6395,
+ "stdout_tail": "{\n \"database\": \"/tmp/agentfs-git-workload-hulvm8vq/home/.agentfs/run/git-workload-5199c09fd6244c128bcf18f1942ccf0b/delta.db\",\n \"ok\": true,\n \"portable\": true,\n \"origin_backed\": false,\n \"partial_origin_rows\": 0,\n \"checks\": [\n {\n \"name\": \"pragma.integrity_check\",\n \"ok\": true,\n \"detail\": \"ok\",\n \"violating_rows\": null\n },\n {\n \"name\": \"schema.table.fs_config\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_inode\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_dentry\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_data\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_symlink\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.kv_store\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.tool_calls\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.schema_version\",\n \"ok\": true,\n \"detail\": \"found 0.5\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.chunk_size\",\n \"ok\": true,\n \"detail\": \"found 65536\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.inline_threshold\",\n \"ok\": true,\n \"detail\": \"found 16384\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.kind_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_has_no_chunks\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunked_has_no_inline_data\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_size_matches_blob\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_only_regular_files\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.non_regular_has_no_inline_data\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_reference_inodes\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_nonnegative_index\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunk_length_within_chunk_size\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_only_regular_files\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.root_inode\",\n \"ok\": true,\n \"detail\": \"found 1, expected 1\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_parent_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_parent_is_directory\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_target_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.non_root_inode_has_dentry\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_names_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.non_directory_nlink_matches_dentries\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.directory_nlink_positive\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"symlink.rows_reference_symlink_inodes\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"symlink.inodes_have_rows\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.portability_status\",\n \"ok\": true,\n \"detail\": \"portable: no partial-origin rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.require_portable\",\n \"ok\": true,\n \"detail\": \"portable requirement satisfied\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.origin_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_delta_inode_regular\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_sizes_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_paths_absolute\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_nonnegative_index\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_references_partial_origin\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_unique\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_index_in_range\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.whiteout_paths_absolute\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n }\n ]\n}\n",
+ "timed_out": false
+ }
+ },
+ "nonempty_sidecars": false
+ },
+ "environment": {
+ "AGENTFS_BIN": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "AGENTFS_PROFILE": "1"
+ },
+ "git_commit": "2b811f03493e861e5a7786592d25ac73b39e1aba",
+ "kept_temp": false,
+ "native": {
+ "run": {
+ "argv": [
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-hulvm8vq/native",
+ "duration_seconds": 1.462491037993459,
+ "profile_summaries": [],
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 15984,
+ "stdout_tail": "{\"branch_status\": \"## agentfs-benchmark\\n\", \"diff\": {\"changed_file_count\": 8, \"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.39594387999386527, \"patch_bytes\": 3282, \"patch_sha256\": \"51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc\", \"runs\": {\"name_only\": {\"argv\": [\"git\", \"diff\", \"--name-only\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-hulvm8vq/native/work\", \"duration_seconds\": 0.11724154200055636, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 144, \"stdout_tail\": \"docs/CLA.md\\ndocs/agents_md.md\\ndocs/authentication.md\\ndocs/config.md\\ndocs/contributing.md\\ndocs/example-config.md\\ndocs/exec.md\\ndocs/execpolicy.md\\n\"}, \"patch\": {\"argv\": [\"git\", \"diff\", \"--\", \".\"], \"cwd\": \"/tmp/agentfs-git-workload-hulvm8vq/native/work\", \"duration_seconds\": 0.1309305199974915, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 3282, \"stdout_tail\": \"diff --git a/docs/CLA.md b/docs/CLA.md\\nindex 804f202..3495ac9 100644\\n--- a/docs/CLA.md\\n+++ b/docs/CLA.md\\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\\n This Agreement is governed by the laws of the **State of California**, USA,\\n excluding its conflict\\u2011of\\u2011laws rules. If any provision is held unenforceable,\\n the remaining provisions remain in force.\\n+\\n+AgentFS Git benchmark edit 00 for docs/CLA.md\\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\\nindex 3df0fac..b8b063d 100644\\n--- a/docs/agents_md.md\\n+++ b/docs/agents_md.md\\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\\n ## Hierarchical agents message\\n \\n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\\n+\\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\\ndiff --git a/docs/authentication.md b/docs/authentication.md\\nindex c307349..b3bc9dc 100644\\n--- a/docs/authentication.md\\n+++ b/docs/authentication.md\\n@@ -1,3 +1,5 @@\\n # Authentication\\n \\n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\\n+\\n+AgentFS Git benchmark edit 02 for docs/authentication.md\\ndiff --git a/docs/config.md b/docs/config.md\\nindex d35b0a8..030e278 100644\\n--- a/docs/config.md\\n+++ b/docs/config.md\\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\\n still allowing managed hooks from requirements and managed config layers. This\\n setting is only supported in `requirements.toml`; putting it in `config.toml`\\n does not enable managed-hooks-only mode.\\n+\\n+AgentFS Git benchmark edit 03 for docs/config.md\\ndiff --git a/docs/contributing.md b/docs/contributing.md\\nindex aeae1f1..b5a22ac 100644\\n--- a/docs/contributing.md\\n+++ b/docs/contributing.md\\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\\n ### Security & responsible AI\\n \\n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\\n+\\n+AgentFS Git benchmark edit 04 for docs/contributing.md\\ndiff --git a/docs/example-config.md b/docs/example-config.md\\nindex 84b1143..b09f835 100644\\n--- a/docs/example-config.md\\n+++ b/docs/example-config.md\\n@@ -1,3 +1,5 @@\\n # Sample configuration\\n \\n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\\n+\\n+AgentFS Git benchmark edit 05 for docs/example-config.md\\ndiff --git a/docs/exec.md b/docs/exec.md\\nindex 57e4323..a81da98 100644\\n--- a/docs/exec.md\\n+++ b/docs/exec.md\\n@@ -1,3 +1,5 @@\\n # Non-interactive mode\\n \\n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\\n+\\n+AgentFS Git benchmark edit 06 for docs/exec.md\\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\\nindex cafebb3..3b48afe 100644\\n--- a/docs/execpolicy.md\\n+++ b/docs/execpolicy.md\\n@@ -1,3 +1,5 @@\\n # Execution policy\\n \\n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\\n+\\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\\n\"}, \"stat\": {\"argv\": [\"git\", \"diff\", \"--stat\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-hulvm8vq/native/work\", \"duration_seconds\": 0.1476996660057921, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 283, \"stdout_tail\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}}, \"stat_stdout\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}, \"edits\": {\"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.0009980429895222187, \"edits\": [{\"appended_bytes\": 47, \"path\": \"docs/CLA.md\", \"size_after\": 2106, \"size_before\": 2059}, {\"appended_bytes\": 53, \"path\": \"docs/agents_md.md\", \"size_after\": 462, \"size_before\": 409}, {\"appended_bytes\": 58, \"path\": \"docs/authentication.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 50, \"path\": \"docs/config.md\", \"size_after\": 776, \"size_before\": 726}, {\"appended_bytes\": 56, \"path\": \"docs/contributing.md\", \"size_after\": 6380, \"size_before\": 6324}, {\"appended_bytes\": 58, \"path\": \"docs/example-config.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 48, \"path\": \"docs/exec.md\", \"size_after\": 194, \"size_before\": 146}, {\"appended_bytes\": 54, \"path\": \"docs/execpolicy.md\", \"size_after\": 192, \"size_before\": 138}]}, \"fsck\": {\"ok\": true, \"ran\": true, \"run\": {\"argv\": [\"git\", \"fsck\", \"--strict\"], \"cwd\": \"/tmp/agentfs-git-workload-hulvm8vq/native/work\", \"duration_seconds\": 0.19250968800042756, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}, \"head_commit\": \"7d47056ea42636271ac020b86347fbbef49490aa\", \"initial_status\": \"\", \"phase_runs\": {\"checkout\": {\"argv\": [\"git\", \"checkout\", \"-B\", \"agentfs-benchmark\"], \"cwd\": \"/tmp/agentfs-git-workload-hulvm8vq/native/work\", \"duration_seconds\": 0.20070338300138246, \"returncode\": 0, \"stderr_bytes\": 45, \"stderr_tail\": \"Switched to a new branch 'agentfs-benchmark'\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"clone\": {\"argv\": [\"git\", \"clone\", \"--local\", \"--no-hardlinks\", \"/tmp/agentfs-git-workload-hulvm8vq/native/mirror.git\", \"/tmp/agentfs-git-workload-hulvm8vq/native/work\"], \"cwd\": \"/tmp/agentfs-git-workload-hulvm8vq/native\", \"duration_seconds\": 0.33443757600616664, \"returncode\": 0, \"stderr_bytes\": 149, \"stderr_tail\": \"Cloning into '/tmp/agentfs-git-workload-hulvm8vq/native/work'...\\nwarning: source repository is shallow, ignoring --local\\nwarning: --local is ignored\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"status\": {\"branch\": {\"argv\": [\"git\", \"status\", \"--short\", \"--branch\"], \"cwd\": \"/tmp/agentfs-git-workload-hulvm8vq/native/work\", \"duration_seconds\": 0.15876751000178047, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 21, \"stdout_tail\": \"## agentfs-benchmark\\n\"}, \"short\": {\"argv\": [\"git\", \"status\", \"--short\"], \"cwd\": \"/tmp/agentfs-git-workload-hulvm8vq/native/work\", \"duration_seconds\": 0.10637031801161356, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}}, \"phase_seconds\": {\"checkout\": 0.20305690400709864, \"clone\": 0.3344773830031045, \"diff\": 0.39594387999386527, \"edit\": 0.0009980429895222187, \"fsck\": 0.19252638499892782, \"read_search\": 0.010034471997641958, \"status\": 0.26516752400493715}, \"profile_checkpoints\": [\"clone\", \"checkout\", \"status\", \"read_search\", \"edit\", \"diff\", \"fsck\"], \"read_search\": {\"bytes_read\": 117190, \"digest\": \"6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53\", \"files_scanned\": 64, \"files_total\": 4644, \"ls_files_run\": {\"argv\": [\"git\", \"ls-files\", \"-z\"], \"cwd\": \"/tmp/agentfs-git-workload-hulvm8vq/native/work\", \"duration_seconds\": 0.005001552010071464, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 263077, \"stdout_tail\": \"i_codex/api.py\\u0000sdk/python/src/openai_codex/async_client.py\\u0000sdk/python/src/openai_codex/client.py\\u0000sdk/python/src/openai_codex/errors.py\\u0000sdk/python/src/openai_codex/generated/__init__.py\\u0000sdk/python/src/openai_codex/generated/notification_registry.py\\u0000sdk/python/src/openai_codex/generated/v2_all.py\\u0000sdk/python/src/openai_codex/models.py\\u0000sdk/python/src/openai_codex/py.typed\\u0000sdk/python/src/openai_codex/retry.py\\u0000sdk/python/src/openai_codex/types.py\\u0000sdk/python/tests/app_server_harness.py\\u0000sdk/python/tests/app_server_helpers.py\\u0000sdk/python/tests/conftest.py\\u0000sdk/python/tests/test_app_server_approvals.py\\u0000sdk/python/tests/test_app_server_inputs.py\\u0000sdk/python/tests/test_app_server_lifecycle.py\\u0000sdk/python/tests/test_app_server_login.py\\u0000sdk/python/tests/test_app_server_run.py\\u0000sdk/python/tests/test_app_server_streaming.py\\u0000sdk/python/tests/test_app_server_turn_controls.py\\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\\u0000sdk/python/tests/test_async_client_behavior.py\\u0000sdk/python/tests/test_client_rpc_methods.py\\u0000sdk/python/tests/test_contract_generation.py\\u0000sdk/python/tests/test_public_api_runtime_behavior.py\\u0000sdk/python/tests/test_public_api_signatures.py\\u0000sdk/python/tests/test_real_app_server_integration.py\\u0000sdk/python/uv.lock\\u0000sdk/typescript/.prettierignore\\u0000sdk/typescript/.prettierrc\\u0000sdk/typescript/README.md\\u0000sdk/typescript/eslint.config.js\\u0000sdk/typescript/jest.config.cjs\\u0000sdk/typescript/package.json\\u0000sdk/typescript/samples/basic_streaming.ts\\u0000sdk/typescript/samples/helpers.ts\\u0000sdk/typescript/samples/structured_output.ts\\u0000sdk/typescript/samples/structured_output_zod.ts\\u0000sdk/typescript/src/codex.ts\\u0000sdk/typescript/src/codexOptions.ts\\u0000sdk/typescript/src/events.ts\\u0000sdk/typescript/src/exec.ts\\u0000sdk/typescript/src/index.ts\\u0000sdk/typescript/src/items.ts\\u0000sdk/typescript/src/outputSchemaFile.ts\\u0000sdk/typescript/src/thread.ts\\u0000sdk/typescript/src/threadOptions.ts\\u0000sdk/typescript/src/turnOptions.ts\\u0000sdk/typescript/tests/abort.test.ts\\u0000sdk/typescript/tests/codexExecSpy.ts\\u0000sdk/typescript/tests/exec.test.ts\\u0000sdk/typescript/tests/responsesProxy.ts\\u0000sdk/typescript/tests/run.test.ts\\u0000sdk/typescript/tests/runStreamed.test.ts\\u0000sdk/typescript/tests/setupCodexHome.ts\\u0000sdk/typescript/tests/testCodex.ts\\u0000sdk/typescript/tsconfig.json\\u0000sdk/typescript/tsup.config.ts\\u0000third_party/v8/BUILD.bazel\\u0000third_party/v8/README.md\\u0000third_party/v8/libcxx.BUILD.bazel\\u0000third_party/v8/libcxx_config/BUILD.bazel\\u0000third_party/v8/libcxx_config/__assertion_handler\\u0000third_party/v8/libcxx_config/__config_site\\u0000third_party/v8/libcxxabi.BUILD.bazel\\u0000third_party/v8/llvm_libc.BUILD.bazel\\u0000third_party/v8/rusty_v8_147_4_0.sha256\\u0000third_party/v8/v8_crate.BUILD.bazel\\u0000third_party/wezterm/LICENSE\\u0000tools/argument-comment-lint/.cargo/config.toml\\u0000tools/argument-comment-lint/.gitignore\\u0000tools/argument-comment-lint/BUILD.bazel\\u0000tools/argument-comment-lint/Cargo.lock\\u0000tools/argument-comment-lint/Cargo.toml\\u0000tools/argument-comment-lint/README.md\\u0000tools/argument-comment-lint/argument-comment-lint\\u0000tools/argument-comment-lint/driver.rs\\u0000tools/argument-comment-lint/lint_aspect.bzl\\u0000tools/argument-comment-lint/list-bazel-targets.sh\\u0000tools/argument-comment-lint/run-prebuilt-linter.py\\u0000tools/argument-comment-lint/run.py\\u0000tools/argument-comment-lint/rust-toolchain\\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\\u0000tools/argument-comment-lint/src/comment_parser.rs\\u0000tools/argument-comment-lint/src/lib.rs\\u0000tools/argument-comment-lint/test_wrapper_common.py\\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\\u0000tools/argument-comment-lint/ui/comment_matches.rs\\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\\u0000tools/argument-comment-lint/wrapper_common.py\\u0000workspace_root_test_launcher.bat.tpl\\u0000workspace_root_test_launcher.sh.tpl\\u0000\"}, \"matches\": 0, \"selected_files\": [\".bazelignore\", \".bazelrc\", \".bazelversion\", \".codespellignore\", \".codespellrc\", \".codex/environments/environment.toml\", \".codex/skills/babysit-pr/SKILL.md\", \".codex/skills/babysit-pr/agents/openai.yaml\", \".codex/skills/babysit-pr/references/github-api-notes.md\", \".codex/skills/babysit-pr/references/heuristics.md\", \".codex/skills/babysit-pr/scripts/gh_pr_watch.py\", \".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py\", \".codex/skills/code-review-breaking-changes/SKILL.md\", \".codex/skills/code-review-change-size/SKILL.md\", \".codex/skills/code-review-context/SKILL.md\", \".codex/skills/code-review-testing/SKILL.md\", \".codex/skills/code-review/SKILL.md\", \".codex/skills/codex-bug/SKILL.md\", \".codex/skills/codex-issue-digest/SKILL.md\", \".codex/skills/codex-issue-digest/agents/openai.yaml\", \".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py\", \".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py\", \".codex/skills/codex-pr-body/SKILL.md\", \".codex/skills/remote-tests/SKILL.md\", \".codex/skills/test-tui/SKILL.md\", \".codex/skills/update-v8-version/SKILL.md\", \".codex/skills/update-v8-version/agents/openai.yaml\", \".devcontainer/Dockerfile\", \".devcontainer/Dockerfile.secure\", \".devcontainer/README.md\", \".devcontainer/codex-install/package.json\", \".devcontainer/codex-install/pnpm-lock.yaml\", \".devcontainer/codex-install/pnpm-workspace.yaml\", \".devcontainer/devcontainer.json\", \".devcontainer/devcontainer.secure.json\", \".devcontainer/init-firewall.sh\", \".devcontainer/post-start.sh\", \".devcontainer/post_install.py\", \".gitattributes\", \".github/CODEOWNERS\", \".github/ISSUE_TEMPLATE/1-codex-app.yml\", \".github/ISSUE_TEMPLATE/2-extension.yml\", \".github/ISSUE_TEMPLATE/3-cli.yml\", \".github/ISSUE_TEMPLATE/4-bug-report.yml\", \".github/ISSUE_TEMPLATE/5-feature-request.yml\", \".github/ISSUE_TEMPLATE/6-docs-issue.yml\", \".github/actions/linux-code-sign/action.yml\", \".github/actions/macos-code-sign/action.yml\", \".github/actions/macos-code-sign/codex.entitlements.plist\", \".github/actions/macos-code-sign/notary_helpers.sh\", \".github/actions/prepare-bazel-ci/action.yml\", \".github/actions/run-argument-comment-lint/action.yml\", \".github/actions/setup-bazel-ci/action.yml\", \".github/actions/setup-msvc-env/action.yml\", \".github/actions/setup-msvc-env/setup-msvc-env.ps1\", \".github/actions/setup-rusty-v8/action.yml\", \".github/actions/windows-code-sign/action.yml\", \".github/blob-size-allowlist.txt\", \".github/codex-cli-splash.png\", \".github/codex/home/config.toml\", \".github/codex/labels/codex-attempt.md\", \".github/codex/labels/codex-review.md\", \".github/codex/labels/codex-rust-review.md\", \".github/codex/labels/codex-triage.md\"], \"token\": \"AGENTFS_TOKEN\"}, \"total_seconds\": 1.4025006750016473}\n",
+ "timed_out": false
+ },
+ "workload": {
+ "branch_status": "## agentfs-benchmark\n",
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.39594387999386527,
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc",
+ "runs": {
+ "name_only": {
+ "argv": [
+ "git",
+ "diff",
+ "--name-only",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-hulvm8vq/native/work",
+ "duration_seconds": 0.11724154200055636,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 144,
+ "stdout_tail": "docs/CLA.md\ndocs/agents_md.md\ndocs/authentication.md\ndocs/config.md\ndocs/contributing.md\ndocs/example-config.md\ndocs/exec.md\ndocs/execpolicy.md\n"
+ },
+ "patch": {
+ "argv": [
+ "git",
+ "diff",
+ "--",
+ "."
+ ],
+ "cwd": "/tmp/agentfs-git-workload-hulvm8vq/native/work",
+ "duration_seconds": 0.1309305199974915,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 3282,
+ "stdout_tail": "diff --git a/docs/CLA.md b/docs/CLA.md\nindex 804f202..3495ac9 100644\n--- a/docs/CLA.md\n+++ b/docs/CLA.md\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\n This Agreement is governed by the laws of the **State of California**, USA,\n excluding its conflict\u2011of\u2011laws rules. If any provision is held unenforceable,\n the remaining provisions remain in force.\n+\n+AgentFS Git benchmark edit 00 for docs/CLA.md\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\nindex 3df0fac..b8b063d 100644\n--- a/docs/agents_md.md\n+++ b/docs/agents_md.md\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\n ## Hierarchical agents message\n \n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\n+\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\ndiff --git a/docs/authentication.md b/docs/authentication.md\nindex c307349..b3bc9dc 100644\n--- a/docs/authentication.md\n+++ b/docs/authentication.md\n@@ -1,3 +1,5 @@\n # Authentication\n \n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\n+\n+AgentFS Git benchmark edit 02 for docs/authentication.md\ndiff --git a/docs/config.md b/docs/config.md\nindex d35b0a8..030e278 100644\n--- a/docs/config.md\n+++ b/docs/config.md\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\n still allowing managed hooks from requirements and managed config layers. This\n setting is only supported in `requirements.toml`; putting it in `config.toml`\n does not enable managed-hooks-only mode.\n+\n+AgentFS Git benchmark edit 03 for docs/config.md\ndiff --git a/docs/contributing.md b/docs/contributing.md\nindex aeae1f1..b5a22ac 100644\n--- a/docs/contributing.md\n+++ b/docs/contributing.md\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\n ### Security & responsible AI\n \n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\n+\n+AgentFS Git benchmark edit 04 for docs/contributing.md\ndiff --git a/docs/example-config.md b/docs/example-config.md\nindex 84b1143..b09f835 100644\n--- a/docs/example-config.md\n+++ b/docs/example-config.md\n@@ -1,3 +1,5 @@\n # Sample configuration\n \n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\n+\n+AgentFS Git benchmark edit 05 for docs/example-config.md\ndiff --git a/docs/exec.md b/docs/exec.md\nindex 57e4323..a81da98 100644\n--- a/docs/exec.md\n+++ b/docs/exec.md\n@@ -1,3 +1,5 @@\n # Non-interactive mode\n \n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\n+\n+AgentFS Git benchmark edit 06 for docs/exec.md\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\nindex cafebb3..3b48afe 100644\n--- a/docs/execpolicy.md\n+++ b/docs/execpolicy.md\n@@ -1,3 +1,5 @@\n # Execution policy\n \n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\n+\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\n"
+ },
+ "stat": {
+ "argv": [
+ "git",
+ "diff",
+ "--stat",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-hulvm8vq/native/work",
+ "duration_seconds": 0.1476996660057921,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 283,
+ "stdout_tail": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ }
+ },
+ "stat_stdout": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.0009980429895222187,
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true,
+ "run": {
+ "argv": [
+ "git",
+ "fsck",
+ "--strict"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-hulvm8vq/native/work",
+ "duration_seconds": 0.19250968800042756,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "phase_runs": {
+ "checkout": {
+ "argv": [
+ "git",
+ "checkout",
+ "-B",
+ "agentfs-benchmark"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-hulvm8vq/native/work",
+ "duration_seconds": 0.20070338300138246,
+ "returncode": 0,
+ "stderr_bytes": 45,
+ "stderr_tail": "Switched to a new branch 'agentfs-benchmark'\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "clone": {
+ "argv": [
+ "git",
+ "clone",
+ "--local",
+ "--no-hardlinks",
+ "/tmp/agentfs-git-workload-hulvm8vq/native/mirror.git",
+ "/tmp/agentfs-git-workload-hulvm8vq/native/work"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-hulvm8vq/native",
+ "duration_seconds": 0.33443757600616664,
+ "returncode": 0,
+ "stderr_bytes": 149,
+ "stderr_tail": "Cloning into '/tmp/agentfs-git-workload-hulvm8vq/native/work'...\nwarning: source repository is shallow, ignoring --local\nwarning: --local is ignored\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "status": {
+ "branch": {
+ "argv": [
+ "git",
+ "status",
+ "--short",
+ "--branch"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-hulvm8vq/native/work",
+ "duration_seconds": 0.15876751000178047,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 21,
+ "stdout_tail": "## agentfs-benchmark\n"
+ },
+ "short": {
+ "argv": [
+ "git",
+ "status",
+ "--short"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-hulvm8vq/native/work",
+ "duration_seconds": 0.10637031801161356,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ }
+ },
+ "phase_seconds": {
+ "checkout": 0.20305690400709864,
+ "clone": 0.3344773830031045,
+ "diff": 0.39594387999386527,
+ "edit": 0.0009980429895222187,
+ "fsck": 0.19252638499892782,
+ "read_search": 0.010034471997641958,
+ "status": 0.26516752400493715
+ },
+ "profile_checkpoints": [
+ "clone",
+ "checkout",
+ "status",
+ "read_search",
+ "edit",
+ "diff",
+ "fsck"
+ ],
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "ls_files_run": {
+ "argv": [
+ "git",
+ "ls-files",
+ "-z"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-hulvm8vq/native/work",
+ "duration_seconds": 0.005001552010071464,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 263077,
+ "stdout_tail": "i_codex/api.py\u0000sdk/python/src/openai_codex/async_client.py\u0000sdk/python/src/openai_codex/client.py\u0000sdk/python/src/openai_codex/errors.py\u0000sdk/python/src/openai_codex/generated/__init__.py\u0000sdk/python/src/openai_codex/generated/notification_registry.py\u0000sdk/python/src/openai_codex/generated/v2_all.py\u0000sdk/python/src/openai_codex/models.py\u0000sdk/python/src/openai_codex/py.typed\u0000sdk/python/src/openai_codex/retry.py\u0000sdk/python/src/openai_codex/types.py\u0000sdk/python/tests/app_server_harness.py\u0000sdk/python/tests/app_server_helpers.py\u0000sdk/python/tests/conftest.py\u0000sdk/python/tests/test_app_server_approvals.py\u0000sdk/python/tests/test_app_server_inputs.py\u0000sdk/python/tests/test_app_server_lifecycle.py\u0000sdk/python/tests/test_app_server_login.py\u0000sdk/python/tests/test_app_server_run.py\u0000sdk/python/tests/test_app_server_streaming.py\u0000sdk/python/tests/test_app_server_turn_controls.py\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\u0000sdk/python/tests/test_async_client_behavior.py\u0000sdk/python/tests/test_client_rpc_methods.py\u0000sdk/python/tests/test_contract_generation.py\u0000sdk/python/tests/test_public_api_runtime_behavior.py\u0000sdk/python/tests/test_public_api_signatures.py\u0000sdk/python/tests/test_real_app_server_integration.py\u0000sdk/python/uv.lock\u0000sdk/typescript/.prettierignore\u0000sdk/typescript/.prettierrc\u0000sdk/typescript/README.md\u0000sdk/typescript/eslint.config.js\u0000sdk/typescript/jest.config.cjs\u0000sdk/typescript/package.json\u0000sdk/typescript/samples/basic_streaming.ts\u0000sdk/typescript/samples/helpers.ts\u0000sdk/typescript/samples/structured_output.ts\u0000sdk/typescript/samples/structured_output_zod.ts\u0000sdk/typescript/src/codex.ts\u0000sdk/typescript/src/codexOptions.ts\u0000sdk/typescript/src/events.ts\u0000sdk/typescript/src/exec.ts\u0000sdk/typescript/src/index.ts\u0000sdk/typescript/src/items.ts\u0000sdk/typescript/src/outputSchemaFile.ts\u0000sdk/typescript/src/thread.ts\u0000sdk/typescript/src/threadOptions.ts\u0000sdk/typescript/src/turnOptions.ts\u0000sdk/typescript/tests/abort.test.ts\u0000sdk/typescript/tests/codexExecSpy.ts\u0000sdk/typescript/tests/exec.test.ts\u0000sdk/typescript/tests/responsesProxy.ts\u0000sdk/typescript/tests/run.test.ts\u0000sdk/typescript/tests/runStreamed.test.ts\u0000sdk/typescript/tests/setupCodexHome.ts\u0000sdk/typescript/tests/testCodex.ts\u0000sdk/typescript/tsconfig.json\u0000sdk/typescript/tsup.config.ts\u0000third_party/v8/BUILD.bazel\u0000third_party/v8/README.md\u0000third_party/v8/libcxx.BUILD.bazel\u0000third_party/v8/libcxx_config/BUILD.bazel\u0000third_party/v8/libcxx_config/__assertion_handler\u0000third_party/v8/libcxx_config/__config_site\u0000third_party/v8/libcxxabi.BUILD.bazel\u0000third_party/v8/llvm_libc.BUILD.bazel\u0000third_party/v8/rusty_v8_147_4_0.sha256\u0000third_party/v8/v8_crate.BUILD.bazel\u0000third_party/wezterm/LICENSE\u0000tools/argument-comment-lint/.cargo/config.toml\u0000tools/argument-comment-lint/.gitignore\u0000tools/argument-comment-lint/BUILD.bazel\u0000tools/argument-comment-lint/Cargo.lock\u0000tools/argument-comment-lint/Cargo.toml\u0000tools/argument-comment-lint/README.md\u0000tools/argument-comment-lint/argument-comment-lint\u0000tools/argument-comment-lint/driver.rs\u0000tools/argument-comment-lint/lint_aspect.bzl\u0000tools/argument-comment-lint/list-bazel-targets.sh\u0000tools/argument-comment-lint/run-prebuilt-linter.py\u0000tools/argument-comment-lint/run.py\u0000tools/argument-comment-lint/rust-toolchain\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\u0000tools/argument-comment-lint/src/comment_parser.rs\u0000tools/argument-comment-lint/src/lib.rs\u0000tools/argument-comment-lint/test_wrapper_common.py\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\u0000tools/argument-comment-lint/ui/comment_matches.rs\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\u0000tools/argument-comment-lint/wrapper_common.py\u0000workspace_root_test_launcher.bat.tpl\u0000workspace_root_test_launcher.sh.tpl\u0000"
+ },
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ],
+ "token": "AGENTFS_TOKEN"
+ },
+ "total_seconds": 1.4025006750016473
+ }
+ },
+ "parameters": {
+ "edit_files": 8,
+ "fixture_dirs": 8,
+ "fixture_file_size_bytes": 1024,
+ "fixture_files": 96,
+ "read_bytes": 4096,
+ "read_files": 64,
+ "search_token": "AGENTFS_TOKEN",
+ "skip_fsck": false,
+ "timeout_seconds": 180.0
+ },
+ "schema_version": 1,
+ "source": {
+ "kind": "source",
+ "mirror_head": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "path": "/home/ain3sh/factory/vfs/.agents/benchmarks/fixtures/codex"
+ },
+ "summary": {
+ "agentfs_base_unchanged": true,
+ "agentfs_seconds": 4.001881017000414,
+ "all_equivalent": true,
+ "correctness_passed": true,
+ "native_seconds": 1.4025006750016473,
+ "passed": true,
+ "performance_passed": false,
+ "phase_ratios": {
+ "checkout": {
+ "agentfs_seconds": 0.056683568996959366,
+ "native_seconds": 0.20305690400709864,
+ "ratio": 0.27915115358489745
+ },
+ "clone": {
+ "agentfs_seconds": 2.769973303991719,
+ "native_seconds": 0.3344773830031045,
+ "ratio": 8.281496581686689
+ },
+ "diff": {
+ "agentfs_seconds": 0.06820097500167321,
+ "native_seconds": 0.39594387999386527,
+ "ratio": 0.172249095004903
+ },
+ "edit": {
+ "agentfs_seconds": 0.004993759008357301,
+ "native_seconds": 0.0009980429895222187,
+ "ratio": 5.0035510101102005
+ },
+ "fsck": {
+ "agentfs_seconds": 0.21477365799364634,
+ "native_seconds": 0.19252638499892782,
+ "ratio": 1.115554410866035
+ },
+ "read_search": {
+ "agentfs_seconds": 0.0078469020081684,
+ "native_seconds": 0.010034471997641958,
+ "ratio": 0.7819945095279927
+ },
+ "status": {
+ "agentfs_seconds": 0.17865806899499148,
+ "native_seconds": 0.26516752400493715,
+ "ratio": 0.6737554670973398
+ }
+ },
+ "ratio": 2.8533897261730115,
+ "threshold_failures": [
+ {
+ "agentfs_seconds": 2.769973303991719,
+ "native_seconds": 0.3344773830031045,
+ "phase": "clone",
+ "ratio": 8.281496581686689
+ },
+ {
+ "agentfs_seconds": 0.004993759008357301,
+ "native_seconds": 0.0009980429895222187,
+ "phase": "edit",
+ "ratio": 5.0035510101102005
+ }
+ ]
+ },
+ "temp_dir": "/tmp/agentfs-git-workload-hulvm8vq"
+}
diff --git a/.agents/benchmarks/restructure-baseline/medians-post-m3.json.iterations/iter-04.json b/.agents/benchmarks/restructure-baseline/medians-post-m3.json.iterations/iter-04.json
new file mode 100644
index 00000000..fa24b06c
--- /dev/null
+++ b/.agents/benchmarks/restructure-baseline/medians-post-m3.json.iterations/iter-04.json
@@ -0,0 +1,8680 @@
+{
+ "agentfs": {
+ "bin": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "db_path": "/tmp/agentfs-git-workload-7wytce9p/home/.agentfs/run/git-workload-fa418f52ee1a41beabeb538335d5466e/delta.db",
+ "per_phase_counters": {
+ "checkpoint_count": 7,
+ "label_count": 7,
+ "labels_aligned": true,
+ "phases": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 33,
+ "agentfs_batcher_commit_latency_ns_total": 849429017,
+ "agentfs_batcher_commit_txns": 4784,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9387,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29051,
+ "base_fast_inode_invalidations": 15027,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 970,
+ "connection_create": 2,
+ "connection_reuse": 31210,
+ "connection_wait_count": 31212,
+ "connection_wait_nanos": 10156344,
+ "dentry_cache_hits": 26033,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 95,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 7,
+ "fuse_adapter_entry_misses": 6410,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5283,
+ "fuse_adapter_negative_misses": 6410,
+ "fuse_callback_count": 21785,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 38,
+ "fuse_dispatch_wait_count": 38,
+ "fuse_dispatch_wait_nanos": 377825,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52561419,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5029,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11700,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 493672925,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 36,
+ "fuse_op_forget_nanos": 549158,
+ "fuse_op_getattr_count": 5029,
+ "fuse_op_getattr_nanos": 53374165,
+ "fuse_op_lookup_count": 11700,
+ "fuse_op_lookup_nanos": 131275099,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 783,
+ "fuse_op_other_nanos": 98313740,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 27550934,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 1954420,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1180629003,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 27691889,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16151,
+ "fuse_read_lane_wait_nanos": 2491830,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32009,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1469827,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19334,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6776,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45064,
+ "negative_lookup_count": 14254,
+ "path_cache_hits": 26033,
+ "path_cache_misses": 13426,
+ "path_component_count": 32899,
+ "path_resolution_count": 7117,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1555852
+ },
+ "phase": "clone",
+ "seq": 1
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 2,
+ "agentfs_batcher_commit_latency_ns_total": 3491682,
+ "agentfs_batcher_commit_txns": 10,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 5,
+ "agentfs_batcher_drains_timer": 2,
+ "agentfs_batcher_enqueues": 9,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 14,
+ "attr_cache_hits": 212,
+ "attr_cache_misses": 1746,
+ "base_fast_inode_invalidations": 51,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 10,
+ "chunk_read_queries": 6,
+ "chunk_write_chunks": 13,
+ "connection_create": 6,
+ "connection_reuse": 625,
+ "connection_wait_count": 631,
+ "connection_wait_nanos": 238940,
+ "dentry_cache_hits": 73,
+ "dentry_cache_misses": 56,
+ "fuse_adapter_attr_hits": 4591,
+ "fuse_adapter_attr_misses": 666,
+ "fuse_adapter_entry_hits": 2,
+ "fuse_adapter_entry_misses": 35,
+ "fuse_adapter_inval_entry_notifications": 10,
+ "fuse_adapter_inval_inode_notifications": 28,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 13,
+ "fuse_adapter_negative_misses": 35,
+ "fuse_callback_count": 5328,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 4,
+ "fuse_dispatch_parallel_tasks": 7,
+ "fuse_dispatch_wait_count": 7,
+ "fuse_dispatch_wait_nanos": 75286,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 672857,
+ "fuse_flush_count": 9,
+ "fuse_flush_ranges": 9,
+ "fuse_getattr_count": 5257,
+ "fuse_ino_file_resolutions": 2,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 50,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 9,
+ "fuse_op_create_nanos": 1004940,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 7,
+ "fuse_op_forget_nanos": 68125,
+ "fuse_op_getattr_count": 5257,
+ "fuse_op_getattr_nanos": 17138258,
+ "fuse_op_lookup_count": 50,
+ "fuse_op_lookup_nanos": 613608,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 15,
+ "fuse_op_other_nanos": 2888818,
+ "fuse_op_read_count": 8,
+ "fuse_op_read_nanos": 2494991,
+ "fuse_op_readdirplus_count": 4,
+ "fuse_op_readdirplus_nanos": 1183023,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 14,
+ "fuse_op_setattr_nanos": 3548961,
+ "fuse_op_write_count": 9,
+ "fuse_op_write_nanos": 143300,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 8,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 730,
+ "fuse_read_lane_wait_nanos": 107580,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 4,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 5366,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 591393,
+ "fuse_write_count": 9,
+ "fuse_write_lane_wait_count": 42,
+ "fuse_write_lane_wait_nanos": 6961,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 1360,
+ "lookup_base_count": 0,
+ "lookup_count": 164,
+ "lookup_delta_count": 60,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 34,
+ "negative_cache_invalidations": 26,
+ "negative_cache_misses": 148,
+ "negative_lookup_count": 86,
+ "path_cache_hits": 73,
+ "path_cache_misses": 56,
+ "path_component_count": 124,
+ "path_resolution_count": 45,
+ "readdir_count": 0,
+ "readdir_plus_count": 4,
+ "wal_checkpoint_count": 2,
+ "wal_checkpoint_nanos": 788785
+ },
+ "phase": "checkout",
+ "seq": 2
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 4,
+ "agentfs_batcher_commit_latency_ns_total": 4021263,
+ "agentfs_batcher_commit_txns": 4,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 2,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 6,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 4,
+ "attr_cache_hits": 20,
+ "attr_cache_misses": 34,
+ "base_fast_inode_invalidations": 24,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 20,
+ "chunk_read_queries": 12,
+ "chunk_write_chunks": 20,
+ "connection_create": 0,
+ "connection_reuse": 1704,
+ "connection_wait_count": 1704,
+ "connection_wait_nanos": 427136,
+ "dentry_cache_hits": 19,
+ "dentry_cache_misses": 570,
+ "fuse_adapter_attr_hits": 1364,
+ "fuse_adapter_attr_misses": 7,
+ "fuse_adapter_entry_hits": 2,
+ "fuse_adapter_entry_misses": 289,
+ "fuse_adapter_inval_entry_notifications": 4,
+ "fuse_adapter_inval_inode_notifications": 8,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 1,
+ "fuse_adapter_negative_misses": 289,
+ "fuse_callback_count": 3066,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 4,
+ "fuse_dispatch_wait_count": 4,
+ "fuse_dispatch_wait_nanos": 132373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 1181458,
+ "fuse_flush_count": 6,
+ "fuse_flush_ranges": 6,
+ "fuse_getattr_count": 1371,
+ "fuse_ino_file_resolutions": 2,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 292,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 2,
+ "fuse_op_create_nanos": 751027,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 4,
+ "fuse_op_forget_nanos": 64218,
+ "fuse_op_getattr_count": 1371,
+ "fuse_op_getattr_nanos": 1609717,
+ "fuse_op_lookup_count": 292,
+ "fuse_op_lookup_nanos": 5070461,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 2762,
+ "fuse_op_other_nanos": 2744481,
+ "fuse_op_read_count": 12,
+ "fuse_op_read_nanos": 1872704,
+ "fuse_op_readdirplus_count": 1381,
+ "fuse_op_readdirplus_nanos": 62592380,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 6,
+ "fuse_op_setattr_nanos": 7333919,
+ "fuse_op_write_count": 10,
+ "fuse_op_write_nanos": 1461216,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 12,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 996,
+ "fuse_read_lane_wait_nanos": 115497,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1381,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 5836,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 1181458,
+ "fuse_write_count": 10,
+ "fuse_write_lane_wait_count": 14,
+ "fuse_write_lane_wait_nanos": 24748,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 26,
+ "lookup_base_count": 0,
+ "lookup_count": 598,
+ "lookup_delta_count": 295,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 5,
+ "negative_cache_invalidations": 4,
+ "negative_cache_misses": 873,
+ "negative_lookup_count": 578,
+ "path_cache_hits": 19,
+ "path_cache_misses": 570,
+ "path_component_count": 4606,
+ "path_resolution_count": 977,
+ "readdir_count": 0,
+ "readdir_plus_count": 1376,
+ "wal_checkpoint_count": 688,
+ "wal_checkpoint_nanos": 10971470
+ },
+ "phase": "status",
+ "seq": 3
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 1,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 10,
+ "chunk_read_queries": 6,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 8,
+ "connection_wait_count": 8,
+ "connection_wait_nanos": 12303,
+ "dentry_cache_hits": 1,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 69,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 1,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 1,
+ "fuse_callback_count": 76,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 69,
+ "fuse_ino_file_resolutions": 1,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 1,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 69,
+ "fuse_op_getattr_nanos": 71956,
+ "fuse_op_lookup_count": 1,
+ "fuse_op_lookup_nanos": 28778,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 6,
+ "fuse_op_read_nanos": 1961401,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 6,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 2,
+ "fuse_read_lane_wait_nanos": 917,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 76,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 2,
+ "lookup_delta_count": 1,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 2,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 1,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "read_search",
+ "seq": 4
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 1515753,
+ "agentfs_batcher_commit_txns": 8,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 8,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 8,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 8,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 24,
+ "base_fast_inode_invalidations": 16,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 32,
+ "connection_wait_count": 32,
+ "connection_wait_nanos": 17900,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 16,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 24,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 6398,
+ "fuse_flush_count": 8,
+ "fuse_flush_ranges": 8,
+ "fuse_getattr_count": 16,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 16,
+ "fuse_op_getattr_nanos": 31649,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 8,
+ "fuse_op_other_nanos": 874969,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 8,
+ "fuse_op_setattr_nanos": 2773164,
+ "fuse_op_write_count": 8,
+ "fuse_op_write_nanos": 535669,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 8,
+ "fuse_read_lane_wait_nanos": 2919,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 40,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 6398,
+ "fuse_write_count": 8,
+ "fuse_write_lane_wait_count": 8,
+ "fuse_write_lane_wait_nanos": 1590,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 16,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 8,
+ "wal_checkpoint_nanos": 720811
+ },
+ "phase": "edit",
+ "seq": 5
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 1861,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 46,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 1907,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 1861,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 46,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 1861,
+ "fuse_op_getattr_nanos": 1200215,
+ "fuse_op_lookup_count": 46,
+ "fuse_op_lookup_nanos": 66868,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 12,
+ "fuse_op_other_nanos": 14232,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 1919,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 46,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "diff",
+ "seq": 6
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 3,
+ "attr_cache_misses": 2,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 1,
+ "chunk_read_queries": 1,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 24,
+ "connection_wait_count": 24,
+ "connection_wait_nanos": 27057,
+ "dentry_cache_hits": 4,
+ "dentry_cache_misses": 2,
+ "fuse_adapter_attr_hits": 44,
+ "fuse_adapter_attr_misses": 1,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 4,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 244,
+ "fuse_adapter_negative_misses": 4,
+ "fuse_callback_count": 313,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 45,
+ "fuse_ino_file_resolutions": 1,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 248,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 45,
+ "fuse_op_getattr_nanos": 109997,
+ "fuse_op_lookup_count": 248,
+ "fuse_op_lookup_nanos": 430358,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 36,
+ "fuse_op_other_nanos": 14864,
+ "fuse_op_read_count": 2,
+ "fuse_op_read_nanos": 390727,
+ "fuse_op_readdirplus_count": 18,
+ "fuse_op_readdirplus_nanos": 1553564,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 2,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 15,
+ "fuse_read_lane_wait_nanos": 6557,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 18,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 349,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 2,
+ "lookup_base_count": 0,
+ "lookup_count": 8,
+ "lookup_delta_count": 4,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 244,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 9,
+ "negative_lookup_count": 2,
+ "path_cache_hits": 4,
+ "path_cache_misses": 2,
+ "path_component_count": 42,
+ "path_resolution_count": 10,
+ "readdir_count": 0,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 9,
+ "wal_checkpoint_nanos": 506274
+ },
+ "phase": "fsck",
+ "seq": 7
+ }
+ ]
+ },
+ "profile_counters": {
+ "last_by_source": {
+ "cli": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 858457715,
+ "agentfs_batcher_commit_txns": 4806,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9413,
+ "attr_cache_hits": 26158,
+ "attr_cache_misses": 30857,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33606,
+ "connection_wait_count": 33614,
+ "connection_wait_nanos": 10887566,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8040,
+ "fuse_adapter_attr_misses": 5608,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6739,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5587,
+ "fuse_adapter_negative_misses": 6739,
+ "fuse_callback_count": 32499,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13648,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12337,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 13648,
+ "fuse_op_getattr_nanos": 73535957,
+ "fuse_op_lookup_count": 12337,
+ "fuse_op_lookup_nanos": 137485172,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 104851104,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34270757,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 67283387,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1194285047,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29832074,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17902,
+ "fuse_read_lane_wait_nanos": 2725300,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45595,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1504628,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20738,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7105,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46096,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37671,
+ "path_resolution_count": 8149,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 14679037
+ },
+ "phase-checkpoint-1": {
+ "agentfs_batcher_coalesced_ranges": 33,
+ "agentfs_batcher_commit_latency_ns_total": 849429017,
+ "agentfs_batcher_commit_txns": 4784,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9387,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29051,
+ "base_fast_inode_invalidations": 15027,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 970,
+ "connection_create": 2,
+ "connection_reuse": 31210,
+ "connection_wait_count": 31212,
+ "connection_wait_nanos": 10156344,
+ "dentry_cache_hits": 26033,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 95,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 7,
+ "fuse_adapter_entry_misses": 6410,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5283,
+ "fuse_adapter_negative_misses": 6410,
+ "fuse_callback_count": 21785,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 38,
+ "fuse_dispatch_wait_count": 38,
+ "fuse_dispatch_wait_nanos": 377825,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52561419,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5029,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11700,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 493672925,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 36,
+ "fuse_op_forget_nanos": 549158,
+ "fuse_op_getattr_count": 5029,
+ "fuse_op_getattr_nanos": 53374165,
+ "fuse_op_lookup_count": 11700,
+ "fuse_op_lookup_nanos": 131275099,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 783,
+ "fuse_op_other_nanos": 98313740,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 27550934,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 1954420,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1180629003,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 27691889,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16151,
+ "fuse_read_lane_wait_nanos": 2491830,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32009,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1469827,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19334,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6776,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45064,
+ "negative_lookup_count": 14254,
+ "path_cache_hits": 26033,
+ "path_cache_misses": 13426,
+ "path_component_count": 32899,
+ "path_resolution_count": 7117,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1555852
+ },
+ "phase-checkpoint-2": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 852920699,
+ "agentfs_batcher_commit_txns": 4794,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4739,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9401,
+ "attr_cache_hits": 26134,
+ "attr_cache_misses": 30797,
+ "base_fast_inode_invalidations": 15078,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 983,
+ "connection_create": 8,
+ "connection_reuse": 31835,
+ "connection_wait_count": 31843,
+ "connection_wait_nanos": 10395284,
+ "dentry_cache_hits": 26106,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4686,
+ "fuse_adapter_attr_misses": 5600,
+ "fuse_adapter_entry_hits": 9,
+ "fuse_adapter_entry_misses": 6445,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5296,
+ "fuse_adapter_negative_misses": 6445,
+ "fuse_callback_count": 27113,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 45,
+ "fuse_dispatch_wait_count": 45,
+ "fuse_dispatch_wait_nanos": 453111,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4739,
+ "fuse_flush_ranges": 4739,
+ "fuse_getattr_count": 10286,
+ "fuse_ino_file_resolutions": 22,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11750,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 494677865,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 617283,
+ "fuse_op_getattr_count": 10286,
+ "fuse_op_getattr_nanos": 70512423,
+ "fuse_op_lookup_count": 11750,
+ "fuse_op_lookup_nanos": 131888707,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 798,
+ "fuse_op_other_nanos": 101202558,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 30045925,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3137443,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4763,
+ "fuse_op_setattr_nanos": 1184177964,
+ "fuse_op_write_count": 4829,
+ "fuse_op_write_nanos": 27835189,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16881,
+ "fuse_read_lane_wait_nanos": 2599410,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37375,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4829,
+ "fuse_write_lane_wait_count": 10245,
+ "fuse_write_lane_wait_nanos": 1476788,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20694,
+ "lookup_base_count": 23,
+ "lookup_count": 40452,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6810,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45212,
+ "negative_lookup_count": 14340,
+ "path_cache_hits": 26106,
+ "path_cache_misses": 13482,
+ "path_component_count": 33023,
+ "path_resolution_count": 7162,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2344637
+ },
+ "phase-checkpoint-3": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 856941962,
+ "agentfs_batcher_commit_txns": 4798,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4745,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9405,
+ "attr_cache_hits": 26154,
+ "attr_cache_misses": 30831,
+ "base_fast_inode_invalidations": 15102,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33539,
+ "connection_wait_count": 33547,
+ "connection_wait_nanos": 10822420,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6050,
+ "fuse_adapter_attr_misses": 5607,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5297,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30179,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4745,
+ "fuse_flush_ranges": 4745,
+ "fuse_getattr_count": 11657,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12042,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 11657,
+ "fuse_op_getattr_nanos": 72122140,
+ "fuse_op_lookup_count": 12042,
+ "fuse_op_lookup_nanos": 136959168,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 103947039,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 31918629,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65729823,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1191511883,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 29296405,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17877,
+ "fuse_read_lane_wait_nanos": 2714907,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43211,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1501536,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20720,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 13316107
+ },
+ "phase-checkpoint-4": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 856941962,
+ "agentfs_batcher_commit_txns": 4798,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4745,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9405,
+ "attr_cache_hits": 26155,
+ "attr_cache_misses": 30831,
+ "base_fast_inode_invalidations": 15102,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33547,
+ "connection_wait_count": 33555,
+ "connection_wait_nanos": 10834723,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6119,
+ "fuse_adapter_attr_misses": 5607,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6735,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5297,
+ "fuse_adapter_negative_misses": 6735,
+ "fuse_callback_count": 30255,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4745,
+ "fuse_flush_ranges": 4745,
+ "fuse_getattr_count": 11726,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12043,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 11726,
+ "fuse_op_getattr_nanos": 72194096,
+ "fuse_op_lookup_count": 12043,
+ "fuse_op_lookup_nanos": 136987946,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 103947039,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 33880030,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65729823,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1191511883,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 29296405,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17879,
+ "fuse_read_lane_wait_nanos": 2715824,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43287,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1501536,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20720,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46087,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 13316107
+ },
+ "phase-checkpoint-5": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 858457715,
+ "agentfs_batcher_commit_txns": 4806,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9413,
+ "attr_cache_hits": 26155,
+ "attr_cache_misses": 30855,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33579,
+ "connection_wait_count": 33587,
+ "connection_wait_nanos": 10852623,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6135,
+ "fuse_adapter_attr_misses": 5607,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6735,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5297,
+ "fuse_adapter_negative_misses": 6735,
+ "fuse_callback_count": 30279,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 11742,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12043,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 11742,
+ "fuse_op_getattr_nanos": 72225745,
+ "fuse_op_lookup_count": 12043,
+ "fuse_op_lookup_nanos": 136987946,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3568,
+ "fuse_op_other_nanos": 104822008,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 33880030,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65729823,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1194285047,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29832074,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17887,
+ "fuse_read_lane_wait_nanos": 2718743,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43327,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1503126,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20736,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46087,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14036918
+ },
+ "phase-checkpoint-6": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 858457715,
+ "agentfs_batcher_commit_txns": 4806,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9413,
+ "attr_cache_hits": 26155,
+ "attr_cache_misses": 30855,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33579,
+ "connection_wait_count": 33587,
+ "connection_wait_nanos": 10852623,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7996,
+ "fuse_adapter_attr_misses": 5607,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6735,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5343,
+ "fuse_adapter_negative_misses": 6735,
+ "fuse_callback_count": 32186,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13603,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12089,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 13603,
+ "fuse_op_getattr_nanos": 73425960,
+ "fuse_op_lookup_count": 12089,
+ "fuse_op_lookup_nanos": 137054814,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3580,
+ "fuse_op_other_nanos": 104836240,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 33880030,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65729823,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1194285047,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29832074,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17887,
+ "fuse_read_lane_wait_nanos": 2718743,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45246,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1503126,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20736,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6861,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46087,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14036918
+ },
+ "phase-checkpoint-7": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 858457715,
+ "agentfs_batcher_commit_txns": 4806,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9413,
+ "attr_cache_hits": 26158,
+ "attr_cache_misses": 30857,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33603,
+ "connection_wait_count": 33611,
+ "connection_wait_nanos": 10879680,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8040,
+ "fuse_adapter_attr_misses": 5608,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6739,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5587,
+ "fuse_adapter_negative_misses": 6739,
+ "fuse_callback_count": 32499,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13648,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12337,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 13648,
+ "fuse_op_getattr_nanos": 73535957,
+ "fuse_op_lookup_count": 12337,
+ "fuse_op_lookup_nanos": 137485172,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 104851104,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34270757,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 67283387,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1194285047,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29832074,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17902,
+ "fuse_read_lane_wait_nanos": 2725300,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45595,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1503126,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20738,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7105,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46096,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37671,
+ "path_resolution_count": 8149,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 14543192
+ }
+ },
+ "max_counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 858457715,
+ "agentfs_batcher_commit_txns": 4806,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9413,
+ "attr_cache_hits": 26158,
+ "attr_cache_misses": 30857,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33606,
+ "connection_wait_count": 33614,
+ "connection_wait_nanos": 10887566,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8040,
+ "fuse_adapter_attr_misses": 5608,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6739,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5587,
+ "fuse_adapter_negative_misses": 6739,
+ "fuse_callback_count": 32499,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13648,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12337,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 13648,
+ "fuse_op_getattr_nanos": 73535957,
+ "fuse_op_lookup_count": 12337,
+ "fuse_op_lookup_nanos": 137485172,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 104851104,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34270757,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 67283387,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1194285047,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29832074,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17902,
+ "fuse_read_lane_wait_nanos": 2725300,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45595,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1504628,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20738,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7105,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46096,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37671,
+ "path_resolution_count": 8149,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 14679037
+ },
+ "summary_count": 8
+ },
+ "profile_enabled": true,
+ "profile_summary_count": 8,
+ "session": "git-workload-fa418f52ee1a41beabeb538335d5466e"
+ },
+ "agentfs_overlay": {
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 33,
+ "agentfs_batcher_commit_latency_ns_total": 849429017,
+ "agentfs_batcher_commit_txns": 4784,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9387,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29051,
+ "base_fast_inode_invalidations": 15027,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 970,
+ "connection_create": 2,
+ "connection_reuse": 31210,
+ "connection_wait_count": 31212,
+ "connection_wait_nanos": 10156344,
+ "dentry_cache_hits": 26033,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 95,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 7,
+ "fuse_adapter_entry_misses": 6410,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5283,
+ "fuse_adapter_negative_misses": 6410,
+ "fuse_callback_count": 21785,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 38,
+ "fuse_dispatch_wait_count": 38,
+ "fuse_dispatch_wait_nanos": 377825,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52561419,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5029,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11700,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 493672925,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 36,
+ "fuse_op_forget_nanos": 549158,
+ "fuse_op_getattr_count": 5029,
+ "fuse_op_getattr_nanos": 53374165,
+ "fuse_op_lookup_count": 11700,
+ "fuse_op_lookup_nanos": 131275099,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 783,
+ "fuse_op_other_nanos": 98313740,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 27550934,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 1954420,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1180629003,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 27691889,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16151,
+ "fuse_read_lane_wait_nanos": 2491830,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32009,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1469827,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19334,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6776,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45064,
+ "negative_lookup_count": 14254,
+ "path_cache_hits": 26033,
+ "path_cache_misses": 13426,
+ "path_component_count": 32899,
+ "path_resolution_count": 7117,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1555852
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15027,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 33,
+ "agentfs_batcher_commit_latency_ns_total": 849429017,
+ "agentfs_batcher_commit_txns": 4784,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9387,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29051,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 970,
+ "connection_create": 2,
+ "connection_reuse": 31210,
+ "connection_wait_count": 31212,
+ "connection_wait_nanos": 10156344,
+ "dentry_cache_hits": 26033,
+ "dentry_cache_misses": 13426,
+ "getattr_count": 19334,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6776,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45064,
+ "negative_lookup_count": 14254,
+ "path_cache_hits": 26033,
+ "path_cache_misses": 13426,
+ "path_component_count": 32899,
+ "path_resolution_count": 7117,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1555852
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 95,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 7,
+ "fuse_adapter_entry_misses": 6410,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5283,
+ "fuse_adapter_negative_misses": 6410,
+ "fuse_callback_count": 21785,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 38,
+ "fuse_dispatch_wait_count": 38,
+ "fuse_dispatch_wait_nanos": 377825,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52561419,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5029,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 11700,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 493672925,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 36,
+ "fuse_op_forget_nanos": 549158,
+ "fuse_op_getattr_count": 5029,
+ "fuse_op_getattr_nanos": 53374165,
+ "fuse_op_lookup_count": 11700,
+ "fuse_op_lookup_nanos": 131275099,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 783,
+ "fuse_op_other_nanos": 98313740,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 27550934,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 1954420,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1180629003,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 27691889,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16151,
+ "fuse_read_lane_wait_nanos": 2491830,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 32009,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1469827
+ }
+ },
+ "source": "phase-checkpoint-1"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 852920699,
+ "agentfs_batcher_commit_txns": 4794,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4739,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9401,
+ "attr_cache_hits": 26134,
+ "attr_cache_misses": 30797,
+ "base_fast_inode_invalidations": 15078,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 983,
+ "connection_create": 8,
+ "connection_reuse": 31835,
+ "connection_wait_count": 31843,
+ "connection_wait_nanos": 10395284,
+ "dentry_cache_hits": 26106,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4686,
+ "fuse_adapter_attr_misses": 5600,
+ "fuse_adapter_entry_hits": 9,
+ "fuse_adapter_entry_misses": 6445,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5296,
+ "fuse_adapter_negative_misses": 6445,
+ "fuse_callback_count": 27113,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 45,
+ "fuse_dispatch_wait_count": 45,
+ "fuse_dispatch_wait_nanos": 453111,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4739,
+ "fuse_flush_ranges": 4739,
+ "fuse_getattr_count": 10286,
+ "fuse_ino_file_resolutions": 22,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11750,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 494677865,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 617283,
+ "fuse_op_getattr_count": 10286,
+ "fuse_op_getattr_nanos": 70512423,
+ "fuse_op_lookup_count": 11750,
+ "fuse_op_lookup_nanos": 131888707,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 798,
+ "fuse_op_other_nanos": 101202558,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 30045925,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3137443,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4763,
+ "fuse_op_setattr_nanos": 1184177964,
+ "fuse_op_write_count": 4829,
+ "fuse_op_write_nanos": 27835189,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16881,
+ "fuse_read_lane_wait_nanos": 2599410,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37375,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4829,
+ "fuse_write_lane_wait_count": 10245,
+ "fuse_write_lane_wait_nanos": 1476788,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20694,
+ "lookup_base_count": 23,
+ "lookup_count": 40452,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6810,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45212,
+ "negative_lookup_count": 14340,
+ "path_cache_hits": 26106,
+ "path_cache_misses": 13482,
+ "path_component_count": 33023,
+ "path_resolution_count": 7162,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2344637
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15078,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 852920699,
+ "agentfs_batcher_commit_txns": 4794,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4739,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9401,
+ "attr_cache_hits": 26134,
+ "attr_cache_misses": 30797,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 983,
+ "connection_create": 8,
+ "connection_reuse": 31835,
+ "connection_wait_count": 31843,
+ "connection_wait_nanos": 10395284,
+ "dentry_cache_hits": 26106,
+ "dentry_cache_misses": 13482,
+ "getattr_count": 20694,
+ "lookup_base_count": 23,
+ "lookup_count": 40452,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6810,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45212,
+ "negative_lookup_count": 14340,
+ "path_cache_hits": 26106,
+ "path_cache_misses": 13482,
+ "path_component_count": 33023,
+ "path_resolution_count": 7162,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2344637
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 4686,
+ "fuse_adapter_attr_misses": 5600,
+ "fuse_adapter_entry_hits": 9,
+ "fuse_adapter_entry_misses": 6445,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5296,
+ "fuse_adapter_negative_misses": 6445,
+ "fuse_callback_count": 27113,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 45,
+ "fuse_dispatch_wait_count": 45,
+ "fuse_dispatch_wait_nanos": 453111,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4739,
+ "fuse_flush_ranges": 4739,
+ "fuse_getattr_count": 10286,
+ "fuse_ino_file_resolutions": 22,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 11750,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 494677865,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 617283,
+ "fuse_op_getattr_count": 10286,
+ "fuse_op_getattr_nanos": 70512423,
+ "fuse_op_lookup_count": 11750,
+ "fuse_op_lookup_nanos": 131888707,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 798,
+ "fuse_op_other_nanos": 101202558,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 30045925,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3137443,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4763,
+ "fuse_op_setattr_nanos": 1184177964,
+ "fuse_op_write_count": 4829,
+ "fuse_op_write_nanos": 27835189,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16881,
+ "fuse_read_lane_wait_nanos": 2599410,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 37375,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4829,
+ "fuse_write_lane_wait_count": 10245,
+ "fuse_write_lane_wait_nanos": 1476788
+ }
+ },
+ "source": "phase-checkpoint-2"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 856941962,
+ "agentfs_batcher_commit_txns": 4798,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4745,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9405,
+ "attr_cache_hits": 26154,
+ "attr_cache_misses": 30831,
+ "base_fast_inode_invalidations": 15102,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33539,
+ "connection_wait_count": 33547,
+ "connection_wait_nanos": 10822420,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6050,
+ "fuse_adapter_attr_misses": 5607,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5297,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30179,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4745,
+ "fuse_flush_ranges": 4745,
+ "fuse_getattr_count": 11657,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12042,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 11657,
+ "fuse_op_getattr_nanos": 72122140,
+ "fuse_op_lookup_count": 12042,
+ "fuse_op_lookup_nanos": 136959168,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 103947039,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 31918629,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65729823,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1191511883,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 29296405,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17877,
+ "fuse_read_lane_wait_nanos": 2714907,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43211,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1501536,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20720,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 13316107
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15102,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 856941962,
+ "agentfs_batcher_commit_txns": 4798,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4745,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9405,
+ "attr_cache_hits": 26154,
+ "attr_cache_misses": 30831,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33539,
+ "connection_wait_count": 33547,
+ "connection_wait_nanos": 10822420,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20720,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 13316107
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6050,
+ "fuse_adapter_attr_misses": 5607,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5297,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30179,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4745,
+ "fuse_flush_ranges": 4745,
+ "fuse_getattr_count": 11657,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12042,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 11657,
+ "fuse_op_getattr_nanos": 72122140,
+ "fuse_op_lookup_count": 12042,
+ "fuse_op_lookup_nanos": 136959168,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 103947039,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 31918629,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65729823,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1191511883,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 29296405,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17877,
+ "fuse_read_lane_wait_nanos": 2714907,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43211,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1501536
+ }
+ },
+ "source": "phase-checkpoint-3"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 856941962,
+ "agentfs_batcher_commit_txns": 4798,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4745,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9405,
+ "attr_cache_hits": 26155,
+ "attr_cache_misses": 30831,
+ "base_fast_inode_invalidations": 15102,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33547,
+ "connection_wait_count": 33555,
+ "connection_wait_nanos": 10834723,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6119,
+ "fuse_adapter_attr_misses": 5607,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6735,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5297,
+ "fuse_adapter_negative_misses": 6735,
+ "fuse_callback_count": 30255,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4745,
+ "fuse_flush_ranges": 4745,
+ "fuse_getattr_count": 11726,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12043,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 11726,
+ "fuse_op_getattr_nanos": 72194096,
+ "fuse_op_lookup_count": 12043,
+ "fuse_op_lookup_nanos": 136987946,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 103947039,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 33880030,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65729823,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1191511883,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 29296405,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17879,
+ "fuse_read_lane_wait_nanos": 2715824,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43287,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1501536,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20720,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46087,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 13316107
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15102,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 856941962,
+ "agentfs_batcher_commit_txns": 4798,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4745,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9405,
+ "attr_cache_hits": 26155,
+ "attr_cache_misses": 30831,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33547,
+ "connection_wait_count": 33555,
+ "connection_wait_nanos": 10834723,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20720,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46087,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 13316107
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6119,
+ "fuse_adapter_attr_misses": 5607,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6735,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5297,
+ "fuse_adapter_negative_misses": 6735,
+ "fuse_callback_count": 30255,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4745,
+ "fuse_flush_ranges": 4745,
+ "fuse_getattr_count": 11726,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12043,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 11726,
+ "fuse_op_getattr_nanos": 72194096,
+ "fuse_op_lookup_count": 12043,
+ "fuse_op_lookup_nanos": 136987946,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 103947039,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 33880030,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65729823,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1191511883,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 29296405,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17879,
+ "fuse_read_lane_wait_nanos": 2715824,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43287,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1501536
+ }
+ },
+ "source": "phase-checkpoint-4"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 858457715,
+ "agentfs_batcher_commit_txns": 4806,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9413,
+ "attr_cache_hits": 26155,
+ "attr_cache_misses": 30855,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33579,
+ "connection_wait_count": 33587,
+ "connection_wait_nanos": 10852623,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6135,
+ "fuse_adapter_attr_misses": 5607,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6735,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5297,
+ "fuse_adapter_negative_misses": 6735,
+ "fuse_callback_count": 30279,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 11742,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12043,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 11742,
+ "fuse_op_getattr_nanos": 72225745,
+ "fuse_op_lookup_count": 12043,
+ "fuse_op_lookup_nanos": 136987946,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3568,
+ "fuse_op_other_nanos": 104822008,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 33880030,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65729823,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1194285047,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29832074,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17887,
+ "fuse_read_lane_wait_nanos": 2718743,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43327,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1503126,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20736,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46087,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14036918
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 858457715,
+ "agentfs_batcher_commit_txns": 4806,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9413,
+ "attr_cache_hits": 26155,
+ "attr_cache_misses": 30855,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33579,
+ "connection_wait_count": 33587,
+ "connection_wait_nanos": 10852623,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20736,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46087,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14036918
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6135,
+ "fuse_adapter_attr_misses": 5607,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6735,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5297,
+ "fuse_adapter_negative_misses": 6735,
+ "fuse_callback_count": 30279,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 11742,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12043,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 11742,
+ "fuse_op_getattr_nanos": 72225745,
+ "fuse_op_lookup_count": 12043,
+ "fuse_op_lookup_nanos": 136987946,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3568,
+ "fuse_op_other_nanos": 104822008,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 33880030,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65729823,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1194285047,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29832074,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17887,
+ "fuse_read_lane_wait_nanos": 2718743,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43327,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1503126
+ }
+ },
+ "source": "phase-checkpoint-5"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 858457715,
+ "agentfs_batcher_commit_txns": 4806,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9413,
+ "attr_cache_hits": 26155,
+ "attr_cache_misses": 30855,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33579,
+ "connection_wait_count": 33587,
+ "connection_wait_nanos": 10852623,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7996,
+ "fuse_adapter_attr_misses": 5607,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6735,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5343,
+ "fuse_adapter_negative_misses": 6735,
+ "fuse_callback_count": 32186,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13603,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12089,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 13603,
+ "fuse_op_getattr_nanos": 73425960,
+ "fuse_op_lookup_count": 12089,
+ "fuse_op_lookup_nanos": 137054814,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3580,
+ "fuse_op_other_nanos": 104836240,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 33880030,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65729823,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1194285047,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29832074,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17887,
+ "fuse_read_lane_wait_nanos": 2718743,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45246,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1503126,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20736,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6861,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46087,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14036918
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 858457715,
+ "agentfs_batcher_commit_txns": 4806,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9413,
+ "attr_cache_hits": 26155,
+ "attr_cache_misses": 30855,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33579,
+ "connection_wait_count": 33587,
+ "connection_wait_nanos": 10852623,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20736,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6861,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46087,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14036918
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 7996,
+ "fuse_adapter_attr_misses": 5607,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6735,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5343,
+ "fuse_adapter_negative_misses": 6735,
+ "fuse_callback_count": 32186,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13603,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12089,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 13603,
+ "fuse_op_getattr_nanos": 73425960,
+ "fuse_op_lookup_count": 12089,
+ "fuse_op_lookup_nanos": 137054814,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3580,
+ "fuse_op_other_nanos": 104836240,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 33880030,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65729823,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1194285047,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29832074,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17887,
+ "fuse_read_lane_wait_nanos": 2718743,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45246,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1503126
+ }
+ },
+ "source": "phase-checkpoint-6"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 858457715,
+ "agentfs_batcher_commit_txns": 4806,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9413,
+ "attr_cache_hits": 26158,
+ "attr_cache_misses": 30857,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33603,
+ "connection_wait_count": 33611,
+ "connection_wait_nanos": 10879680,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8040,
+ "fuse_adapter_attr_misses": 5608,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6739,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5587,
+ "fuse_adapter_negative_misses": 6739,
+ "fuse_callback_count": 32499,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13648,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12337,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 13648,
+ "fuse_op_getattr_nanos": 73535957,
+ "fuse_op_lookup_count": 12337,
+ "fuse_op_lookup_nanos": 137485172,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 104851104,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34270757,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 67283387,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1194285047,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29832074,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17902,
+ "fuse_read_lane_wait_nanos": 2725300,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45595,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1503126,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20738,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7105,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46096,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37671,
+ "path_resolution_count": 8149,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 14543192
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 858457715,
+ "agentfs_batcher_commit_txns": 4806,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9413,
+ "attr_cache_hits": 26158,
+ "attr_cache_misses": 30857,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33603,
+ "connection_wait_count": 33611,
+ "connection_wait_nanos": 10879680,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "getattr_count": 20738,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7105,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46096,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37671,
+ "path_resolution_count": 8149,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 14543192
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 8040,
+ "fuse_adapter_attr_misses": 5608,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6739,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5587,
+ "fuse_adapter_negative_misses": 6739,
+ "fuse_callback_count": 32499,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13648,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12337,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 13648,
+ "fuse_op_getattr_nanos": 73535957,
+ "fuse_op_lookup_count": 12337,
+ "fuse_op_lookup_nanos": 137485172,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 104851104,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34270757,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 67283387,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1194285047,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29832074,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17902,
+ "fuse_read_lane_wait_nanos": 2725300,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45595,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1503126
+ }
+ },
+ "source": "phase-checkpoint-7"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 858457715,
+ "agentfs_batcher_commit_txns": 4806,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9413,
+ "attr_cache_hits": 26158,
+ "attr_cache_misses": 30857,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33606,
+ "connection_wait_count": 33614,
+ "connection_wait_nanos": 10887566,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8040,
+ "fuse_adapter_attr_misses": 5608,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6739,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5587,
+ "fuse_adapter_negative_misses": 6739,
+ "fuse_callback_count": 32499,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13648,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12337,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 13648,
+ "fuse_op_getattr_nanos": 73535957,
+ "fuse_op_lookup_count": 12337,
+ "fuse_op_lookup_nanos": 137485172,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 104851104,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34270757,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 67283387,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1194285047,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29832074,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17902,
+ "fuse_read_lane_wait_nanos": 2725300,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45595,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1504628,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20738,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7105,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46096,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37671,
+ "path_resolution_count": 8149,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 14679037
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 858457715,
+ "agentfs_batcher_commit_txns": 4806,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9413,
+ "attr_cache_hits": 26158,
+ "attr_cache_misses": 30857,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33606,
+ "connection_wait_count": 33614,
+ "connection_wait_nanos": 10887566,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "getattr_count": 20738,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7105,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46096,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37671,
+ "path_resolution_count": 8149,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 14679037
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 8040,
+ "fuse_adapter_attr_misses": 5608,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6739,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5587,
+ "fuse_adapter_negative_misses": 6739,
+ "fuse_callback_count": 32499,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13648,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12337,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 13648,
+ "fuse_op_getattr_nanos": 73535957,
+ "fuse_op_lookup_count": 12337,
+ "fuse_op_lookup_nanos": 137485172,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 104851104,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34270757,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 67283387,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1194285047,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29832074,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17902,
+ "fuse_read_lane_wait_nanos": 2725300,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45595,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1504628
+ }
+ },
+ "source": "cli"
+ }
+ ],
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "run",
+ "--session",
+ "git-workload-fa418f52ee1a41beabeb538335d5466e",
+ "--no-default-allows",
+ "--",
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-7wytce9p/agentfs-base",
+ "duration_seconds": 4.218257960994379,
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 33,
+ "agentfs_batcher_commit_latency_ns_total": 849429017,
+ "agentfs_batcher_commit_txns": 4784,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9387,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29051,
+ "base_fast_inode_invalidations": 15027,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 970,
+ "connection_create": 2,
+ "connection_reuse": 31210,
+ "connection_wait_count": 31212,
+ "connection_wait_nanos": 10156344,
+ "dentry_cache_hits": 26033,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 95,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 7,
+ "fuse_adapter_entry_misses": 6410,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5283,
+ "fuse_adapter_negative_misses": 6410,
+ "fuse_callback_count": 21785,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 38,
+ "fuse_dispatch_wait_count": 38,
+ "fuse_dispatch_wait_nanos": 377825,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52561419,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5029,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11700,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 493672925,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 36,
+ "fuse_op_forget_nanos": 549158,
+ "fuse_op_getattr_count": 5029,
+ "fuse_op_getattr_nanos": 53374165,
+ "fuse_op_lookup_count": 11700,
+ "fuse_op_lookup_nanos": 131275099,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 783,
+ "fuse_op_other_nanos": 98313740,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 27550934,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 1954420,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1180629003,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 27691889,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16151,
+ "fuse_read_lane_wait_nanos": 2491830,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32009,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1469827,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19334,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6776,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45064,
+ "negative_lookup_count": 14254,
+ "path_cache_hits": 26033,
+ "path_cache_misses": 13426,
+ "path_component_count": 32899,
+ "path_resolution_count": 7117,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1555852
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15027,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 33,
+ "agentfs_batcher_commit_latency_ns_total": 849429017,
+ "agentfs_batcher_commit_txns": 4784,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9387,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29051,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 970,
+ "connection_create": 2,
+ "connection_reuse": 31210,
+ "connection_wait_count": 31212,
+ "connection_wait_nanos": 10156344,
+ "dentry_cache_hits": 26033,
+ "dentry_cache_misses": 13426,
+ "getattr_count": 19334,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6776,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45064,
+ "negative_lookup_count": 14254,
+ "path_cache_hits": 26033,
+ "path_cache_misses": 13426,
+ "path_component_count": 32899,
+ "path_resolution_count": 7117,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1555852
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 95,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 7,
+ "fuse_adapter_entry_misses": 6410,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5283,
+ "fuse_adapter_negative_misses": 6410,
+ "fuse_callback_count": 21785,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 38,
+ "fuse_dispatch_wait_count": 38,
+ "fuse_dispatch_wait_nanos": 377825,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52561419,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5029,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 11700,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 493672925,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 36,
+ "fuse_op_forget_nanos": 549158,
+ "fuse_op_getattr_count": 5029,
+ "fuse_op_getattr_nanos": 53374165,
+ "fuse_op_lookup_count": 11700,
+ "fuse_op_lookup_nanos": 131275099,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 783,
+ "fuse_op_other_nanos": 98313740,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 27550934,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 1954420,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1180629003,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 27691889,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16151,
+ "fuse_read_lane_wait_nanos": 2491830,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 32009,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1469827
+ }
+ },
+ "source": "phase-checkpoint-1"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 852920699,
+ "agentfs_batcher_commit_txns": 4794,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4739,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9401,
+ "attr_cache_hits": 26134,
+ "attr_cache_misses": 30797,
+ "base_fast_inode_invalidations": 15078,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 983,
+ "connection_create": 8,
+ "connection_reuse": 31835,
+ "connection_wait_count": 31843,
+ "connection_wait_nanos": 10395284,
+ "dentry_cache_hits": 26106,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4686,
+ "fuse_adapter_attr_misses": 5600,
+ "fuse_adapter_entry_hits": 9,
+ "fuse_adapter_entry_misses": 6445,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5296,
+ "fuse_adapter_negative_misses": 6445,
+ "fuse_callback_count": 27113,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 45,
+ "fuse_dispatch_wait_count": 45,
+ "fuse_dispatch_wait_nanos": 453111,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4739,
+ "fuse_flush_ranges": 4739,
+ "fuse_getattr_count": 10286,
+ "fuse_ino_file_resolutions": 22,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11750,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 494677865,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 617283,
+ "fuse_op_getattr_count": 10286,
+ "fuse_op_getattr_nanos": 70512423,
+ "fuse_op_lookup_count": 11750,
+ "fuse_op_lookup_nanos": 131888707,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 798,
+ "fuse_op_other_nanos": 101202558,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 30045925,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3137443,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4763,
+ "fuse_op_setattr_nanos": 1184177964,
+ "fuse_op_write_count": 4829,
+ "fuse_op_write_nanos": 27835189,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16881,
+ "fuse_read_lane_wait_nanos": 2599410,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37375,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4829,
+ "fuse_write_lane_wait_count": 10245,
+ "fuse_write_lane_wait_nanos": 1476788,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20694,
+ "lookup_base_count": 23,
+ "lookup_count": 40452,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6810,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45212,
+ "negative_lookup_count": 14340,
+ "path_cache_hits": 26106,
+ "path_cache_misses": 13482,
+ "path_component_count": 33023,
+ "path_resolution_count": 7162,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2344637
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15078,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 852920699,
+ "agentfs_batcher_commit_txns": 4794,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4739,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9401,
+ "attr_cache_hits": 26134,
+ "attr_cache_misses": 30797,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 983,
+ "connection_create": 8,
+ "connection_reuse": 31835,
+ "connection_wait_count": 31843,
+ "connection_wait_nanos": 10395284,
+ "dentry_cache_hits": 26106,
+ "dentry_cache_misses": 13482,
+ "getattr_count": 20694,
+ "lookup_base_count": 23,
+ "lookup_count": 40452,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6810,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45212,
+ "negative_lookup_count": 14340,
+ "path_cache_hits": 26106,
+ "path_cache_misses": 13482,
+ "path_component_count": 33023,
+ "path_resolution_count": 7162,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2344637
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 4686,
+ "fuse_adapter_attr_misses": 5600,
+ "fuse_adapter_entry_hits": 9,
+ "fuse_adapter_entry_misses": 6445,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5296,
+ "fuse_adapter_negative_misses": 6445,
+ "fuse_callback_count": 27113,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 45,
+ "fuse_dispatch_wait_count": 45,
+ "fuse_dispatch_wait_nanos": 453111,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4739,
+ "fuse_flush_ranges": 4739,
+ "fuse_getattr_count": 10286,
+ "fuse_ino_file_resolutions": 22,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 11750,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 494677865,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 617283,
+ "fuse_op_getattr_count": 10286,
+ "fuse_op_getattr_nanos": 70512423,
+ "fuse_op_lookup_count": 11750,
+ "fuse_op_lookup_nanos": 131888707,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 798,
+ "fuse_op_other_nanos": 101202558,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 30045925,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3137443,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4763,
+ "fuse_op_setattr_nanos": 1184177964,
+ "fuse_op_write_count": 4829,
+ "fuse_op_write_nanos": 27835189,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16881,
+ "fuse_read_lane_wait_nanos": 2599410,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 37375,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4829,
+ "fuse_write_lane_wait_count": 10245,
+ "fuse_write_lane_wait_nanos": 1476788
+ }
+ },
+ "source": "phase-checkpoint-2"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 856941962,
+ "agentfs_batcher_commit_txns": 4798,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4745,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9405,
+ "attr_cache_hits": 26154,
+ "attr_cache_misses": 30831,
+ "base_fast_inode_invalidations": 15102,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33539,
+ "connection_wait_count": 33547,
+ "connection_wait_nanos": 10822420,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6050,
+ "fuse_adapter_attr_misses": 5607,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5297,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30179,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4745,
+ "fuse_flush_ranges": 4745,
+ "fuse_getattr_count": 11657,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12042,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 11657,
+ "fuse_op_getattr_nanos": 72122140,
+ "fuse_op_lookup_count": 12042,
+ "fuse_op_lookup_nanos": 136959168,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 103947039,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 31918629,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65729823,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1191511883,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 29296405,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17877,
+ "fuse_read_lane_wait_nanos": 2714907,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43211,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1501536,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20720,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 13316107
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15102,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 856941962,
+ "agentfs_batcher_commit_txns": 4798,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4745,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9405,
+ "attr_cache_hits": 26154,
+ "attr_cache_misses": 30831,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33539,
+ "connection_wait_count": 33547,
+ "connection_wait_nanos": 10822420,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20720,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 13316107
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6050,
+ "fuse_adapter_attr_misses": 5607,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5297,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30179,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4745,
+ "fuse_flush_ranges": 4745,
+ "fuse_getattr_count": 11657,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12042,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 11657,
+ "fuse_op_getattr_nanos": 72122140,
+ "fuse_op_lookup_count": 12042,
+ "fuse_op_lookup_nanos": 136959168,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 103947039,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 31918629,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65729823,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1191511883,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 29296405,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17877,
+ "fuse_read_lane_wait_nanos": 2714907,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43211,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1501536
+ }
+ },
+ "source": "phase-checkpoint-3"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 856941962,
+ "agentfs_batcher_commit_txns": 4798,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4745,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9405,
+ "attr_cache_hits": 26155,
+ "attr_cache_misses": 30831,
+ "base_fast_inode_invalidations": 15102,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33547,
+ "connection_wait_count": 33555,
+ "connection_wait_nanos": 10834723,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6119,
+ "fuse_adapter_attr_misses": 5607,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6735,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5297,
+ "fuse_adapter_negative_misses": 6735,
+ "fuse_callback_count": 30255,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4745,
+ "fuse_flush_ranges": 4745,
+ "fuse_getattr_count": 11726,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12043,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 11726,
+ "fuse_op_getattr_nanos": 72194096,
+ "fuse_op_lookup_count": 12043,
+ "fuse_op_lookup_nanos": 136987946,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 103947039,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 33880030,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65729823,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1191511883,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 29296405,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17879,
+ "fuse_read_lane_wait_nanos": 2715824,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43287,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1501536,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20720,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46087,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 13316107
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15102,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 856941962,
+ "agentfs_batcher_commit_txns": 4798,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4745,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9405,
+ "attr_cache_hits": 26155,
+ "attr_cache_misses": 30831,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33547,
+ "connection_wait_count": 33555,
+ "connection_wait_nanos": 10834723,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20720,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46087,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 13316107
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6119,
+ "fuse_adapter_attr_misses": 5607,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6735,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5297,
+ "fuse_adapter_negative_misses": 6735,
+ "fuse_callback_count": 30255,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4745,
+ "fuse_flush_ranges": 4745,
+ "fuse_getattr_count": 11726,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12043,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 11726,
+ "fuse_op_getattr_nanos": 72194096,
+ "fuse_op_lookup_count": 12043,
+ "fuse_op_lookup_nanos": 136987946,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 103947039,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 33880030,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65729823,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1191511883,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 29296405,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17879,
+ "fuse_read_lane_wait_nanos": 2715824,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43287,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1501536
+ }
+ },
+ "source": "phase-checkpoint-4"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 858457715,
+ "agentfs_batcher_commit_txns": 4806,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9413,
+ "attr_cache_hits": 26155,
+ "attr_cache_misses": 30855,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33579,
+ "connection_wait_count": 33587,
+ "connection_wait_nanos": 10852623,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6135,
+ "fuse_adapter_attr_misses": 5607,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6735,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5297,
+ "fuse_adapter_negative_misses": 6735,
+ "fuse_callback_count": 30279,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 11742,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12043,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 11742,
+ "fuse_op_getattr_nanos": 72225745,
+ "fuse_op_lookup_count": 12043,
+ "fuse_op_lookup_nanos": 136987946,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3568,
+ "fuse_op_other_nanos": 104822008,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 33880030,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65729823,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1194285047,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29832074,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17887,
+ "fuse_read_lane_wait_nanos": 2718743,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43327,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1503126,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20736,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46087,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14036918
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 858457715,
+ "agentfs_batcher_commit_txns": 4806,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9413,
+ "attr_cache_hits": 26155,
+ "attr_cache_misses": 30855,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33579,
+ "connection_wait_count": 33587,
+ "connection_wait_nanos": 10852623,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20736,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6815,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46087,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14036918
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6135,
+ "fuse_adapter_attr_misses": 5607,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6735,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5297,
+ "fuse_adapter_negative_misses": 6735,
+ "fuse_callback_count": 30279,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 11742,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12043,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 11742,
+ "fuse_op_getattr_nanos": 72225745,
+ "fuse_op_lookup_count": 12043,
+ "fuse_op_lookup_nanos": 136987946,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3568,
+ "fuse_op_other_nanos": 104822008,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 33880030,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65729823,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1194285047,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29832074,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17887,
+ "fuse_read_lane_wait_nanos": 2718743,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43327,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1503126
+ }
+ },
+ "source": "phase-checkpoint-5"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 858457715,
+ "agentfs_batcher_commit_txns": 4806,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9413,
+ "attr_cache_hits": 26155,
+ "attr_cache_misses": 30855,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33579,
+ "connection_wait_count": 33587,
+ "connection_wait_nanos": 10852623,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7996,
+ "fuse_adapter_attr_misses": 5607,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6735,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5343,
+ "fuse_adapter_negative_misses": 6735,
+ "fuse_callback_count": 32186,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13603,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12089,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 13603,
+ "fuse_op_getattr_nanos": 73425960,
+ "fuse_op_lookup_count": 12089,
+ "fuse_op_lookup_nanos": 137054814,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3580,
+ "fuse_op_other_nanos": 104836240,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 33880030,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65729823,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1194285047,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29832074,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17887,
+ "fuse_read_lane_wait_nanos": 2718743,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45246,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1503126,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20736,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6861,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46087,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14036918
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 858457715,
+ "agentfs_batcher_commit_txns": 4806,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9413,
+ "attr_cache_hits": 26155,
+ "attr_cache_misses": 30855,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33579,
+ "connection_wait_count": 33587,
+ "connection_wait_nanos": 10852623,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20736,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6861,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46087,
+ "negative_lookup_count": 14918,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37629,
+ "path_resolution_count": 8139,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 14036918
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 7996,
+ "fuse_adapter_attr_misses": 5607,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6735,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5343,
+ "fuse_adapter_negative_misses": 6735,
+ "fuse_callback_count": 32186,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13603,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12089,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 13603,
+ "fuse_op_getattr_nanos": 73425960,
+ "fuse_op_lookup_count": 12089,
+ "fuse_op_lookup_nanos": 137054814,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3580,
+ "fuse_op_other_nanos": 104836240,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 33880030,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 65729823,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1194285047,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29832074,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17887,
+ "fuse_read_lane_wait_nanos": 2718743,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45246,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1503126
+ }
+ },
+ "source": "phase-checkpoint-6"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 858457715,
+ "agentfs_batcher_commit_txns": 4806,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9413,
+ "attr_cache_hits": 26158,
+ "attr_cache_misses": 30857,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33603,
+ "connection_wait_count": 33611,
+ "connection_wait_nanos": 10879680,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8040,
+ "fuse_adapter_attr_misses": 5608,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6739,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5587,
+ "fuse_adapter_negative_misses": 6739,
+ "fuse_callback_count": 32499,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13648,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12337,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 13648,
+ "fuse_op_getattr_nanos": 73535957,
+ "fuse_op_lookup_count": 12337,
+ "fuse_op_lookup_nanos": 137485172,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 104851104,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34270757,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 67283387,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1194285047,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29832074,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17902,
+ "fuse_read_lane_wait_nanos": 2725300,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45595,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1503126,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20738,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7105,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46096,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37671,
+ "path_resolution_count": 8149,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 14543192
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 858457715,
+ "agentfs_batcher_commit_txns": 4806,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9413,
+ "attr_cache_hits": 26158,
+ "attr_cache_misses": 30857,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33603,
+ "connection_wait_count": 33611,
+ "connection_wait_nanos": 10879680,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "getattr_count": 20738,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7105,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46096,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37671,
+ "path_resolution_count": 8149,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 14543192
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 8040,
+ "fuse_adapter_attr_misses": 5608,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6739,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5587,
+ "fuse_adapter_negative_misses": 6739,
+ "fuse_callback_count": 32499,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13648,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12337,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 13648,
+ "fuse_op_getattr_nanos": 73535957,
+ "fuse_op_lookup_count": 12337,
+ "fuse_op_lookup_nanos": 137485172,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 104851104,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34270757,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 67283387,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1194285047,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29832074,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17902,
+ "fuse_read_lane_wait_nanos": 2725300,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45595,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1503126
+ }
+ },
+ "source": "phase-checkpoint-7"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 858457715,
+ "agentfs_batcher_commit_txns": 4806,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9413,
+ "attr_cache_hits": 26158,
+ "attr_cache_misses": 30857,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33606,
+ "connection_wait_count": 33614,
+ "connection_wait_nanos": 10887566,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8040,
+ "fuse_adapter_attr_misses": 5608,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6739,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5587,
+ "fuse_adapter_negative_misses": 6739,
+ "fuse_callback_count": 32499,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13648,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12337,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 13648,
+ "fuse_op_getattr_nanos": 73535957,
+ "fuse_op_lookup_count": 12337,
+ "fuse_op_lookup_nanos": 137485172,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 104851104,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34270757,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 67283387,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1194285047,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29832074,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17902,
+ "fuse_read_lane_wait_nanos": 2725300,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45595,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1504628,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20738,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7105,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46096,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37671,
+ "path_resolution_count": 8149,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 14679037
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 858457715,
+ "agentfs_batcher_commit_txns": 4806,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4753,
+ "agentfs_batcher_pending_max_bytes": 1441792,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9413,
+ "attr_cache_hits": 26158,
+ "attr_cache_misses": 30857,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create": 8,
+ "connection_reuse": 33606,
+ "connection_wait_count": 33614,
+ "connection_wait_nanos": 10887566,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "getattr_count": 20738,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7105,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46096,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37671,
+ "path_resolution_count": 8149,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 14679037
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 8040,
+ "fuse_adapter_attr_misses": 5608,
+ "fuse_adapter_entry_hits": 11,
+ "fuse_adapter_entry_misses": 6739,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5587,
+ "fuse_adapter_negative_misses": 6739,
+ "fuse_callback_count": 32499,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 585484,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4753,
+ "fuse_flush_ranges": 4753,
+ "fuse_getattr_count": 13648,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12337,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 495428892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 978,
+ "fuse_op_forget_count": 47,
+ "fuse_op_forget_nanos": 681501,
+ "fuse_op_getattr_count": 13648,
+ "fuse_op_getattr_nanos": 73535957,
+ "fuse_op_lookup_count": 12337,
+ "fuse_op_lookup_nanos": 137485172,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1311,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 104851104,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34270757,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 67283387,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1194285047,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 29832074,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17902,
+ "fuse_read_lane_wait_nanos": 2725300,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45595,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1504628
+ }
+ },
+ "source": "cli"
+ }
+ ],
+ "returncode": 0,
+ "stderr_bytes": 64596,
+ "stderr_tail": "en_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":1,\"fuse_readdirplus_mode\":2,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_workers_configured\":7,\"fuse_writeback_cache_enabled\":1},\"core\":{\"agentfs_batcher_coalesced_ranges\":39,\"agentfs_batcher_commit_latency_ns_total\":858457715,\"agentfs_batcher_commit_txns\":4806,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4697,\"agentfs_batcher_drains_timer\":17,\"agentfs_batcher_enqueues\":4753,\"agentfs_batcher_pending_max_bytes\":1441792,\"agentfs_batcher_txn_inodes_max\":3,\"agentfs_batcher_txn_inodes_total\":9413,\"attr_cache_hits\":26155,\"attr_cache_misses\":30855,\"chunk_read_chunks\":267,\"chunk_read_queries\":122,\"chunk_write_chunks\":1003,\"connection_create\":8,\"connection_reuse\":33579,\"connection_wait_count\":33587,\"connection_wait_nanos\":10852623,\"dentry_cache_hits\":26126,\"dentry_cache_misses\":14052,\"getattr_count\":20736,\"lookup_base_count\":23,\"lookup_count\":41052,\"lookup_delta_count\":7547,\"lookup_whiteout_count\":0,\"negative_cache_hits\":6861,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46087,\"negative_lookup_count\":14918,\"path_cache_hits\":26126,\"path_cache_misses\":14052,\"path_component_count\":37629,\"path_resolution_count\":8139,\"readdir_count\":1,\"readdir_plus_count\":1398,\"wal_checkpoint_count\":708,\"wal_checkpoint_nanos\":14036918},\"fuse\":{\"fuse_adapter_attr_hits\":7996,\"fuse_adapter_attr_misses\":5607,\"fuse_adapter_entry_hits\":11,\"fuse_adapter_entry_misses\":6735,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5343,\"fuse_adapter_negative_misses\":6735,\"fuse_callback_count\":32186,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":6,\"fuse_dispatch_parallel_tasks\":49,\"fuse_dispatch_wait_count\":49,\"fuse_dispatch_wait_nanos\":585484,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4753,\"fuse_flush_ranges\":4753,\"fuse_getattr_count\":13603,\"fuse_ino_file_resolutions\":25,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":12089,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":495428892,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":978,\"fuse_op_forget_count\":47,\"fuse_op_forget_nanos\":681501,\"fuse_op_getattr_count\":13603,\"fuse_op_getattr_nanos\":73425960,\"fuse_op_lookup_count\":12089,\"fuse_op_lookup_nanos\":137054814,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1311,\"fuse_op_other_count\":3580,\"fuse_op_other_nanos\":104836240,\"fuse_op_read_count\":239,\"fuse_op_read_nanos\":33880030,\"fuse_op_readdirplus_count\":1407,\"fuse_op_readdirplus_nanos\":65729823,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4777,\"fuse_op_setattr_nanos\":1194285047,\"fuse_op_write_count\":4847,\"fuse_op_write_nanos\":29832074,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":239,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17887,\"fuse_read_lane_wait_nanos\":2718743,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1407,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":45246,\"fuse_worker_queue_depth_peak\":2,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4847,\"fuse_write_lane_wait_count\":10267,\"fuse_write_lane_wait_nanos\":1503126}},\"source\":\"phase-checkpoint-6\"}\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":39,\"agentfs_batcher_commit_latency_ns_total\":858457715,\"agentfs_batcher_commit_txns\":4806,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4697,\"agentfs_batcher_drains_timer\":17,\"agentfs_batcher_enqueues\":4753,\"agentfs_batcher_pending_max_bytes\":1441792,\"agentfs_batcher_txn_inodes_max\":3,\"agentfs_batcher_txn_inodes_total\":9413,\"attr_cache_hits\":26158,\"attr_cache_misses\":30857,\"base_fast_inode_invalidations\":15118,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1003,\"connection_create\":8,\"connection_reuse\":33603,\"connection_wait_count\":33611,\"connection_wait_nanos\":10879680,\"dentry_cache_hits\":26130,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":8040,\"fuse_adapter_attr_misses\":5608,\"fuse_adapter_entry_hits\":11,\"fuse_adapter_entry_misses\":6739,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5587,\"fuse_adapter_negative_misses\":6739,\"fuse_callback_count\":32499,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":6,\"fuse_dispatch_parallel_tasks\":49,\"fuse_dispatch_wait_count\":49,\"fuse_dispatch_wait_nanos\":585484,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4753,\"fuse_flush_ranges\":4753,\"fuse_getattr_count\":13648,\"fuse_ino_file_resolutions\":26,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12337,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":495428892,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":978,\"fuse_op_forget_count\":47,\"fuse_op_forget_nanos\":681501,\"fuse_op_getattr_count\":13648,\"fuse_op_getattr_nanos\":73535957,\"fuse_op_lookup_count\":12337,\"fuse_op_lookup_nanos\":137485172,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1311,\"fuse_op_other_count\":3616,\"fuse_op_other_nanos\":104851104,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":34270757,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":67283387,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4777,\"fuse_op_setattr_nanos\":1194285047,\"fuse_op_write_count\":4847,\"fuse_op_write_nanos\":29832074,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17902,\"fuse_read_lane_wait_nanos\":2725300,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":45595,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4847,\"fuse_write_lane_wait_count\":10267,\"fuse_write_lane_wait_nanos\":1503126,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20738,\"lookup_base_count\":23,\"lookup_count\":41060,\"lookup_delta_count\":7551,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7105,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46096,\"negative_lookup_count\":14920,\"path_cache_hits\":26130,\"path_cache_misses\":14054,\"path_component_count\":37671,\"path_resolution_count\":8149,\"readdir_count\":1,\"readdir_plus_count\":1416,\"wal_checkpoint_count\":717,\"wal_checkpoint_nanos\":14543192},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"sections\":{\"base\":{\"base_fast_inode_invalidations\":15118,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":1,\"fuse_readdirplus_mode\":2,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_workers_configured\":7,\"fuse_writeback_cache_enabled\":1},\"core\":{\"agentfs_batcher_coalesced_ranges\":39,\"agentfs_batcher_commit_latency_ns_total\":858457715,\"agentfs_batcher_commit_txns\":4806,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4697,\"agentfs_batcher_drains_timer\":17,\"agentfs_batcher_enqueues\":4753,\"agentfs_batcher_pending_max_bytes\":1441792,\"agentfs_batcher_txn_inodes_max\":3,\"agentfs_batcher_txn_inodes_total\":9413,\"attr_cache_hits\":26158,\"attr_cache_misses\":30857,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1003,\"connection_create\":8,\"connection_reuse\":33603,\"connection_wait_count\":33611,\"connection_wait_nanos\":10879680,\"dentry_cache_hits\":26130,\"dentry_cache_misses\":14054,\"getattr_count\":20738,\"lookup_base_count\":23,\"lookup_count\":41060,\"lookup_delta_count\":7551,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7105,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46096,\"negative_lookup_count\":14920,\"path_cache_hits\":26130,\"path_cache_misses\":14054,\"path_component_count\":37671,\"path_resolution_count\":8149,\"readdir_count\":1,\"readdir_plus_count\":1416,\"wal_checkpoint_count\":717,\"wal_checkpoint_nanos\":14543192},\"fuse\":{\"fuse_adapter_attr_hits\":8040,\"fuse_adapter_attr_misses\":5608,\"fuse_adapter_entry_hits\":11,\"fuse_adapter_entry_misses\":6739,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5587,\"fuse_adapter_negative_misses\":6739,\"fuse_callback_count\":32499,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":6,\"fuse_dispatch_parallel_tasks\":49,\"fuse_dispatch_wait_count\":49,\"fuse_dispatch_wait_nanos\":585484,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4753,\"fuse_flush_ranges\":4753,\"fuse_getattr_count\":13648,\"fuse_ino_file_resolutions\":26,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":12337,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":495428892,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":978,\"fuse_op_forget_count\":47,\"fuse_op_forget_nanos\":681501,\"fuse_op_getattr_count\":13648,\"fuse_op_getattr_nanos\":73535957,\"fuse_op_lookup_count\":12337,\"fuse_op_lookup_nanos\":137485172,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1311,\"fuse_op_other_count\":3616,\"fuse_op_other_nanos\":104851104,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":34270757,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":67283387,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4777,\"fuse_op_setattr_nanos\":1194285047,\"fuse_op_write_count\":4847,\"fuse_op_write_nanos\":29832074,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17902,\"fuse_read_lane_wait_nanos\":2725300,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":45595,\"fuse_worker_queue_depth_peak\":2,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4847,\"fuse_write_lane_wait_count\":10267,\"fuse_write_lane_wait_nanos\":1503126}},\"source\":\"phase-checkpoint-7\"}\n\nSession: git-workload-fa418f52ee1a41beabeb538335d5466e\n\nTo resume this session:\n agentfs run --session git-workload-fa418f52ee1a41beabeb538335d5466e\n\nTo see what changed:\n agentfs diff git-workload-fa418f52ee1a41beabeb538335d5466e\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":39,\"agentfs_batcher_commit_latency_ns_total\":858457715,\"agentfs_batcher_commit_txns\":4806,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4697,\"agentfs_batcher_drains_timer\":17,\"agentfs_batcher_enqueues\":4753,\"agentfs_batcher_pending_max_bytes\":1441792,\"agentfs_batcher_txn_inodes_max\":3,\"agentfs_batcher_txn_inodes_total\":9413,\"attr_cache_hits\":26158,\"attr_cache_misses\":30857,\"base_fast_inode_invalidations\":15118,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1003,\"connection_create\":8,\"connection_reuse\":33606,\"connection_wait_count\":33614,\"connection_wait_nanos\":10887566,\"dentry_cache_hits\":26130,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":8040,\"fuse_adapter_attr_misses\":5608,\"fuse_adapter_entry_hits\":11,\"fuse_adapter_entry_misses\":6739,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5587,\"fuse_adapter_negative_misses\":6739,\"fuse_callback_count\":32499,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":6,\"fuse_dispatch_parallel_tasks\":49,\"fuse_dispatch_wait_count\":49,\"fuse_dispatch_wait_nanos\":585484,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4753,\"fuse_flush_ranges\":4753,\"fuse_getattr_count\":13648,\"fuse_ino_file_resolutions\":26,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12337,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":495428892,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":978,\"fuse_op_forget_count\":47,\"fuse_op_forget_nanos\":681501,\"fuse_op_getattr_count\":13648,\"fuse_op_getattr_nanos\":73535957,\"fuse_op_lookup_count\":12337,\"fuse_op_lookup_nanos\":137485172,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1311,\"fuse_op_other_count\":3616,\"fuse_op_other_nanos\":104851104,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":34270757,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":67283387,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4777,\"fuse_op_setattr_nanos\":1194285047,\"fuse_op_write_count\":4847,\"fuse_op_write_nanos\":29832074,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17902,\"fuse_read_lane_wait_nanos\":2725300,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":45595,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4847,\"fuse_write_lane_wait_count\":10269,\"fuse_write_lane_wait_nanos\":1504628,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20738,\"lookup_base_count\":23,\"lookup_count\":41060,\"lookup_delta_count\":7551,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7105,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46096,\"negative_lookup_count\":14920,\"path_cache_hits\":26130,\"path_cache_misses\":14054,\"path_component_count\":37671,\"path_resolution_count\":8149,\"readdir_count\":1,\"readdir_plus_count\":1416,\"wal_checkpoint_count\":719,\"wal_checkpoint_nanos\":14679037},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"sections\":{\"base\":{\"base_fast_inode_invalidations\":15118,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":1,\"fuse_readdirplus_mode\":2,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_workers_configured\":7,\"fuse_writeback_cache_enabled\":1},\"core\":{\"agentfs_batcher_coalesced_ranges\":39,\"agentfs_batcher_commit_latency_ns_total\":858457715,\"agentfs_batcher_commit_txns\":4806,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4697,\"agentfs_batcher_drains_timer\":17,\"agentfs_batcher_enqueues\":4753,\"agentfs_batcher_pending_max_bytes\":1441792,\"agentfs_batcher_txn_inodes_max\":3,\"agentfs_batcher_txn_inodes_total\":9413,\"attr_cache_hits\":26158,\"attr_cache_misses\":30857,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1003,\"connection_create\":8,\"connection_reuse\":33606,\"connection_wait_count\":33614,\"connection_wait_nanos\":10887566,\"dentry_cache_hits\":26130,\"dentry_cache_misses\":14054,\"getattr_count\":20738,\"lookup_base_count\":23,\"lookup_count\":41060,\"lookup_delta_count\":7551,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7105,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46096,\"negative_lookup_count\":14920,\"path_cache_hits\":26130,\"path_cache_misses\":14054,\"path_component_count\":37671,\"path_resolution_count\":8149,\"readdir_count\":1,\"readdir_plus_count\":1416,\"wal_checkpoint_count\":719,\"wal_checkpoint_nanos\":14679037},\"fuse\":{\"fuse_adapter_attr_hits\":8040,\"fuse_adapter_attr_misses\":5608,\"fuse_adapter_entry_hits\":11,\"fuse_adapter_entry_misses\":6739,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5587,\"fuse_adapter_negative_misses\":6739,\"fuse_callback_count\":32499,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":6,\"fuse_dispatch_parallel_tasks\":49,\"fuse_dispatch_wait_count\":49,\"fuse_dispatch_wait_nanos\":585484,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4753,\"fuse_flush_ranges\":4753,\"fuse_getattr_count\":13648,\"fuse_ino_file_resolutions\":26,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":12337,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":495428892,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":978,\"fuse_op_forget_count\":47,\"fuse_op_forget_nanos\":681501,\"fuse_op_getattr_count\":13648,\"fuse_op_getattr_nanos\":73535957,\"fuse_op_lookup_count\":12337,\"fuse_op_lookup_nanos\":137485172,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1311,\"fuse_op_other_count\":3616,\"fuse_op_other_nanos\":104851104,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":34270757,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":67283387,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4777,\"fuse_op_setattr_nanos\":1194285047,\"fuse_op_write_count\":4847,\"fuse_op_write_nanos\":29832074,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17902,\"fuse_read_lane_wait_nanos\":2725300,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":45595,\"fuse_worker_queue_depth_peak\":2,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4847,\"fuse_write_lane_wait_count\":10269,\"fuse_write_lane_wait_nanos\":1504628}},\"source\":\"cli\"}\n",
+ "stdout_bytes": 18770,
+ "stdout_tail": "2026-07-04T01:14:27.354700Z INFO agentfs::fuser::session: resolved FUSE dispatch mode: parallel workers=7 queue_capacity=28\n2026-07-04T01:14:27.354980Z INFO agentfs::fuse: advertising FUSE_OVER_IO_URING\n2026-07-04T01:14:27.355248Z INFO agentfs::fuser::uring: starting fuse-over-io_uring queues nr_queues=14 depth=4\n2026-07-04T01:14:29.719595Z WARN agentfs::fuser::request: Request RequestId(50973): Failed to send reply: No such file or directory (os error 2)\n{\"branch_status\": \"## agentfs-benchmark\\n\", \"diff\": {\"changed_file_count\": 8, \"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.06564354000147432, \"patch_bytes\": 3282, \"patch_sha256\": \"51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc\", \"runs\": {\"name_only\": {\"argv\": [\"git\", \"diff\", \"--name-only\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-7wytce9p/agentfs-base/work\", \"duration_seconds\": 0.024741028988501057, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 144, \"stdout_tail\": \"docs/CLA.md\\ndocs/agents_md.md\\ndocs/authentication.md\\ndocs/config.md\\ndocs/contributing.md\\ndocs/example-config.md\\ndocs/exec.md\\ndocs/execpolicy.md\\n\"}, \"patch\": {\"argv\": [\"git\", \"diff\", \"--\", \".\"], \"cwd\": \"/tmp/agentfs-git-workload-7wytce9p/agentfs-base/work\", \"duration_seconds\": 0.020805346008273773, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 3282, \"stdout_tail\": \"diff --git a/docs/CLA.md b/docs/CLA.md\\nindex 804f202..3495ac9 100644\\n--- a/docs/CLA.md\\n+++ b/docs/CLA.md\\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\\n This Agreement is governed by the laws of the **State of California**, USA,\\n excluding its conflict\\u2011of\\u2011laws rules. If any provision is held unenforceable,\\n the remaining provisions remain in force.\\n+\\n+AgentFS Git benchmark edit 00 for docs/CLA.md\\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\\nindex 3df0fac..b8b063d 100644\\n--- a/docs/agents_md.md\\n+++ b/docs/agents_md.md\\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\\n ## Hierarchical agents message\\n \\n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\\n+\\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\\ndiff --git a/docs/authentication.md b/docs/authentication.md\\nindex c307349..b3bc9dc 100644\\n--- a/docs/authentication.md\\n+++ b/docs/authentication.md\\n@@ -1,3 +1,5 @@\\n # Authentication\\n \\n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\\n+\\n+AgentFS Git benchmark edit 02 for docs/authentication.md\\ndiff --git a/docs/config.md b/docs/config.md\\nindex d35b0a8..030e278 100644\\n--- a/docs/config.md\\n+++ b/docs/config.md\\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\\n still allowing managed hooks from requirements and managed config layers. This\\n setting is only supported in `requirements.toml`; putting it in `config.toml`\\n does not enable managed-hooks-only mode.\\n+\\n+AgentFS Git benchmark edit 03 for docs/config.md\\ndiff --git a/docs/contributing.md b/docs/contributing.md\\nindex aeae1f1..b5a22ac 100644\\n--- a/docs/contributing.md\\n+++ b/docs/contributing.md\\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\\n ### Security & responsible AI\\n \\n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\\n+\\n+AgentFS Git benchmark edit 04 for docs/contributing.md\\ndiff --git a/docs/example-config.md b/docs/example-config.md\\nindex 84b1143..b09f835 100644\\n--- a/docs/example-config.md\\n+++ b/docs/example-config.md\\n@@ -1,3 +1,5 @@\\n # Sample configuration\\n \\n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\\n+\\n+AgentFS Git benchmark edit 05 for docs/example-config.md\\ndiff --git a/docs/exec.md b/docs/exec.md\\nindex 57e4323..a81da98 100644\\n--- a/docs/exec.md\\n+++ b/docs/exec.md\\n@@ -1,3 +1,5 @@\\n # Non-interactive mode\\n \\n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\\n+\\n+AgentFS Git benchmark edit 06 for docs/exec.md\\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\\nindex cafebb3..3b48afe 100644\\n--- a/docs/execpolicy.md\\n+++ b/docs/execpolicy.md\\n@@ -1,3 +1,5 @@\\n # Execution policy\\n \\n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\\n+\\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\\n\"}, \"stat\": {\"argv\": [\"git\", \"diff\", \"--stat\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-7wytce9p/agentfs-base/work\", \"duration_seconds\": 0.020045437006046996, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 283, \"stdout_tail\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}}, \"stat_stdout\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}, \"edits\": {\"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.00550819598720409, \"edits\": [{\"appended_bytes\": 47, \"path\": \"docs/CLA.md\", \"size_after\": 2106, \"size_before\": 2059}, {\"appended_bytes\": 53, \"path\": \"docs/agents_md.md\", \"size_after\": 462, \"size_before\": 409}, {\"appended_bytes\": 58, \"path\": \"docs/authentication.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 50, \"path\": \"docs/config.md\", \"size_after\": 776, \"size_before\": 726}, {\"appended_bytes\": 56, \"path\": \"docs/contributing.md\", \"size_after\": 6380, \"size_before\": 6324}, {\"appended_bytes\": 58, \"path\": \"docs/example-config.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 48, \"path\": \"docs/exec.md\", \"size_after\": 194, \"size_before\": 146}, {\"appended_bytes\": 54, \"path\": \"docs/execpolicy.md\", \"size_after\": 192, \"size_before\": 138}]}, \"fsck\": {\"ok\": true, \"ran\": true, \"run\": {\"argv\": [\"git\", \"fsck\", \"--strict\"], \"cwd\": \"/tmp/agentfs-git-workload-7wytce9p/agentfs-base/work\", \"duration_seconds\": 0.21495337400119752, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}, \"head_commit\": \"7d47056ea42636271ac020b86347fbbef49490aa\", \"initial_status\": \"\", \"phase_runs\": {\"checkout\": {\"argv\": [\"git\", \"checkout\", \"-B\", \"agentfs-benchmark\"], \"cwd\": \"/tmp/agentfs-git-workload-7wytce9p/agentfs-base/work\", \"duration_seconds\": 0.057891393997124396, \"returncode\": 0, \"stderr_bytes\": 45, \"stderr_tail\": \"Switched to a new branch 'agentfs-benchmark'\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"clone\": {\"argv\": [\"git\", \"clone\", \"--local\", \"--no-hardlinks\", \"/tmp/agentfs-git-workload-7wytce9p/agentfs-base/mirror.git\", \"/tmp/agentfs-git-workload-7wytce9p/agentfs-base/work\"], \"cwd\": \"/tmp/agentfs-git-workload-7wytce9p/agentfs-base\", \"duration_seconds\": 2.8883740519959247, \"returncode\": 0, \"stderr_bytes\": 2340, \"stderr_tail\": \"Cloning into '/tmp/agentfs-git-workload-7wytce9p/agentfs-base/work'...\\nwarning: source repository is shallow, ignoring --local\\nwarning: --local is ignored\\nUpdating files: 37% (1733/4644)\\nUpdating files: 38% (1765/4644)\\nUpdating files: 39% (1812/4644)\\nUpdating files: 40% (1858/4644)\\nUpdating files: 41% (1905/4644)\\nUpdating files: 42% (1951/4644)\\nUpdating files: 43% (1997/4644)\\nUpdating files: 44% (2044/4644)\\nUpdating files: 45% (2090/4644)\\nUpdating files: 46% (2137/4644)\\nUpdating files: 47% (2183/4644)\\nUpdating files: 48% (2230/4644)\\nUpdating files: 49% (2276/4644)\\nUpdating files: 50% (2322/4644)\\nUpdating files: 51% (2369/4644)\\nUpdating files: 52% (2415/4644)\\nUpdating files: 53% (2462/4644)\\nUpdating files: 54% (2508/4644)\\nUpdating files: 55% (2555/4644)\\nUpdating files: 56% (2601/4644)\\nUpdating files: 57% (2648/4644)\\nUpdating files: 58% (2694/4644)\\nUpdating files: 59% (2740/4644)\\nUpdating files: 60% (2787/4644)\\nUpdating files: 61% (2833/4644)\\nUpdating files: 62% (2880/4644)\\nUpdating files: 63% (2926/4644)\\nUpdating files: 64% (2973/4644)\\nUpdating files: 65% (3019/4644)\\nUpdating files: 66% (3066/4644)\\nUpdating files: 67% (3112/4644)\\nUpdating files: 68% (3158/4644)\\nUpdating files: 69% (3205/4644)\\nUpdating files: 70% (3251/4644)\\nUpdating files: 71% (3298/4644)\\nUpdating files: 72% (3344/4644)\\nUpdating files: 73% (3391/4644)\\nUpdating files: 74% (3437/4644)\\nUpdating files: 75% (3483/4644)\\nUpdating files: 76% (3530/4644)\\nUpdating files: 77% (3576/4644)\\nUpdating files: 78% (3623/4644)\\nUpdating files: 78% (3660/4644)\\nUpdating files: 79% (3669/4644)\\nUpdating files: 80% (3716/4644)\\nUpdating files: 81% (3762/4644)\\nUpdating files: 82% (3809/4644)\\nUpdating files: 83% (3855/4644)\\nUpdating files: 84% (3901/4644)\\nUpdating files: 85% (3948/4644)\\nUpdating files: 86% (3994/4644)\\nUpdating files: 87% (4041/4644)\\nUpdating files: 88% (4087/4644)\\nUpdating files: 89% (4134/4644)\\nUpdating files: 90% (4180/4644)\\nUpdating files: 91% (4227/4644)\\nUpdating files: 92% (4273/4644)\\nUpdating files: 93% (4319/4644)\\nUpdating files: 94% (4366/4644)\\nUpdating files: 95% (4412/4644)\\nUpdating files: 96% (4459/4644)\\nUpdating files: 97% (4505/4644)\\nUpdating files: 98% (4552/4644)\\nUpdating files: 99% (4598/4644)\\nUpdating files: 100% (4644/4644)\\nUpdating files: 100% (4644/4644), done.\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"status\": {\"branch\": {\"argv\": [\"git\", \"status\", \"--short\", \"--branch\"], \"cwd\": \"/tmp/agentfs-git-workload-7wytce9p/agentfs-base/work\", \"duration_seconds\": 0.0352727639983641, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 21, \"stdout_tail\": \"## agentfs-benchmark\\n\"}, \"short\": {\"argv\": [\"git\", \"status\", \"--short\"], \"cwd\": \"/tmp/agentfs-git-workload-7wytce9p/agentfs-base/work\", \"duration_seconds\": 0.1319450429873541, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}}, \"phase_seconds\": {\"checkout\": 0.060572469999897294, \"clone\": 2.8884635900030844, \"diff\": 0.06564354000147432, \"edit\": 0.00550819598720409, \"fsck\": 0.21496818200103007, \"read_search\": 0.009809875991777517, \"status\": 0.1672487969917711}, \"profile_checkpoints\": [\"clone\", \"checkout\", \"status\", \"read_search\", \"edit\", \"diff\", \"fsck\"], \"read_search\": {\"bytes_read\": 117190, \"digest\": \"6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53\", \"files_scanned\": 64, \"files_total\": 4644, \"ls_files_run\": {\"argv\": [\"git\", \"ls-files\", \"-z\"], \"cwd\": \"/tmp/agentfs-git-workload-7wytce9p/agentfs-base/work\", \"duration_seconds\": 0.006677401004708372, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 263077, \"stdout_tail\": \"i_codex/api.py\\u0000sdk/python/src/openai_codex/async_client.py\\u0000sdk/python/src/openai_codex/client.py\\u0000sdk/python/src/openai_codex/errors.py\\u0000sdk/python/src/openai_codex/generated/__init__.py\\u0000sdk/python/src/openai_codex/generated/notification_registry.py\\u0000sdk/python/src/openai_codex/generated/v2_all.py\\u0000sdk/python/src/openai_codex/models.py\\u0000sdk/python/src/openai_codex/py.typed\\u0000sdk/python/src/openai_codex/retry.py\\u0000sdk/python/src/openai_codex/types.py\\u0000sdk/python/tests/app_server_harness.py\\u0000sdk/python/tests/app_server_helpers.py\\u0000sdk/python/tests/conftest.py\\u0000sdk/python/tests/test_app_server_approvals.py\\u0000sdk/python/tests/test_app_server_inputs.py\\u0000sdk/python/tests/test_app_server_lifecycle.py\\u0000sdk/python/tests/test_app_server_login.py\\u0000sdk/python/tests/test_app_server_run.py\\u0000sdk/python/tests/test_app_server_streaming.py\\u0000sdk/python/tests/test_app_server_turn_controls.py\\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\\u0000sdk/python/tests/test_async_client_behavior.py\\u0000sdk/python/tests/test_client_rpc_methods.py\\u0000sdk/python/tests/test_contract_generation.py\\u0000sdk/python/tests/test_public_api_runtime_behavior.py\\u0000sdk/python/tests/test_public_api_signatures.py\\u0000sdk/python/tests/test_real_app_server_integration.py\\u0000sdk/python/uv.lock\\u0000sdk/typescript/.prettierignore\\u0000sdk/typescript/.prettierrc\\u0000sdk/typescript/README.md\\u0000sdk/typescript/eslint.config.js\\u0000sdk/typescript/jest.config.cjs\\u0000sdk/typescript/package.json\\u0000sdk/typescript/samples/basic_streaming.ts\\u0000sdk/typescript/samples/helpers.ts\\u0000sdk/typescript/samples/structured_output.ts\\u0000sdk/typescript/samples/structured_output_zod.ts\\u0000sdk/typescript/src/codex.ts\\u0000sdk/typescript/src/codexOptions.ts\\u0000sdk/typescript/src/events.ts\\u0000sdk/typescript/src/exec.ts\\u0000sdk/typescript/src/index.ts\\u0000sdk/typescript/src/items.ts\\u0000sdk/typescript/src/outputSchemaFile.ts\\u0000sdk/typescript/src/thread.ts\\u0000sdk/typescript/src/threadOptions.ts\\u0000sdk/typescript/src/turnOptions.ts\\u0000sdk/typescript/tests/abort.test.ts\\u0000sdk/typescript/tests/codexExecSpy.ts\\u0000sdk/typescript/tests/exec.test.ts\\u0000sdk/typescript/tests/responsesProxy.ts\\u0000sdk/typescript/tests/run.test.ts\\u0000sdk/typescript/tests/runStreamed.test.ts\\u0000sdk/typescript/tests/setupCodexHome.ts\\u0000sdk/typescript/tests/testCodex.ts\\u0000sdk/typescript/tsconfig.json\\u0000sdk/typescript/tsup.config.ts\\u0000third_party/v8/BUILD.bazel\\u0000third_party/v8/README.md\\u0000third_party/v8/libcxx.BUILD.bazel\\u0000third_party/v8/libcxx_config/BUILD.bazel\\u0000third_party/v8/libcxx_config/__assertion_handler\\u0000third_party/v8/libcxx_config/__config_site\\u0000third_party/v8/libcxxabi.BUILD.bazel\\u0000third_party/v8/llvm_libc.BUILD.bazel\\u0000third_party/v8/rusty_v8_147_4_0.sha256\\u0000third_party/v8/v8_crate.BUILD.bazel\\u0000third_party/wezterm/LICENSE\\u0000tools/argument-comment-lint/.cargo/config.toml\\u0000tools/argument-comment-lint/.gitignore\\u0000tools/argument-comment-lint/BUILD.bazel\\u0000tools/argument-comment-lint/Cargo.lock\\u0000tools/argument-comment-lint/Cargo.toml\\u0000tools/argument-comment-lint/README.md\\u0000tools/argument-comment-lint/argument-comment-lint\\u0000tools/argument-comment-lint/driver.rs\\u0000tools/argument-comment-lint/lint_aspect.bzl\\u0000tools/argument-comment-lint/list-bazel-targets.sh\\u0000tools/argument-comment-lint/run-prebuilt-linter.py\\u0000tools/argument-comment-lint/run.py\\u0000tools/argument-comment-lint/rust-toolchain\\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\\u0000tools/argument-comment-lint/src/comment_parser.rs\\u0000tools/argument-comment-lint/src/lib.rs\\u0000tools/argument-comment-lint/test_wrapper_common.py\\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\\u0000tools/argument-comment-lint/ui/comment_matches.rs\\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\\u0000tools/argument-comment-lint/wrapper_common.py\\u0000workspace_root_test_launcher.bat.tpl\\u0000workspace_root_test_launcher.sh.tpl\\u0000\"}, \"matches\": 0, \"selected_files\": [\".bazelignore\", \".bazelrc\", \".bazelversion\", \".codespellignore\", \".codespellrc\", \".codex/environments/environment.toml\", \".codex/skills/babysit-pr/SKILL.md\", \".codex/skills/babysit-pr/agents/openai.yaml\", \".codex/skills/babysit-pr/references/github-api-notes.md\", \".codex/skills/babysit-pr/references/heuristics.md\", \".codex/skills/babysit-pr/scripts/gh_pr_watch.py\", \".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py\", \".codex/skills/code-review-breaking-changes/SKILL.md\", \".codex/skills/code-review-change-size/SKILL.md\", \".codex/skills/code-review-context/SKILL.md\", \".codex/skills/code-review-testing/SKILL.md\", \".codex/skills/code-review/SKILL.md\", \".codex/skills/codex-bug/SKILL.md\", \".codex/skills/codex-issue-digest/SKILL.md\", \".codex/skills/codex-issue-digest/agents/openai.yaml\", \".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py\", \".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py\", \".codex/skills/codex-pr-body/SKILL.md\", \".codex/skills/remote-tests/SKILL.md\", \".codex/skills/test-tui/SKILL.md\", \".codex/skills/update-v8-version/SKILL.md\", \".codex/skills/update-v8-version/agents/openai.yaml\", \".devcontainer/Dockerfile\", \".devcontainer/Dockerfile.secure\", \".devcontainer/README.md\", \".devcontainer/codex-install/package.json\", \".devcontainer/codex-install/pnpm-lock.yaml\", \".devcontainer/codex-install/pnpm-workspace.yaml\", \".devcontainer/devcontainer.json\", \".devcontainer/devcontainer.secure.json\", \".devcontainer/init-firewall.sh\", \".devcontainer/post-start.sh\", \".devcontainer/post_install.py\", \".gitattributes\", \".github/CODEOWNERS\", \".github/ISSUE_TEMPLATE/1-codex-app.yml\", \".github/ISSUE_TEMPLATE/2-extension.yml\", \".github/ISSUE_TEMPLATE/3-cli.yml\", \".github/ISSUE_TEMPLATE/4-bug-report.yml\", \".github/ISSUE_TEMPLATE/5-feature-request.yml\", \".github/ISSUE_TEMPLATE/6-docs-issue.yml\", \".github/actions/linux-code-sign/action.yml\", \".github/actions/macos-code-sign/action.yml\", \".github/actions/macos-code-sign/codex.entitlements.plist\", \".github/actions/macos-code-sign/notary_helpers.sh\", \".github/actions/prepare-bazel-ci/action.yml\", \".github/actions/run-argument-comment-lint/action.yml\", \".github/actions/setup-bazel-ci/action.yml\", \".github/actions/setup-msvc-env/action.yml\", \".github/actions/setup-msvc-env/setup-msvc-env.ps1\", \".github/actions/setup-rusty-v8/action.yml\", \".github/actions/windows-code-sign/action.yml\", \".github/blob-size-allowlist.txt\", \".github/codex-cli-splash.png\", \".github/codex/home/config.toml\", \".github/codex/labels/codex-attempt.md\", \".github/codex/labels/codex-review.md\", \".github/codex/labels/codex-rust-review.md\", \".github/codex/labels/codex-triage.md\"], \"token\": \"AGENTFS_TOKEN\"}, \"total_seconds\": 4.114593252001214}\n",
+ "timed_out": false
+ },
+ "workload": {
+ "branch_status": "## agentfs-benchmark\n",
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.06564354000147432,
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc",
+ "runs": {
+ "name_only": {
+ "argv": [
+ "git",
+ "diff",
+ "--name-only",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-7wytce9p/agentfs-base/work",
+ "duration_seconds": 0.024741028988501057,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 144,
+ "stdout_tail": "docs/CLA.md\ndocs/agents_md.md\ndocs/authentication.md\ndocs/config.md\ndocs/contributing.md\ndocs/example-config.md\ndocs/exec.md\ndocs/execpolicy.md\n"
+ },
+ "patch": {
+ "argv": [
+ "git",
+ "diff",
+ "--",
+ "."
+ ],
+ "cwd": "/tmp/agentfs-git-workload-7wytce9p/agentfs-base/work",
+ "duration_seconds": 0.020805346008273773,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 3282,
+ "stdout_tail": "diff --git a/docs/CLA.md b/docs/CLA.md\nindex 804f202..3495ac9 100644\n--- a/docs/CLA.md\n+++ b/docs/CLA.md\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\n This Agreement is governed by the laws of the **State of California**, USA,\n excluding its conflict\u2011of\u2011laws rules. If any provision is held unenforceable,\n the remaining provisions remain in force.\n+\n+AgentFS Git benchmark edit 00 for docs/CLA.md\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\nindex 3df0fac..b8b063d 100644\n--- a/docs/agents_md.md\n+++ b/docs/agents_md.md\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\n ## Hierarchical agents message\n \n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\n+\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\ndiff --git a/docs/authentication.md b/docs/authentication.md\nindex c307349..b3bc9dc 100644\n--- a/docs/authentication.md\n+++ b/docs/authentication.md\n@@ -1,3 +1,5 @@\n # Authentication\n \n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\n+\n+AgentFS Git benchmark edit 02 for docs/authentication.md\ndiff --git a/docs/config.md b/docs/config.md\nindex d35b0a8..030e278 100644\n--- a/docs/config.md\n+++ b/docs/config.md\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\n still allowing managed hooks from requirements and managed config layers. This\n setting is only supported in `requirements.toml`; putting it in `config.toml`\n does not enable managed-hooks-only mode.\n+\n+AgentFS Git benchmark edit 03 for docs/config.md\ndiff --git a/docs/contributing.md b/docs/contributing.md\nindex aeae1f1..b5a22ac 100644\n--- a/docs/contributing.md\n+++ b/docs/contributing.md\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\n ### Security & responsible AI\n \n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\n+\n+AgentFS Git benchmark edit 04 for docs/contributing.md\ndiff --git a/docs/example-config.md b/docs/example-config.md\nindex 84b1143..b09f835 100644\n--- a/docs/example-config.md\n+++ b/docs/example-config.md\n@@ -1,3 +1,5 @@\n # Sample configuration\n \n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\n+\n+AgentFS Git benchmark edit 05 for docs/example-config.md\ndiff --git a/docs/exec.md b/docs/exec.md\nindex 57e4323..a81da98 100644\n--- a/docs/exec.md\n+++ b/docs/exec.md\n@@ -1,3 +1,5 @@\n # Non-interactive mode\n \n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\n+\n+AgentFS Git benchmark edit 06 for docs/exec.md\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\nindex cafebb3..3b48afe 100644\n--- a/docs/execpolicy.md\n+++ b/docs/execpolicy.md\n@@ -1,3 +1,5 @@\n # Execution policy\n \n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\n+\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\n"
+ },
+ "stat": {
+ "argv": [
+ "git",
+ "diff",
+ "--stat",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-7wytce9p/agentfs-base/work",
+ "duration_seconds": 0.020045437006046996,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 283,
+ "stdout_tail": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ }
+ },
+ "stat_stdout": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.00550819598720409,
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true,
+ "run": {
+ "argv": [
+ "git",
+ "fsck",
+ "--strict"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-7wytce9p/agentfs-base/work",
+ "duration_seconds": 0.21495337400119752,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "phase_runs": {
+ "checkout": {
+ "argv": [
+ "git",
+ "checkout",
+ "-B",
+ "agentfs-benchmark"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-7wytce9p/agentfs-base/work",
+ "duration_seconds": 0.057891393997124396,
+ "returncode": 0,
+ "stderr_bytes": 45,
+ "stderr_tail": "Switched to a new branch 'agentfs-benchmark'\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "clone": {
+ "argv": [
+ "git",
+ "clone",
+ "--local",
+ "--no-hardlinks",
+ "/tmp/agentfs-git-workload-7wytce9p/agentfs-base/mirror.git",
+ "/tmp/agentfs-git-workload-7wytce9p/agentfs-base/work"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-7wytce9p/agentfs-base",
+ "duration_seconds": 2.8883740519959247,
+ "returncode": 0,
+ "stderr_bytes": 2340,
+ "stderr_tail": "Cloning into '/tmp/agentfs-git-workload-7wytce9p/agentfs-base/work'...\nwarning: source repository is shallow, ignoring --local\nwarning: --local is ignored\nUpdating files: 37% (1733/4644)\nUpdating files: 38% (1765/4644)\nUpdating files: 39% (1812/4644)\nUpdating files: 40% (1858/4644)\nUpdating files: 41% (1905/4644)\nUpdating files: 42% (1951/4644)\nUpdating files: 43% (1997/4644)\nUpdating files: 44% (2044/4644)\nUpdating files: 45% (2090/4644)\nUpdating files: 46% (2137/4644)\nUpdating files: 47% (2183/4644)\nUpdating files: 48% (2230/4644)\nUpdating files: 49% (2276/4644)\nUpdating files: 50% (2322/4644)\nUpdating files: 51% (2369/4644)\nUpdating files: 52% (2415/4644)\nUpdating files: 53% (2462/4644)\nUpdating files: 54% (2508/4644)\nUpdating files: 55% (2555/4644)\nUpdating files: 56% (2601/4644)\nUpdating files: 57% (2648/4644)\nUpdating files: 58% (2694/4644)\nUpdating files: 59% (2740/4644)\nUpdating files: 60% (2787/4644)\nUpdating files: 61% (2833/4644)\nUpdating files: 62% (2880/4644)\nUpdating files: 63% (2926/4644)\nUpdating files: 64% (2973/4644)\nUpdating files: 65% (3019/4644)\nUpdating files: 66% (3066/4644)\nUpdating files: 67% (3112/4644)\nUpdating files: 68% (3158/4644)\nUpdating files: 69% (3205/4644)\nUpdating files: 70% (3251/4644)\nUpdating files: 71% (3298/4644)\nUpdating files: 72% (3344/4644)\nUpdating files: 73% (3391/4644)\nUpdating files: 74% (3437/4644)\nUpdating files: 75% (3483/4644)\nUpdating files: 76% (3530/4644)\nUpdating files: 77% (3576/4644)\nUpdating files: 78% (3623/4644)\nUpdating files: 78% (3660/4644)\nUpdating files: 79% (3669/4644)\nUpdating files: 80% (3716/4644)\nUpdating files: 81% (3762/4644)\nUpdating files: 82% (3809/4644)\nUpdating files: 83% (3855/4644)\nUpdating files: 84% (3901/4644)\nUpdating files: 85% (3948/4644)\nUpdating files: 86% (3994/4644)\nUpdating files: 87% (4041/4644)\nUpdating files: 88% (4087/4644)\nUpdating files: 89% (4134/4644)\nUpdating files: 90% (4180/4644)\nUpdating files: 91% (4227/4644)\nUpdating files: 92% (4273/4644)\nUpdating files: 93% (4319/4644)\nUpdating files: 94% (4366/4644)\nUpdating files: 95% (4412/4644)\nUpdating files: 96% (4459/4644)\nUpdating files: 97% (4505/4644)\nUpdating files: 98% (4552/4644)\nUpdating files: 99% (4598/4644)\nUpdating files: 100% (4644/4644)\nUpdating files: 100% (4644/4644), done.\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "status": {
+ "branch": {
+ "argv": [
+ "git",
+ "status",
+ "--short",
+ "--branch"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-7wytce9p/agentfs-base/work",
+ "duration_seconds": 0.0352727639983641,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 21,
+ "stdout_tail": "## agentfs-benchmark\n"
+ },
+ "short": {
+ "argv": [
+ "git",
+ "status",
+ "--short"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-7wytce9p/agentfs-base/work",
+ "duration_seconds": 0.1319450429873541,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ }
+ },
+ "phase_seconds": {
+ "checkout": 0.060572469999897294,
+ "clone": 2.8884635900030844,
+ "diff": 0.06564354000147432,
+ "edit": 0.00550819598720409,
+ "fsck": 0.21496818200103007,
+ "read_search": 0.009809875991777517,
+ "status": 0.1672487969917711
+ },
+ "profile_checkpoints": [
+ "clone",
+ "checkout",
+ "status",
+ "read_search",
+ "edit",
+ "diff",
+ "fsck"
+ ],
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "ls_files_run": {
+ "argv": [
+ "git",
+ "ls-files",
+ "-z"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-7wytce9p/agentfs-base/work",
+ "duration_seconds": 0.006677401004708372,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 263077,
+ "stdout_tail": "i_codex/api.py\u0000sdk/python/src/openai_codex/async_client.py\u0000sdk/python/src/openai_codex/client.py\u0000sdk/python/src/openai_codex/errors.py\u0000sdk/python/src/openai_codex/generated/__init__.py\u0000sdk/python/src/openai_codex/generated/notification_registry.py\u0000sdk/python/src/openai_codex/generated/v2_all.py\u0000sdk/python/src/openai_codex/models.py\u0000sdk/python/src/openai_codex/py.typed\u0000sdk/python/src/openai_codex/retry.py\u0000sdk/python/src/openai_codex/types.py\u0000sdk/python/tests/app_server_harness.py\u0000sdk/python/tests/app_server_helpers.py\u0000sdk/python/tests/conftest.py\u0000sdk/python/tests/test_app_server_approvals.py\u0000sdk/python/tests/test_app_server_inputs.py\u0000sdk/python/tests/test_app_server_lifecycle.py\u0000sdk/python/tests/test_app_server_login.py\u0000sdk/python/tests/test_app_server_run.py\u0000sdk/python/tests/test_app_server_streaming.py\u0000sdk/python/tests/test_app_server_turn_controls.py\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\u0000sdk/python/tests/test_async_client_behavior.py\u0000sdk/python/tests/test_client_rpc_methods.py\u0000sdk/python/tests/test_contract_generation.py\u0000sdk/python/tests/test_public_api_runtime_behavior.py\u0000sdk/python/tests/test_public_api_signatures.py\u0000sdk/python/tests/test_real_app_server_integration.py\u0000sdk/python/uv.lock\u0000sdk/typescript/.prettierignore\u0000sdk/typescript/.prettierrc\u0000sdk/typescript/README.md\u0000sdk/typescript/eslint.config.js\u0000sdk/typescript/jest.config.cjs\u0000sdk/typescript/package.json\u0000sdk/typescript/samples/basic_streaming.ts\u0000sdk/typescript/samples/helpers.ts\u0000sdk/typescript/samples/structured_output.ts\u0000sdk/typescript/samples/structured_output_zod.ts\u0000sdk/typescript/src/codex.ts\u0000sdk/typescript/src/codexOptions.ts\u0000sdk/typescript/src/events.ts\u0000sdk/typescript/src/exec.ts\u0000sdk/typescript/src/index.ts\u0000sdk/typescript/src/items.ts\u0000sdk/typescript/src/outputSchemaFile.ts\u0000sdk/typescript/src/thread.ts\u0000sdk/typescript/src/threadOptions.ts\u0000sdk/typescript/src/turnOptions.ts\u0000sdk/typescript/tests/abort.test.ts\u0000sdk/typescript/tests/codexExecSpy.ts\u0000sdk/typescript/tests/exec.test.ts\u0000sdk/typescript/tests/responsesProxy.ts\u0000sdk/typescript/tests/run.test.ts\u0000sdk/typescript/tests/runStreamed.test.ts\u0000sdk/typescript/tests/setupCodexHome.ts\u0000sdk/typescript/tests/testCodex.ts\u0000sdk/typescript/tsconfig.json\u0000sdk/typescript/tsup.config.ts\u0000third_party/v8/BUILD.bazel\u0000third_party/v8/README.md\u0000third_party/v8/libcxx.BUILD.bazel\u0000third_party/v8/libcxx_config/BUILD.bazel\u0000third_party/v8/libcxx_config/__assertion_handler\u0000third_party/v8/libcxx_config/__config_site\u0000third_party/v8/libcxxabi.BUILD.bazel\u0000third_party/v8/llvm_libc.BUILD.bazel\u0000third_party/v8/rusty_v8_147_4_0.sha256\u0000third_party/v8/v8_crate.BUILD.bazel\u0000third_party/wezterm/LICENSE\u0000tools/argument-comment-lint/.cargo/config.toml\u0000tools/argument-comment-lint/.gitignore\u0000tools/argument-comment-lint/BUILD.bazel\u0000tools/argument-comment-lint/Cargo.lock\u0000tools/argument-comment-lint/Cargo.toml\u0000tools/argument-comment-lint/README.md\u0000tools/argument-comment-lint/argument-comment-lint\u0000tools/argument-comment-lint/driver.rs\u0000tools/argument-comment-lint/lint_aspect.bzl\u0000tools/argument-comment-lint/list-bazel-targets.sh\u0000tools/argument-comment-lint/run-prebuilt-linter.py\u0000tools/argument-comment-lint/run.py\u0000tools/argument-comment-lint/rust-toolchain\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\u0000tools/argument-comment-lint/src/comment_parser.rs\u0000tools/argument-comment-lint/src/lib.rs\u0000tools/argument-comment-lint/test_wrapper_common.py\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\u0000tools/argument-comment-lint/ui/comment_matches.rs\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\u0000tools/argument-comment-lint/wrapper_common.py\u0000workspace_root_test_launcher.bat.tpl\u0000workspace_root_test_launcher.sh.tpl\u0000"
+ },
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ],
+ "token": "AGENTFS_TOKEN"
+ },
+ "total_seconds": 4.114593252001214
+ }
+ },
+ "base_tree": {
+ "after": {
+ "bytes": 9207621,
+ "directories": 10,
+ "files": 23,
+ "sha256": "f4984979a2edce91f3ea174919e7b548e210b551c08e64a9da9b8dd028518a5b",
+ "symlinks": 0
+ },
+ "before": {
+ "bytes": 9207621,
+ "directories": 10,
+ "files": 23,
+ "sha256": "f4984979a2edce91f3ea174919e7b548e210b551c08e64a9da9b8dd028518a5b",
+ "symlinks": 0
+ },
+ "unchanged": true
+ },
+ "benchmark": "phase7-git-workload",
+ "command": {
+ "agentfs_prefix": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "run",
+ "--session",
+ "git-workload-fa418f52ee1a41beabeb538335d5466e",
+ "--no-default-allows",
+ "--"
+ ],
+ "argv": [
+ "/home/ain3sh/factory/vfs/scripts/validation/git-workload-benchmark.py",
+ "--output",
+ "/tmp/vfs-val/misc-a-bench-rebaseline/run3.json.iterations/iter-04.json",
+ "--source",
+ ".agents/benchmarks/fixtures/codex",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8"
+ ],
+ "workload_argv": [
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ]
+ },
+ "correctness": {
+ "agentfs_backup_verify": true,
+ "agentfs_base_unchanged": true,
+ "agentfs_db_inspectable": true,
+ "agentfs_integrity_require_portable": true,
+ "agentfs_no_nonempty_sidecars": true,
+ "agentfs_portable": true,
+ "agentfs_returncode_zero": true,
+ "equivalence": {
+ "agentfs": {
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ]
+ }
+ },
+ "checked": true,
+ "equivalent": true,
+ "native": {
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ]
+ }
+ }
+ },
+ "native_returncode_zero": true,
+ "passed": true,
+ "performance_passed": false
+ },
+ "database": {
+ "after": {
+ "artifacts": [
+ {
+ "bytes": 57143296,
+ "path": "/tmp/agentfs-git-workload-7wytce9p/home/.agentfs/run/git-workload-fa418f52ee1a41beabeb538335d5466e/delta.db"
+ }
+ ],
+ "path": "/tmp/agentfs-git-workload-7wytce9p/home/.agentfs/run/git-workload-fa418f52ee1a41beabeb538335d5466e/delta.db",
+ "total_bytes": 57143296
+ },
+ "backup": {
+ "artifacts": {
+ "artifacts": [
+ {
+ "bytes": 57143296,
+ "path": "/tmp/agentfs-git-workload-7wytce9p/git-workload-backup.db"
+ }
+ ],
+ "path": "/tmp/agentfs-git-workload-7wytce9p/git-workload-backup.db",
+ "total_bytes": 57143296
+ },
+ "inspect": {
+ "fs_chunk_override_rows": 0,
+ "fs_config": {
+ "chunk_size": "65536",
+ "inline_threshold": "16384",
+ "schema_version": "0.5"
+ },
+ "fs_data_bytes": 41204221,
+ "fs_data_rows": 960,
+ "fs_inline_bytes": 11434794,
+ "fs_inode_rows": 5385,
+ "fs_origin_rows": 0,
+ "fs_partial_origin_rows": 0,
+ "fs_whiteout_rows": 0,
+ "inline_inode_rows": 4060,
+ "inspectable": true,
+ "portability_status": {
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true,
+ "stored_bytes": 52639015
+ }
+ },
+ "path": "/tmp/agentfs-git-workload-7wytce9p/git-workload-backup.db",
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "backup",
+ "/tmp/agentfs-git-workload-7wytce9p/home/.agentfs/run/git-workload-fa418f52ee1a41beabeb538335d5466e/delta.db",
+ "/tmp/agentfs-git-workload-7wytce9p/git-workload-backup.db",
+ "--verify"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-7wytce9p",
+ "duration_seconds": 3.092225314991083,
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 0,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 0,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 0,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 0,
+ "fuse_op_getattr_nanos": 0,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 0,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_workers_configured": 0,
+ "fuse_writeback_cache_enabled": 0
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 0,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 0,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 0,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 0,
+ "fuse_op_getattr_nanos": 0,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 0,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0
+ }
+ },
+ "source": "cli"
+ }
+ ],
+ "returncode": 0,
+ "stderr_bytes": 7355,
+ "stderr_tail": "{\"counters\":{\"agentfs_batcher_coalesced_ranges\":0,\"agentfs_batcher_commit_latency_ns_total\":0,\"agentfs_batcher_commit_txns\":0,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":0,\"agentfs_batcher_drains_timer\":0,\"agentfs_batcher_enqueues\":0,\"agentfs_batcher_pending_max_bytes\":0,\"agentfs_batcher_txn_inodes_max\":0,\"agentfs_batcher_txn_inodes_total\":0,\"attr_cache_hits\":0,\"attr_cache_misses\":0,\"base_fast_inode_invalidations\":0,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":0,\"chunk_read_queries\":0,\"chunk_write_chunks\":0,\"connection_create\":0,\"connection_reuse\":0,\"connection_wait_count\":0,\"connection_wait_nanos\":0,\"dentry_cache_hits\":0,\"dentry_cache_misses\":0,\"fuse_adapter_attr_hits\":0,\"fuse_adapter_attr_misses\":0,\"fuse_adapter_entry_hits\":0,\"fuse_adapter_entry_misses\":0,\"fuse_adapter_inval_entry_notifications\":0,\"fuse_adapter_inval_inode_notifications\":0,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":0,\"fuse_adapter_negative_misses\":0,\"fuse_callback_count\":0,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":0,\"fuse_dispatch_parallel_tasks\":0,\"fuse_dispatch_wait_count\":0,\"fuse_dispatch_wait_nanos\":0,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":0,\"fuse_flush_count\":0,\"fuse_flush_ranges\":0,\"fuse_getattr_count\":0,\"fuse_ino_file_resolutions\":0,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":0,\"fuse_lookup_count\":0,\"fuse_noflush_enosys_replies\":0,\"fuse_noopen_enosys_replies\":0,\"fuse_op_create_count\":0,\"fuse_op_create_nanos\":0,\"fuse_op_flush_count\":0,\"fuse_op_flush_nanos\":0,\"fuse_op_forget_count\":0,\"fuse_op_forget_nanos\":0,\"fuse_op_getattr_count\":0,\"fuse_op_getattr_nanos\":0,\"fuse_op_lookup_count\":0,\"fuse_op_lookup_nanos\":0,\"fuse_op_open_count\":0,\"fuse_op_open_nanos\":0,\"fuse_op_other_count\":0,\"fuse_op_other_nanos\":0,\"fuse_op_read_count\":0,\"fuse_op_read_nanos\":0,\"fuse_op_readdirplus_count\":0,\"fuse_op_readdirplus_nanos\":0,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":0,\"fuse_op_setattr_nanos\":0,\"fuse_op_write_count\":0,\"fuse_op_write_nanos\":0,\"fuse_open_count\":0,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":0,\"fuse_read_lane_max_concurrent\":0,\"fuse_read_lane_wait_count\":0,\"fuse_read_lane_wait_nanos\":0,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":0,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":0,\"fuse_readdirplus_do_requested\":0,\"fuse_readdirplus_mode\":0,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":0,\"fuse_ttl_entry_ms\":0,\"fuse_ttl_neg_ms\":0,\"fuse_uring_requests\":0,\"fuse_worker_queue_depth_peak\":0,\"fuse_workers_configured\":0,\"fuse_write_bytes\":0,\"fuse_write_count\":0,\"fuse_write_lane_wait_count\":0,\"fuse_write_lane_wait_nanos\":0,\"fuse_writeback_cache_enabled\":0,\"getattr_count\":0,\"lookup_base_count\":0,\"lookup_count\":0,\"lookup_delta_count\":0,\"lookup_whiteout_count\":0,\"negative_cache_hits\":0,\"negative_cache_invalidations\":0,\"negative_cache_misses\":0,\"negative_lookup_count\":0,\"path_cache_hits\":0,\"path_cache_misses\":0,\"path_component_count\":0,\"path_resolution_count\":0,\"readdir_count\":0,\"readdir_plus_count\":0,\"wal_checkpoint_count\":0,\"wal_checkpoint_nanos\":0},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"sections\":{\"base\":{\"base_fast_inode_invalidations\":0,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":0,\"fuse_readdirplus_mode\":0,\"fuse_ttl_attr_ms\":0,\"fuse_ttl_entry_ms\":0,\"fuse_ttl_neg_ms\":0,\"fuse_workers_configured\":0,\"fuse_writeback_cache_enabled\":0},\"core\":{\"agentfs_batcher_coalesced_ranges\":0,\"agentfs_batcher_commit_latency_ns_total\":0,\"agentfs_batcher_commit_txns\":0,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":0,\"agentfs_batcher_drains_timer\":0,\"agentfs_batcher_enqueues\":0,\"agentfs_batcher_pending_max_bytes\":0,\"agentfs_batcher_txn_inodes_max\":0,\"agentfs_batcher_txn_inodes_total\":0,\"attr_cache_hits\":0,\"attr_cache_misses\":0,\"chunk_read_chunks\":0,\"chunk_read_queries\":0,\"chunk_write_chunks\":0,\"connection_create\":0,\"connection_reuse\":0,\"connection_wait_count\":0,\"connection_wait_nanos\":0,\"dentry_cache_hits\":0,\"dentry_cache_misses\":0,\"getattr_count\":0,\"lookup_base_count\":0,\"lookup_count\":0,\"lookup_delta_count\":0,\"lookup_whiteout_count\":0,\"negative_cache_hits\":0,\"negative_cache_invalidations\":0,\"negative_cache_misses\":0,\"negative_lookup_count\":0,\"path_cache_hits\":0,\"path_cache_misses\":0,\"path_component_count\":0,\"path_resolution_count\":0,\"readdir_count\":0,\"readdir_plus_count\":0,\"wal_checkpoint_count\":0,\"wal_checkpoint_nanos\":0},\"fuse\":{\"fuse_adapter_attr_hits\":0,\"fuse_adapter_attr_misses\":0,\"fuse_adapter_entry_hits\":0,\"fuse_adapter_entry_misses\":0,\"fuse_adapter_inval_entry_notifications\":0,\"fuse_adapter_inval_inode_notifications\":0,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":0,\"fuse_adapter_negative_misses\":0,\"fuse_callback_count\":0,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":0,\"fuse_dispatch_parallel_tasks\":0,\"fuse_dispatch_wait_count\":0,\"fuse_dispatch_wait_nanos\":0,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":0,\"fuse_flush_count\":0,\"fuse_flush_ranges\":0,\"fuse_getattr_count\":0,\"fuse_ino_file_resolutions\":0,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":0,\"fuse_noflush_enosys_replies\":0,\"fuse_noopen_enosys_replies\":0,\"fuse_op_create_count\":0,\"fuse_op_create_nanos\":0,\"fuse_op_flush_count\":0,\"fuse_op_flush_nanos\":0,\"fuse_op_forget_count\":0,\"fuse_op_forget_nanos\":0,\"fuse_op_getattr_count\":0,\"fuse_op_getattr_nanos\":0,\"fuse_op_lookup_count\":0,\"fuse_op_lookup_nanos\":0,\"fuse_op_open_count\":0,\"fuse_op_open_nanos\":0,\"fuse_op_other_count\":0,\"fuse_op_other_nanos\":0,\"fuse_op_read_count\":0,\"fuse_op_read_nanos\":0,\"fuse_op_readdirplus_count\":0,\"fuse_op_readdirplus_nanos\":0,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":0,\"fuse_op_setattr_nanos\":0,\"fuse_op_write_count\":0,\"fuse_op_write_nanos\":0,\"fuse_open_count\":0,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":0,\"fuse_read_lane_max_concurrent\":0,\"fuse_read_lane_wait_count\":0,\"fuse_read_lane_wait_nanos\":0,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":0,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":0,\"fuse_readdirplus_do_requested\":0,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":0,\"fuse_worker_queue_depth_peak\":0,\"fuse_write_bytes\":0,\"fuse_write_count\":0,\"fuse_write_lane_wait_count\":0,\"fuse_write_lane_wait_nanos\":0}},\"source\":\"cli\"}\n",
+ "stdout_bytes": 241,
+ "stdout_tail": "Source: /tmp/agentfs-git-workload-7wytce9p/home/.agentfs/run/git-workload-fa418f52ee1a41beabeb538335d5466e/delta.db\nBackup: /tmp/agentfs-git-workload-7wytce9p/git-workload-backup.db\nCheckpoint: complete\nCopy: complete\nVerification: complete\n",
+ "timed_out": false
+ }
+ },
+ "inspect_after": {
+ "fs_chunk_override_rows": 0,
+ "fs_config": {
+ "chunk_size": "65536",
+ "inline_threshold": "16384",
+ "schema_version": "0.5"
+ },
+ "fs_data_bytes": 41204221,
+ "fs_data_rows": 960,
+ "fs_inline_bytes": 11434794,
+ "fs_inode_rows": 5385,
+ "fs_origin_rows": 0,
+ "fs_partial_origin_rows": 0,
+ "fs_whiteout_rows": 0,
+ "inline_inode_rows": 4060,
+ "inspectable": true,
+ "portability_status": {
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true,
+ "stored_bytes": 52639015
+ }
+ },
+ "integrity": {
+ "result": {
+ "checks": [
+ {
+ "detail": "ok",
+ "name": "pragma.integrity_check",
+ "ok": true,
+ "violating_rows": null
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_config",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_inode",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_dentry",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_symlink",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.kv_store",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.tool_calls",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 0.5",
+ "name": "config.schema_version",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 65536",
+ "name": "config.chunk_size",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 16384",
+ "name": "config.inline_threshold",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.kind_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_has_no_chunks",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunked_has_no_inline_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_size_matches_blob",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_only_regular_files",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.non_regular_has_no_inline_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_reference_inodes",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_nonnegative_index",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunk_length_within_chunk_size",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_only_regular_files",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 1, expected 1",
+ "name": "namespace.root_inode",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_parent_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_parent_is_directory",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_target_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.non_root_inode_has_dentry",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_names_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.non_directory_nlink_matches_dentries",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.directory_nlink_positive",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "symlink.rows_reference_symlink_inodes",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "symlink.inodes_have_rows",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "portable: no partial-origin rows",
+ "name": "overlay.portability_status",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "portable requirement satisfied",
+ "name": "overlay.require_portable",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.origin_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_delta_inode_regular",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_sizes_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_paths_absolute",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_nonnegative_index",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_references_partial_origin",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_unique",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_index_in_range",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.whiteout_paths_absolute",
+ "ok": true,
+ "violating_rows": 0
+ }
+ ],
+ "database": "/tmp/agentfs-git-workload-7wytce9p/home/.agentfs/run/git-workload-fa418f52ee1a41beabeb538335d5466e/delta.db",
+ "ok": true,
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true
+ },
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "integrity",
+ "/tmp/agentfs-git-workload-7wytce9p/home/.agentfs/run/git-workload-fa418f52ee1a41beabeb538335d5466e/delta.db",
+ "--json",
+ "--require-portable"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-7wytce9p",
+ "duration_seconds": 2.6332695890014293,
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 0,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 0,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 0,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 0,
+ "fuse_op_getattr_nanos": 0,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 0,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_workers_configured": 0,
+ "fuse_writeback_cache_enabled": 0
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 0,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 0,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 0,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 0,
+ "fuse_op_getattr_nanos": 0,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 0,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0
+ }
+ },
+ "source": "cli"
+ }
+ ],
+ "returncode": 0,
+ "stderr_bytes": 7355,
+ "stderr_tail": "{\"counters\":{\"agentfs_batcher_coalesced_ranges\":0,\"agentfs_batcher_commit_latency_ns_total\":0,\"agentfs_batcher_commit_txns\":0,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":0,\"agentfs_batcher_drains_timer\":0,\"agentfs_batcher_enqueues\":0,\"agentfs_batcher_pending_max_bytes\":0,\"agentfs_batcher_txn_inodes_max\":0,\"agentfs_batcher_txn_inodes_total\":0,\"attr_cache_hits\":0,\"attr_cache_misses\":0,\"base_fast_inode_invalidations\":0,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":0,\"chunk_read_queries\":0,\"chunk_write_chunks\":0,\"connection_create\":0,\"connection_reuse\":0,\"connection_wait_count\":0,\"connection_wait_nanos\":0,\"dentry_cache_hits\":0,\"dentry_cache_misses\":0,\"fuse_adapter_attr_hits\":0,\"fuse_adapter_attr_misses\":0,\"fuse_adapter_entry_hits\":0,\"fuse_adapter_entry_misses\":0,\"fuse_adapter_inval_entry_notifications\":0,\"fuse_adapter_inval_inode_notifications\":0,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":0,\"fuse_adapter_negative_misses\":0,\"fuse_callback_count\":0,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":0,\"fuse_dispatch_parallel_tasks\":0,\"fuse_dispatch_wait_count\":0,\"fuse_dispatch_wait_nanos\":0,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":0,\"fuse_flush_count\":0,\"fuse_flush_ranges\":0,\"fuse_getattr_count\":0,\"fuse_ino_file_resolutions\":0,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":0,\"fuse_lookup_count\":0,\"fuse_noflush_enosys_replies\":0,\"fuse_noopen_enosys_replies\":0,\"fuse_op_create_count\":0,\"fuse_op_create_nanos\":0,\"fuse_op_flush_count\":0,\"fuse_op_flush_nanos\":0,\"fuse_op_forget_count\":0,\"fuse_op_forget_nanos\":0,\"fuse_op_getattr_count\":0,\"fuse_op_getattr_nanos\":0,\"fuse_op_lookup_count\":0,\"fuse_op_lookup_nanos\":0,\"fuse_op_open_count\":0,\"fuse_op_open_nanos\":0,\"fuse_op_other_count\":0,\"fuse_op_other_nanos\":0,\"fuse_op_read_count\":0,\"fuse_op_read_nanos\":0,\"fuse_op_readdirplus_count\":0,\"fuse_op_readdirplus_nanos\":0,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":0,\"fuse_op_setattr_nanos\":0,\"fuse_op_write_count\":0,\"fuse_op_write_nanos\":0,\"fuse_open_count\":0,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":0,\"fuse_read_lane_max_concurrent\":0,\"fuse_read_lane_wait_count\":0,\"fuse_read_lane_wait_nanos\":0,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":0,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":0,\"fuse_readdirplus_do_requested\":0,\"fuse_readdirplus_mode\":0,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":0,\"fuse_ttl_entry_ms\":0,\"fuse_ttl_neg_ms\":0,\"fuse_uring_requests\":0,\"fuse_worker_queue_depth_peak\":0,\"fuse_workers_configured\":0,\"fuse_write_bytes\":0,\"fuse_write_count\":0,\"fuse_write_lane_wait_count\":0,\"fuse_write_lane_wait_nanos\":0,\"fuse_writeback_cache_enabled\":0,\"getattr_count\":0,\"lookup_base_count\":0,\"lookup_count\":0,\"lookup_delta_count\":0,\"lookup_whiteout_count\":0,\"negative_cache_hits\":0,\"negative_cache_invalidations\":0,\"negative_cache_misses\":0,\"negative_lookup_count\":0,\"path_cache_hits\":0,\"path_cache_misses\":0,\"path_component_count\":0,\"path_resolution_count\":0,\"readdir_count\":0,\"readdir_plus_count\":0,\"wal_checkpoint_count\":0,\"wal_checkpoint_nanos\":0},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"sections\":{\"base\":{\"base_fast_inode_invalidations\":0,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":0,\"fuse_readdirplus_mode\":0,\"fuse_ttl_attr_ms\":0,\"fuse_ttl_entry_ms\":0,\"fuse_ttl_neg_ms\":0,\"fuse_workers_configured\":0,\"fuse_writeback_cache_enabled\":0},\"core\":{\"agentfs_batcher_coalesced_ranges\":0,\"agentfs_batcher_commit_latency_ns_total\":0,\"agentfs_batcher_commit_txns\":0,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":0,\"agentfs_batcher_drains_timer\":0,\"agentfs_batcher_enqueues\":0,\"agentfs_batcher_pending_max_bytes\":0,\"agentfs_batcher_txn_inodes_max\":0,\"agentfs_batcher_txn_inodes_total\":0,\"attr_cache_hits\":0,\"attr_cache_misses\":0,\"chunk_read_chunks\":0,\"chunk_read_queries\":0,\"chunk_write_chunks\":0,\"connection_create\":0,\"connection_reuse\":0,\"connection_wait_count\":0,\"connection_wait_nanos\":0,\"dentry_cache_hits\":0,\"dentry_cache_misses\":0,\"getattr_count\":0,\"lookup_base_count\":0,\"lookup_count\":0,\"lookup_delta_count\":0,\"lookup_whiteout_count\":0,\"negative_cache_hits\":0,\"negative_cache_invalidations\":0,\"negative_cache_misses\":0,\"negative_lookup_count\":0,\"path_cache_hits\":0,\"path_cache_misses\":0,\"path_component_count\":0,\"path_resolution_count\":0,\"readdir_count\":0,\"readdir_plus_count\":0,\"wal_checkpoint_count\":0,\"wal_checkpoint_nanos\":0},\"fuse\":{\"fuse_adapter_attr_hits\":0,\"fuse_adapter_attr_misses\":0,\"fuse_adapter_entry_hits\":0,\"fuse_adapter_entry_misses\":0,\"fuse_adapter_inval_entry_notifications\":0,\"fuse_adapter_inval_inode_notifications\":0,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":0,\"fuse_adapter_negative_misses\":0,\"fuse_callback_count\":0,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":0,\"fuse_dispatch_parallel_tasks\":0,\"fuse_dispatch_wait_count\":0,\"fuse_dispatch_wait_nanos\":0,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":0,\"fuse_flush_count\":0,\"fuse_flush_ranges\":0,\"fuse_getattr_count\":0,\"fuse_ino_file_resolutions\":0,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":0,\"fuse_noflush_enosys_replies\":0,\"fuse_noopen_enosys_replies\":0,\"fuse_op_create_count\":0,\"fuse_op_create_nanos\":0,\"fuse_op_flush_count\":0,\"fuse_op_flush_nanos\":0,\"fuse_op_forget_count\":0,\"fuse_op_forget_nanos\":0,\"fuse_op_getattr_count\":0,\"fuse_op_getattr_nanos\":0,\"fuse_op_lookup_count\":0,\"fuse_op_lookup_nanos\":0,\"fuse_op_open_count\":0,\"fuse_op_open_nanos\":0,\"fuse_op_other_count\":0,\"fuse_op_other_nanos\":0,\"fuse_op_read_count\":0,\"fuse_op_read_nanos\":0,\"fuse_op_readdirplus_count\":0,\"fuse_op_readdirplus_nanos\":0,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":0,\"fuse_op_setattr_nanos\":0,\"fuse_op_write_count\":0,\"fuse_op_write_nanos\":0,\"fuse_open_count\":0,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":0,\"fuse_read_lane_max_concurrent\":0,\"fuse_read_lane_wait_count\":0,\"fuse_read_lane_wait_nanos\":0,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":0,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":0,\"fuse_readdirplus_do_requested\":0,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":0,\"fuse_worker_queue_depth_peak\":0,\"fuse_write_bytes\":0,\"fuse_write_count\":0,\"fuse_write_lane_wait_count\":0,\"fuse_write_lane_wait_nanos\":0}},\"source\":\"cli\"}\n",
+ "stdout_bytes": 6395,
+ "stdout_tail": "{\n \"database\": \"/tmp/agentfs-git-workload-7wytce9p/home/.agentfs/run/git-workload-fa418f52ee1a41beabeb538335d5466e/delta.db\",\n \"ok\": true,\n \"portable\": true,\n \"origin_backed\": false,\n \"partial_origin_rows\": 0,\n \"checks\": [\n {\n \"name\": \"pragma.integrity_check\",\n \"ok\": true,\n \"detail\": \"ok\",\n \"violating_rows\": null\n },\n {\n \"name\": \"schema.table.fs_config\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_inode\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_dentry\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_data\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_symlink\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.kv_store\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.tool_calls\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.schema_version\",\n \"ok\": true,\n \"detail\": \"found 0.5\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.chunk_size\",\n \"ok\": true,\n \"detail\": \"found 65536\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.inline_threshold\",\n \"ok\": true,\n \"detail\": \"found 16384\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.kind_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_has_no_chunks\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunked_has_no_inline_data\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_size_matches_blob\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_only_regular_files\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.non_regular_has_no_inline_data\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_reference_inodes\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_nonnegative_index\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunk_length_within_chunk_size\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_only_regular_files\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.root_inode\",\n \"ok\": true,\n \"detail\": \"found 1, expected 1\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_parent_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_parent_is_directory\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_target_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.non_root_inode_has_dentry\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_names_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.non_directory_nlink_matches_dentries\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.directory_nlink_positive\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"symlink.rows_reference_symlink_inodes\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"symlink.inodes_have_rows\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.portability_status\",\n \"ok\": true,\n \"detail\": \"portable: no partial-origin rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.require_portable\",\n \"ok\": true,\n \"detail\": \"portable requirement satisfied\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.origin_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_delta_inode_regular\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_sizes_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_paths_absolute\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_nonnegative_index\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_references_partial_origin\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_unique\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_index_in_range\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.whiteout_paths_absolute\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n }\n ]\n}\n",
+ "timed_out": false
+ }
+ },
+ "nonempty_sidecars": false
+ },
+ "environment": {
+ "AGENTFS_BIN": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "AGENTFS_PROFILE": "1"
+ },
+ "git_commit": "2b811f03493e861e5a7786592d25ac73b39e1aba",
+ "kept_temp": false,
+ "native": {
+ "run": {
+ "argv": [
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-7wytce9p/native",
+ "duration_seconds": 0.9102444470045157,
+ "profile_summaries": [],
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 15987,
+ "stdout_tail": "{\"branch_status\": \"## agentfs-benchmark\\n\", \"diff\": {\"changed_file_count\": 8, \"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.01741337300336454, \"patch_bytes\": 3282, \"patch_sha256\": \"51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc\", \"runs\": {\"name_only\": {\"argv\": [\"git\", \"diff\", \"--name-only\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-7wytce9p/native/work\", \"duration_seconds\": 0.005314395006280392, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 144, \"stdout_tail\": \"docs/CLA.md\\ndocs/agents_md.md\\ndocs/authentication.md\\ndocs/config.md\\ndocs/contributing.md\\ndocs/example-config.md\\ndocs/exec.md\\ndocs/execpolicy.md\\n\"}, \"patch\": {\"argv\": [\"git\", \"diff\", \"--\", \".\"], \"cwd\": \"/tmp/agentfs-git-workload-7wytce9p/native/work\", \"duration_seconds\": 0.006843777999165468, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 3282, \"stdout_tail\": \"diff --git a/docs/CLA.md b/docs/CLA.md\\nindex 804f202..3495ac9 100644\\n--- a/docs/CLA.md\\n+++ b/docs/CLA.md\\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\\n This Agreement is governed by the laws of the **State of California**, USA,\\n excluding its conflict\\u2011of\\u2011laws rules. If any provision is held unenforceable,\\n the remaining provisions remain in force.\\n+\\n+AgentFS Git benchmark edit 00 for docs/CLA.md\\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\\nindex 3df0fac..b8b063d 100644\\n--- a/docs/agents_md.md\\n+++ b/docs/agents_md.md\\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\\n ## Hierarchical agents message\\n \\n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\\n+\\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\\ndiff --git a/docs/authentication.md b/docs/authentication.md\\nindex c307349..b3bc9dc 100644\\n--- a/docs/authentication.md\\n+++ b/docs/authentication.md\\n@@ -1,3 +1,5 @@\\n # Authentication\\n \\n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\\n+\\n+AgentFS Git benchmark edit 02 for docs/authentication.md\\ndiff --git a/docs/config.md b/docs/config.md\\nindex d35b0a8..030e278 100644\\n--- a/docs/config.md\\n+++ b/docs/config.md\\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\\n still allowing managed hooks from requirements and managed config layers. This\\n setting is only supported in `requirements.toml`; putting it in `config.toml`\\n does not enable managed-hooks-only mode.\\n+\\n+AgentFS Git benchmark edit 03 for docs/config.md\\ndiff --git a/docs/contributing.md b/docs/contributing.md\\nindex aeae1f1..b5a22ac 100644\\n--- a/docs/contributing.md\\n+++ b/docs/contributing.md\\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\\n ### Security & responsible AI\\n \\n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\\n+\\n+AgentFS Git benchmark edit 04 for docs/contributing.md\\ndiff --git a/docs/example-config.md b/docs/example-config.md\\nindex 84b1143..b09f835 100644\\n--- a/docs/example-config.md\\n+++ b/docs/example-config.md\\n@@ -1,3 +1,5 @@\\n # Sample configuration\\n \\n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\\n+\\n+AgentFS Git benchmark edit 05 for docs/example-config.md\\ndiff --git a/docs/exec.md b/docs/exec.md\\nindex 57e4323..a81da98 100644\\n--- a/docs/exec.md\\n+++ b/docs/exec.md\\n@@ -1,3 +1,5 @@\\n # Non-interactive mode\\n \\n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\\n+\\n+AgentFS Git benchmark edit 06 for docs/exec.md\\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\\nindex cafebb3..3b48afe 100644\\n--- a/docs/execpolicy.md\\n+++ b/docs/execpolicy.md\\n@@ -1,3 +1,5 @@\\n # Execution policy\\n \\n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\\n+\\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\\n\"}, \"stat\": {\"argv\": [\"git\", \"diff\", \"--stat\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-7wytce9p/native/work\", \"duration_seconds\": 0.005184065012144856, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 283, \"stdout_tail\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}}, \"stat_stdout\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}, \"edits\": {\"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.0009361069969600067, \"edits\": [{\"appended_bytes\": 47, \"path\": \"docs/CLA.md\", \"size_after\": 2106, \"size_before\": 2059}, {\"appended_bytes\": 53, \"path\": \"docs/agents_md.md\", \"size_after\": 462, \"size_before\": 409}, {\"appended_bytes\": 58, \"path\": \"docs/authentication.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 50, \"path\": \"docs/config.md\", \"size_after\": 776, \"size_before\": 726}, {\"appended_bytes\": 56, \"path\": \"docs/contributing.md\", \"size_after\": 6380, \"size_before\": 6324}, {\"appended_bytes\": 58, \"path\": \"docs/example-config.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 48, \"path\": \"docs/exec.md\", \"size_after\": 194, \"size_before\": 146}, {\"appended_bytes\": 54, \"path\": \"docs/execpolicy.md\", \"size_after\": 192, \"size_before\": 138}]}, \"fsck\": {\"ok\": true, \"ran\": true, \"run\": {\"argv\": [\"git\", \"fsck\", \"--strict\"], \"cwd\": \"/tmp/agentfs-git-workload-7wytce9p/native/work\", \"duration_seconds\": 0.18900179499178194, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}, \"head_commit\": \"7d47056ea42636271ac020b86347fbbef49490aa\", \"initial_status\": \"\", \"phase_runs\": {\"checkout\": {\"argv\": [\"git\", \"checkout\", \"-B\", \"agentfs-benchmark\"], \"cwd\": \"/tmp/agentfs-git-workload-7wytce9p/native/work\", \"duration_seconds\": 0.18161140200390946, \"returncode\": 0, \"stderr_bytes\": 45, \"stderr_tail\": \"Switched to a new branch 'agentfs-benchmark'\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"clone\": {\"argv\": [\"git\", \"clone\", \"--local\", \"--no-hardlinks\", \"/tmp/agentfs-git-workload-7wytce9p/native/mirror.git\", \"/tmp/agentfs-git-workload-7wytce9p/native/work\"], \"cwd\": \"/tmp/agentfs-git-workload-7wytce9p/native\", \"duration_seconds\": 0.3299830220057629, \"returncode\": 0, \"stderr_bytes\": 149, \"stderr_tail\": \"Cloning into '/tmp/agentfs-git-workload-7wytce9p/native/work'...\\nwarning: source repository is shallow, ignoring --local\\nwarning: --local is ignored\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"status\": {\"branch\": {\"argv\": [\"git\", \"status\", \"--short\", \"--branch\"], \"cwd\": \"/tmp/agentfs-git-workload-7wytce9p/native/work\", \"duration_seconds\": 0.010901018991717137, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 21, \"stdout_tail\": \"## agentfs-benchmark\\n\"}, \"short\": {\"argv\": [\"git\", \"status\", \"--short\"], \"cwd\": \"/tmp/agentfs-git-workload-7wytce9p/native/work\", \"duration_seconds\": 0.11593275199993514, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}}, \"phase_seconds\": {\"checkout\": 0.18452265500673093, \"clone\": 0.3300862679898273, \"diff\": 0.01741337300336454, \"edit\": 0.0009361069969600067, \"fsck\": 0.1890194620063994, \"read_search\": 0.008877050000592135, \"status\": 0.12686727399704978}, \"profile_checkpoints\": [\"clone\", \"checkout\", \"status\", \"read_search\", \"edit\", \"diff\", \"fsck\"], \"read_search\": {\"bytes_read\": 117190, \"digest\": \"6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53\", \"files_scanned\": 64, \"files_total\": 4644, \"ls_files_run\": {\"argv\": [\"git\", \"ls-files\", \"-z\"], \"cwd\": \"/tmp/agentfs-git-workload-7wytce9p/native/work\", \"duration_seconds\": 0.004436167990206741, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 263077, \"stdout_tail\": \"i_codex/api.py\\u0000sdk/python/src/openai_codex/async_client.py\\u0000sdk/python/src/openai_codex/client.py\\u0000sdk/python/src/openai_codex/errors.py\\u0000sdk/python/src/openai_codex/generated/__init__.py\\u0000sdk/python/src/openai_codex/generated/notification_registry.py\\u0000sdk/python/src/openai_codex/generated/v2_all.py\\u0000sdk/python/src/openai_codex/models.py\\u0000sdk/python/src/openai_codex/py.typed\\u0000sdk/python/src/openai_codex/retry.py\\u0000sdk/python/src/openai_codex/types.py\\u0000sdk/python/tests/app_server_harness.py\\u0000sdk/python/tests/app_server_helpers.py\\u0000sdk/python/tests/conftest.py\\u0000sdk/python/tests/test_app_server_approvals.py\\u0000sdk/python/tests/test_app_server_inputs.py\\u0000sdk/python/tests/test_app_server_lifecycle.py\\u0000sdk/python/tests/test_app_server_login.py\\u0000sdk/python/tests/test_app_server_run.py\\u0000sdk/python/tests/test_app_server_streaming.py\\u0000sdk/python/tests/test_app_server_turn_controls.py\\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\\u0000sdk/python/tests/test_async_client_behavior.py\\u0000sdk/python/tests/test_client_rpc_methods.py\\u0000sdk/python/tests/test_contract_generation.py\\u0000sdk/python/tests/test_public_api_runtime_behavior.py\\u0000sdk/python/tests/test_public_api_signatures.py\\u0000sdk/python/tests/test_real_app_server_integration.py\\u0000sdk/python/uv.lock\\u0000sdk/typescript/.prettierignore\\u0000sdk/typescript/.prettierrc\\u0000sdk/typescript/README.md\\u0000sdk/typescript/eslint.config.js\\u0000sdk/typescript/jest.config.cjs\\u0000sdk/typescript/package.json\\u0000sdk/typescript/samples/basic_streaming.ts\\u0000sdk/typescript/samples/helpers.ts\\u0000sdk/typescript/samples/structured_output.ts\\u0000sdk/typescript/samples/structured_output_zod.ts\\u0000sdk/typescript/src/codex.ts\\u0000sdk/typescript/src/codexOptions.ts\\u0000sdk/typescript/src/events.ts\\u0000sdk/typescript/src/exec.ts\\u0000sdk/typescript/src/index.ts\\u0000sdk/typescript/src/items.ts\\u0000sdk/typescript/src/outputSchemaFile.ts\\u0000sdk/typescript/src/thread.ts\\u0000sdk/typescript/src/threadOptions.ts\\u0000sdk/typescript/src/turnOptions.ts\\u0000sdk/typescript/tests/abort.test.ts\\u0000sdk/typescript/tests/codexExecSpy.ts\\u0000sdk/typescript/tests/exec.test.ts\\u0000sdk/typescript/tests/responsesProxy.ts\\u0000sdk/typescript/tests/run.test.ts\\u0000sdk/typescript/tests/runStreamed.test.ts\\u0000sdk/typescript/tests/setupCodexHome.ts\\u0000sdk/typescript/tests/testCodex.ts\\u0000sdk/typescript/tsconfig.json\\u0000sdk/typescript/tsup.config.ts\\u0000third_party/v8/BUILD.bazel\\u0000third_party/v8/README.md\\u0000third_party/v8/libcxx.BUILD.bazel\\u0000third_party/v8/libcxx_config/BUILD.bazel\\u0000third_party/v8/libcxx_config/__assertion_handler\\u0000third_party/v8/libcxx_config/__config_site\\u0000third_party/v8/libcxxabi.BUILD.bazel\\u0000third_party/v8/llvm_libc.BUILD.bazel\\u0000third_party/v8/rusty_v8_147_4_0.sha256\\u0000third_party/v8/v8_crate.BUILD.bazel\\u0000third_party/wezterm/LICENSE\\u0000tools/argument-comment-lint/.cargo/config.toml\\u0000tools/argument-comment-lint/.gitignore\\u0000tools/argument-comment-lint/BUILD.bazel\\u0000tools/argument-comment-lint/Cargo.lock\\u0000tools/argument-comment-lint/Cargo.toml\\u0000tools/argument-comment-lint/README.md\\u0000tools/argument-comment-lint/argument-comment-lint\\u0000tools/argument-comment-lint/driver.rs\\u0000tools/argument-comment-lint/lint_aspect.bzl\\u0000tools/argument-comment-lint/list-bazel-targets.sh\\u0000tools/argument-comment-lint/run-prebuilt-linter.py\\u0000tools/argument-comment-lint/run.py\\u0000tools/argument-comment-lint/rust-toolchain\\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\\u0000tools/argument-comment-lint/src/comment_parser.rs\\u0000tools/argument-comment-lint/src/lib.rs\\u0000tools/argument-comment-lint/test_wrapper_common.py\\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\\u0000tools/argument-comment-lint/ui/comment_matches.rs\\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\\u0000tools/argument-comment-lint/wrapper_common.py\\u0000workspace_root_test_launcher.bat.tpl\\u0000workspace_root_test_launcher.sh.tpl\\u0000\"}, \"matches\": 0, \"selected_files\": [\".bazelignore\", \".bazelrc\", \".bazelversion\", \".codespellignore\", \".codespellrc\", \".codex/environments/environment.toml\", \".codex/skills/babysit-pr/SKILL.md\", \".codex/skills/babysit-pr/agents/openai.yaml\", \".codex/skills/babysit-pr/references/github-api-notes.md\", \".codex/skills/babysit-pr/references/heuristics.md\", \".codex/skills/babysit-pr/scripts/gh_pr_watch.py\", \".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py\", \".codex/skills/code-review-breaking-changes/SKILL.md\", \".codex/skills/code-review-change-size/SKILL.md\", \".codex/skills/code-review-context/SKILL.md\", \".codex/skills/code-review-testing/SKILL.md\", \".codex/skills/code-review/SKILL.md\", \".codex/skills/codex-bug/SKILL.md\", \".codex/skills/codex-issue-digest/SKILL.md\", \".codex/skills/codex-issue-digest/agents/openai.yaml\", \".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py\", \".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py\", \".codex/skills/codex-pr-body/SKILL.md\", \".codex/skills/remote-tests/SKILL.md\", \".codex/skills/test-tui/SKILL.md\", \".codex/skills/update-v8-version/SKILL.md\", \".codex/skills/update-v8-version/agents/openai.yaml\", \".devcontainer/Dockerfile\", \".devcontainer/Dockerfile.secure\", \".devcontainer/README.md\", \".devcontainer/codex-install/package.json\", \".devcontainer/codex-install/pnpm-lock.yaml\", \".devcontainer/codex-install/pnpm-workspace.yaml\", \".devcontainer/devcontainer.json\", \".devcontainer/devcontainer.secure.json\", \".devcontainer/init-firewall.sh\", \".devcontainer/post-start.sh\", \".devcontainer/post_install.py\", \".gitattributes\", \".github/CODEOWNERS\", \".github/ISSUE_TEMPLATE/1-codex-app.yml\", \".github/ISSUE_TEMPLATE/2-extension.yml\", \".github/ISSUE_TEMPLATE/3-cli.yml\", \".github/ISSUE_TEMPLATE/4-bug-report.yml\", \".github/ISSUE_TEMPLATE/5-feature-request.yml\", \".github/ISSUE_TEMPLATE/6-docs-issue.yml\", \".github/actions/linux-code-sign/action.yml\", \".github/actions/macos-code-sign/action.yml\", \".github/actions/macos-code-sign/codex.entitlements.plist\", \".github/actions/macos-code-sign/notary_helpers.sh\", \".github/actions/prepare-bazel-ci/action.yml\", \".github/actions/run-argument-comment-lint/action.yml\", \".github/actions/setup-bazel-ci/action.yml\", \".github/actions/setup-msvc-env/action.yml\", \".github/actions/setup-msvc-env/setup-msvc-env.ps1\", \".github/actions/setup-rusty-v8/action.yml\", \".github/actions/windows-code-sign/action.yml\", \".github/blob-size-allowlist.txt\", \".github/codex-cli-splash.png\", \".github/codex/home/config.toml\", \".github/codex/labels/codex-attempt.md\", \".github/codex/labels/codex-review.md\", \".github/codex/labels/codex-rust-review.md\", \".github/codex/labels/codex-triage.md\"], \"token\": \"AGENTFS_TOKEN\"}, \"total_seconds\": 0.858039740996901}\n",
+ "timed_out": false
+ },
+ "workload": {
+ "branch_status": "## agentfs-benchmark\n",
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.01741337300336454,
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc",
+ "runs": {
+ "name_only": {
+ "argv": [
+ "git",
+ "diff",
+ "--name-only",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-7wytce9p/native/work",
+ "duration_seconds": 0.005314395006280392,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 144,
+ "stdout_tail": "docs/CLA.md\ndocs/agents_md.md\ndocs/authentication.md\ndocs/config.md\ndocs/contributing.md\ndocs/example-config.md\ndocs/exec.md\ndocs/execpolicy.md\n"
+ },
+ "patch": {
+ "argv": [
+ "git",
+ "diff",
+ "--",
+ "."
+ ],
+ "cwd": "/tmp/agentfs-git-workload-7wytce9p/native/work",
+ "duration_seconds": 0.006843777999165468,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 3282,
+ "stdout_tail": "diff --git a/docs/CLA.md b/docs/CLA.md\nindex 804f202..3495ac9 100644\n--- a/docs/CLA.md\n+++ b/docs/CLA.md\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\n This Agreement is governed by the laws of the **State of California**, USA,\n excluding its conflict\u2011of\u2011laws rules. If any provision is held unenforceable,\n the remaining provisions remain in force.\n+\n+AgentFS Git benchmark edit 00 for docs/CLA.md\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\nindex 3df0fac..b8b063d 100644\n--- a/docs/agents_md.md\n+++ b/docs/agents_md.md\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\n ## Hierarchical agents message\n \n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\n+\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\ndiff --git a/docs/authentication.md b/docs/authentication.md\nindex c307349..b3bc9dc 100644\n--- a/docs/authentication.md\n+++ b/docs/authentication.md\n@@ -1,3 +1,5 @@\n # Authentication\n \n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\n+\n+AgentFS Git benchmark edit 02 for docs/authentication.md\ndiff --git a/docs/config.md b/docs/config.md\nindex d35b0a8..030e278 100644\n--- a/docs/config.md\n+++ b/docs/config.md\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\n still allowing managed hooks from requirements and managed config layers. This\n setting is only supported in `requirements.toml`; putting it in `config.toml`\n does not enable managed-hooks-only mode.\n+\n+AgentFS Git benchmark edit 03 for docs/config.md\ndiff --git a/docs/contributing.md b/docs/contributing.md\nindex aeae1f1..b5a22ac 100644\n--- a/docs/contributing.md\n+++ b/docs/contributing.md\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\n ### Security & responsible AI\n \n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\n+\n+AgentFS Git benchmark edit 04 for docs/contributing.md\ndiff --git a/docs/example-config.md b/docs/example-config.md\nindex 84b1143..b09f835 100644\n--- a/docs/example-config.md\n+++ b/docs/example-config.md\n@@ -1,3 +1,5 @@\n # Sample configuration\n \n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\n+\n+AgentFS Git benchmark edit 05 for docs/example-config.md\ndiff --git a/docs/exec.md b/docs/exec.md\nindex 57e4323..a81da98 100644\n--- a/docs/exec.md\n+++ b/docs/exec.md\n@@ -1,3 +1,5 @@\n # Non-interactive mode\n \n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\n+\n+AgentFS Git benchmark edit 06 for docs/exec.md\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\nindex cafebb3..3b48afe 100644\n--- a/docs/execpolicy.md\n+++ b/docs/execpolicy.md\n@@ -1,3 +1,5 @@\n # Execution policy\n \n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\n+\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\n"
+ },
+ "stat": {
+ "argv": [
+ "git",
+ "diff",
+ "--stat",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-7wytce9p/native/work",
+ "duration_seconds": 0.005184065012144856,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 283,
+ "stdout_tail": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ }
+ },
+ "stat_stdout": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.0009361069969600067,
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true,
+ "run": {
+ "argv": [
+ "git",
+ "fsck",
+ "--strict"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-7wytce9p/native/work",
+ "duration_seconds": 0.18900179499178194,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "phase_runs": {
+ "checkout": {
+ "argv": [
+ "git",
+ "checkout",
+ "-B",
+ "agentfs-benchmark"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-7wytce9p/native/work",
+ "duration_seconds": 0.18161140200390946,
+ "returncode": 0,
+ "stderr_bytes": 45,
+ "stderr_tail": "Switched to a new branch 'agentfs-benchmark'\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "clone": {
+ "argv": [
+ "git",
+ "clone",
+ "--local",
+ "--no-hardlinks",
+ "/tmp/agentfs-git-workload-7wytce9p/native/mirror.git",
+ "/tmp/agentfs-git-workload-7wytce9p/native/work"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-7wytce9p/native",
+ "duration_seconds": 0.3299830220057629,
+ "returncode": 0,
+ "stderr_bytes": 149,
+ "stderr_tail": "Cloning into '/tmp/agentfs-git-workload-7wytce9p/native/work'...\nwarning: source repository is shallow, ignoring --local\nwarning: --local is ignored\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "status": {
+ "branch": {
+ "argv": [
+ "git",
+ "status",
+ "--short",
+ "--branch"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-7wytce9p/native/work",
+ "duration_seconds": 0.010901018991717137,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 21,
+ "stdout_tail": "## agentfs-benchmark\n"
+ },
+ "short": {
+ "argv": [
+ "git",
+ "status",
+ "--short"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-7wytce9p/native/work",
+ "duration_seconds": 0.11593275199993514,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ }
+ },
+ "phase_seconds": {
+ "checkout": 0.18452265500673093,
+ "clone": 0.3300862679898273,
+ "diff": 0.01741337300336454,
+ "edit": 0.0009361069969600067,
+ "fsck": 0.1890194620063994,
+ "read_search": 0.008877050000592135,
+ "status": 0.12686727399704978
+ },
+ "profile_checkpoints": [
+ "clone",
+ "checkout",
+ "status",
+ "read_search",
+ "edit",
+ "diff",
+ "fsck"
+ ],
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "ls_files_run": {
+ "argv": [
+ "git",
+ "ls-files",
+ "-z"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-7wytce9p/native/work",
+ "duration_seconds": 0.004436167990206741,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 263077,
+ "stdout_tail": "i_codex/api.py\u0000sdk/python/src/openai_codex/async_client.py\u0000sdk/python/src/openai_codex/client.py\u0000sdk/python/src/openai_codex/errors.py\u0000sdk/python/src/openai_codex/generated/__init__.py\u0000sdk/python/src/openai_codex/generated/notification_registry.py\u0000sdk/python/src/openai_codex/generated/v2_all.py\u0000sdk/python/src/openai_codex/models.py\u0000sdk/python/src/openai_codex/py.typed\u0000sdk/python/src/openai_codex/retry.py\u0000sdk/python/src/openai_codex/types.py\u0000sdk/python/tests/app_server_harness.py\u0000sdk/python/tests/app_server_helpers.py\u0000sdk/python/tests/conftest.py\u0000sdk/python/tests/test_app_server_approvals.py\u0000sdk/python/tests/test_app_server_inputs.py\u0000sdk/python/tests/test_app_server_lifecycle.py\u0000sdk/python/tests/test_app_server_login.py\u0000sdk/python/tests/test_app_server_run.py\u0000sdk/python/tests/test_app_server_streaming.py\u0000sdk/python/tests/test_app_server_turn_controls.py\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\u0000sdk/python/tests/test_async_client_behavior.py\u0000sdk/python/tests/test_client_rpc_methods.py\u0000sdk/python/tests/test_contract_generation.py\u0000sdk/python/tests/test_public_api_runtime_behavior.py\u0000sdk/python/tests/test_public_api_signatures.py\u0000sdk/python/tests/test_real_app_server_integration.py\u0000sdk/python/uv.lock\u0000sdk/typescript/.prettierignore\u0000sdk/typescript/.prettierrc\u0000sdk/typescript/README.md\u0000sdk/typescript/eslint.config.js\u0000sdk/typescript/jest.config.cjs\u0000sdk/typescript/package.json\u0000sdk/typescript/samples/basic_streaming.ts\u0000sdk/typescript/samples/helpers.ts\u0000sdk/typescript/samples/structured_output.ts\u0000sdk/typescript/samples/structured_output_zod.ts\u0000sdk/typescript/src/codex.ts\u0000sdk/typescript/src/codexOptions.ts\u0000sdk/typescript/src/events.ts\u0000sdk/typescript/src/exec.ts\u0000sdk/typescript/src/index.ts\u0000sdk/typescript/src/items.ts\u0000sdk/typescript/src/outputSchemaFile.ts\u0000sdk/typescript/src/thread.ts\u0000sdk/typescript/src/threadOptions.ts\u0000sdk/typescript/src/turnOptions.ts\u0000sdk/typescript/tests/abort.test.ts\u0000sdk/typescript/tests/codexExecSpy.ts\u0000sdk/typescript/tests/exec.test.ts\u0000sdk/typescript/tests/responsesProxy.ts\u0000sdk/typescript/tests/run.test.ts\u0000sdk/typescript/tests/runStreamed.test.ts\u0000sdk/typescript/tests/setupCodexHome.ts\u0000sdk/typescript/tests/testCodex.ts\u0000sdk/typescript/tsconfig.json\u0000sdk/typescript/tsup.config.ts\u0000third_party/v8/BUILD.bazel\u0000third_party/v8/README.md\u0000third_party/v8/libcxx.BUILD.bazel\u0000third_party/v8/libcxx_config/BUILD.bazel\u0000third_party/v8/libcxx_config/__assertion_handler\u0000third_party/v8/libcxx_config/__config_site\u0000third_party/v8/libcxxabi.BUILD.bazel\u0000third_party/v8/llvm_libc.BUILD.bazel\u0000third_party/v8/rusty_v8_147_4_0.sha256\u0000third_party/v8/v8_crate.BUILD.bazel\u0000third_party/wezterm/LICENSE\u0000tools/argument-comment-lint/.cargo/config.toml\u0000tools/argument-comment-lint/.gitignore\u0000tools/argument-comment-lint/BUILD.bazel\u0000tools/argument-comment-lint/Cargo.lock\u0000tools/argument-comment-lint/Cargo.toml\u0000tools/argument-comment-lint/README.md\u0000tools/argument-comment-lint/argument-comment-lint\u0000tools/argument-comment-lint/driver.rs\u0000tools/argument-comment-lint/lint_aspect.bzl\u0000tools/argument-comment-lint/list-bazel-targets.sh\u0000tools/argument-comment-lint/run-prebuilt-linter.py\u0000tools/argument-comment-lint/run.py\u0000tools/argument-comment-lint/rust-toolchain\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\u0000tools/argument-comment-lint/src/comment_parser.rs\u0000tools/argument-comment-lint/src/lib.rs\u0000tools/argument-comment-lint/test_wrapper_common.py\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\u0000tools/argument-comment-lint/ui/comment_matches.rs\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\u0000tools/argument-comment-lint/wrapper_common.py\u0000workspace_root_test_launcher.bat.tpl\u0000workspace_root_test_launcher.sh.tpl\u0000"
+ },
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ],
+ "token": "AGENTFS_TOKEN"
+ },
+ "total_seconds": 0.858039740996901
+ }
+ },
+ "parameters": {
+ "edit_files": 8,
+ "fixture_dirs": 8,
+ "fixture_file_size_bytes": 1024,
+ "fixture_files": 96,
+ "read_bytes": 4096,
+ "read_files": 64,
+ "search_token": "AGENTFS_TOKEN",
+ "skip_fsck": false,
+ "timeout_seconds": 180.0
+ },
+ "schema_version": 1,
+ "source": {
+ "kind": "source",
+ "mirror_head": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "path": "/home/ain3sh/factory/vfs/.agents/benchmarks/fixtures/codex"
+ },
+ "summary": {
+ "agentfs_base_unchanged": true,
+ "agentfs_seconds": 4.114593252001214,
+ "all_equivalent": true,
+ "correctness_passed": true,
+ "native_seconds": 0.858039740996901,
+ "passed": true,
+ "performance_passed": false,
+ "phase_ratios": {
+ "checkout": {
+ "agentfs_seconds": 0.060572469999897294,
+ "native_seconds": 0.18452265500673093,
+ "ratio": 0.32826576225931586
+ },
+ "clone": {
+ "agentfs_seconds": 2.8884635900030844,
+ "native_seconds": 0.3300862679898273,
+ "ratio": 8.750632395565457
+ },
+ "diff": {
+ "agentfs_seconds": 0.06564354000147432,
+ "native_seconds": 0.01741337300336454,
+ "ratio": 3.7697199726205226
+ },
+ "edit": {
+ "agentfs_seconds": 0.00550819598720409,
+ "native_seconds": 0.0009361069969600067,
+ "ratio": 5.884152137620884
+ },
+ "fsck": {
+ "agentfs_seconds": 0.21496818200103007,
+ "native_seconds": 0.1890194620063994,
+ "ratio": 1.1372806785036356
+ },
+ "read_search": {
+ "agentfs_seconds": 0.009809875991777517,
+ "native_seconds": 0.008877050000592135,
+ "ratio": 1.1050828812638387
+ },
+ "status": {
+ "agentfs_seconds": 0.1672487969917711,
+ "native_seconds": 0.12686727399704978,
+ "ratio": 1.3182973963455726
+ }
+ },
+ "ratio": 4.795341119306122,
+ "threshold_failures": [
+ {
+ "agentfs_seconds": 2.8884635900030844,
+ "native_seconds": 0.3300862679898273,
+ "phase": "clone",
+ "ratio": 8.750632395565457
+ },
+ {
+ "agentfs_seconds": 0.06564354000147432,
+ "native_seconds": 0.01741337300336454,
+ "phase": "diff",
+ "ratio": 3.7697199726205226
+ },
+ {
+ "agentfs_seconds": 0.00550819598720409,
+ "native_seconds": 0.0009361069969600067,
+ "phase": "edit",
+ "ratio": 5.884152137620884
+ }
+ ]
+ },
+ "temp_dir": "/tmp/agentfs-git-workload-7wytce9p"
+}
diff --git a/.agents/benchmarks/restructure-baseline/medians-post-m3.json.iterations/warmup-00.json b/.agents/benchmarks/restructure-baseline/medians-post-m3.json.iterations/warmup-00.json
new file mode 100644
index 00000000..03ea31cf
--- /dev/null
+++ b/.agents/benchmarks/restructure-baseline/medians-post-m3.json.iterations/warmup-00.json
@@ -0,0 +1,8674 @@
+{
+ "agentfs": {
+ "bin": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "db_path": "/tmp/agentfs-git-workload-s58r0ykm/home/.agentfs/run/git-workload-f4f38b250e7f4cfc937dd9957456e3f9/delta.db",
+ "per_phase_counters": {
+ "checkpoint_count": 7,
+ "label_count": 7,
+ "labels_aligned": true,
+ "phases": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 962807731,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4732,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25921,
+ "attr_cache_misses": 29060,
+ "base_fast_inode_invalidations": 15032,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 971,
+ "connection_create": 2,
+ "connection_reuse": 31236,
+ "connection_wait_count": 31238,
+ "connection_wait_nanos": 14138406,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 104,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5344,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21857,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 39,
+ "fuse_dispatch_wait_count": 39,
+ "fuse_dispatch_wait_nanos": 335791,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52591244,
+ "fuse_flush_count": 4732,
+ "fuse_flush_ranges": 4732,
+ "fuse_getattr_count": 5038,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11761,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 557160557,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 37,
+ "fuse_op_forget_nanos": 432447,
+ "fuse_op_getattr_count": 5038,
+ "fuse_op_getattr_nanos": 63853236,
+ "fuse_op_lookup_count": 11761,
+ "fuse_op_lookup_nanos": 161440489,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 783,
+ "fuse_op_other_nanos": 119093185,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 26866715,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 2261339,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4750,
+ "fuse_op_setattr_nanos": 1373845702,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 27901657,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 2,
+ "fuse_read_lane_wait_count": 16156,
+ "fuse_read_lane_wait_nanos": 3061810,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32082,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10205,
+ "fuse_write_lane_wait_nanos": 1879246,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19340,
+ "lookup_base_count": 24,
+ "lookup_count": 40290,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6839,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14258,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1617016
+ },
+ "phase": "clone",
+ "seq": 1
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 2,
+ "agentfs_batcher_commit_latency_ns_total": 3186372,
+ "agentfs_batcher_commit_txns": 10,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 5,
+ "agentfs_batcher_drains_timer": 1,
+ "agentfs_batcher_enqueues": 8,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 13,
+ "attr_cache_hits": 208,
+ "attr_cache_misses": 1735,
+ "base_fast_inode_invalidations": 51,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 10,
+ "chunk_read_queries": 6,
+ "chunk_write_chunks": 11,
+ "connection_create": 2,
+ "connection_reuse": 627,
+ "connection_wait_count": 629,
+ "connection_wait_nanos": 442453,
+ "dentry_cache_hits": 73,
+ "dentry_cache_misses": 56,
+ "fuse_adapter_attr_hits": 4602,
+ "fuse_adapter_attr_misses": 660,
+ "fuse_adapter_entry_hits": 2,
+ "fuse_adapter_entry_misses": 35,
+ "fuse_adapter_inval_entry_notifications": 10,
+ "fuse_adapter_inval_inode_notifications": 28,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 13,
+ "fuse_adapter_negative_misses": 35,
+ "fuse_callback_count": 5333,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 4,
+ "fuse_dispatch_parallel_tasks": 9,
+ "fuse_dispatch_wait_count": 9,
+ "fuse_dispatch_wait_nanos": 72139,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 643032,
+ "fuse_flush_count": 8,
+ "fuse_flush_ranges": 8,
+ "fuse_getattr_count": 5262,
+ "fuse_ino_file_resolutions": 3,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 50,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 9,
+ "fuse_op_create_nanos": 1074095,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 9,
+ "fuse_op_forget_nanos": 119404,
+ "fuse_op_getattr_count": 5262,
+ "fuse_op_getattr_nanos": 18572017,
+ "fuse_op_lookup_count": 50,
+ "fuse_op_lookup_nanos": 619104,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 15,
+ "fuse_op_other_nanos": 2571584,
+ "fuse_op_read_count": 8,
+ "fuse_op_read_nanos": 1021656,
+ "fuse_op_readdirplus_count": 4,
+ "fuse_op_readdirplus_nanos": 1041997,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 14,
+ "fuse_op_setattr_nanos": 3860596,
+ "fuse_op_write_count": 9,
+ "fuse_op_write_nanos": 189381,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 8,
+ "fuse_read_lane_max_concurrent": 2,
+ "fuse_read_lane_wait_count": 725,
+ "fuse_read_lane_wait_nanos": 99040,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 4,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 5371,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 591393,
+ "fuse_write_count": 9,
+ "fuse_write_lane_wait_count": 42,
+ "fuse_write_lane_wait_nanos": 86753,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 1348,
+ "lookup_base_count": 0,
+ "lookup_count": 164,
+ "lookup_delta_count": 60,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 34,
+ "negative_cache_invalidations": 26,
+ "negative_cache_misses": 148,
+ "negative_lookup_count": 86,
+ "path_cache_hits": 73,
+ "path_cache_misses": 56,
+ "path_component_count": 124,
+ "path_resolution_count": 45,
+ "readdir_count": 0,
+ "readdir_plus_count": 4,
+ "wal_checkpoint_count": 2,
+ "wal_checkpoint_nanos": 690878
+ },
+ "phase": "checkout",
+ "seq": 2
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 4,
+ "agentfs_batcher_commit_latency_ns_total": 5707640,
+ "agentfs_batcher_commit_txns": 4,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 2,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 6,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 4,
+ "attr_cache_hits": 19,
+ "attr_cache_misses": 33,
+ "base_fast_inode_invalidations": 24,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 20,
+ "chunk_read_queries": 12,
+ "chunk_write_chunks": 20,
+ "connection_create": 0,
+ "connection_reuse": 1704,
+ "connection_wait_count": 1704,
+ "connection_wait_nanos": 412529,
+ "dentry_cache_hits": 19,
+ "dentry_cache_misses": 570,
+ "fuse_adapter_attr_hits": 1392,
+ "fuse_adapter_attr_misses": 6,
+ "fuse_adapter_entry_hits": 2,
+ "fuse_adapter_entry_misses": 289,
+ "fuse_adapter_inval_entry_notifications": 4,
+ "fuse_adapter_inval_inode_notifications": 8,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 1,
+ "fuse_adapter_negative_misses": 289,
+ "fuse_callback_count": 3093,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 3,
+ "fuse_dispatch_wait_count": 3,
+ "fuse_dispatch_wait_nanos": 36968,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 1181458,
+ "fuse_flush_count": 6,
+ "fuse_flush_ranges": 6,
+ "fuse_getattr_count": 1398,
+ "fuse_ino_file_resolutions": 2,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 292,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 2,
+ "fuse_op_create_nanos": 820535,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 3,
+ "fuse_op_forget_nanos": 52907,
+ "fuse_op_getattr_count": 1398,
+ "fuse_op_getattr_nanos": 1535484,
+ "fuse_op_lookup_count": 292,
+ "fuse_op_lookup_nanos": 4757661,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 2762,
+ "fuse_op_other_nanos": 2479289,
+ "fuse_op_read_count": 12,
+ "fuse_op_read_nanos": 1345866,
+ "fuse_op_readdirplus_count": 1381,
+ "fuse_op_readdirplus_nanos": 58462869,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 6,
+ "fuse_op_setattr_nanos": 10504580,
+ "fuse_op_write_count": 10,
+ "fuse_op_write_nanos": 2476932,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 12,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 995,
+ "fuse_read_lane_wait_nanos": 103587,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1381,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 5863,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 1181458,
+ "fuse_write_count": 10,
+ "fuse_write_lane_wait_count": 14,
+ "fuse_write_lane_wait_nanos": 3933,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 24,
+ "lookup_base_count": 0,
+ "lookup_count": 598,
+ "lookup_delta_count": 295,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 5,
+ "negative_cache_invalidations": 4,
+ "negative_cache_misses": 873,
+ "negative_lookup_count": 578,
+ "path_cache_hits": 19,
+ "path_cache_misses": 570,
+ "path_component_count": 4606,
+ "path_resolution_count": 977,
+ "readdir_count": 0,
+ "readdir_plus_count": 1376,
+ "wal_checkpoint_count": 688,
+ "wal_checkpoint_nanos": 9100339
+ },
+ "phase": "status",
+ "seq": 3
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 1,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 10,
+ "chunk_read_queries": 6,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 8,
+ "connection_wait_count": 8,
+ "connection_wait_nanos": 5351,
+ "dentry_cache_hits": 1,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 69,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 1,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 1,
+ "fuse_callback_count": 76,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 69,
+ "fuse_ino_file_resolutions": 1,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 1,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 69,
+ "fuse_op_getattr_nanos": 87840,
+ "fuse_op_lookup_count": 1,
+ "fuse_op_lookup_nanos": 26898,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 6,
+ "fuse_op_read_nanos": 1386270,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 6,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 2,
+ "fuse_read_lane_wait_nanos": 967,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 76,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 2,
+ "lookup_delta_count": 1,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 2,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 1,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "read_search",
+ "seq": 4
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 4257716,
+ "agentfs_batcher_commit_txns": 8,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 8,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 8,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 8,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 24,
+ "base_fast_inode_invalidations": 16,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 32,
+ "connection_wait_count": 32,
+ "connection_wait_nanos": 67551,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 16,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 24,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 6398,
+ "fuse_flush_count": 8,
+ "fuse_flush_ranges": 8,
+ "fuse_getattr_count": 16,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 16,
+ "fuse_op_getattr_nanos": 74192,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 8,
+ "fuse_op_other_nanos": 2499248,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 8,
+ "fuse_op_setattr_nanos": 8330735,
+ "fuse_op_write_count": 8,
+ "fuse_op_write_nanos": 1736134,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 8,
+ "fuse_read_lane_wait_nanos": 13220,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 40,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 6398,
+ "fuse_write_count": 8,
+ "fuse_write_lane_wait_count": 8,
+ "fuse_write_lane_wait_nanos": 7593,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 16,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 8,
+ "wal_checkpoint_nanos": 1979685
+ },
+ "phase": "edit",
+ "seq": 5
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 1939,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 76,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 2015,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 1939,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 76,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 1939,
+ "fuse_op_getattr_nanos": 2715548,
+ "fuse_op_lookup_count": 76,
+ "fuse_op_lookup_nanos": 98298,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 12,
+ "fuse_op_other_nanos": 8674,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 2027,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 76,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "diff",
+ "seq": 6
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 3,
+ "attr_cache_misses": 2,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 1,
+ "chunk_read_queries": 1,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 24,
+ "connection_wait_count": 24,
+ "connection_wait_nanos": 15701,
+ "dentry_cache_hits": 4,
+ "dentry_cache_misses": 2,
+ "fuse_adapter_attr_hits": 44,
+ "fuse_adapter_attr_misses": 1,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 4,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 241,
+ "fuse_adapter_negative_misses": 4,
+ "fuse_callback_count": 310,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 45,
+ "fuse_ino_file_resolutions": 1,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 245,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 45,
+ "fuse_op_getattr_nanos": 82681,
+ "fuse_op_lookup_count": 245,
+ "fuse_op_lookup_nanos": 360264,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 36,
+ "fuse_op_other_nanos": 13432,
+ "fuse_op_read_count": 2,
+ "fuse_op_read_nanos": 319168,
+ "fuse_op_readdirplus_count": 18,
+ "fuse_op_readdirplus_nanos": 1114504,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 2,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 15,
+ "fuse_read_lane_wait_nanos": 4730,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 18,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 346,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 2,
+ "lookup_base_count": 0,
+ "lookup_count": 8,
+ "lookup_delta_count": 4,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 241,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 9,
+ "negative_lookup_count": 2,
+ "path_cache_hits": 4,
+ "path_cache_misses": 2,
+ "path_component_count": 42,
+ "path_resolution_count": 10,
+ "readdir_count": 0,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 9,
+ "wal_checkpoint_nanos": 342185
+ },
+ "phase": "fsck",
+ "seq": 7
+ }
+ ]
+ },
+ "profile_counters": {
+ "last_by_source": {
+ "cli": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 975959459,
+ "agentfs_batcher_commit_txns": 4826,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26152,
+ "attr_cache_misses": 30854,
+ "base_fast_inode_invalidations": 15123,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33634,
+ "connection_wait_count": 33638,
+ "connection_wait_nanos": 15088402,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8166,
+ "fuse_adapter_attr_misses": 5601,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5675,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32708,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13767,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12425,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 13767,
+ "fuse_op_getattr_nanos": 86920998,
+ "fuse_op_lookup_count": 12425,
+ "fuse_op_lookup_nanos": 167302714,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 126665412,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 30939675,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 62880709,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4778,
+ "fuse_op_setattr_nanos": 1396541613,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 32304104,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17901,
+ "fuse_read_lane_wait_nanos": 3283354,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45805,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10271,
+ "fuse_write_lane_wait_nanos": 1978981,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20730,
+ "lookup_base_count": 24,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7195,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 13907880
+ },
+ "phase-checkpoint-1": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 962807731,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4732,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25921,
+ "attr_cache_misses": 29060,
+ "base_fast_inode_invalidations": 15032,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 971,
+ "connection_create": 2,
+ "connection_reuse": 31236,
+ "connection_wait_count": 31238,
+ "connection_wait_nanos": 14138406,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 104,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5344,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21857,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 39,
+ "fuse_dispatch_wait_count": 39,
+ "fuse_dispatch_wait_nanos": 335791,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52591244,
+ "fuse_flush_count": 4732,
+ "fuse_flush_ranges": 4732,
+ "fuse_getattr_count": 5038,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11761,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 557160557,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 37,
+ "fuse_op_forget_nanos": 432447,
+ "fuse_op_getattr_count": 5038,
+ "fuse_op_getattr_nanos": 63853236,
+ "fuse_op_lookup_count": 11761,
+ "fuse_op_lookup_nanos": 161440489,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 783,
+ "fuse_op_other_nanos": 119093185,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 26866715,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 2261339,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4750,
+ "fuse_op_setattr_nanos": 1373845702,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 27901657,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 2,
+ "fuse_read_lane_wait_count": 16156,
+ "fuse_read_lane_wait_nanos": 3061810,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32082,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10205,
+ "fuse_write_lane_wait_nanos": 1879246,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19340,
+ "lookup_base_count": 24,
+ "lookup_count": 40290,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6839,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14258,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1617016
+ },
+ "phase-checkpoint-2": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 965994103,
+ "agentfs_batcher_commit_txns": 4814,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9398,
+ "attr_cache_hits": 26129,
+ "attr_cache_misses": 30795,
+ "base_fast_inode_invalidations": 15083,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 982,
+ "connection_create": 4,
+ "connection_reuse": 31863,
+ "connection_wait_count": 31867,
+ "connection_wait_nanos": 14580859,
+ "dentry_cache_hits": 26105,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4706,
+ "fuse_adapter_attr_misses": 5594,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5357,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27190,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 407930,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10300,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11811,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 558234652,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 551851,
+ "fuse_op_getattr_count": 10300,
+ "fuse_op_getattr_nanos": 82425253,
+ "fuse_op_lookup_count": 11811,
+ "fuse_op_lookup_nanos": 162059593,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 798,
+ "fuse_op_other_nanos": 121664769,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 27888371,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3303336,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4764,
+ "fuse_op_setattr_nanos": 1377706298,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 28091038,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 16881,
+ "fuse_read_lane_wait_nanos": 3160850,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37453,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10247,
+ "fuse_write_lane_wait_nanos": 1965999,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20688,
+ "lookup_base_count": 24,
+ "lookup_count": 40454,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6873,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14344,
+ "path_cache_hits": 26105,
+ "path_cache_misses": 13482,
+ "path_component_count": 33026,
+ "path_resolution_count": 7163,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2307894
+ },
+ "phase-checkpoint-3": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 971701743,
+ "agentfs_batcher_commit_txns": 4818,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9402,
+ "attr_cache_hits": 26148,
+ "attr_cache_misses": 30828,
+ "base_fast_inode_invalidations": 15107,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33567,
+ "connection_wait_count": 33571,
+ "connection_wait_nanos": 14993388,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6098,
+ "fuse_adapter_attr_misses": 5600,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5358,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30283,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11698,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12103,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 11698,
+ "fuse_op_getattr_nanos": 83960737,
+ "fuse_op_lookup_count": 12103,
+ "fuse_op_lookup_nanos": 166817254,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 124144058,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 29234237,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 61766205,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4770,
+ "fuse_op_setattr_nanos": 1388210878,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 30567970,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17876,
+ "fuse_read_lane_wait_nanos": 3264437,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43316,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10261,
+ "fuse_write_lane_wait_nanos": 1969932,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20712,
+ "lookup_base_count": 24,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6878,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 11408233
+ },
+ "phase-checkpoint-4": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 971701743,
+ "agentfs_batcher_commit_txns": 4818,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9402,
+ "attr_cache_hits": 26149,
+ "attr_cache_misses": 30828,
+ "base_fast_inode_invalidations": 15107,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33575,
+ "connection_wait_count": 33579,
+ "connection_wait_nanos": 14998739,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6167,
+ "fuse_adapter_attr_misses": 5600,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5358,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30359,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11767,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12104,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 11767,
+ "fuse_op_getattr_nanos": 84048577,
+ "fuse_op_lookup_count": 12104,
+ "fuse_op_lookup_nanos": 166844152,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 124144058,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 30620507,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 61766205,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4770,
+ "fuse_op_setattr_nanos": 1388210878,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 30567970,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17878,
+ "fuse_read_lane_wait_nanos": 3265404,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43392,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10261,
+ "fuse_write_lane_wait_nanos": 1969932,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20712,
+ "lookup_base_count": 24,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6878,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 11408233
+ },
+ "phase-checkpoint-5": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 975959459,
+ "agentfs_batcher_commit_txns": 4826,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26149,
+ "attr_cache_misses": 30852,
+ "base_fast_inode_invalidations": 15123,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33607,
+ "connection_wait_count": 33611,
+ "connection_wait_nanos": 15066290,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6183,
+ "fuse_adapter_attr_misses": 5600,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5358,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30383,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11783,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12104,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 11783,
+ "fuse_op_getattr_nanos": 84122769,
+ "fuse_op_lookup_count": 12104,
+ "fuse_op_lookup_nanos": 166844152,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3568,
+ "fuse_op_other_nanos": 126643306,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 30620507,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 61766205,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4778,
+ "fuse_op_setattr_nanos": 1396541613,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 32304104,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17886,
+ "fuse_read_lane_wait_nanos": 3278624,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43432,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1977525,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20728,
+ "lookup_base_count": 24,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6878,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 13387918
+ },
+ "phase-checkpoint-6": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 975959459,
+ "agentfs_batcher_commit_txns": 4826,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26149,
+ "attr_cache_misses": 30852,
+ "base_fast_inode_invalidations": 15123,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33607,
+ "connection_wait_count": 33611,
+ "connection_wait_nanos": 15066290,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 8122,
+ "fuse_adapter_attr_misses": 5600,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5434,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 32398,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13722,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12180,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 13722,
+ "fuse_op_getattr_nanos": 86838317,
+ "fuse_op_lookup_count": 12180,
+ "fuse_op_lookup_nanos": 166942450,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3580,
+ "fuse_op_other_nanos": 126651980,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 30620507,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 61766205,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4778,
+ "fuse_op_setattr_nanos": 1396541613,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 32304104,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17886,
+ "fuse_read_lane_wait_nanos": 3278624,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45459,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1977525,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20728,
+ "lookup_base_count": 24,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6954,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 13387918
+ },
+ "phase-checkpoint-7": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 975959459,
+ "agentfs_batcher_commit_txns": 4826,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26152,
+ "attr_cache_misses": 30854,
+ "base_fast_inode_invalidations": 15123,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33631,
+ "connection_wait_count": 33635,
+ "connection_wait_nanos": 15081991,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8166,
+ "fuse_adapter_attr_misses": 5601,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5675,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32708,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13767,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12425,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 13767,
+ "fuse_op_getattr_nanos": 86920998,
+ "fuse_op_lookup_count": 12425,
+ "fuse_op_lookup_nanos": 167302714,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 126665412,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 30939675,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 62880709,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4778,
+ "fuse_op_setattr_nanos": 1396541613,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 32304104,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17901,
+ "fuse_read_lane_wait_nanos": 3283354,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45805,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1977525,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20730,
+ "lookup_base_count": 24,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7195,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 13730103
+ }
+ },
+ "max_counters": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 975959459,
+ "agentfs_batcher_commit_txns": 4826,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26152,
+ "attr_cache_misses": 30854,
+ "base_fast_inode_invalidations": 15123,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33634,
+ "connection_wait_count": 33638,
+ "connection_wait_nanos": 15088402,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8166,
+ "fuse_adapter_attr_misses": 5601,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5675,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32708,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13767,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12425,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 13767,
+ "fuse_op_getattr_nanos": 86920998,
+ "fuse_op_lookup_count": 12425,
+ "fuse_op_lookup_nanos": 167302714,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 126665412,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 30939675,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 62880709,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4778,
+ "fuse_op_setattr_nanos": 1396541613,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 32304104,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17901,
+ "fuse_read_lane_wait_nanos": 3283354,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45805,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10271,
+ "fuse_write_lane_wait_nanos": 1978981,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20730,
+ "lookup_base_count": 24,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7195,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 13907880
+ },
+ "summary_count": 8
+ },
+ "profile_enabled": true,
+ "profile_summary_count": 8,
+ "session": "git-workload-f4f38b250e7f4cfc937dd9957456e3f9"
+ },
+ "agentfs_overlay": {
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 962807731,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4732,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25921,
+ "attr_cache_misses": 29060,
+ "base_fast_inode_invalidations": 15032,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 971,
+ "connection_create": 2,
+ "connection_reuse": 31236,
+ "connection_wait_count": 31238,
+ "connection_wait_nanos": 14138406,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 104,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5344,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21857,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 39,
+ "fuse_dispatch_wait_count": 39,
+ "fuse_dispatch_wait_nanos": 335791,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52591244,
+ "fuse_flush_count": 4732,
+ "fuse_flush_ranges": 4732,
+ "fuse_getattr_count": 5038,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11761,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 557160557,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 37,
+ "fuse_op_forget_nanos": 432447,
+ "fuse_op_getattr_count": 5038,
+ "fuse_op_getattr_nanos": 63853236,
+ "fuse_op_lookup_count": 11761,
+ "fuse_op_lookup_nanos": 161440489,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 783,
+ "fuse_op_other_nanos": 119093185,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 26866715,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 2261339,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4750,
+ "fuse_op_setattr_nanos": 1373845702,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 27901657,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 2,
+ "fuse_read_lane_wait_count": 16156,
+ "fuse_read_lane_wait_nanos": 3061810,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32082,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10205,
+ "fuse_write_lane_wait_nanos": 1879246,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19340,
+ "lookup_base_count": 24,
+ "lookup_count": 40290,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6839,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14258,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1617016
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15032,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 962807731,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4732,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25921,
+ "attr_cache_misses": 29060,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 971,
+ "connection_create": 2,
+ "connection_reuse": 31236,
+ "connection_wait_count": 31238,
+ "connection_wait_nanos": 14138406,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "getattr_count": 19340,
+ "lookup_base_count": 24,
+ "lookup_count": 40290,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6839,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14258,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1617016
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 104,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5344,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21857,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 39,
+ "fuse_dispatch_wait_count": 39,
+ "fuse_dispatch_wait_nanos": 335791,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52591244,
+ "fuse_flush_count": 4732,
+ "fuse_flush_ranges": 4732,
+ "fuse_getattr_count": 5038,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 11761,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 557160557,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 37,
+ "fuse_op_forget_nanos": 432447,
+ "fuse_op_getattr_count": 5038,
+ "fuse_op_getattr_nanos": 63853236,
+ "fuse_op_lookup_count": 11761,
+ "fuse_op_lookup_nanos": 161440489,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 783,
+ "fuse_op_other_nanos": 119093185,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 26866715,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 2261339,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4750,
+ "fuse_op_setattr_nanos": 1373845702,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 27901657,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 2,
+ "fuse_read_lane_wait_count": 16156,
+ "fuse_read_lane_wait_nanos": 3061810,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 32082,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10205,
+ "fuse_write_lane_wait_nanos": 1879246
+ }
+ },
+ "source": "phase-checkpoint-1"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 965994103,
+ "agentfs_batcher_commit_txns": 4814,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9398,
+ "attr_cache_hits": 26129,
+ "attr_cache_misses": 30795,
+ "base_fast_inode_invalidations": 15083,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 982,
+ "connection_create": 4,
+ "connection_reuse": 31863,
+ "connection_wait_count": 31867,
+ "connection_wait_nanos": 14580859,
+ "dentry_cache_hits": 26105,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4706,
+ "fuse_adapter_attr_misses": 5594,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5357,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27190,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 407930,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10300,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11811,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 558234652,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 551851,
+ "fuse_op_getattr_count": 10300,
+ "fuse_op_getattr_nanos": 82425253,
+ "fuse_op_lookup_count": 11811,
+ "fuse_op_lookup_nanos": 162059593,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 798,
+ "fuse_op_other_nanos": 121664769,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 27888371,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3303336,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4764,
+ "fuse_op_setattr_nanos": 1377706298,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 28091038,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 16881,
+ "fuse_read_lane_wait_nanos": 3160850,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37453,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10247,
+ "fuse_write_lane_wait_nanos": 1965999,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20688,
+ "lookup_base_count": 24,
+ "lookup_count": 40454,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6873,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14344,
+ "path_cache_hits": 26105,
+ "path_cache_misses": 13482,
+ "path_component_count": 33026,
+ "path_resolution_count": 7163,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2307894
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15083,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 965994103,
+ "agentfs_batcher_commit_txns": 4814,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9398,
+ "attr_cache_hits": 26129,
+ "attr_cache_misses": 30795,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 982,
+ "connection_create": 4,
+ "connection_reuse": 31863,
+ "connection_wait_count": 31867,
+ "connection_wait_nanos": 14580859,
+ "dentry_cache_hits": 26105,
+ "dentry_cache_misses": 13482,
+ "getattr_count": 20688,
+ "lookup_base_count": 24,
+ "lookup_count": 40454,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6873,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14344,
+ "path_cache_hits": 26105,
+ "path_cache_misses": 13482,
+ "path_component_count": 33026,
+ "path_resolution_count": 7163,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2307894
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 4706,
+ "fuse_adapter_attr_misses": 5594,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5357,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27190,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 407930,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10300,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 11811,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 558234652,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 551851,
+ "fuse_op_getattr_count": 10300,
+ "fuse_op_getattr_nanos": 82425253,
+ "fuse_op_lookup_count": 11811,
+ "fuse_op_lookup_nanos": 162059593,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 798,
+ "fuse_op_other_nanos": 121664769,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 27888371,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3303336,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4764,
+ "fuse_op_setattr_nanos": 1377706298,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 28091038,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 16881,
+ "fuse_read_lane_wait_nanos": 3160850,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 37453,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10247,
+ "fuse_write_lane_wait_nanos": 1965999
+ }
+ },
+ "source": "phase-checkpoint-2"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 971701743,
+ "agentfs_batcher_commit_txns": 4818,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9402,
+ "attr_cache_hits": 26148,
+ "attr_cache_misses": 30828,
+ "base_fast_inode_invalidations": 15107,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33567,
+ "connection_wait_count": 33571,
+ "connection_wait_nanos": 14993388,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6098,
+ "fuse_adapter_attr_misses": 5600,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5358,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30283,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11698,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12103,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 11698,
+ "fuse_op_getattr_nanos": 83960737,
+ "fuse_op_lookup_count": 12103,
+ "fuse_op_lookup_nanos": 166817254,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 124144058,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 29234237,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 61766205,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4770,
+ "fuse_op_setattr_nanos": 1388210878,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 30567970,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17876,
+ "fuse_read_lane_wait_nanos": 3264437,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43316,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10261,
+ "fuse_write_lane_wait_nanos": 1969932,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20712,
+ "lookup_base_count": 24,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6878,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 11408233
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15107,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 971701743,
+ "agentfs_batcher_commit_txns": 4818,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9402,
+ "attr_cache_hits": 26148,
+ "attr_cache_misses": 30828,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33567,
+ "connection_wait_count": 33571,
+ "connection_wait_nanos": 14993388,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20712,
+ "lookup_base_count": 24,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6878,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 11408233
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6098,
+ "fuse_adapter_attr_misses": 5600,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5358,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30283,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11698,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12103,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 11698,
+ "fuse_op_getattr_nanos": 83960737,
+ "fuse_op_lookup_count": 12103,
+ "fuse_op_lookup_nanos": 166817254,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 124144058,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 29234237,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 61766205,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4770,
+ "fuse_op_setattr_nanos": 1388210878,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 30567970,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17876,
+ "fuse_read_lane_wait_nanos": 3264437,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43316,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10261,
+ "fuse_write_lane_wait_nanos": 1969932
+ }
+ },
+ "source": "phase-checkpoint-3"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 971701743,
+ "agentfs_batcher_commit_txns": 4818,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9402,
+ "attr_cache_hits": 26149,
+ "attr_cache_misses": 30828,
+ "base_fast_inode_invalidations": 15107,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33575,
+ "connection_wait_count": 33579,
+ "connection_wait_nanos": 14998739,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6167,
+ "fuse_adapter_attr_misses": 5600,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5358,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30359,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11767,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12104,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 11767,
+ "fuse_op_getattr_nanos": 84048577,
+ "fuse_op_lookup_count": 12104,
+ "fuse_op_lookup_nanos": 166844152,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 124144058,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 30620507,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 61766205,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4770,
+ "fuse_op_setattr_nanos": 1388210878,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 30567970,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17878,
+ "fuse_read_lane_wait_nanos": 3265404,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43392,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10261,
+ "fuse_write_lane_wait_nanos": 1969932,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20712,
+ "lookup_base_count": 24,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6878,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 11408233
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15107,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 971701743,
+ "agentfs_batcher_commit_txns": 4818,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9402,
+ "attr_cache_hits": 26149,
+ "attr_cache_misses": 30828,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33575,
+ "connection_wait_count": 33579,
+ "connection_wait_nanos": 14998739,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20712,
+ "lookup_base_count": 24,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6878,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 11408233
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6167,
+ "fuse_adapter_attr_misses": 5600,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5358,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30359,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11767,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12104,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 11767,
+ "fuse_op_getattr_nanos": 84048577,
+ "fuse_op_lookup_count": 12104,
+ "fuse_op_lookup_nanos": 166844152,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 124144058,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 30620507,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 61766205,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4770,
+ "fuse_op_setattr_nanos": 1388210878,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 30567970,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17878,
+ "fuse_read_lane_wait_nanos": 3265404,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43392,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10261,
+ "fuse_write_lane_wait_nanos": 1969932
+ }
+ },
+ "source": "phase-checkpoint-4"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 975959459,
+ "agentfs_batcher_commit_txns": 4826,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26149,
+ "attr_cache_misses": 30852,
+ "base_fast_inode_invalidations": 15123,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33607,
+ "connection_wait_count": 33611,
+ "connection_wait_nanos": 15066290,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6183,
+ "fuse_adapter_attr_misses": 5600,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5358,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30383,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11783,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12104,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 11783,
+ "fuse_op_getattr_nanos": 84122769,
+ "fuse_op_lookup_count": 12104,
+ "fuse_op_lookup_nanos": 166844152,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3568,
+ "fuse_op_other_nanos": 126643306,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 30620507,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 61766205,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4778,
+ "fuse_op_setattr_nanos": 1396541613,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 32304104,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17886,
+ "fuse_read_lane_wait_nanos": 3278624,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43432,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1977525,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20728,
+ "lookup_base_count": 24,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6878,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 13387918
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15123,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 975959459,
+ "agentfs_batcher_commit_txns": 4826,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26149,
+ "attr_cache_misses": 30852,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33607,
+ "connection_wait_count": 33611,
+ "connection_wait_nanos": 15066290,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20728,
+ "lookup_base_count": 24,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6878,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 13387918
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6183,
+ "fuse_adapter_attr_misses": 5600,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5358,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30383,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11783,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12104,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 11783,
+ "fuse_op_getattr_nanos": 84122769,
+ "fuse_op_lookup_count": 12104,
+ "fuse_op_lookup_nanos": 166844152,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3568,
+ "fuse_op_other_nanos": 126643306,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 30620507,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 61766205,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4778,
+ "fuse_op_setattr_nanos": 1396541613,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 32304104,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17886,
+ "fuse_read_lane_wait_nanos": 3278624,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43432,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1977525
+ }
+ },
+ "source": "phase-checkpoint-5"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 975959459,
+ "agentfs_batcher_commit_txns": 4826,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26149,
+ "attr_cache_misses": 30852,
+ "base_fast_inode_invalidations": 15123,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33607,
+ "connection_wait_count": 33611,
+ "connection_wait_nanos": 15066290,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 8122,
+ "fuse_adapter_attr_misses": 5600,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5434,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 32398,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13722,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12180,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 13722,
+ "fuse_op_getattr_nanos": 86838317,
+ "fuse_op_lookup_count": 12180,
+ "fuse_op_lookup_nanos": 166942450,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3580,
+ "fuse_op_other_nanos": 126651980,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 30620507,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 61766205,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4778,
+ "fuse_op_setattr_nanos": 1396541613,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 32304104,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17886,
+ "fuse_read_lane_wait_nanos": 3278624,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45459,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1977525,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20728,
+ "lookup_base_count": 24,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6954,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 13387918
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15123,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 975959459,
+ "agentfs_batcher_commit_txns": 4826,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26149,
+ "attr_cache_misses": 30852,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33607,
+ "connection_wait_count": 33611,
+ "connection_wait_nanos": 15066290,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20728,
+ "lookup_base_count": 24,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6954,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 13387918
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 8122,
+ "fuse_adapter_attr_misses": 5600,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5434,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 32398,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13722,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12180,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 13722,
+ "fuse_op_getattr_nanos": 86838317,
+ "fuse_op_lookup_count": 12180,
+ "fuse_op_lookup_nanos": 166942450,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3580,
+ "fuse_op_other_nanos": 126651980,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 30620507,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 61766205,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4778,
+ "fuse_op_setattr_nanos": 1396541613,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 32304104,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17886,
+ "fuse_read_lane_wait_nanos": 3278624,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45459,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1977525
+ }
+ },
+ "source": "phase-checkpoint-6"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 975959459,
+ "agentfs_batcher_commit_txns": 4826,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26152,
+ "attr_cache_misses": 30854,
+ "base_fast_inode_invalidations": 15123,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33631,
+ "connection_wait_count": 33635,
+ "connection_wait_nanos": 15081991,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8166,
+ "fuse_adapter_attr_misses": 5601,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5675,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32708,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13767,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12425,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 13767,
+ "fuse_op_getattr_nanos": 86920998,
+ "fuse_op_lookup_count": 12425,
+ "fuse_op_lookup_nanos": 167302714,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 126665412,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 30939675,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 62880709,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4778,
+ "fuse_op_setattr_nanos": 1396541613,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 32304104,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17901,
+ "fuse_read_lane_wait_nanos": 3283354,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45805,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1977525,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20730,
+ "lookup_base_count": 24,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7195,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 13730103
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15123,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 975959459,
+ "agentfs_batcher_commit_txns": 4826,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26152,
+ "attr_cache_misses": 30854,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33631,
+ "connection_wait_count": 33635,
+ "connection_wait_nanos": 15081991,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "getattr_count": 20730,
+ "lookup_base_count": 24,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7195,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 13730103
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 8166,
+ "fuse_adapter_attr_misses": 5601,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5675,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32708,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13767,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12425,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 13767,
+ "fuse_op_getattr_nanos": 86920998,
+ "fuse_op_lookup_count": 12425,
+ "fuse_op_lookup_nanos": 167302714,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 126665412,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 30939675,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 62880709,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4778,
+ "fuse_op_setattr_nanos": 1396541613,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 32304104,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17901,
+ "fuse_read_lane_wait_nanos": 3283354,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45805,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1977525
+ }
+ },
+ "source": "phase-checkpoint-7"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 975959459,
+ "agentfs_batcher_commit_txns": 4826,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26152,
+ "attr_cache_misses": 30854,
+ "base_fast_inode_invalidations": 15123,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33634,
+ "connection_wait_count": 33638,
+ "connection_wait_nanos": 15088402,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8166,
+ "fuse_adapter_attr_misses": 5601,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5675,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32708,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13767,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12425,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 13767,
+ "fuse_op_getattr_nanos": 86920998,
+ "fuse_op_lookup_count": 12425,
+ "fuse_op_lookup_nanos": 167302714,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 126665412,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 30939675,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 62880709,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4778,
+ "fuse_op_setattr_nanos": 1396541613,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 32304104,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17901,
+ "fuse_read_lane_wait_nanos": 3283354,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45805,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10271,
+ "fuse_write_lane_wait_nanos": 1978981,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20730,
+ "lookup_base_count": 24,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7195,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 13907880
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15123,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 975959459,
+ "agentfs_batcher_commit_txns": 4826,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26152,
+ "attr_cache_misses": 30854,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33634,
+ "connection_wait_count": 33638,
+ "connection_wait_nanos": 15088402,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "getattr_count": 20730,
+ "lookup_base_count": 24,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7195,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 13907880
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 8166,
+ "fuse_adapter_attr_misses": 5601,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5675,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32708,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13767,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12425,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 13767,
+ "fuse_op_getattr_nanos": 86920998,
+ "fuse_op_lookup_count": 12425,
+ "fuse_op_lookup_nanos": 167302714,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 126665412,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 30939675,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 62880709,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4778,
+ "fuse_op_setattr_nanos": 1396541613,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 32304104,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17901,
+ "fuse_read_lane_wait_nanos": 3283354,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45805,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10271,
+ "fuse_write_lane_wait_nanos": 1978981
+ }
+ },
+ "source": "cli"
+ }
+ ],
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "run",
+ "--session",
+ "git-workload-f4f38b250e7f4cfc937dd9957456e3f9",
+ "--no-default-allows",
+ "--",
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-s58r0ykm/agentfs-base",
+ "duration_seconds": 4.789173212004243,
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 962807731,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4732,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25921,
+ "attr_cache_misses": 29060,
+ "base_fast_inode_invalidations": 15032,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 971,
+ "connection_create": 2,
+ "connection_reuse": 31236,
+ "connection_wait_count": 31238,
+ "connection_wait_nanos": 14138406,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 104,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5344,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21857,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 39,
+ "fuse_dispatch_wait_count": 39,
+ "fuse_dispatch_wait_nanos": 335791,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52591244,
+ "fuse_flush_count": 4732,
+ "fuse_flush_ranges": 4732,
+ "fuse_getattr_count": 5038,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11761,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 557160557,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 37,
+ "fuse_op_forget_nanos": 432447,
+ "fuse_op_getattr_count": 5038,
+ "fuse_op_getattr_nanos": 63853236,
+ "fuse_op_lookup_count": 11761,
+ "fuse_op_lookup_nanos": 161440489,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 783,
+ "fuse_op_other_nanos": 119093185,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 26866715,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 2261339,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4750,
+ "fuse_op_setattr_nanos": 1373845702,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 27901657,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 2,
+ "fuse_read_lane_wait_count": 16156,
+ "fuse_read_lane_wait_nanos": 3061810,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32082,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10205,
+ "fuse_write_lane_wait_nanos": 1879246,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19340,
+ "lookup_base_count": 24,
+ "lookup_count": 40290,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6839,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14258,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1617016
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15032,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 962807731,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4732,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25921,
+ "attr_cache_misses": 29060,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 971,
+ "connection_create": 2,
+ "connection_reuse": 31236,
+ "connection_wait_count": 31238,
+ "connection_wait_nanos": 14138406,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "getattr_count": 19340,
+ "lookup_base_count": 24,
+ "lookup_count": 40290,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6839,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14258,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 18,
+ "wal_checkpoint_count": 10,
+ "wal_checkpoint_nanos": 1617016
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 104,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5344,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21857,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 39,
+ "fuse_dispatch_wait_count": 39,
+ "fuse_dispatch_wait_nanos": 335791,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52591244,
+ "fuse_flush_count": 4732,
+ "fuse_flush_ranges": 4732,
+ "fuse_getattr_count": 5038,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 11761,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 557160557,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 37,
+ "fuse_op_forget_nanos": 432447,
+ "fuse_op_getattr_count": 5038,
+ "fuse_op_getattr_nanos": 63853236,
+ "fuse_op_lookup_count": 11761,
+ "fuse_op_lookup_nanos": 161440489,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 783,
+ "fuse_op_other_nanos": 119093185,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 26866715,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 2261339,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4750,
+ "fuse_op_setattr_nanos": 1373845702,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 27901657,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 2,
+ "fuse_read_lane_wait_count": 16156,
+ "fuse_read_lane_wait_nanos": 3061810,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 32082,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10205,
+ "fuse_write_lane_wait_nanos": 1879246
+ }
+ },
+ "source": "phase-checkpoint-1"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 965994103,
+ "agentfs_batcher_commit_txns": 4814,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9398,
+ "attr_cache_hits": 26129,
+ "attr_cache_misses": 30795,
+ "base_fast_inode_invalidations": 15083,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 982,
+ "connection_create": 4,
+ "connection_reuse": 31863,
+ "connection_wait_count": 31867,
+ "connection_wait_nanos": 14580859,
+ "dentry_cache_hits": 26105,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4706,
+ "fuse_adapter_attr_misses": 5594,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5357,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27190,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 407930,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10300,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11811,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 558234652,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 551851,
+ "fuse_op_getattr_count": 10300,
+ "fuse_op_getattr_nanos": 82425253,
+ "fuse_op_lookup_count": 11811,
+ "fuse_op_lookup_nanos": 162059593,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 798,
+ "fuse_op_other_nanos": 121664769,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 27888371,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3303336,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4764,
+ "fuse_op_setattr_nanos": 1377706298,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 28091038,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 16881,
+ "fuse_read_lane_wait_nanos": 3160850,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37453,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10247,
+ "fuse_write_lane_wait_nanos": 1965999,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20688,
+ "lookup_base_count": 24,
+ "lookup_count": 40454,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6873,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14344,
+ "path_cache_hits": 26105,
+ "path_cache_misses": 13482,
+ "path_component_count": 33026,
+ "path_resolution_count": 7163,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2307894
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15083,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 965994103,
+ "agentfs_batcher_commit_txns": 4814,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9398,
+ "attr_cache_hits": 26129,
+ "attr_cache_misses": 30795,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 982,
+ "connection_create": 4,
+ "connection_reuse": 31863,
+ "connection_wait_count": 31867,
+ "connection_wait_nanos": 14580859,
+ "dentry_cache_hits": 26105,
+ "dentry_cache_misses": 13482,
+ "getattr_count": 20688,
+ "lookup_base_count": 24,
+ "lookup_count": 40454,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6873,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14344,
+ "path_cache_hits": 26105,
+ "path_cache_misses": 13482,
+ "path_component_count": 33026,
+ "path_resolution_count": 7163,
+ "readdir_count": 1,
+ "readdir_plus_count": 22,
+ "wal_checkpoint_count": 12,
+ "wal_checkpoint_nanos": 2307894
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 4706,
+ "fuse_adapter_attr_misses": 5594,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5357,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27190,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 407930,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10300,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 11811,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 558234652,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 551851,
+ "fuse_op_getattr_count": 10300,
+ "fuse_op_getattr_nanos": 82425253,
+ "fuse_op_lookup_count": 11811,
+ "fuse_op_lookup_nanos": 162059593,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 798,
+ "fuse_op_other_nanos": 121664769,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 27888371,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 3303336,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4764,
+ "fuse_op_setattr_nanos": 1377706298,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 28091038,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 16881,
+ "fuse_read_lane_wait_nanos": 3160850,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 37453,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10247,
+ "fuse_write_lane_wait_nanos": 1965999
+ }
+ },
+ "source": "phase-checkpoint-2"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 971701743,
+ "agentfs_batcher_commit_txns": 4818,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9402,
+ "attr_cache_hits": 26148,
+ "attr_cache_misses": 30828,
+ "base_fast_inode_invalidations": 15107,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33567,
+ "connection_wait_count": 33571,
+ "connection_wait_nanos": 14993388,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6098,
+ "fuse_adapter_attr_misses": 5600,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5358,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30283,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11698,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12103,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 11698,
+ "fuse_op_getattr_nanos": 83960737,
+ "fuse_op_lookup_count": 12103,
+ "fuse_op_lookup_nanos": 166817254,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 124144058,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 29234237,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 61766205,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4770,
+ "fuse_op_setattr_nanos": 1388210878,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 30567970,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17876,
+ "fuse_read_lane_wait_nanos": 3264437,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43316,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10261,
+ "fuse_write_lane_wait_nanos": 1969932,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20712,
+ "lookup_base_count": 24,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6878,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 11408233
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15107,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 971701743,
+ "agentfs_batcher_commit_txns": 4818,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9402,
+ "attr_cache_hits": 26148,
+ "attr_cache_misses": 30828,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33567,
+ "connection_wait_count": 33571,
+ "connection_wait_nanos": 14993388,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20712,
+ "lookup_base_count": 24,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6878,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 11408233
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6098,
+ "fuse_adapter_attr_misses": 5600,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5358,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30283,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11698,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12103,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 11698,
+ "fuse_op_getattr_nanos": 83960737,
+ "fuse_op_lookup_count": 12103,
+ "fuse_op_lookup_nanos": 166817254,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 124144058,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 29234237,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 61766205,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4770,
+ "fuse_op_setattr_nanos": 1388210878,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 30567970,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17876,
+ "fuse_read_lane_wait_nanos": 3264437,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43316,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10261,
+ "fuse_write_lane_wait_nanos": 1969932
+ }
+ },
+ "source": "phase-checkpoint-3"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 971701743,
+ "agentfs_batcher_commit_txns": 4818,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9402,
+ "attr_cache_hits": 26149,
+ "attr_cache_misses": 30828,
+ "base_fast_inode_invalidations": 15107,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33575,
+ "connection_wait_count": 33579,
+ "connection_wait_nanos": 14998739,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6167,
+ "fuse_adapter_attr_misses": 5600,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5358,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30359,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11767,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12104,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 11767,
+ "fuse_op_getattr_nanos": 84048577,
+ "fuse_op_lookup_count": 12104,
+ "fuse_op_lookup_nanos": 166844152,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 124144058,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 30620507,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 61766205,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4770,
+ "fuse_op_setattr_nanos": 1388210878,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 30567970,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17878,
+ "fuse_read_lane_wait_nanos": 3265404,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43392,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10261,
+ "fuse_write_lane_wait_nanos": 1969932,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20712,
+ "lookup_base_count": 24,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6878,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 11408233
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15107,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 971701743,
+ "agentfs_batcher_commit_txns": 4818,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4689,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9402,
+ "attr_cache_hits": 26149,
+ "attr_cache_misses": 30828,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33575,
+ "connection_wait_count": 33579,
+ "connection_wait_nanos": 14998739,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20712,
+ "lookup_base_count": 24,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6878,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 700,
+ "wal_checkpoint_nanos": 11408233
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6167,
+ "fuse_adapter_attr_misses": 5600,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5358,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30359,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11767,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12104,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 11767,
+ "fuse_op_getattr_nanos": 84048577,
+ "fuse_op_lookup_count": 12104,
+ "fuse_op_lookup_nanos": 166844152,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3560,
+ "fuse_op_other_nanos": 124144058,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 30620507,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 61766205,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4770,
+ "fuse_op_setattr_nanos": 1388210878,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 30567970,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17878,
+ "fuse_read_lane_wait_nanos": 3265404,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43392,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10261,
+ "fuse_write_lane_wait_nanos": 1969932
+ }
+ },
+ "source": "phase-checkpoint-4"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 975959459,
+ "agentfs_batcher_commit_txns": 4826,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26149,
+ "attr_cache_misses": 30852,
+ "base_fast_inode_invalidations": 15123,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33607,
+ "connection_wait_count": 33611,
+ "connection_wait_nanos": 15066290,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6183,
+ "fuse_adapter_attr_misses": 5600,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5358,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30383,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11783,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12104,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 11783,
+ "fuse_op_getattr_nanos": 84122769,
+ "fuse_op_lookup_count": 12104,
+ "fuse_op_lookup_nanos": 166844152,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3568,
+ "fuse_op_other_nanos": 126643306,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 30620507,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 61766205,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4778,
+ "fuse_op_setattr_nanos": 1396541613,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 32304104,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17886,
+ "fuse_read_lane_wait_nanos": 3278624,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43432,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1977525,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20728,
+ "lookup_base_count": 24,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6878,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 13387918
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15123,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 975959459,
+ "agentfs_batcher_commit_txns": 4826,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26149,
+ "attr_cache_misses": 30852,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33607,
+ "connection_wait_count": 33611,
+ "connection_wait_nanos": 15066290,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20728,
+ "lookup_base_count": 24,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6878,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 13387918
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 6183,
+ "fuse_adapter_attr_misses": 5600,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5358,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30383,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11783,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12104,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 11783,
+ "fuse_op_getattr_nanos": 84122769,
+ "fuse_op_lookup_count": 12104,
+ "fuse_op_lookup_nanos": 166844152,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3568,
+ "fuse_op_other_nanos": 126643306,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 30620507,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 61766205,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4778,
+ "fuse_op_setattr_nanos": 1396541613,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 32304104,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17886,
+ "fuse_read_lane_wait_nanos": 3278624,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 43432,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1977525
+ }
+ },
+ "source": "phase-checkpoint-5"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 975959459,
+ "agentfs_batcher_commit_txns": 4826,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26149,
+ "attr_cache_misses": 30852,
+ "base_fast_inode_invalidations": 15123,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33607,
+ "connection_wait_count": 33611,
+ "connection_wait_nanos": 15066290,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 8122,
+ "fuse_adapter_attr_misses": 5600,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5434,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 32398,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13722,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12180,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 13722,
+ "fuse_op_getattr_nanos": 86838317,
+ "fuse_op_lookup_count": 12180,
+ "fuse_op_lookup_nanos": 166942450,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3580,
+ "fuse_op_other_nanos": 126651980,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 30620507,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 61766205,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4778,
+ "fuse_op_setattr_nanos": 1396541613,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 32304104,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17886,
+ "fuse_read_lane_wait_nanos": 3278624,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45459,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1977525,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20728,
+ "lookup_base_count": 24,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6954,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 13387918
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15123,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 975959459,
+ "agentfs_batcher_commit_txns": 4826,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26149,
+ "attr_cache_misses": 30852,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33607,
+ "connection_wait_count": 33611,
+ "connection_wait_nanos": 15066290,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "getattr_count": 20728,
+ "lookup_base_count": 24,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6954,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 1398,
+ "wal_checkpoint_count": 708,
+ "wal_checkpoint_nanos": 13387918
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 8122,
+ "fuse_adapter_attr_misses": 5600,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5434,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 32398,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13722,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12180,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 13722,
+ "fuse_op_getattr_nanos": 86838317,
+ "fuse_op_lookup_count": 12180,
+ "fuse_op_lookup_nanos": 166942450,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3580,
+ "fuse_op_other_nanos": 126651980,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 30620507,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 61766205,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4778,
+ "fuse_op_setattr_nanos": 1396541613,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 32304104,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17886,
+ "fuse_read_lane_wait_nanos": 3278624,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45459,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1977525
+ }
+ },
+ "source": "phase-checkpoint-6"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 975959459,
+ "agentfs_batcher_commit_txns": 4826,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26152,
+ "attr_cache_misses": 30854,
+ "base_fast_inode_invalidations": 15123,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33631,
+ "connection_wait_count": 33635,
+ "connection_wait_nanos": 15081991,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8166,
+ "fuse_adapter_attr_misses": 5601,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5675,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32708,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13767,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12425,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 13767,
+ "fuse_op_getattr_nanos": 86920998,
+ "fuse_op_lookup_count": 12425,
+ "fuse_op_lookup_nanos": 167302714,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 126665412,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 30939675,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 62880709,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4778,
+ "fuse_op_setattr_nanos": 1396541613,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 32304104,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17901,
+ "fuse_read_lane_wait_nanos": 3283354,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45805,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1977525,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20730,
+ "lookup_base_count": 24,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7195,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 13730103
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15123,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 975959459,
+ "agentfs_batcher_commit_txns": 4826,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26152,
+ "attr_cache_misses": 30854,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33631,
+ "connection_wait_count": 33635,
+ "connection_wait_nanos": 15081991,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "getattr_count": 20730,
+ "lookup_base_count": 24,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7195,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 717,
+ "wal_checkpoint_nanos": 13730103
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 8166,
+ "fuse_adapter_attr_misses": 5601,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5675,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32708,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13767,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12425,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 13767,
+ "fuse_op_getattr_nanos": 86920998,
+ "fuse_op_lookup_count": 12425,
+ "fuse_op_lookup_nanos": 167302714,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 126665412,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 30939675,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 62880709,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4778,
+ "fuse_op_setattr_nanos": 1396541613,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 32304104,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17901,
+ "fuse_read_lane_wait_nanos": 3283354,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45805,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1977525
+ }
+ },
+ "source": "phase-checkpoint-7"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 975959459,
+ "agentfs_batcher_commit_txns": 4826,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26152,
+ "attr_cache_misses": 30854,
+ "base_fast_inode_invalidations": 15123,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33634,
+ "connection_wait_count": 33638,
+ "connection_wait_nanos": 15088402,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8166,
+ "fuse_adapter_attr_misses": 5601,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5675,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32708,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13767,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12425,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 13767,
+ "fuse_op_getattr_nanos": 86920998,
+ "fuse_op_lookup_count": 12425,
+ "fuse_op_lookup_nanos": 167302714,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 126665412,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 30939675,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 62880709,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4778,
+ "fuse_op_setattr_nanos": 1396541613,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 32304104,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17901,
+ "fuse_read_lane_wait_nanos": 3283354,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45805,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10271,
+ "fuse_write_lane_wait_nanos": 1978981,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20730,
+ "lookup_base_count": 24,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7195,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 13907880
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 15123,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_workers_configured": 7,
+ "fuse_writeback_cache_enabled": 1
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 43,
+ "agentfs_batcher_commit_latency_ns_total": 975959459,
+ "agentfs_batcher_commit_txns": 4826,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4697,
+ "agentfs_batcher_drains_timer": 14,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9410,
+ "attr_cache_hits": 26152,
+ "attr_cache_misses": 30854,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1002,
+ "connection_create": 4,
+ "connection_reuse": 33634,
+ "connection_wait_count": 33638,
+ "connection_wait_nanos": 15088402,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "getattr_count": 20730,
+ "lookup_base_count": 24,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7195,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 1416,
+ "wal_checkpoint_count": 719,
+ "wal_checkpoint_nanos": 13907880
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 8166,
+ "fuse_adapter_attr_misses": 5601,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5675,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32708,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 51,
+ "fuse_dispatch_wait_count": 51,
+ "fuse_dispatch_wait_nanos": 444898,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13767,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 12425,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 559055187,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 3422,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 604758,
+ "fuse_op_getattr_count": 13767,
+ "fuse_op_getattr_nanos": 86920998,
+ "fuse_op_lookup_count": 12425,
+ "fuse_op_lookup_nanos": 167302714,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 962,
+ "fuse_op_other_count": 3616,
+ "fuse_op_other_nanos": 126665412,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 30939675,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 62880709,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 4778,
+ "fuse_op_setattr_nanos": 1396541613,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 32304104,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 17901,
+ "fuse_read_lane_wait_nanos": 3283354,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 45805,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10271,
+ "fuse_write_lane_wait_nanos": 1978981
+ }
+ },
+ "source": "cli"
+ }
+ ],
+ "returncode": 0,
+ "stderr_bytes": 64602,
+ "stderr_tail": "en_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":1,\"fuse_readdirplus_mode\":2,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_workers_configured\":7,\"fuse_writeback_cache_enabled\":1},\"core\":{\"agentfs_batcher_coalesced_ranges\":43,\"agentfs_batcher_commit_latency_ns_total\":975959459,\"agentfs_batcher_commit_txns\":4826,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4697,\"agentfs_batcher_drains_timer\":14,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1442885,\"agentfs_batcher_txn_inodes_max\":3,\"agentfs_batcher_txn_inodes_total\":9410,\"attr_cache_hits\":26149,\"attr_cache_misses\":30852,\"chunk_read_chunks\":267,\"chunk_read_queries\":122,\"chunk_write_chunks\":1002,\"connection_create\":4,\"connection_reuse\":33607,\"connection_wait_count\":33611,\"connection_wait_nanos\":15066290,\"dentry_cache_hits\":26125,\"dentry_cache_misses\":14052,\"getattr_count\":20728,\"lookup_base_count\":24,\"lookup_count\":41054,\"lookup_delta_count\":7547,\"lookup_whiteout_count\":0,\"negative_cache_hits\":6954,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46085,\"negative_lookup_count\":14922,\"path_cache_hits\":26125,\"path_cache_misses\":14052,\"path_component_count\":37632,\"path_resolution_count\":8140,\"readdir_count\":1,\"readdir_plus_count\":1398,\"wal_checkpoint_count\":708,\"wal_checkpoint_nanos\":13387918},\"fuse\":{\"fuse_adapter_attr_hits\":8122,\"fuse_adapter_attr_misses\":5600,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6734,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5434,\"fuse_adapter_negative_misses\":6734,\"fuse_callback_count\":32398,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":6,\"fuse_dispatch_parallel_tasks\":51,\"fuse_dispatch_wait_count\":51,\"fuse_dispatch_wait_nanos\":444898,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13722,\"fuse_ino_file_resolutions\":26,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":12180,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":559055187,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":3422,\"fuse_op_forget_count\":49,\"fuse_op_forget_nanos\":604758,\"fuse_op_getattr_count\":13722,\"fuse_op_getattr_nanos\":86838317,\"fuse_op_lookup_count\":12180,\"fuse_op_lookup_nanos\":166942450,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":962,\"fuse_op_other_count\":3580,\"fuse_op_other_nanos\":126651980,\"fuse_op_read_count\":239,\"fuse_op_read_nanos\":30620507,\"fuse_op_readdirplus_count\":1407,\"fuse_op_readdirplus_nanos\":61766205,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4778,\"fuse_op_setattr_nanos\":1396541613,\"fuse_op_write_count\":4849,\"fuse_op_write_nanos\":32304104,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":239,\"fuse_read_lane_max_concurrent\":4,\"fuse_read_lane_wait_count\":17886,\"fuse_read_lane_wait_nanos\":3278624,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1407,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":45459,\"fuse_worker_queue_depth_peak\":2,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4849,\"fuse_write_lane_wait_count\":10269,\"fuse_write_lane_wait_nanos\":1977525}},\"source\":\"phase-checkpoint-6\"}\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":43,\"agentfs_batcher_commit_latency_ns_total\":975959459,\"agentfs_batcher_commit_txns\":4826,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4697,\"agentfs_batcher_drains_timer\":14,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1442885,\"agentfs_batcher_txn_inodes_max\":3,\"agentfs_batcher_txn_inodes_total\":9410,\"attr_cache_hits\":26152,\"attr_cache_misses\":30854,\"base_fast_inode_invalidations\":15123,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1002,\"connection_create\":4,\"connection_reuse\":33631,\"connection_wait_count\":33635,\"connection_wait_nanos\":15081991,\"dentry_cache_hits\":26129,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":8166,\"fuse_adapter_attr_misses\":5601,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5675,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":32708,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":6,\"fuse_dispatch_parallel_tasks\":51,\"fuse_dispatch_wait_count\":51,\"fuse_dispatch_wait_nanos\":444898,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13767,\"fuse_ino_file_resolutions\":27,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12425,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":559055187,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":3422,\"fuse_op_forget_count\":49,\"fuse_op_forget_nanos\":604758,\"fuse_op_getattr_count\":13767,\"fuse_op_getattr_nanos\":86920998,\"fuse_op_lookup_count\":12425,\"fuse_op_lookup_nanos\":167302714,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":962,\"fuse_op_other_count\":3616,\"fuse_op_other_nanos\":126665412,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":30939675,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":62880709,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4778,\"fuse_op_setattr_nanos\":1396541613,\"fuse_op_write_count\":4849,\"fuse_op_write_nanos\":32304104,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":4,\"fuse_read_lane_wait_count\":17901,\"fuse_read_lane_wait_nanos\":3283354,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":45805,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4849,\"fuse_write_lane_wait_count\":10269,\"fuse_write_lane_wait_nanos\":1977525,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20730,\"lookup_base_count\":24,\"lookup_count\":41062,\"lookup_delta_count\":7551,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7195,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14924,\"path_cache_hits\":26129,\"path_cache_misses\":14054,\"path_component_count\":37674,\"path_resolution_count\":8150,\"readdir_count\":1,\"readdir_plus_count\":1416,\"wal_checkpoint_count\":717,\"wal_checkpoint_nanos\":13730103},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"sections\":{\"base\":{\"base_fast_inode_invalidations\":15123,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":1,\"fuse_readdirplus_mode\":2,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_workers_configured\":7,\"fuse_writeback_cache_enabled\":1},\"core\":{\"agentfs_batcher_coalesced_ranges\":43,\"agentfs_batcher_commit_latency_ns_total\":975959459,\"agentfs_batcher_commit_txns\":4826,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4697,\"agentfs_batcher_drains_timer\":14,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1442885,\"agentfs_batcher_txn_inodes_max\":3,\"agentfs_batcher_txn_inodes_total\":9410,\"attr_cache_hits\":26152,\"attr_cache_misses\":30854,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1002,\"connection_create\":4,\"connection_reuse\":33631,\"connection_wait_count\":33635,\"connection_wait_nanos\":15081991,\"dentry_cache_hits\":26129,\"dentry_cache_misses\":14054,\"getattr_count\":20730,\"lookup_base_count\":24,\"lookup_count\":41062,\"lookup_delta_count\":7551,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7195,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14924,\"path_cache_hits\":26129,\"path_cache_misses\":14054,\"path_component_count\":37674,\"path_resolution_count\":8150,\"readdir_count\":1,\"readdir_plus_count\":1416,\"wal_checkpoint_count\":717,\"wal_checkpoint_nanos\":13730103},\"fuse\":{\"fuse_adapter_attr_hits\":8166,\"fuse_adapter_attr_misses\":5601,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5675,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":32708,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":6,\"fuse_dispatch_parallel_tasks\":51,\"fuse_dispatch_wait_count\":51,\"fuse_dispatch_wait_nanos\":444898,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13767,\"fuse_ino_file_resolutions\":27,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":12425,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":559055187,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":3422,\"fuse_op_forget_count\":49,\"fuse_op_forget_nanos\":604758,\"fuse_op_getattr_count\":13767,\"fuse_op_getattr_nanos\":86920998,\"fuse_op_lookup_count\":12425,\"fuse_op_lookup_nanos\":167302714,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":962,\"fuse_op_other_count\":3616,\"fuse_op_other_nanos\":126665412,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":30939675,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":62880709,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4778,\"fuse_op_setattr_nanos\":1396541613,\"fuse_op_write_count\":4849,\"fuse_op_write_nanos\":32304104,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":4,\"fuse_read_lane_wait_count\":17901,\"fuse_read_lane_wait_nanos\":3283354,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":45805,\"fuse_worker_queue_depth_peak\":2,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4849,\"fuse_write_lane_wait_count\":10269,\"fuse_write_lane_wait_nanos\":1977525}},\"source\":\"phase-checkpoint-7\"}\n\nSession: git-workload-f4f38b250e7f4cfc937dd9957456e3f9\n\nTo resume this session:\n agentfs run --session git-workload-f4f38b250e7f4cfc937dd9957456e3f9\n\nTo see what changed:\n agentfs diff git-workload-f4f38b250e7f4cfc937dd9957456e3f9\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":43,\"agentfs_batcher_commit_latency_ns_total\":975959459,\"agentfs_batcher_commit_txns\":4826,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4697,\"agentfs_batcher_drains_timer\":14,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1442885,\"agentfs_batcher_txn_inodes_max\":3,\"agentfs_batcher_txn_inodes_total\":9410,\"attr_cache_hits\":26152,\"attr_cache_misses\":30854,\"base_fast_inode_invalidations\":15123,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1002,\"connection_create\":4,\"connection_reuse\":33634,\"connection_wait_count\":33638,\"connection_wait_nanos\":15088402,\"dentry_cache_hits\":26129,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":8166,\"fuse_adapter_attr_misses\":5601,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5675,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":32708,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":6,\"fuse_dispatch_parallel_tasks\":51,\"fuse_dispatch_wait_count\":51,\"fuse_dispatch_wait_nanos\":444898,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13767,\"fuse_ino_file_resolutions\":27,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12425,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":559055187,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":3422,\"fuse_op_forget_count\":49,\"fuse_op_forget_nanos\":604758,\"fuse_op_getattr_count\":13767,\"fuse_op_getattr_nanos\":86920998,\"fuse_op_lookup_count\":12425,\"fuse_op_lookup_nanos\":167302714,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":962,\"fuse_op_other_count\":3616,\"fuse_op_other_nanos\":126665412,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":30939675,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":62880709,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4778,\"fuse_op_setattr_nanos\":1396541613,\"fuse_op_write_count\":4849,\"fuse_op_write_nanos\":32304104,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":4,\"fuse_read_lane_wait_count\":17901,\"fuse_read_lane_wait_nanos\":3283354,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":45805,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4849,\"fuse_write_lane_wait_count\":10271,\"fuse_write_lane_wait_nanos\":1978981,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20730,\"lookup_base_count\":24,\"lookup_count\":41062,\"lookup_delta_count\":7551,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7195,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14924,\"path_cache_hits\":26129,\"path_cache_misses\":14054,\"path_component_count\":37674,\"path_resolution_count\":8150,\"readdir_count\":1,\"readdir_plus_count\":1416,\"wal_checkpoint_count\":719,\"wal_checkpoint_nanos\":13907880},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"sections\":{\"base\":{\"base_fast_inode_invalidations\":15123,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":1,\"fuse_readdirplus_mode\":2,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_workers_configured\":7,\"fuse_writeback_cache_enabled\":1},\"core\":{\"agentfs_batcher_coalesced_ranges\":43,\"agentfs_batcher_commit_latency_ns_total\":975959459,\"agentfs_batcher_commit_txns\":4826,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4697,\"agentfs_batcher_drains_timer\":14,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1442885,\"agentfs_batcher_txn_inodes_max\":3,\"agentfs_batcher_txn_inodes_total\":9410,\"attr_cache_hits\":26152,\"attr_cache_misses\":30854,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1002,\"connection_create\":4,\"connection_reuse\":33634,\"connection_wait_count\":33638,\"connection_wait_nanos\":15088402,\"dentry_cache_hits\":26129,\"dentry_cache_misses\":14054,\"getattr_count\":20730,\"lookup_base_count\":24,\"lookup_count\":41062,\"lookup_delta_count\":7551,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7195,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14924,\"path_cache_hits\":26129,\"path_cache_misses\":14054,\"path_component_count\":37674,\"path_resolution_count\":8150,\"readdir_count\":1,\"readdir_plus_count\":1416,\"wal_checkpoint_count\":719,\"wal_checkpoint_nanos\":13907880},\"fuse\":{\"fuse_adapter_attr_hits\":8166,\"fuse_adapter_attr_misses\":5601,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5675,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":32708,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":6,\"fuse_dispatch_parallel_tasks\":51,\"fuse_dispatch_wait_count\":51,\"fuse_dispatch_wait_nanos\":444898,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13767,\"fuse_ino_file_resolutions\":27,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":12425,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":559055187,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":3422,\"fuse_op_forget_count\":49,\"fuse_op_forget_nanos\":604758,\"fuse_op_getattr_count\":13767,\"fuse_op_getattr_nanos\":86920998,\"fuse_op_lookup_count\":12425,\"fuse_op_lookup_nanos\":167302714,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":962,\"fuse_op_other_count\":3616,\"fuse_op_other_nanos\":126665412,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":30939675,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":62880709,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":4778,\"fuse_op_setattr_nanos\":1396541613,\"fuse_op_write_count\":4849,\"fuse_op_write_nanos\":32304104,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":4,\"fuse_read_lane_wait_count\":17901,\"fuse_read_lane_wait_nanos\":3283354,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":45805,\"fuse_worker_queue_depth_peak\":2,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4849,\"fuse_write_lane_wait_count\":10271,\"fuse_write_lane_wait_nanos\":1978981}},\"source\":\"cli\"}\n",
+ "stdout_bytes": 19040,
+ "stdout_tail": "2026-07-04T01:13:30.872785Z INFO agentfs::fuser::session: resolved FUSE dispatch mode: parallel workers=7 queue_capacity=28\n2026-07-04T01:13:30.873041Z INFO agentfs::fuse: advertising FUSE_OVER_IO_URING\n2026-07-04T01:13:30.873087Z INFO agentfs::fuser::uring: starting fuse-over-io_uring queues nr_queues=14 depth=4\n2026-07-04T01:13:32.253064Z WARN agentfs::fuser::request: Request RequestId(21391): Failed to send reply: No such file or directory (os error 2)\n{\"branch_status\": \"## agentfs-benchmark\\n\", \"diff\": {\"changed_file_count\": 8, \"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.07817813300061971, \"patch_bytes\": 3282, \"patch_sha256\": \"51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc\", \"runs\": {\"name_only\": {\"argv\": [\"git\", \"diff\", \"--name-only\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-s58r0ykm/agentfs-base/work\", \"duration_seconds\": 0.025902216002577916, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 144, \"stdout_tail\": \"docs/CLA.md\\ndocs/agents_md.md\\ndocs/authentication.md\\ndocs/config.md\\ndocs/contributing.md\\ndocs/example-config.md\\ndocs/exec.md\\ndocs/execpolicy.md\\n\"}, \"patch\": {\"argv\": [\"git\", \"diff\", \"--\", \".\"], \"cwd\": \"/tmp/agentfs-git-workload-s58r0ykm/agentfs-base/work\", \"duration_seconds\": 0.02555491500243079, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 3282, \"stdout_tail\": \"diff --git a/docs/CLA.md b/docs/CLA.md\\nindex 804f202..3495ac9 100644\\n--- a/docs/CLA.md\\n+++ b/docs/CLA.md\\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\\n This Agreement is governed by the laws of the **State of California**, USA,\\n excluding its conflict\\u2011of\\u2011laws rules. If any provision is held unenforceable,\\n the remaining provisions remain in force.\\n+\\n+AgentFS Git benchmark edit 00 for docs/CLA.md\\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\\nindex 3df0fac..b8b063d 100644\\n--- a/docs/agents_md.md\\n+++ b/docs/agents_md.md\\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\\n ## Hierarchical agents message\\n \\n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\\n+\\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\\ndiff --git a/docs/authentication.md b/docs/authentication.md\\nindex c307349..b3bc9dc 100644\\n--- a/docs/authentication.md\\n+++ b/docs/authentication.md\\n@@ -1,3 +1,5 @@\\n # Authentication\\n \\n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\\n+\\n+AgentFS Git benchmark edit 02 for docs/authentication.md\\ndiff --git a/docs/config.md b/docs/config.md\\nindex d35b0a8..030e278 100644\\n--- a/docs/config.md\\n+++ b/docs/config.md\\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\\n still allowing managed hooks from requirements and managed config layers. This\\n setting is only supported in `requirements.toml`; putting it in `config.toml`\\n does not enable managed-hooks-only mode.\\n+\\n+AgentFS Git benchmark edit 03 for docs/config.md\\ndiff --git a/docs/contributing.md b/docs/contributing.md\\nindex aeae1f1..b5a22ac 100644\\n--- a/docs/contributing.md\\n+++ b/docs/contributing.md\\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\\n ### Security & responsible AI\\n \\n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\\n+\\n+AgentFS Git benchmark edit 04 for docs/contributing.md\\ndiff --git a/docs/example-config.md b/docs/example-config.md\\nindex 84b1143..b09f835 100644\\n--- a/docs/example-config.md\\n+++ b/docs/example-config.md\\n@@ -1,3 +1,5 @@\\n # Sample configuration\\n \\n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\\n+\\n+AgentFS Git benchmark edit 05 for docs/example-config.md\\ndiff --git a/docs/exec.md b/docs/exec.md\\nindex 57e4323..a81da98 100644\\n--- a/docs/exec.md\\n+++ b/docs/exec.md\\n@@ -1,3 +1,5 @@\\n # Non-interactive mode\\n \\n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\\n+\\n+AgentFS Git benchmark edit 06 for docs/exec.md\\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\\nindex cafebb3..3b48afe 100644\\n--- a/docs/execpolicy.md\\n+++ b/docs/execpolicy.md\\n@@ -1,3 +1,5 @@\\n # Execution policy\\n \\n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\\n+\\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\\n\"}, \"stat\": {\"argv\": [\"git\", \"diff\", \"--stat\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-s58r0ykm/agentfs-base/work\", \"duration_seconds\": 0.02663081900391262, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 283, \"stdout_tail\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}}, \"stat_stdout\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}, \"edits\": {\"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.018203587998868898, \"edits\": [{\"appended_bytes\": 47, \"path\": \"docs/CLA.md\", \"size_after\": 2106, \"size_before\": 2059}, {\"appended_bytes\": 53, \"path\": \"docs/agents_md.md\", \"size_after\": 462, \"size_before\": 409}, {\"appended_bytes\": 58, \"path\": \"docs/authentication.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 50, \"path\": \"docs/config.md\", \"size_after\": 776, \"size_before\": 726}, {\"appended_bytes\": 56, \"path\": \"docs/contributing.md\", \"size_after\": 6380, \"size_before\": 6324}, {\"appended_bytes\": 58, \"path\": \"docs/example-config.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 48, \"path\": \"docs/exec.md\", \"size_after\": 194, \"size_before\": 146}, {\"appended_bytes\": 54, \"path\": \"docs/execpolicy.md\", \"size_after\": 192, \"size_before\": 138}]}, \"fsck\": {\"ok\": true, \"ran\": true, \"run\": {\"argv\": [\"git\", \"fsck\", \"--strict\"], \"cwd\": \"/tmp/agentfs-git-workload-s58r0ykm/agentfs-base/work\", \"duration_seconds\": 0.20207263898919336, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}, \"head_commit\": \"7d47056ea42636271ac020b86347fbbef49490aa\", \"initial_status\": \"\", \"phase_runs\": {\"checkout\": {\"argv\": [\"git\", \"checkout\", \"-B\", \"agentfs-benchmark\"], \"cwd\": \"/tmp/agentfs-git-workload-s58r0ykm/agentfs-base/work\", \"duration_seconds\": 0.06031042900576722, \"returncode\": 0, \"stderr_bytes\": 45, \"stderr_tail\": \"Switched to a new branch 'agentfs-benchmark'\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"clone\": {\"argv\": [\"git\", \"clone\", \"--local\", \"--no-hardlinks\", \"/tmp/agentfs-git-workload-s58r0ykm/agentfs-base/mirror.git\", \"/tmp/agentfs-git-workload-s58r0ykm/agentfs-base/work\"], \"cwd\": \"/tmp/agentfs-git-workload-s58r0ykm/agentfs-base\", \"duration_seconds\": 3.425520018005045, \"returncode\": 0, \"stderr_bytes\": 2604, \"stderr_tail\": \"Cloning into '/tmp/agentfs-git-workload-s58r0ykm/agentfs-base/work'...\\nwarning: source repository is shallow, ignoring --local\\nwarning: --local is ignored\\nUpdating files: 30% (1419/4644)\\nUpdating files: 31% (1440/4644)\\nUpdating files: 32% (1487/4644)\\nUpdating files: 33% (1533/4644)\\nUpdating files: 34% (1579/4644)\\nUpdating files: 35% (1626/4644)\\nUpdating files: 36% (1672/4644)\\nUpdating files: 37% (1719/4644)\\nUpdating files: 38% (1765/4644)\\nUpdating files: 39% (1812/4644)\\nUpdating files: 40% (1858/4644)\\nUpdating files: 41% (1905/4644)\\nUpdating files: 42% (1951/4644)\\nUpdating files: 43% (1997/4644)\\nUpdating files: 44% (2044/4644)\\nUpdating files: 45% (2090/4644)\\nUpdating files: 46% (2137/4644)\\nUpdating files: 47% (2183/4644)\\nUpdating files: 48% (2230/4644)\\nUpdating files: 49% (2276/4644)\\nUpdating files: 50% (2322/4644)\\nUpdating files: 51% (2369/4644)\\nUpdating files: 52% (2415/4644)\\nUpdating files: 53% (2462/4644)\\nUpdating files: 54% (2508/4644)\\nUpdating files: 55% (2555/4644)\\nUpdating files: 56% (2601/4644)\\nUpdating files: 57% (2648/4644)\\nUpdating files: 58% (2694/4644)\\nUpdating files: 59% (2740/4644)\\nUpdating files: 60% (2787/4644)\\nUpdating files: 60% (2822/4644)\\nUpdating files: 61% (2833/4644)\\nUpdating files: 62% (2880/4644)\\nUpdating files: 63% (2926/4644)\\nUpdating files: 64% (2973/4644)\\nUpdating files: 65% (3019/4644)\\nUpdating files: 66% (3066/4644)\\nUpdating files: 67% (3112/4644)\\nUpdating files: 68% (3158/4644)\\nUpdating files: 69% (3205/4644)\\nUpdating files: 70% (3251/4644)\\nUpdating files: 71% (3298/4644)\\nUpdating files: 72% (3344/4644)\\nUpdating files: 73% (3391/4644)\\nUpdating files: 74% (3437/4644)\\nUpdating files: 75% (3483/4644)\\nUpdating files: 76% (3530/4644)\\nUpdating files: 77% (3576/4644)\\nUpdating files: 78% (3623/4644)\\nUpdating files: 79% (3669/4644)\\nUpdating files: 80% (3716/4644)\\nUpdating files: 81% (3762/4644)\\nUpdating files: 82% (3809/4644)\\nUpdating files: 83% (3855/4644)\\nUpdating files: 84% (3901/4644)\\nUpdating files: 85% (3948/4644)\\nUpdating files: 86% (3994/4644)\\nUpdating files: 87% (4041/4644)\\nUpdating files: 88% (4087/4644)\\nUpdating files: 89% (4134/4644)\\nUpdating files: 90% (4180/4644)\\nUpdating files: 91% (4227/4644)\\nUpdating files: 92% (4273/4644)\\nUpdating files: 93% (4319/4644)\\nUpdating files: 94% (4366/4644)\\nUpdating files: 95% (4412/4644)\\nUpdating files: 96% (4459/4644)\\nUpdating files: 96% (4463/4644)\\nUpdating files: 97% (4505/4644)\\nUpdating files: 98% (4552/4644)\\nUpdating files: 99% (4598/4644)\\nUpdating files: 100% (4644/4644)\\nUpdating files: 100% (4644/4644), done.\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"status\": {\"branch\": {\"argv\": [\"git\", \"status\", \"--short\", \"--branch\"], \"cwd\": \"/tmp/agentfs-git-workload-s58r0ykm/agentfs-base/work\", \"duration_seconds\": 0.04579617400304414, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 21, \"stdout_tail\": \"## agentfs-benchmark\\n\"}, \"short\": {\"argv\": [\"git\", \"status\", \"--short\"], \"cwd\": \"/tmp/agentfs-git-workload-s58r0ykm/agentfs-base/work\", \"duration_seconds\": 0.1276607129984768, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}}, \"phase_seconds\": {\"checkout\": 0.06298040700494312, \"clone\": 3.4255687719996786, \"diff\": 0.07817813300061971, \"edit\": 0.018203587998868898, \"fsck\": 0.20209814199188258, \"read_search\": 0.010043239002698101, \"status\": 0.1734860779979499}, \"profile_checkpoints\": [\"clone\", \"checkout\", \"status\", \"read_search\", \"edit\", \"diff\", \"fsck\"], \"read_search\": {\"bytes_read\": 117190, \"digest\": \"6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53\", \"files_scanned\": 64, \"files_total\": 4644, \"ls_files_run\": {\"argv\": [\"git\", \"ls-files\", \"-z\"], \"cwd\": \"/tmp/agentfs-git-workload-s58r0ykm/agentfs-base/work\", \"duration_seconds\": 0.005569957007537596, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 263077, \"stdout_tail\": \"i_codex/api.py\\u0000sdk/python/src/openai_codex/async_client.py\\u0000sdk/python/src/openai_codex/client.py\\u0000sdk/python/src/openai_codex/errors.py\\u0000sdk/python/src/openai_codex/generated/__init__.py\\u0000sdk/python/src/openai_codex/generated/notification_registry.py\\u0000sdk/python/src/openai_codex/generated/v2_all.py\\u0000sdk/python/src/openai_codex/models.py\\u0000sdk/python/src/openai_codex/py.typed\\u0000sdk/python/src/openai_codex/retry.py\\u0000sdk/python/src/openai_codex/types.py\\u0000sdk/python/tests/app_server_harness.py\\u0000sdk/python/tests/app_server_helpers.py\\u0000sdk/python/tests/conftest.py\\u0000sdk/python/tests/test_app_server_approvals.py\\u0000sdk/python/tests/test_app_server_inputs.py\\u0000sdk/python/tests/test_app_server_lifecycle.py\\u0000sdk/python/tests/test_app_server_login.py\\u0000sdk/python/tests/test_app_server_run.py\\u0000sdk/python/tests/test_app_server_streaming.py\\u0000sdk/python/tests/test_app_server_turn_controls.py\\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\\u0000sdk/python/tests/test_async_client_behavior.py\\u0000sdk/python/tests/test_client_rpc_methods.py\\u0000sdk/python/tests/test_contract_generation.py\\u0000sdk/python/tests/test_public_api_runtime_behavior.py\\u0000sdk/python/tests/test_public_api_signatures.py\\u0000sdk/python/tests/test_real_app_server_integration.py\\u0000sdk/python/uv.lock\\u0000sdk/typescript/.prettierignore\\u0000sdk/typescript/.prettierrc\\u0000sdk/typescript/README.md\\u0000sdk/typescript/eslint.config.js\\u0000sdk/typescript/jest.config.cjs\\u0000sdk/typescript/package.json\\u0000sdk/typescript/samples/basic_streaming.ts\\u0000sdk/typescript/samples/helpers.ts\\u0000sdk/typescript/samples/structured_output.ts\\u0000sdk/typescript/samples/structured_output_zod.ts\\u0000sdk/typescript/src/codex.ts\\u0000sdk/typescript/src/codexOptions.ts\\u0000sdk/typescript/src/events.ts\\u0000sdk/typescript/src/exec.ts\\u0000sdk/typescript/src/index.ts\\u0000sdk/typescript/src/items.ts\\u0000sdk/typescript/src/outputSchemaFile.ts\\u0000sdk/typescript/src/thread.ts\\u0000sdk/typescript/src/threadOptions.ts\\u0000sdk/typescript/src/turnOptions.ts\\u0000sdk/typescript/tests/abort.test.ts\\u0000sdk/typescript/tests/codexExecSpy.ts\\u0000sdk/typescript/tests/exec.test.ts\\u0000sdk/typescript/tests/responsesProxy.ts\\u0000sdk/typescript/tests/run.test.ts\\u0000sdk/typescript/tests/runStreamed.test.ts\\u0000sdk/typescript/tests/setupCodexHome.ts\\u0000sdk/typescript/tests/testCodex.ts\\u0000sdk/typescript/tsconfig.json\\u0000sdk/typescript/tsup.config.ts\\u0000third_party/v8/BUILD.bazel\\u0000third_party/v8/README.md\\u0000third_party/v8/libcxx.BUILD.bazel\\u0000third_party/v8/libcxx_config/BUILD.bazel\\u0000third_party/v8/libcxx_config/__assertion_handler\\u0000third_party/v8/libcxx_config/__config_site\\u0000third_party/v8/libcxxabi.BUILD.bazel\\u0000third_party/v8/llvm_libc.BUILD.bazel\\u0000third_party/v8/rusty_v8_147_4_0.sha256\\u0000third_party/v8/v8_crate.BUILD.bazel\\u0000third_party/wezterm/LICENSE\\u0000tools/argument-comment-lint/.cargo/config.toml\\u0000tools/argument-comment-lint/.gitignore\\u0000tools/argument-comment-lint/BUILD.bazel\\u0000tools/argument-comment-lint/Cargo.lock\\u0000tools/argument-comment-lint/Cargo.toml\\u0000tools/argument-comment-lint/README.md\\u0000tools/argument-comment-lint/argument-comment-lint\\u0000tools/argument-comment-lint/driver.rs\\u0000tools/argument-comment-lint/lint_aspect.bzl\\u0000tools/argument-comment-lint/list-bazel-targets.sh\\u0000tools/argument-comment-lint/run-prebuilt-linter.py\\u0000tools/argument-comment-lint/run.py\\u0000tools/argument-comment-lint/rust-toolchain\\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\\u0000tools/argument-comment-lint/src/comment_parser.rs\\u0000tools/argument-comment-lint/src/lib.rs\\u0000tools/argument-comment-lint/test_wrapper_common.py\\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\\u0000tools/argument-comment-lint/ui/comment_matches.rs\\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\\u0000tools/argument-comment-lint/wrapper_common.py\\u0000workspace_root_test_launcher.bat.tpl\\u0000workspace_root_test_launcher.sh.tpl\\u0000\"}, \"matches\": 0, \"selected_files\": [\".bazelignore\", \".bazelrc\", \".bazelversion\", \".codespellignore\", \".codespellrc\", \".codex/environments/environment.toml\", \".codex/skills/babysit-pr/SKILL.md\", \".codex/skills/babysit-pr/agents/openai.yaml\", \".codex/skills/babysit-pr/references/github-api-notes.md\", \".codex/skills/babysit-pr/references/heuristics.md\", \".codex/skills/babysit-pr/scripts/gh_pr_watch.py\", \".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py\", \".codex/skills/code-review-breaking-changes/SKILL.md\", \".codex/skills/code-review-change-size/SKILL.md\", \".codex/skills/code-review-context/SKILL.md\", \".codex/skills/code-review-testing/SKILL.md\", \".codex/skills/code-review/SKILL.md\", \".codex/skills/codex-bug/SKILL.md\", \".codex/skills/codex-issue-digest/SKILL.md\", \".codex/skills/codex-issue-digest/agents/openai.yaml\", \".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py\", \".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py\", \".codex/skills/codex-pr-body/SKILL.md\", \".codex/skills/remote-tests/SKILL.md\", \".codex/skills/test-tui/SKILL.md\", \".codex/skills/update-v8-version/SKILL.md\", \".codex/skills/update-v8-version/agents/openai.yaml\", \".devcontainer/Dockerfile\", \".devcontainer/Dockerfile.secure\", \".devcontainer/README.md\", \".devcontainer/codex-install/package.json\", \".devcontainer/codex-install/pnpm-lock.yaml\", \".devcontainer/codex-install/pnpm-workspace.yaml\", \".devcontainer/devcontainer.json\", \".devcontainer/devcontainer.secure.json\", \".devcontainer/init-firewall.sh\", \".devcontainer/post-start.sh\", \".devcontainer/post_install.py\", \".gitattributes\", \".github/CODEOWNERS\", \".github/ISSUE_TEMPLATE/1-codex-app.yml\", \".github/ISSUE_TEMPLATE/2-extension.yml\", \".github/ISSUE_TEMPLATE/3-cli.yml\", \".github/ISSUE_TEMPLATE/4-bug-report.yml\", \".github/ISSUE_TEMPLATE/5-feature-request.yml\", \".github/ISSUE_TEMPLATE/6-docs-issue.yml\", \".github/actions/linux-code-sign/action.yml\", \".github/actions/macos-code-sign/action.yml\", \".github/actions/macos-code-sign/codex.entitlements.plist\", \".github/actions/macos-code-sign/notary_helpers.sh\", \".github/actions/prepare-bazel-ci/action.yml\", \".github/actions/run-argument-comment-lint/action.yml\", \".github/actions/setup-bazel-ci/action.yml\", \".github/actions/setup-msvc-env/action.yml\", \".github/actions/setup-msvc-env/setup-msvc-env.ps1\", \".github/actions/setup-rusty-v8/action.yml\", \".github/actions/windows-code-sign/action.yml\", \".github/blob-size-allowlist.txt\", \".github/codex-cli-splash.png\", \".github/codex/home/config.toml\", \".github/codex/labels/codex-attempt.md\", \".github/codex/labels/codex-review.md\", \".github/codex/labels/codex-rust-review.md\", \".github/codex/labels/codex-triage.md\"], \"token\": \"AGENTFS_TOKEN\"}, \"total_seconds\": 4.671860290996847}\n",
+ "timed_out": false
+ },
+ "workload": {
+ "branch_status": "## agentfs-benchmark\n",
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.07817813300061971,
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc",
+ "runs": {
+ "name_only": {
+ "argv": [
+ "git",
+ "diff",
+ "--name-only",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-s58r0ykm/agentfs-base/work",
+ "duration_seconds": 0.025902216002577916,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 144,
+ "stdout_tail": "docs/CLA.md\ndocs/agents_md.md\ndocs/authentication.md\ndocs/config.md\ndocs/contributing.md\ndocs/example-config.md\ndocs/exec.md\ndocs/execpolicy.md\n"
+ },
+ "patch": {
+ "argv": [
+ "git",
+ "diff",
+ "--",
+ "."
+ ],
+ "cwd": "/tmp/agentfs-git-workload-s58r0ykm/agentfs-base/work",
+ "duration_seconds": 0.02555491500243079,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 3282,
+ "stdout_tail": "diff --git a/docs/CLA.md b/docs/CLA.md\nindex 804f202..3495ac9 100644\n--- a/docs/CLA.md\n+++ b/docs/CLA.md\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\n This Agreement is governed by the laws of the **State of California**, USA,\n excluding its conflict\u2011of\u2011laws rules. If any provision is held unenforceable,\n the remaining provisions remain in force.\n+\n+AgentFS Git benchmark edit 00 for docs/CLA.md\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\nindex 3df0fac..b8b063d 100644\n--- a/docs/agents_md.md\n+++ b/docs/agents_md.md\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\n ## Hierarchical agents message\n \n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\n+\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\ndiff --git a/docs/authentication.md b/docs/authentication.md\nindex c307349..b3bc9dc 100644\n--- a/docs/authentication.md\n+++ b/docs/authentication.md\n@@ -1,3 +1,5 @@\n # Authentication\n \n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\n+\n+AgentFS Git benchmark edit 02 for docs/authentication.md\ndiff --git a/docs/config.md b/docs/config.md\nindex d35b0a8..030e278 100644\n--- a/docs/config.md\n+++ b/docs/config.md\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\n still allowing managed hooks from requirements and managed config layers. This\n setting is only supported in `requirements.toml`; putting it in `config.toml`\n does not enable managed-hooks-only mode.\n+\n+AgentFS Git benchmark edit 03 for docs/config.md\ndiff --git a/docs/contributing.md b/docs/contributing.md\nindex aeae1f1..b5a22ac 100644\n--- a/docs/contributing.md\n+++ b/docs/contributing.md\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\n ### Security & responsible AI\n \n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\n+\n+AgentFS Git benchmark edit 04 for docs/contributing.md\ndiff --git a/docs/example-config.md b/docs/example-config.md\nindex 84b1143..b09f835 100644\n--- a/docs/example-config.md\n+++ b/docs/example-config.md\n@@ -1,3 +1,5 @@\n # Sample configuration\n \n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\n+\n+AgentFS Git benchmark edit 05 for docs/example-config.md\ndiff --git a/docs/exec.md b/docs/exec.md\nindex 57e4323..a81da98 100644\n--- a/docs/exec.md\n+++ b/docs/exec.md\n@@ -1,3 +1,5 @@\n # Non-interactive mode\n \n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\n+\n+AgentFS Git benchmark edit 06 for docs/exec.md\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\nindex cafebb3..3b48afe 100644\n--- a/docs/execpolicy.md\n+++ b/docs/execpolicy.md\n@@ -1,3 +1,5 @@\n # Execution policy\n \n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\n+\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\n"
+ },
+ "stat": {
+ "argv": [
+ "git",
+ "diff",
+ "--stat",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-s58r0ykm/agentfs-base/work",
+ "duration_seconds": 0.02663081900391262,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 283,
+ "stdout_tail": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ }
+ },
+ "stat_stdout": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.018203587998868898,
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true,
+ "run": {
+ "argv": [
+ "git",
+ "fsck",
+ "--strict"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-s58r0ykm/agentfs-base/work",
+ "duration_seconds": 0.20207263898919336,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "phase_runs": {
+ "checkout": {
+ "argv": [
+ "git",
+ "checkout",
+ "-B",
+ "agentfs-benchmark"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-s58r0ykm/agentfs-base/work",
+ "duration_seconds": 0.06031042900576722,
+ "returncode": 0,
+ "stderr_bytes": 45,
+ "stderr_tail": "Switched to a new branch 'agentfs-benchmark'\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "clone": {
+ "argv": [
+ "git",
+ "clone",
+ "--local",
+ "--no-hardlinks",
+ "/tmp/agentfs-git-workload-s58r0ykm/agentfs-base/mirror.git",
+ "/tmp/agentfs-git-workload-s58r0ykm/agentfs-base/work"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-s58r0ykm/agentfs-base",
+ "duration_seconds": 3.425520018005045,
+ "returncode": 0,
+ "stderr_bytes": 2604,
+ "stderr_tail": "Cloning into '/tmp/agentfs-git-workload-s58r0ykm/agentfs-base/work'...\nwarning: source repository is shallow, ignoring --local\nwarning: --local is ignored\nUpdating files: 30% (1419/4644)\nUpdating files: 31% (1440/4644)\nUpdating files: 32% (1487/4644)\nUpdating files: 33% (1533/4644)\nUpdating files: 34% (1579/4644)\nUpdating files: 35% (1626/4644)\nUpdating files: 36% (1672/4644)\nUpdating files: 37% (1719/4644)\nUpdating files: 38% (1765/4644)\nUpdating files: 39% (1812/4644)\nUpdating files: 40% (1858/4644)\nUpdating files: 41% (1905/4644)\nUpdating files: 42% (1951/4644)\nUpdating files: 43% (1997/4644)\nUpdating files: 44% (2044/4644)\nUpdating files: 45% (2090/4644)\nUpdating files: 46% (2137/4644)\nUpdating files: 47% (2183/4644)\nUpdating files: 48% (2230/4644)\nUpdating files: 49% (2276/4644)\nUpdating files: 50% (2322/4644)\nUpdating files: 51% (2369/4644)\nUpdating files: 52% (2415/4644)\nUpdating files: 53% (2462/4644)\nUpdating files: 54% (2508/4644)\nUpdating files: 55% (2555/4644)\nUpdating files: 56% (2601/4644)\nUpdating files: 57% (2648/4644)\nUpdating files: 58% (2694/4644)\nUpdating files: 59% (2740/4644)\nUpdating files: 60% (2787/4644)\nUpdating files: 60% (2822/4644)\nUpdating files: 61% (2833/4644)\nUpdating files: 62% (2880/4644)\nUpdating files: 63% (2926/4644)\nUpdating files: 64% (2973/4644)\nUpdating files: 65% (3019/4644)\nUpdating files: 66% (3066/4644)\nUpdating files: 67% (3112/4644)\nUpdating files: 68% (3158/4644)\nUpdating files: 69% (3205/4644)\nUpdating files: 70% (3251/4644)\nUpdating files: 71% (3298/4644)\nUpdating files: 72% (3344/4644)\nUpdating files: 73% (3391/4644)\nUpdating files: 74% (3437/4644)\nUpdating files: 75% (3483/4644)\nUpdating files: 76% (3530/4644)\nUpdating files: 77% (3576/4644)\nUpdating files: 78% (3623/4644)\nUpdating files: 79% (3669/4644)\nUpdating files: 80% (3716/4644)\nUpdating files: 81% (3762/4644)\nUpdating files: 82% (3809/4644)\nUpdating files: 83% (3855/4644)\nUpdating files: 84% (3901/4644)\nUpdating files: 85% (3948/4644)\nUpdating files: 86% (3994/4644)\nUpdating files: 87% (4041/4644)\nUpdating files: 88% (4087/4644)\nUpdating files: 89% (4134/4644)\nUpdating files: 90% (4180/4644)\nUpdating files: 91% (4227/4644)\nUpdating files: 92% (4273/4644)\nUpdating files: 93% (4319/4644)\nUpdating files: 94% (4366/4644)\nUpdating files: 95% (4412/4644)\nUpdating files: 96% (4459/4644)\nUpdating files: 96% (4463/4644)\nUpdating files: 97% (4505/4644)\nUpdating files: 98% (4552/4644)\nUpdating files: 99% (4598/4644)\nUpdating files: 100% (4644/4644)\nUpdating files: 100% (4644/4644), done.\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "status": {
+ "branch": {
+ "argv": [
+ "git",
+ "status",
+ "--short",
+ "--branch"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-s58r0ykm/agentfs-base/work",
+ "duration_seconds": 0.04579617400304414,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 21,
+ "stdout_tail": "## agentfs-benchmark\n"
+ },
+ "short": {
+ "argv": [
+ "git",
+ "status",
+ "--short"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-s58r0ykm/agentfs-base/work",
+ "duration_seconds": 0.1276607129984768,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ }
+ },
+ "phase_seconds": {
+ "checkout": 0.06298040700494312,
+ "clone": 3.4255687719996786,
+ "diff": 0.07817813300061971,
+ "edit": 0.018203587998868898,
+ "fsck": 0.20209814199188258,
+ "read_search": 0.010043239002698101,
+ "status": 0.1734860779979499
+ },
+ "profile_checkpoints": [
+ "clone",
+ "checkout",
+ "status",
+ "read_search",
+ "edit",
+ "diff",
+ "fsck"
+ ],
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "ls_files_run": {
+ "argv": [
+ "git",
+ "ls-files",
+ "-z"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-s58r0ykm/agentfs-base/work",
+ "duration_seconds": 0.005569957007537596,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 263077,
+ "stdout_tail": "i_codex/api.py\u0000sdk/python/src/openai_codex/async_client.py\u0000sdk/python/src/openai_codex/client.py\u0000sdk/python/src/openai_codex/errors.py\u0000sdk/python/src/openai_codex/generated/__init__.py\u0000sdk/python/src/openai_codex/generated/notification_registry.py\u0000sdk/python/src/openai_codex/generated/v2_all.py\u0000sdk/python/src/openai_codex/models.py\u0000sdk/python/src/openai_codex/py.typed\u0000sdk/python/src/openai_codex/retry.py\u0000sdk/python/src/openai_codex/types.py\u0000sdk/python/tests/app_server_harness.py\u0000sdk/python/tests/app_server_helpers.py\u0000sdk/python/tests/conftest.py\u0000sdk/python/tests/test_app_server_approvals.py\u0000sdk/python/tests/test_app_server_inputs.py\u0000sdk/python/tests/test_app_server_lifecycle.py\u0000sdk/python/tests/test_app_server_login.py\u0000sdk/python/tests/test_app_server_run.py\u0000sdk/python/tests/test_app_server_streaming.py\u0000sdk/python/tests/test_app_server_turn_controls.py\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\u0000sdk/python/tests/test_async_client_behavior.py\u0000sdk/python/tests/test_client_rpc_methods.py\u0000sdk/python/tests/test_contract_generation.py\u0000sdk/python/tests/test_public_api_runtime_behavior.py\u0000sdk/python/tests/test_public_api_signatures.py\u0000sdk/python/tests/test_real_app_server_integration.py\u0000sdk/python/uv.lock\u0000sdk/typescript/.prettierignore\u0000sdk/typescript/.prettierrc\u0000sdk/typescript/README.md\u0000sdk/typescript/eslint.config.js\u0000sdk/typescript/jest.config.cjs\u0000sdk/typescript/package.json\u0000sdk/typescript/samples/basic_streaming.ts\u0000sdk/typescript/samples/helpers.ts\u0000sdk/typescript/samples/structured_output.ts\u0000sdk/typescript/samples/structured_output_zod.ts\u0000sdk/typescript/src/codex.ts\u0000sdk/typescript/src/codexOptions.ts\u0000sdk/typescript/src/events.ts\u0000sdk/typescript/src/exec.ts\u0000sdk/typescript/src/index.ts\u0000sdk/typescript/src/items.ts\u0000sdk/typescript/src/outputSchemaFile.ts\u0000sdk/typescript/src/thread.ts\u0000sdk/typescript/src/threadOptions.ts\u0000sdk/typescript/src/turnOptions.ts\u0000sdk/typescript/tests/abort.test.ts\u0000sdk/typescript/tests/codexExecSpy.ts\u0000sdk/typescript/tests/exec.test.ts\u0000sdk/typescript/tests/responsesProxy.ts\u0000sdk/typescript/tests/run.test.ts\u0000sdk/typescript/tests/runStreamed.test.ts\u0000sdk/typescript/tests/setupCodexHome.ts\u0000sdk/typescript/tests/testCodex.ts\u0000sdk/typescript/tsconfig.json\u0000sdk/typescript/tsup.config.ts\u0000third_party/v8/BUILD.bazel\u0000third_party/v8/README.md\u0000third_party/v8/libcxx.BUILD.bazel\u0000third_party/v8/libcxx_config/BUILD.bazel\u0000third_party/v8/libcxx_config/__assertion_handler\u0000third_party/v8/libcxx_config/__config_site\u0000third_party/v8/libcxxabi.BUILD.bazel\u0000third_party/v8/llvm_libc.BUILD.bazel\u0000third_party/v8/rusty_v8_147_4_0.sha256\u0000third_party/v8/v8_crate.BUILD.bazel\u0000third_party/wezterm/LICENSE\u0000tools/argument-comment-lint/.cargo/config.toml\u0000tools/argument-comment-lint/.gitignore\u0000tools/argument-comment-lint/BUILD.bazel\u0000tools/argument-comment-lint/Cargo.lock\u0000tools/argument-comment-lint/Cargo.toml\u0000tools/argument-comment-lint/README.md\u0000tools/argument-comment-lint/argument-comment-lint\u0000tools/argument-comment-lint/driver.rs\u0000tools/argument-comment-lint/lint_aspect.bzl\u0000tools/argument-comment-lint/list-bazel-targets.sh\u0000tools/argument-comment-lint/run-prebuilt-linter.py\u0000tools/argument-comment-lint/run.py\u0000tools/argument-comment-lint/rust-toolchain\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\u0000tools/argument-comment-lint/src/comment_parser.rs\u0000tools/argument-comment-lint/src/lib.rs\u0000tools/argument-comment-lint/test_wrapper_common.py\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\u0000tools/argument-comment-lint/ui/comment_matches.rs\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\u0000tools/argument-comment-lint/wrapper_common.py\u0000workspace_root_test_launcher.bat.tpl\u0000workspace_root_test_launcher.sh.tpl\u0000"
+ },
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ],
+ "token": "AGENTFS_TOKEN"
+ },
+ "total_seconds": 4.671860290996847
+ }
+ },
+ "base_tree": {
+ "after": {
+ "bytes": 9207621,
+ "directories": 10,
+ "files": 23,
+ "sha256": "c254f4bb1095d9df465c5cf4c9a599abab780d2333f6e5cdea71a34945200079",
+ "symlinks": 0
+ },
+ "before": {
+ "bytes": 9207621,
+ "directories": 10,
+ "files": 23,
+ "sha256": "c254f4bb1095d9df465c5cf4c9a599abab780d2333f6e5cdea71a34945200079",
+ "symlinks": 0
+ },
+ "unchanged": true
+ },
+ "benchmark": "phase7-git-workload",
+ "command": {
+ "agentfs_prefix": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "run",
+ "--session",
+ "git-workload-f4f38b250e7f4cfc937dd9957456e3f9",
+ "--no-default-allows",
+ "--"
+ ],
+ "argv": [
+ "/home/ain3sh/factory/vfs/scripts/validation/git-workload-benchmark.py",
+ "--output",
+ "/tmp/vfs-val/misc-a-bench-rebaseline/run3.json.iterations/warmup-00.json",
+ "--source",
+ ".agents/benchmarks/fixtures/codex",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8"
+ ],
+ "workload_argv": [
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ]
+ },
+ "correctness": {
+ "agentfs_backup_verify": true,
+ "agentfs_base_unchanged": true,
+ "agentfs_db_inspectable": true,
+ "agentfs_integrity_require_portable": true,
+ "agentfs_no_nonempty_sidecars": true,
+ "agentfs_portable": true,
+ "agentfs_returncode_zero": true,
+ "equivalence": {
+ "agentfs": {
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ]
+ }
+ },
+ "checked": true,
+ "equivalent": true,
+ "native": {
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ]
+ }
+ }
+ },
+ "native_returncode_zero": true,
+ "passed": true,
+ "performance_passed": false
+ },
+ "database": {
+ "after": {
+ "artifacts": [
+ {
+ "bytes": 57151488,
+ "path": "/tmp/agentfs-git-workload-s58r0ykm/home/.agentfs/run/git-workload-f4f38b250e7f4cfc937dd9957456e3f9/delta.db"
+ }
+ ],
+ "path": "/tmp/agentfs-git-workload-s58r0ykm/home/.agentfs/run/git-workload-f4f38b250e7f4cfc937dd9957456e3f9/delta.db",
+ "total_bytes": 57151488
+ },
+ "backup": {
+ "artifacts": {
+ "artifacts": [
+ {
+ "bytes": 57151488,
+ "path": "/tmp/agentfs-git-workload-s58r0ykm/git-workload-backup.db"
+ }
+ ],
+ "path": "/tmp/agentfs-git-workload-s58r0ykm/git-workload-backup.db",
+ "total_bytes": 57151488
+ },
+ "inspect": {
+ "fs_chunk_override_rows": 0,
+ "fs_config": {
+ "chunk_size": "65536",
+ "inline_threshold": "16384",
+ "schema_version": "0.5"
+ },
+ "fs_data_bytes": 41204221,
+ "fs_data_rows": 960,
+ "fs_inline_bytes": 11434794,
+ "fs_inode_rows": 5385,
+ "fs_origin_rows": 0,
+ "fs_partial_origin_rows": 0,
+ "fs_whiteout_rows": 0,
+ "inline_inode_rows": 4060,
+ "inspectable": true,
+ "portability_status": {
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true,
+ "stored_bytes": 52639015
+ }
+ },
+ "path": "/tmp/agentfs-git-workload-s58r0ykm/git-workload-backup.db",
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "backup",
+ "/tmp/agentfs-git-workload-s58r0ykm/home/.agentfs/run/git-workload-f4f38b250e7f4cfc937dd9957456e3f9/delta.db",
+ "/tmp/agentfs-git-workload-s58r0ykm/git-workload-backup.db",
+ "--verify"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-s58r0ykm",
+ "duration_seconds": 2.736975945997983,
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 0,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 0,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 0,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 0,
+ "fuse_op_getattr_nanos": 0,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 0,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_workers_configured": 0,
+ "fuse_writeback_cache_enabled": 0
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 0,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 0,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 0,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 0,
+ "fuse_op_getattr_nanos": 0,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 0,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0
+ }
+ },
+ "source": "cli"
+ }
+ ],
+ "returncode": 0,
+ "stderr_bytes": 7355,
+ "stderr_tail": "{\"counters\":{\"agentfs_batcher_coalesced_ranges\":0,\"agentfs_batcher_commit_latency_ns_total\":0,\"agentfs_batcher_commit_txns\":0,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":0,\"agentfs_batcher_drains_timer\":0,\"agentfs_batcher_enqueues\":0,\"agentfs_batcher_pending_max_bytes\":0,\"agentfs_batcher_txn_inodes_max\":0,\"agentfs_batcher_txn_inodes_total\":0,\"attr_cache_hits\":0,\"attr_cache_misses\":0,\"base_fast_inode_invalidations\":0,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":0,\"chunk_read_queries\":0,\"chunk_write_chunks\":0,\"connection_create\":0,\"connection_reuse\":0,\"connection_wait_count\":0,\"connection_wait_nanos\":0,\"dentry_cache_hits\":0,\"dentry_cache_misses\":0,\"fuse_adapter_attr_hits\":0,\"fuse_adapter_attr_misses\":0,\"fuse_adapter_entry_hits\":0,\"fuse_adapter_entry_misses\":0,\"fuse_adapter_inval_entry_notifications\":0,\"fuse_adapter_inval_inode_notifications\":0,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":0,\"fuse_adapter_negative_misses\":0,\"fuse_callback_count\":0,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":0,\"fuse_dispatch_parallel_tasks\":0,\"fuse_dispatch_wait_count\":0,\"fuse_dispatch_wait_nanos\":0,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":0,\"fuse_flush_count\":0,\"fuse_flush_ranges\":0,\"fuse_getattr_count\":0,\"fuse_ino_file_resolutions\":0,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":0,\"fuse_lookup_count\":0,\"fuse_noflush_enosys_replies\":0,\"fuse_noopen_enosys_replies\":0,\"fuse_op_create_count\":0,\"fuse_op_create_nanos\":0,\"fuse_op_flush_count\":0,\"fuse_op_flush_nanos\":0,\"fuse_op_forget_count\":0,\"fuse_op_forget_nanos\":0,\"fuse_op_getattr_count\":0,\"fuse_op_getattr_nanos\":0,\"fuse_op_lookup_count\":0,\"fuse_op_lookup_nanos\":0,\"fuse_op_open_count\":0,\"fuse_op_open_nanos\":0,\"fuse_op_other_count\":0,\"fuse_op_other_nanos\":0,\"fuse_op_read_count\":0,\"fuse_op_read_nanos\":0,\"fuse_op_readdirplus_count\":0,\"fuse_op_readdirplus_nanos\":0,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":0,\"fuse_op_setattr_nanos\":0,\"fuse_op_write_count\":0,\"fuse_op_write_nanos\":0,\"fuse_open_count\":0,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":0,\"fuse_read_lane_max_concurrent\":0,\"fuse_read_lane_wait_count\":0,\"fuse_read_lane_wait_nanos\":0,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":0,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":0,\"fuse_readdirplus_do_requested\":0,\"fuse_readdirplus_mode\":0,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":0,\"fuse_ttl_entry_ms\":0,\"fuse_ttl_neg_ms\":0,\"fuse_uring_requests\":0,\"fuse_worker_queue_depth_peak\":0,\"fuse_workers_configured\":0,\"fuse_write_bytes\":0,\"fuse_write_count\":0,\"fuse_write_lane_wait_count\":0,\"fuse_write_lane_wait_nanos\":0,\"fuse_writeback_cache_enabled\":0,\"getattr_count\":0,\"lookup_base_count\":0,\"lookup_count\":0,\"lookup_delta_count\":0,\"lookup_whiteout_count\":0,\"negative_cache_hits\":0,\"negative_cache_invalidations\":0,\"negative_cache_misses\":0,\"negative_lookup_count\":0,\"path_cache_hits\":0,\"path_cache_misses\":0,\"path_component_count\":0,\"path_resolution_count\":0,\"readdir_count\":0,\"readdir_plus_count\":0,\"wal_checkpoint_count\":0,\"wal_checkpoint_nanos\":0},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"sections\":{\"base\":{\"base_fast_inode_invalidations\":0,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":0,\"fuse_readdirplus_mode\":0,\"fuse_ttl_attr_ms\":0,\"fuse_ttl_entry_ms\":0,\"fuse_ttl_neg_ms\":0,\"fuse_workers_configured\":0,\"fuse_writeback_cache_enabled\":0},\"core\":{\"agentfs_batcher_coalesced_ranges\":0,\"agentfs_batcher_commit_latency_ns_total\":0,\"agentfs_batcher_commit_txns\":0,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":0,\"agentfs_batcher_drains_timer\":0,\"agentfs_batcher_enqueues\":0,\"agentfs_batcher_pending_max_bytes\":0,\"agentfs_batcher_txn_inodes_max\":0,\"agentfs_batcher_txn_inodes_total\":0,\"attr_cache_hits\":0,\"attr_cache_misses\":0,\"chunk_read_chunks\":0,\"chunk_read_queries\":0,\"chunk_write_chunks\":0,\"connection_create\":0,\"connection_reuse\":0,\"connection_wait_count\":0,\"connection_wait_nanos\":0,\"dentry_cache_hits\":0,\"dentry_cache_misses\":0,\"getattr_count\":0,\"lookup_base_count\":0,\"lookup_count\":0,\"lookup_delta_count\":0,\"lookup_whiteout_count\":0,\"negative_cache_hits\":0,\"negative_cache_invalidations\":0,\"negative_cache_misses\":0,\"negative_lookup_count\":0,\"path_cache_hits\":0,\"path_cache_misses\":0,\"path_component_count\":0,\"path_resolution_count\":0,\"readdir_count\":0,\"readdir_plus_count\":0,\"wal_checkpoint_count\":0,\"wal_checkpoint_nanos\":0},\"fuse\":{\"fuse_adapter_attr_hits\":0,\"fuse_adapter_attr_misses\":0,\"fuse_adapter_entry_hits\":0,\"fuse_adapter_entry_misses\":0,\"fuse_adapter_inval_entry_notifications\":0,\"fuse_adapter_inval_inode_notifications\":0,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":0,\"fuse_adapter_negative_misses\":0,\"fuse_callback_count\":0,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":0,\"fuse_dispatch_parallel_tasks\":0,\"fuse_dispatch_wait_count\":0,\"fuse_dispatch_wait_nanos\":0,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":0,\"fuse_flush_count\":0,\"fuse_flush_ranges\":0,\"fuse_getattr_count\":0,\"fuse_ino_file_resolutions\":0,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":0,\"fuse_noflush_enosys_replies\":0,\"fuse_noopen_enosys_replies\":0,\"fuse_op_create_count\":0,\"fuse_op_create_nanos\":0,\"fuse_op_flush_count\":0,\"fuse_op_flush_nanos\":0,\"fuse_op_forget_count\":0,\"fuse_op_forget_nanos\":0,\"fuse_op_getattr_count\":0,\"fuse_op_getattr_nanos\":0,\"fuse_op_lookup_count\":0,\"fuse_op_lookup_nanos\":0,\"fuse_op_open_count\":0,\"fuse_op_open_nanos\":0,\"fuse_op_other_count\":0,\"fuse_op_other_nanos\":0,\"fuse_op_read_count\":0,\"fuse_op_read_nanos\":0,\"fuse_op_readdirplus_count\":0,\"fuse_op_readdirplus_nanos\":0,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":0,\"fuse_op_setattr_nanos\":0,\"fuse_op_write_count\":0,\"fuse_op_write_nanos\":0,\"fuse_open_count\":0,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":0,\"fuse_read_lane_max_concurrent\":0,\"fuse_read_lane_wait_count\":0,\"fuse_read_lane_wait_nanos\":0,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":0,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":0,\"fuse_readdirplus_do_requested\":0,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":0,\"fuse_worker_queue_depth_peak\":0,\"fuse_write_bytes\":0,\"fuse_write_count\":0,\"fuse_write_lane_wait_count\":0,\"fuse_write_lane_wait_nanos\":0}},\"source\":\"cli\"}\n",
+ "stdout_bytes": 241,
+ "stdout_tail": "Source: /tmp/agentfs-git-workload-s58r0ykm/home/.agentfs/run/git-workload-f4f38b250e7f4cfc937dd9957456e3f9/delta.db\nBackup: /tmp/agentfs-git-workload-s58r0ykm/git-workload-backup.db\nCheckpoint: complete\nCopy: complete\nVerification: complete\n",
+ "timed_out": false
+ }
+ },
+ "inspect_after": {
+ "fs_chunk_override_rows": 0,
+ "fs_config": {
+ "chunk_size": "65536",
+ "inline_threshold": "16384",
+ "schema_version": "0.5"
+ },
+ "fs_data_bytes": 41204221,
+ "fs_data_rows": 960,
+ "fs_inline_bytes": 11434794,
+ "fs_inode_rows": 5385,
+ "fs_origin_rows": 0,
+ "fs_partial_origin_rows": 0,
+ "fs_whiteout_rows": 0,
+ "inline_inode_rows": 4060,
+ "inspectable": true,
+ "portability_status": {
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true,
+ "stored_bytes": 52639015
+ }
+ },
+ "integrity": {
+ "result": {
+ "checks": [
+ {
+ "detail": "ok",
+ "name": "pragma.integrity_check",
+ "ok": true,
+ "violating_rows": null
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_config",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_inode",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_dentry",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_symlink",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.kv_store",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.tool_calls",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 0.5",
+ "name": "config.schema_version",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 65536",
+ "name": "config.chunk_size",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 16384",
+ "name": "config.inline_threshold",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.kind_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_has_no_chunks",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunked_has_no_inline_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_size_matches_blob",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_only_regular_files",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.non_regular_has_no_inline_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_reference_inodes",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_nonnegative_index",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunk_length_within_chunk_size",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_only_regular_files",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 1, expected 1",
+ "name": "namespace.root_inode",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_parent_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_parent_is_directory",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_target_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.non_root_inode_has_dentry",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_names_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.non_directory_nlink_matches_dentries",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.directory_nlink_positive",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "symlink.rows_reference_symlink_inodes",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "symlink.inodes_have_rows",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "portable: no partial-origin rows",
+ "name": "overlay.portability_status",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "portable requirement satisfied",
+ "name": "overlay.require_portable",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.origin_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_delta_inode_regular",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_sizes_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_paths_absolute",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_nonnegative_index",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_references_partial_origin",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_unique",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_index_in_range",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.whiteout_paths_absolute",
+ "ok": true,
+ "violating_rows": 0
+ }
+ ],
+ "database": "/tmp/agentfs-git-workload-s58r0ykm/home/.agentfs/run/git-workload-f4f38b250e7f4cfc937dd9957456e3f9/delta.db",
+ "ok": true,
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true
+ },
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "integrity",
+ "/tmp/agentfs-git-workload-s58r0ykm/home/.agentfs/run/git-workload-f4f38b250e7f4cfc937dd9957456e3f9/delta.db",
+ "--json",
+ "--require-portable"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-s58r0ykm",
+ "duration_seconds": 2.803227793003316,
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 0,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 0,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 0,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 0,
+ "fuse_op_getattr_nanos": 0,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 0,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "sections": {
+ "base": {
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0
+ },
+ "config": {
+ "fuse_keepcache_enabled": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_workers_configured": 0,
+ "fuse_writeback_cache_enabled": 0
+ },
+ "core": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create": 0,
+ "connection_reuse": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "fuse": {
+ "fuse_adapter_attr_hits": 0,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 0,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 0,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 0,
+ "fuse_op_getattr_nanos": 0,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_release_count": 0,
+ "fuse_op_release_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_uring_requests": 0,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0
+ }
+ },
+ "source": "cli"
+ }
+ ],
+ "returncode": 0,
+ "stderr_bytes": 7355,
+ "stderr_tail": "{\"counters\":{\"agentfs_batcher_coalesced_ranges\":0,\"agentfs_batcher_commit_latency_ns_total\":0,\"agentfs_batcher_commit_txns\":0,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":0,\"agentfs_batcher_drains_timer\":0,\"agentfs_batcher_enqueues\":0,\"agentfs_batcher_pending_max_bytes\":0,\"agentfs_batcher_txn_inodes_max\":0,\"agentfs_batcher_txn_inodes_total\":0,\"attr_cache_hits\":0,\"attr_cache_misses\":0,\"base_fast_inode_invalidations\":0,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":0,\"chunk_read_queries\":0,\"chunk_write_chunks\":0,\"connection_create\":0,\"connection_reuse\":0,\"connection_wait_count\":0,\"connection_wait_nanos\":0,\"dentry_cache_hits\":0,\"dentry_cache_misses\":0,\"fuse_adapter_attr_hits\":0,\"fuse_adapter_attr_misses\":0,\"fuse_adapter_entry_hits\":0,\"fuse_adapter_entry_misses\":0,\"fuse_adapter_inval_entry_notifications\":0,\"fuse_adapter_inval_inode_notifications\":0,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":0,\"fuse_adapter_negative_misses\":0,\"fuse_callback_count\":0,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":0,\"fuse_dispatch_parallel_tasks\":0,\"fuse_dispatch_wait_count\":0,\"fuse_dispatch_wait_nanos\":0,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":0,\"fuse_flush_count\":0,\"fuse_flush_ranges\":0,\"fuse_getattr_count\":0,\"fuse_ino_file_resolutions\":0,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":0,\"fuse_lookup_count\":0,\"fuse_noflush_enosys_replies\":0,\"fuse_noopen_enosys_replies\":0,\"fuse_op_create_count\":0,\"fuse_op_create_nanos\":0,\"fuse_op_flush_count\":0,\"fuse_op_flush_nanos\":0,\"fuse_op_forget_count\":0,\"fuse_op_forget_nanos\":0,\"fuse_op_getattr_count\":0,\"fuse_op_getattr_nanos\":0,\"fuse_op_lookup_count\":0,\"fuse_op_lookup_nanos\":0,\"fuse_op_open_count\":0,\"fuse_op_open_nanos\":0,\"fuse_op_other_count\":0,\"fuse_op_other_nanos\":0,\"fuse_op_read_count\":0,\"fuse_op_read_nanos\":0,\"fuse_op_readdirplus_count\":0,\"fuse_op_readdirplus_nanos\":0,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":0,\"fuse_op_setattr_nanos\":0,\"fuse_op_write_count\":0,\"fuse_op_write_nanos\":0,\"fuse_open_count\":0,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":0,\"fuse_read_lane_max_concurrent\":0,\"fuse_read_lane_wait_count\":0,\"fuse_read_lane_wait_nanos\":0,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":0,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":0,\"fuse_readdirplus_do_requested\":0,\"fuse_readdirplus_mode\":0,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":0,\"fuse_ttl_entry_ms\":0,\"fuse_ttl_neg_ms\":0,\"fuse_uring_requests\":0,\"fuse_worker_queue_depth_peak\":0,\"fuse_workers_configured\":0,\"fuse_write_bytes\":0,\"fuse_write_count\":0,\"fuse_write_lane_wait_count\":0,\"fuse_write_lane_wait_nanos\":0,\"fuse_writeback_cache_enabled\":0,\"getattr_count\":0,\"lookup_base_count\":0,\"lookup_count\":0,\"lookup_delta_count\":0,\"lookup_whiteout_count\":0,\"negative_cache_hits\":0,\"negative_cache_invalidations\":0,\"negative_cache_misses\":0,\"negative_lookup_count\":0,\"path_cache_hits\":0,\"path_cache_misses\":0,\"path_component_count\":0,\"path_resolution_count\":0,\"readdir_count\":0,\"readdir_plus_count\":0,\"wal_checkpoint_count\":0,\"wal_checkpoint_nanos\":0},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"sections\":{\"base\":{\"base_fast_inode_invalidations\":0,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0},\"config\":{\"fuse_keepcache_enabled\":0,\"fuse_readdirplus_mode\":0,\"fuse_ttl_attr_ms\":0,\"fuse_ttl_entry_ms\":0,\"fuse_ttl_neg_ms\":0,\"fuse_workers_configured\":0,\"fuse_writeback_cache_enabled\":0},\"core\":{\"agentfs_batcher_coalesced_ranges\":0,\"agentfs_batcher_commit_latency_ns_total\":0,\"agentfs_batcher_commit_txns\":0,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":0,\"agentfs_batcher_drains_timer\":0,\"agentfs_batcher_enqueues\":0,\"agentfs_batcher_pending_max_bytes\":0,\"agentfs_batcher_txn_inodes_max\":0,\"agentfs_batcher_txn_inodes_total\":0,\"attr_cache_hits\":0,\"attr_cache_misses\":0,\"chunk_read_chunks\":0,\"chunk_read_queries\":0,\"chunk_write_chunks\":0,\"connection_create\":0,\"connection_reuse\":0,\"connection_wait_count\":0,\"connection_wait_nanos\":0,\"dentry_cache_hits\":0,\"dentry_cache_misses\":0,\"getattr_count\":0,\"lookup_base_count\":0,\"lookup_count\":0,\"lookup_delta_count\":0,\"lookup_whiteout_count\":0,\"negative_cache_hits\":0,\"negative_cache_invalidations\":0,\"negative_cache_misses\":0,\"negative_lookup_count\":0,\"path_cache_hits\":0,\"path_cache_misses\":0,\"path_component_count\":0,\"path_resolution_count\":0,\"readdir_count\":0,\"readdir_plus_count\":0,\"wal_checkpoint_count\":0,\"wal_checkpoint_nanos\":0},\"fuse\":{\"fuse_adapter_attr_hits\":0,\"fuse_adapter_attr_misses\":0,\"fuse_adapter_entry_hits\":0,\"fuse_adapter_entry_misses\":0,\"fuse_adapter_inval_entry_notifications\":0,\"fuse_adapter_inval_inode_notifications\":0,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":0,\"fuse_adapter_negative_misses\":0,\"fuse_callback_count\":0,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":0,\"fuse_dispatch_parallel_tasks\":0,\"fuse_dispatch_wait_count\":0,\"fuse_dispatch_wait_nanos\":0,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":0,\"fuse_flush_count\":0,\"fuse_flush_ranges\":0,\"fuse_getattr_count\":0,\"fuse_ino_file_resolutions\":0,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_lookup_count\":0,\"fuse_noflush_enosys_replies\":0,\"fuse_noopen_enosys_replies\":0,\"fuse_op_create_count\":0,\"fuse_op_create_nanos\":0,\"fuse_op_flush_count\":0,\"fuse_op_flush_nanos\":0,\"fuse_op_forget_count\":0,\"fuse_op_forget_nanos\":0,\"fuse_op_getattr_count\":0,\"fuse_op_getattr_nanos\":0,\"fuse_op_lookup_count\":0,\"fuse_op_lookup_nanos\":0,\"fuse_op_open_count\":0,\"fuse_op_open_nanos\":0,\"fuse_op_other_count\":0,\"fuse_op_other_nanos\":0,\"fuse_op_read_count\":0,\"fuse_op_read_nanos\":0,\"fuse_op_readdirplus_count\":0,\"fuse_op_readdirplus_nanos\":0,\"fuse_op_release_count\":0,\"fuse_op_release_nanos\":0,\"fuse_op_setattr_count\":0,\"fuse_op_setattr_nanos\":0,\"fuse_op_write_count\":0,\"fuse_op_write_nanos\":0,\"fuse_open_count\":0,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":0,\"fuse_read_lane_max_concurrent\":0,\"fuse_read_lane_wait_count\":0,\"fuse_read_lane_wait_nanos\":0,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":0,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":0,\"fuse_readdirplus_do_requested\":0,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_uring_requests\":0,\"fuse_worker_queue_depth_peak\":0,\"fuse_write_bytes\":0,\"fuse_write_count\":0,\"fuse_write_lane_wait_count\":0,\"fuse_write_lane_wait_nanos\":0}},\"source\":\"cli\"}\n",
+ "stdout_bytes": 6395,
+ "stdout_tail": "{\n \"database\": \"/tmp/agentfs-git-workload-s58r0ykm/home/.agentfs/run/git-workload-f4f38b250e7f4cfc937dd9957456e3f9/delta.db\",\n \"ok\": true,\n \"portable\": true,\n \"origin_backed\": false,\n \"partial_origin_rows\": 0,\n \"checks\": [\n {\n \"name\": \"pragma.integrity_check\",\n \"ok\": true,\n \"detail\": \"ok\",\n \"violating_rows\": null\n },\n {\n \"name\": \"schema.table.fs_config\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_inode\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_dentry\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_data\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_symlink\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.kv_store\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.tool_calls\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.schema_version\",\n \"ok\": true,\n \"detail\": \"found 0.5\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.chunk_size\",\n \"ok\": true,\n \"detail\": \"found 65536\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.inline_threshold\",\n \"ok\": true,\n \"detail\": \"found 16384\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.kind_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_has_no_chunks\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunked_has_no_inline_data\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_size_matches_blob\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_only_regular_files\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.non_regular_has_no_inline_data\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_reference_inodes\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_nonnegative_index\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunk_length_within_chunk_size\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_only_regular_files\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.root_inode\",\n \"ok\": true,\n \"detail\": \"found 1, expected 1\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_parent_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_parent_is_directory\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_target_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.non_root_inode_has_dentry\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_names_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.non_directory_nlink_matches_dentries\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.directory_nlink_positive\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"symlink.rows_reference_symlink_inodes\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"symlink.inodes_have_rows\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.portability_status\",\n \"ok\": true,\n \"detail\": \"portable: no partial-origin rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.require_portable\",\n \"ok\": true,\n \"detail\": \"portable requirement satisfied\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.origin_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_delta_inode_regular\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_sizes_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_paths_absolute\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_nonnegative_index\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_references_partial_origin\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_unique\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_index_in_range\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.whiteout_paths_absolute\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n }\n ]\n}\n",
+ "timed_out": false
+ }
+ },
+ "nonempty_sidecars": false
+ },
+ "environment": {
+ "AGENTFS_BIN": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "AGENTFS_PROFILE": "1"
+ },
+ "git_commit": "2b811f03493e861e5a7786592d25ac73b39e1aba",
+ "kept_temp": false,
+ "native": {
+ "run": {
+ "argv": [
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-s58r0ykm/native",
+ "duration_seconds": 1.128412741003558,
+ "profile_summaries": [],
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 15981,
+ "stdout_tail": "{\"branch_status\": \"## agentfs-benchmark\\n\", \"diff\": {\"changed_file_count\": 8, \"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.2488119690096937, \"patch_bytes\": 3282, \"patch_sha256\": \"51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc\", \"runs\": {\"name_only\": {\"argv\": [\"git\", \"diff\", \"--name-only\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-s58r0ykm/native/work\", \"duration_seconds\": 0.07269398200151045, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 144, \"stdout_tail\": \"docs/CLA.md\\ndocs/agents_md.md\\ndocs/authentication.md\\ndocs/config.md\\ndocs/contributing.md\\ndocs/example-config.md\\ndocs/exec.md\\ndocs/execpolicy.md\\n\"}, \"patch\": {\"argv\": [\"git\", \"diff\", \"--\", \".\"], \"cwd\": \"/tmp/agentfs-git-workload-s58r0ykm/native/work\", \"duration_seconds\": 0.1013916290103225, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 3282, \"stdout_tail\": \"diff --git a/docs/CLA.md b/docs/CLA.md\\nindex 804f202..3495ac9 100644\\n--- a/docs/CLA.md\\n+++ b/docs/CLA.md\\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\\n This Agreement is governed by the laws of the **State of California**, USA,\\n excluding its conflict\\u2011of\\u2011laws rules. If any provision is held unenforceable,\\n the remaining provisions remain in force.\\n+\\n+AgentFS Git benchmark edit 00 for docs/CLA.md\\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\\nindex 3df0fac..b8b063d 100644\\n--- a/docs/agents_md.md\\n+++ b/docs/agents_md.md\\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\\n ## Hierarchical agents message\\n \\n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\\n+\\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\\ndiff --git a/docs/authentication.md b/docs/authentication.md\\nindex c307349..b3bc9dc 100644\\n--- a/docs/authentication.md\\n+++ b/docs/authentication.md\\n@@ -1,3 +1,5 @@\\n # Authentication\\n \\n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\\n+\\n+AgentFS Git benchmark edit 02 for docs/authentication.md\\ndiff --git a/docs/config.md b/docs/config.md\\nindex d35b0a8..030e278 100644\\n--- a/docs/config.md\\n+++ b/docs/config.md\\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\\n still allowing managed hooks from requirements and managed config layers. This\\n setting is only supported in `requirements.toml`; putting it in `config.toml`\\n does not enable managed-hooks-only mode.\\n+\\n+AgentFS Git benchmark edit 03 for docs/config.md\\ndiff --git a/docs/contributing.md b/docs/contributing.md\\nindex aeae1f1..b5a22ac 100644\\n--- a/docs/contributing.md\\n+++ b/docs/contributing.md\\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\\n ### Security & responsible AI\\n \\n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\\n+\\n+AgentFS Git benchmark edit 04 for docs/contributing.md\\ndiff --git a/docs/example-config.md b/docs/example-config.md\\nindex 84b1143..b09f835 100644\\n--- a/docs/example-config.md\\n+++ b/docs/example-config.md\\n@@ -1,3 +1,5 @@\\n # Sample configuration\\n \\n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\\n+\\n+AgentFS Git benchmark edit 05 for docs/example-config.md\\ndiff --git a/docs/exec.md b/docs/exec.md\\nindex 57e4323..a81da98 100644\\n--- a/docs/exec.md\\n+++ b/docs/exec.md\\n@@ -1,3 +1,5 @@\\n # Non-interactive mode\\n \\n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\\n+\\n+AgentFS Git benchmark edit 06 for docs/exec.md\\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\\nindex cafebb3..3b48afe 100644\\n--- a/docs/execpolicy.md\\n+++ b/docs/execpolicy.md\\n@@ -1,3 +1,5 @@\\n # Execution policy\\n \\n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\\n+\\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\\n\"}, \"stat\": {\"argv\": [\"git\", \"diff\", \"--stat\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-s58r0ykm/native/work\", \"duration_seconds\": 0.07468257400614675, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 283, \"stdout_tail\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}}, \"stat_stdout\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}, \"edits\": {\"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.0003027019993169233, \"edits\": [{\"appended_bytes\": 47, \"path\": \"docs/CLA.md\", \"size_after\": 2106, \"size_before\": 2059}, {\"appended_bytes\": 53, \"path\": \"docs/agents_md.md\", \"size_after\": 462, \"size_before\": 409}, {\"appended_bytes\": 58, \"path\": \"docs/authentication.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 50, \"path\": \"docs/config.md\", \"size_after\": 776, \"size_before\": 726}, {\"appended_bytes\": 56, \"path\": \"docs/contributing.md\", \"size_after\": 6380, \"size_before\": 6324}, {\"appended_bytes\": 58, \"path\": \"docs/example-config.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 48, \"path\": \"docs/exec.md\", \"size_after\": 194, \"size_before\": 146}, {\"appended_bytes\": 54, \"path\": \"docs/execpolicy.md\", \"size_after\": 192, \"size_before\": 138}]}, \"fsck\": {\"ok\": true, \"ran\": true, \"run\": {\"argv\": [\"git\", \"fsck\", \"--strict\"], \"cwd\": \"/tmp/agentfs-git-workload-s58r0ykm/native/work\", \"duration_seconds\": 0.1983038329926785, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}, \"head_commit\": \"7d47056ea42636271ac020b86347fbbef49490aa\", \"initial_status\": \"\", \"phase_runs\": {\"checkout\": {\"argv\": [\"git\", \"checkout\", \"-B\", \"agentfs-benchmark\"], \"cwd\": \"/tmp/agentfs-git-workload-s58r0ykm/native/work\", \"duration_seconds\": 0.12846661900402978, \"returncode\": 0, \"stderr_bytes\": 45, \"stderr_tail\": \"Switched to a new branch 'agentfs-benchmark'\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"clone\": {\"argv\": [\"git\", \"clone\", \"--local\", \"--no-hardlinks\", \"/tmp/agentfs-git-workload-s58r0ykm/native/mirror.git\", \"/tmp/agentfs-git-workload-s58r0ykm/native/work\"], \"cwd\": \"/tmp/agentfs-git-workload-s58r0ykm/native\", \"duration_seconds\": 0.28392924899526406, \"returncode\": 0, \"stderr_bytes\": 149, \"stderr_tail\": \"Cloning into '/tmp/agentfs-git-workload-s58r0ykm/native/work'...\\nwarning: source repository is shallow, ignoring --local\\nwarning: --local is ignored\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"status\": {\"branch\": {\"argv\": [\"git\", \"status\", \"--short\", \"--branch\"], \"cwd\": \"/tmp/agentfs-git-workload-s58r0ykm/native/work\", \"duration_seconds\": 0.0879281010129489, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 21, \"stdout_tail\": \"## agentfs-benchmark\\n\"}, \"short\": {\"argv\": [\"git\", \"status\", \"--short\"], \"cwd\": \"/tmp/agentfs-git-workload-s58r0ykm/native/work\", \"duration_seconds\": 0.10163158400973771, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}}, \"phase_seconds\": {\"checkout\": 0.1312191629986046, \"clone\": 0.28396283299662173, \"diff\": 0.2488119690096937, \"edit\": 0.0003027019993169233, \"fsck\": 0.19831565700587817, \"read_search\": 0.005795197997940704, \"status\": 0.18957681799656712}, \"profile_checkpoints\": [\"clone\", \"checkout\", \"status\", \"read_search\", \"edit\", \"diff\", \"fsck\"], \"read_search\": {\"bytes_read\": 117190, \"digest\": \"6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53\", \"files_scanned\": 64, \"files_total\": 4644, \"ls_files_run\": {\"argv\": [\"git\", \"ls-files\", \"-z\"], \"cwd\": \"/tmp/agentfs-git-workload-s58r0ykm/native/work\", \"duration_seconds\": 0.004364182008430362, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 263077, \"stdout_tail\": \"i_codex/api.py\\u0000sdk/python/src/openai_codex/async_client.py\\u0000sdk/python/src/openai_codex/client.py\\u0000sdk/python/src/openai_codex/errors.py\\u0000sdk/python/src/openai_codex/generated/__init__.py\\u0000sdk/python/src/openai_codex/generated/notification_registry.py\\u0000sdk/python/src/openai_codex/generated/v2_all.py\\u0000sdk/python/src/openai_codex/models.py\\u0000sdk/python/src/openai_codex/py.typed\\u0000sdk/python/src/openai_codex/retry.py\\u0000sdk/python/src/openai_codex/types.py\\u0000sdk/python/tests/app_server_harness.py\\u0000sdk/python/tests/app_server_helpers.py\\u0000sdk/python/tests/conftest.py\\u0000sdk/python/tests/test_app_server_approvals.py\\u0000sdk/python/tests/test_app_server_inputs.py\\u0000sdk/python/tests/test_app_server_lifecycle.py\\u0000sdk/python/tests/test_app_server_login.py\\u0000sdk/python/tests/test_app_server_run.py\\u0000sdk/python/tests/test_app_server_streaming.py\\u0000sdk/python/tests/test_app_server_turn_controls.py\\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\\u0000sdk/python/tests/test_async_client_behavior.py\\u0000sdk/python/tests/test_client_rpc_methods.py\\u0000sdk/python/tests/test_contract_generation.py\\u0000sdk/python/tests/test_public_api_runtime_behavior.py\\u0000sdk/python/tests/test_public_api_signatures.py\\u0000sdk/python/tests/test_real_app_server_integration.py\\u0000sdk/python/uv.lock\\u0000sdk/typescript/.prettierignore\\u0000sdk/typescript/.prettierrc\\u0000sdk/typescript/README.md\\u0000sdk/typescript/eslint.config.js\\u0000sdk/typescript/jest.config.cjs\\u0000sdk/typescript/package.json\\u0000sdk/typescript/samples/basic_streaming.ts\\u0000sdk/typescript/samples/helpers.ts\\u0000sdk/typescript/samples/structured_output.ts\\u0000sdk/typescript/samples/structured_output_zod.ts\\u0000sdk/typescript/src/codex.ts\\u0000sdk/typescript/src/codexOptions.ts\\u0000sdk/typescript/src/events.ts\\u0000sdk/typescript/src/exec.ts\\u0000sdk/typescript/src/index.ts\\u0000sdk/typescript/src/items.ts\\u0000sdk/typescript/src/outputSchemaFile.ts\\u0000sdk/typescript/src/thread.ts\\u0000sdk/typescript/src/threadOptions.ts\\u0000sdk/typescript/src/turnOptions.ts\\u0000sdk/typescript/tests/abort.test.ts\\u0000sdk/typescript/tests/codexExecSpy.ts\\u0000sdk/typescript/tests/exec.test.ts\\u0000sdk/typescript/tests/responsesProxy.ts\\u0000sdk/typescript/tests/run.test.ts\\u0000sdk/typescript/tests/runStreamed.test.ts\\u0000sdk/typescript/tests/setupCodexHome.ts\\u0000sdk/typescript/tests/testCodex.ts\\u0000sdk/typescript/tsconfig.json\\u0000sdk/typescript/tsup.config.ts\\u0000third_party/v8/BUILD.bazel\\u0000third_party/v8/README.md\\u0000third_party/v8/libcxx.BUILD.bazel\\u0000third_party/v8/libcxx_config/BUILD.bazel\\u0000third_party/v8/libcxx_config/__assertion_handler\\u0000third_party/v8/libcxx_config/__config_site\\u0000third_party/v8/libcxxabi.BUILD.bazel\\u0000third_party/v8/llvm_libc.BUILD.bazel\\u0000third_party/v8/rusty_v8_147_4_0.sha256\\u0000third_party/v8/v8_crate.BUILD.bazel\\u0000third_party/wezterm/LICENSE\\u0000tools/argument-comment-lint/.cargo/config.toml\\u0000tools/argument-comment-lint/.gitignore\\u0000tools/argument-comment-lint/BUILD.bazel\\u0000tools/argument-comment-lint/Cargo.lock\\u0000tools/argument-comment-lint/Cargo.toml\\u0000tools/argument-comment-lint/README.md\\u0000tools/argument-comment-lint/argument-comment-lint\\u0000tools/argument-comment-lint/driver.rs\\u0000tools/argument-comment-lint/lint_aspect.bzl\\u0000tools/argument-comment-lint/list-bazel-targets.sh\\u0000tools/argument-comment-lint/run-prebuilt-linter.py\\u0000tools/argument-comment-lint/run.py\\u0000tools/argument-comment-lint/rust-toolchain\\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\\u0000tools/argument-comment-lint/src/comment_parser.rs\\u0000tools/argument-comment-lint/src/lib.rs\\u0000tools/argument-comment-lint/test_wrapper_common.py\\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\\u0000tools/argument-comment-lint/ui/comment_matches.rs\\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\\u0000tools/argument-comment-lint/wrapper_common.py\\u0000workspace_root_test_launcher.bat.tpl\\u0000workspace_root_test_launcher.sh.tpl\\u0000\"}, \"matches\": 0, \"selected_files\": [\".bazelignore\", \".bazelrc\", \".bazelversion\", \".codespellignore\", \".codespellrc\", \".codex/environments/environment.toml\", \".codex/skills/babysit-pr/SKILL.md\", \".codex/skills/babysit-pr/agents/openai.yaml\", \".codex/skills/babysit-pr/references/github-api-notes.md\", \".codex/skills/babysit-pr/references/heuristics.md\", \".codex/skills/babysit-pr/scripts/gh_pr_watch.py\", \".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py\", \".codex/skills/code-review-breaking-changes/SKILL.md\", \".codex/skills/code-review-change-size/SKILL.md\", \".codex/skills/code-review-context/SKILL.md\", \".codex/skills/code-review-testing/SKILL.md\", \".codex/skills/code-review/SKILL.md\", \".codex/skills/codex-bug/SKILL.md\", \".codex/skills/codex-issue-digest/SKILL.md\", \".codex/skills/codex-issue-digest/agents/openai.yaml\", \".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py\", \".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py\", \".codex/skills/codex-pr-body/SKILL.md\", \".codex/skills/remote-tests/SKILL.md\", \".codex/skills/test-tui/SKILL.md\", \".codex/skills/update-v8-version/SKILL.md\", \".codex/skills/update-v8-version/agents/openai.yaml\", \".devcontainer/Dockerfile\", \".devcontainer/Dockerfile.secure\", \".devcontainer/README.md\", \".devcontainer/codex-install/package.json\", \".devcontainer/codex-install/pnpm-lock.yaml\", \".devcontainer/codex-install/pnpm-workspace.yaml\", \".devcontainer/devcontainer.json\", \".devcontainer/devcontainer.secure.json\", \".devcontainer/init-firewall.sh\", \".devcontainer/post-start.sh\", \".devcontainer/post_install.py\", \".gitattributes\", \".github/CODEOWNERS\", \".github/ISSUE_TEMPLATE/1-codex-app.yml\", \".github/ISSUE_TEMPLATE/2-extension.yml\", \".github/ISSUE_TEMPLATE/3-cli.yml\", \".github/ISSUE_TEMPLATE/4-bug-report.yml\", \".github/ISSUE_TEMPLATE/5-feature-request.yml\", \".github/ISSUE_TEMPLATE/6-docs-issue.yml\", \".github/actions/linux-code-sign/action.yml\", \".github/actions/macos-code-sign/action.yml\", \".github/actions/macos-code-sign/codex.entitlements.plist\", \".github/actions/macos-code-sign/notary_helpers.sh\", \".github/actions/prepare-bazel-ci/action.yml\", \".github/actions/run-argument-comment-lint/action.yml\", \".github/actions/setup-bazel-ci/action.yml\", \".github/actions/setup-msvc-env/action.yml\", \".github/actions/setup-msvc-env/setup-msvc-env.ps1\", \".github/actions/setup-rusty-v8/action.yml\", \".github/actions/windows-code-sign/action.yml\", \".github/blob-size-allowlist.txt\", \".github/codex-cli-splash.png\", \".github/codex/home/config.toml\", \".github/codex/labels/codex-attempt.md\", \".github/codex/labels/codex-review.md\", \".github/codex/labels/codex-rust-review.md\", \".github/codex/labels/codex-triage.md\"], \"token\": \"AGENTFS_TOKEN\"}, \"total_seconds\": 1.0581486070004757}\n",
+ "timed_out": false
+ },
+ "workload": {
+ "branch_status": "## agentfs-benchmark\n",
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.2488119690096937,
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc",
+ "runs": {
+ "name_only": {
+ "argv": [
+ "git",
+ "diff",
+ "--name-only",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-s58r0ykm/native/work",
+ "duration_seconds": 0.07269398200151045,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 144,
+ "stdout_tail": "docs/CLA.md\ndocs/agents_md.md\ndocs/authentication.md\ndocs/config.md\ndocs/contributing.md\ndocs/example-config.md\ndocs/exec.md\ndocs/execpolicy.md\n"
+ },
+ "patch": {
+ "argv": [
+ "git",
+ "diff",
+ "--",
+ "."
+ ],
+ "cwd": "/tmp/agentfs-git-workload-s58r0ykm/native/work",
+ "duration_seconds": 0.1013916290103225,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 3282,
+ "stdout_tail": "diff --git a/docs/CLA.md b/docs/CLA.md\nindex 804f202..3495ac9 100644\n--- a/docs/CLA.md\n+++ b/docs/CLA.md\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\n This Agreement is governed by the laws of the **State of California**, USA,\n excluding its conflict\u2011of\u2011laws rules. If any provision is held unenforceable,\n the remaining provisions remain in force.\n+\n+AgentFS Git benchmark edit 00 for docs/CLA.md\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\nindex 3df0fac..b8b063d 100644\n--- a/docs/agents_md.md\n+++ b/docs/agents_md.md\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\n ## Hierarchical agents message\n \n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\n+\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\ndiff --git a/docs/authentication.md b/docs/authentication.md\nindex c307349..b3bc9dc 100644\n--- a/docs/authentication.md\n+++ b/docs/authentication.md\n@@ -1,3 +1,5 @@\n # Authentication\n \n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\n+\n+AgentFS Git benchmark edit 02 for docs/authentication.md\ndiff --git a/docs/config.md b/docs/config.md\nindex d35b0a8..030e278 100644\n--- a/docs/config.md\n+++ b/docs/config.md\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\n still allowing managed hooks from requirements and managed config layers. This\n setting is only supported in `requirements.toml`; putting it in `config.toml`\n does not enable managed-hooks-only mode.\n+\n+AgentFS Git benchmark edit 03 for docs/config.md\ndiff --git a/docs/contributing.md b/docs/contributing.md\nindex aeae1f1..b5a22ac 100644\n--- a/docs/contributing.md\n+++ b/docs/contributing.md\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\n ### Security & responsible AI\n \n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\n+\n+AgentFS Git benchmark edit 04 for docs/contributing.md\ndiff --git a/docs/example-config.md b/docs/example-config.md\nindex 84b1143..b09f835 100644\n--- a/docs/example-config.md\n+++ b/docs/example-config.md\n@@ -1,3 +1,5 @@\n # Sample configuration\n \n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\n+\n+AgentFS Git benchmark edit 05 for docs/example-config.md\ndiff --git a/docs/exec.md b/docs/exec.md\nindex 57e4323..a81da98 100644\n--- a/docs/exec.md\n+++ b/docs/exec.md\n@@ -1,3 +1,5 @@\n # Non-interactive mode\n \n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\n+\n+AgentFS Git benchmark edit 06 for docs/exec.md\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\nindex cafebb3..3b48afe 100644\n--- a/docs/execpolicy.md\n+++ b/docs/execpolicy.md\n@@ -1,3 +1,5 @@\n # Execution policy\n \n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\n+\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\n"
+ },
+ "stat": {
+ "argv": [
+ "git",
+ "diff",
+ "--stat",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-s58r0ykm/native/work",
+ "duration_seconds": 0.07468257400614675,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 283,
+ "stdout_tail": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ }
+ },
+ "stat_stdout": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.0003027019993169233,
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true,
+ "run": {
+ "argv": [
+ "git",
+ "fsck",
+ "--strict"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-s58r0ykm/native/work",
+ "duration_seconds": 0.1983038329926785,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "phase_runs": {
+ "checkout": {
+ "argv": [
+ "git",
+ "checkout",
+ "-B",
+ "agentfs-benchmark"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-s58r0ykm/native/work",
+ "duration_seconds": 0.12846661900402978,
+ "returncode": 0,
+ "stderr_bytes": 45,
+ "stderr_tail": "Switched to a new branch 'agentfs-benchmark'\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "clone": {
+ "argv": [
+ "git",
+ "clone",
+ "--local",
+ "--no-hardlinks",
+ "/tmp/agentfs-git-workload-s58r0ykm/native/mirror.git",
+ "/tmp/agentfs-git-workload-s58r0ykm/native/work"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-s58r0ykm/native",
+ "duration_seconds": 0.28392924899526406,
+ "returncode": 0,
+ "stderr_bytes": 149,
+ "stderr_tail": "Cloning into '/tmp/agentfs-git-workload-s58r0ykm/native/work'...\nwarning: source repository is shallow, ignoring --local\nwarning: --local is ignored\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "status": {
+ "branch": {
+ "argv": [
+ "git",
+ "status",
+ "--short",
+ "--branch"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-s58r0ykm/native/work",
+ "duration_seconds": 0.0879281010129489,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 21,
+ "stdout_tail": "## agentfs-benchmark\n"
+ },
+ "short": {
+ "argv": [
+ "git",
+ "status",
+ "--short"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-s58r0ykm/native/work",
+ "duration_seconds": 0.10163158400973771,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ }
+ },
+ "phase_seconds": {
+ "checkout": 0.1312191629986046,
+ "clone": 0.28396283299662173,
+ "diff": 0.2488119690096937,
+ "edit": 0.0003027019993169233,
+ "fsck": 0.19831565700587817,
+ "read_search": 0.005795197997940704,
+ "status": 0.18957681799656712
+ },
+ "profile_checkpoints": [
+ "clone",
+ "checkout",
+ "status",
+ "read_search",
+ "edit",
+ "diff",
+ "fsck"
+ ],
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "ls_files_run": {
+ "argv": [
+ "git",
+ "ls-files",
+ "-z"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-s58r0ykm/native/work",
+ "duration_seconds": 0.004364182008430362,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 263077,
+ "stdout_tail": "i_codex/api.py\u0000sdk/python/src/openai_codex/async_client.py\u0000sdk/python/src/openai_codex/client.py\u0000sdk/python/src/openai_codex/errors.py\u0000sdk/python/src/openai_codex/generated/__init__.py\u0000sdk/python/src/openai_codex/generated/notification_registry.py\u0000sdk/python/src/openai_codex/generated/v2_all.py\u0000sdk/python/src/openai_codex/models.py\u0000sdk/python/src/openai_codex/py.typed\u0000sdk/python/src/openai_codex/retry.py\u0000sdk/python/src/openai_codex/types.py\u0000sdk/python/tests/app_server_harness.py\u0000sdk/python/tests/app_server_helpers.py\u0000sdk/python/tests/conftest.py\u0000sdk/python/tests/test_app_server_approvals.py\u0000sdk/python/tests/test_app_server_inputs.py\u0000sdk/python/tests/test_app_server_lifecycle.py\u0000sdk/python/tests/test_app_server_login.py\u0000sdk/python/tests/test_app_server_run.py\u0000sdk/python/tests/test_app_server_streaming.py\u0000sdk/python/tests/test_app_server_turn_controls.py\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\u0000sdk/python/tests/test_async_client_behavior.py\u0000sdk/python/tests/test_client_rpc_methods.py\u0000sdk/python/tests/test_contract_generation.py\u0000sdk/python/tests/test_public_api_runtime_behavior.py\u0000sdk/python/tests/test_public_api_signatures.py\u0000sdk/python/tests/test_real_app_server_integration.py\u0000sdk/python/uv.lock\u0000sdk/typescript/.prettierignore\u0000sdk/typescript/.prettierrc\u0000sdk/typescript/README.md\u0000sdk/typescript/eslint.config.js\u0000sdk/typescript/jest.config.cjs\u0000sdk/typescript/package.json\u0000sdk/typescript/samples/basic_streaming.ts\u0000sdk/typescript/samples/helpers.ts\u0000sdk/typescript/samples/structured_output.ts\u0000sdk/typescript/samples/structured_output_zod.ts\u0000sdk/typescript/src/codex.ts\u0000sdk/typescript/src/codexOptions.ts\u0000sdk/typescript/src/events.ts\u0000sdk/typescript/src/exec.ts\u0000sdk/typescript/src/index.ts\u0000sdk/typescript/src/items.ts\u0000sdk/typescript/src/outputSchemaFile.ts\u0000sdk/typescript/src/thread.ts\u0000sdk/typescript/src/threadOptions.ts\u0000sdk/typescript/src/turnOptions.ts\u0000sdk/typescript/tests/abort.test.ts\u0000sdk/typescript/tests/codexExecSpy.ts\u0000sdk/typescript/tests/exec.test.ts\u0000sdk/typescript/tests/responsesProxy.ts\u0000sdk/typescript/tests/run.test.ts\u0000sdk/typescript/tests/runStreamed.test.ts\u0000sdk/typescript/tests/setupCodexHome.ts\u0000sdk/typescript/tests/testCodex.ts\u0000sdk/typescript/tsconfig.json\u0000sdk/typescript/tsup.config.ts\u0000third_party/v8/BUILD.bazel\u0000third_party/v8/README.md\u0000third_party/v8/libcxx.BUILD.bazel\u0000third_party/v8/libcxx_config/BUILD.bazel\u0000third_party/v8/libcxx_config/__assertion_handler\u0000third_party/v8/libcxx_config/__config_site\u0000third_party/v8/libcxxabi.BUILD.bazel\u0000third_party/v8/llvm_libc.BUILD.bazel\u0000third_party/v8/rusty_v8_147_4_0.sha256\u0000third_party/v8/v8_crate.BUILD.bazel\u0000third_party/wezterm/LICENSE\u0000tools/argument-comment-lint/.cargo/config.toml\u0000tools/argument-comment-lint/.gitignore\u0000tools/argument-comment-lint/BUILD.bazel\u0000tools/argument-comment-lint/Cargo.lock\u0000tools/argument-comment-lint/Cargo.toml\u0000tools/argument-comment-lint/README.md\u0000tools/argument-comment-lint/argument-comment-lint\u0000tools/argument-comment-lint/driver.rs\u0000tools/argument-comment-lint/lint_aspect.bzl\u0000tools/argument-comment-lint/list-bazel-targets.sh\u0000tools/argument-comment-lint/run-prebuilt-linter.py\u0000tools/argument-comment-lint/run.py\u0000tools/argument-comment-lint/rust-toolchain\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\u0000tools/argument-comment-lint/src/comment_parser.rs\u0000tools/argument-comment-lint/src/lib.rs\u0000tools/argument-comment-lint/test_wrapper_common.py\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\u0000tools/argument-comment-lint/ui/comment_matches.rs\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\u0000tools/argument-comment-lint/wrapper_common.py\u0000workspace_root_test_launcher.bat.tpl\u0000workspace_root_test_launcher.sh.tpl\u0000"
+ },
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ],
+ "token": "AGENTFS_TOKEN"
+ },
+ "total_seconds": 1.0581486070004757
+ }
+ },
+ "parameters": {
+ "edit_files": 8,
+ "fixture_dirs": 8,
+ "fixture_file_size_bytes": 1024,
+ "fixture_files": 96,
+ "read_bytes": 4096,
+ "read_files": 64,
+ "search_token": "AGENTFS_TOKEN",
+ "skip_fsck": false,
+ "timeout_seconds": 180.0
+ },
+ "schema_version": 1,
+ "source": {
+ "kind": "source",
+ "mirror_head": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "path": "/home/ain3sh/factory/vfs/.agents/benchmarks/fixtures/codex"
+ },
+ "summary": {
+ "agentfs_base_unchanged": true,
+ "agentfs_seconds": 4.671860290996847,
+ "all_equivalent": true,
+ "correctness_passed": true,
+ "native_seconds": 1.0581486070004757,
+ "passed": true,
+ "performance_passed": false,
+ "phase_ratios": {
+ "checkout": {
+ "agentfs_seconds": 0.06298040700494312,
+ "native_seconds": 0.1312191629986046,
+ "ratio": 0.4799634867783211
+ },
+ "clone": {
+ "agentfs_seconds": 3.4255687719996786,
+ "native_seconds": 0.28396283299662173,
+ "ratio": 12.063440612456603
+ },
+ "diff": {
+ "agentfs_seconds": 0.07817813300061971,
+ "native_seconds": 0.2488119690096937,
+ "ratio": 0.3142056763256991
+ },
+ "edit": {
+ "agentfs_seconds": 0.018203587998868898,
+ "native_seconds": 0.0003027019993169233,
+ "ratio": 60.136992949987366
+ },
+ "fsck": {
+ "agentfs_seconds": 0.20209814199188258,
+ "native_seconds": 0.19831565700587817,
+ "ratio": 1.0190730527438503
+ },
+ "read_search": {
+ "agentfs_seconds": 0.010043239002698101,
+ "native_seconds": 0.005795197997940704,
+ "ratio": 1.7330277595807628
+ },
+ "status": {
+ "agentfs_seconds": 0.1734860779979499,
+ "native_seconds": 0.18957681799656712,
+ "ratio": 0.9151228501002239
+ }
+ },
+ "ratio": 4.415126816865664,
+ "threshold_failures": [
+ {
+ "agentfs_seconds": 3.4255687719996786,
+ "native_seconds": 0.28396283299662173,
+ "phase": "clone",
+ "ratio": 12.063440612456603
+ },
+ {
+ "agentfs_seconds": 0.018203587998868898,
+ "native_seconds": 0.0003027019993169233,
+ "phase": "edit",
+ "ratio": 60.136992949987366
+ }
+ ]
+ },
+ "temp_dir": "/tmp/agentfs-git-workload-s58r0ykm"
+}
diff --git a/.agents/benchmarks/restructure-baseline/medians.json b/.agents/benchmarks/restructure-baseline/medians.json
new file mode 100644
index 00000000..30b41269
--- /dev/null
+++ b/.agents/benchmarks/restructure-baseline/medians.json
@@ -0,0 +1,288 @@
+{
+ "agentfs_bin": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "forwarded_argv": [
+ "--source",
+ ".agents/benchmarks/fixtures/codex",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8"
+ ],
+ "iteration_returncodes": [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ],
+ "iteration_wall_seconds": [
+ 12.041874304995872,
+ 10.64369312299823,
+ 10.765639696008293,
+ 11.422489012998994,
+ 11.208898140990641
+ ],
+ "iterations": 5,
+ "label": "misc-a-rebaseline-run3",
+ "overall": {
+ "agentfs_seconds": {
+ "count": 5,
+ "max": 4.789309019004577,
+ "mean": 4.173267442599172,
+ "median": 4.0367547670030035,
+ "min": 3.9237991579866502,
+ "p25": 4.001881017000414,
+ "p75": 4.114593252001214,
+ "stdev": 0.3511386218460735
+ },
+ "native_seconds": {
+ "count": 5,
+ "max": 1.4025006750016473,
+ "mean": 1.0126429916010238,
+ "median": 0.8855433049902786,
+ "min": 0.8398232860054122,
+ "p25": 0.858039740996901,
+ "p75": 1.07730795101088,
+ "stdev": 0.23774656483219894
+ },
+ "ratio": {
+ "count": 5,
+ "max": 4.806671634700289,
+ "mean": 4.266396078519256,
+ "median": 4.445626725868477,
+ "min": 2.8533897261730115,
+ "p25": 4.4309511865483815,
+ "p75": 4.795341119306122,
+ "stdev": 0.8104735487784721
+ }
+ },
+ "phases": {
+ "checkout": {
+ "agentfs_seconds": {
+ "count": 5,
+ "max": 0.06318244199792389,
+ "mean": 0.057910432401695286,
+ "median": 0.056683568996959366,
+ "min": 0.05428599700098857,
+ "p25": 0.05482768401270732,
+ "p75": 0.060572469999897294,
+ "stdev": 0.0038414057574848726
+ },
+ "native_seconds": {
+ "count": 5,
+ "max": 0.24071779299993068,
+ "mean": 0.18195385900035035,
+ "median": 0.18452265500673093,
+ "min": 0.11891778999415692,
+ "p25": 0.16255415299383458,
+ "p75": 0.20305690400709864,
+ "stdev": 0.04542860263501151
+ },
+ "ratio": {
+ "count": 5,
+ "max": 0.5313119424858836,
+ "mean": 0.34009054339177636,
+ "median": 0.32826576225931586,
+ "min": 0.22776747547167447,
+ "p25": 0.27915115358489745,
+ "p75": 0.33395638315711046,
+ "stdev": 0.1151880610774632
+ }
+ },
+ "clone": {
+ "agentfs_seconds": {
+ "count": 5,
+ "max": 3.515449283993803,
+ "mean": 2.950434782798402,
+ "median": 2.8008923250017688,
+ "min": 2.769973303991719,
+ "p25": 2.777395411001635,
+ "p75": 2.8884635900030844,
+ "stdev": 0.31935627890583845
+ },
+ "native_seconds": {
+ "count": 5,
+ "max": 0.41264774699811824,
+ "mean": 0.35559882699744777,
+ "median": 0.3344773830031045,
+ "min": 0.3286946500011254,
+ "p25": 0.3300862679898273,
+ "p75": 0.37208808699506335,
+ "stdev": 0.036562671441939254
+ },
+ "ratio": {
+ "count": 5,
+ "max": 8.750632395565457,
+ "mean": 8.307397465733112,
+ "median": 8.51924991610298,
+ "min": 7.464349190621853,
+ "p25": 8.281496581686689,
+ "p75": 8.521259244688585,
+ "stdev": 0.49961904842881455
+ }
+ },
+ "diff": {
+ "agentfs_seconds": {
+ "count": 5,
+ "max": 0.06838756799697876,
+ "mean": 0.05834037900203839,
+ "median": 0.06564354000147432,
+ "min": 0.024519680009689182,
+ "p25": 0.06495013200037647,
+ "p75": 0.06820097500167321,
+ "stdev": 0.01896735376760473
+ },
+ "native_seconds": {
+ "count": 5,
+ "max": 0.39594387999386527,
+ "mean": 0.12749572600296233,
+ "median": 0.01741337300336454,
+ "min": 0.013687198006664403,
+ "p25": 0.014816572002018802,
+ "p75": 0.19561760700889863,
+ "stdev": 0.16916862836079494
+ },
+ "ratio": {
+ "count": 5,
+ "max": 4.996462238924309,
+ "mean": 2.1850678847070717,
+ "median": 1.6548821148608668,
+ "min": 0.172249095004903,
+ "p25": 0.3320260021247571,
+ "p75": 3.7697199726205226,
+ "stdev": 2.131980364824143
+ }
+ },
+ "edit": {
+ "agentfs_seconds": {
+ "count": 5,
+ "max": 0.00608031298907008,
+ "mean": 0.005196311196777969,
+ "median": 0.004993759008357301,
+ "min": 0.004524231000686996,
+ "p25": 0.004875056998571381,
+ "p75": 0.00550819598720409,
+ "stdev": 0.0006071768132413841
+ },
+ "native_seconds": {
+ "count": 5,
+ "max": 0.0010122020030394197,
+ "mean": 0.0007302397978492081,
+ "median": 0.0009361069969600067,
+ "min": 0.000326687004417181,
+ "p25": 0.00037815999530721456,
+ "p75": 0.0009980429895222187,
+ "stdev": 0.0003465608109482753
+ },
+ "ratio": {
+ "count": 5,
+ "max": 13.848824530863581,
+ "mean": 8.727012533346421,
+ "median": 6.0070153692763295,
+ "min": 5.0035510101102005,
+ "p25": 5.884152137620884,
+ "p75": 12.891519618861109,
+ "stdev": 4.269674546155932
+ }
+ },
+ "fsck": {
+ "agentfs_seconds": {
+ "count": 5,
+ "max": 0.23772984399693087,
+ "mean": 0.21839883019856643,
+ "median": 0.21496818200103007,
+ "min": 0.2023740630102111,
+ "p25": 0.21477365799364634,
+ "p75": 0.22214840399101377,
+ "stdev": 0.0129368831457691
+ },
+ "native_seconds": {
+ "count": 5,
+ "max": 0.23137624299852178,
+ "mean": 0.2009059926000191,
+ "median": 0.19252638499892782,
+ "min": 0.1741181089892052,
+ "p25": 0.1890194620063994,
+ "p75": 0.21748976400704123,
+ "stdev": 0.023089801725413604
+ },
+ "ratio": {
+ "count": 5,
+ "max": 1.1622803864861504,
+ "mean": 1.0936590596662537,
+ "median": 1.115554410866035,
+ "min": 0.9601176037439291,
+ "p25": 1.0930622187315187,
+ "p75": 1.1372806785036356,
+ "stdev": 0.07893797438120992
+ }
+ },
+ "read_search": {
+ "agentfs_seconds": {
+ "count": 5,
+ "max": 0.010672920994693413,
+ "mean": 0.008850710198748857,
+ "median": 0.008785623009316623,
+ "min": 0.007138228989788331,
+ "p25": 0.0078469020081684,
+ "p75": 0.009809875991777517,
+ "stdev": 0.0014304641135065828
+ },
+ "native_seconds": {
+ "count": 5,
+ "max": 0.010034471997641958,
+ "mean": 0.008122092401026747,
+ "median": 0.008877050000592135,
+ "min": 0.005955979009740986,
+ "p25": 0.0063567659963155165,
+ "p75": 0.009386195000843145,
+ "stdev": 0.0018461809648997337
+ },
+ "ratio": {
+ "count": 5,
+ "max": 1.475093010728843,
+ "mean": 1.1244383049346869,
+ "median": 1.1229340507304757,
+ "min": 0.7819945095279927,
+ "p25": 1.1050828812638387,
+ "p75": 1.1370870724222844,
+ "stdev": 0.24533821666898545
+ }
+ },
+ "status": {
+ "agentfs_seconds": {
+ "count": 5,
+ "max": 0.19046289600373711,
+ "mean": 0.17302955399791245,
+ "median": 0.17797551400144584,
+ "min": 0.1508024939976167,
+ "p25": 0.1672487969917711,
+ "p75": 0.17865806899499148,
+ "stdev": 0.014895666003419806
+ },
+ "native_seconds": {
+ "count": 5,
+ "max": 0.26516752400493715,
+ "mean": 0.13757860799960325,
+ "median": 0.12686727399704978,
+ "min": 0.018477466990589164,
+ "p25": 0.12191534000157844,
+ "p75": 0.15546543500386178,
+ "stdev": 0.08823834554466341
+ },
+ "ratio": {
+ "count": 5,
+ "max": 9.632029871415346,
+ "mean": 2.831268938087937,
+ "median": 1.3182973963455726,
+ "min": 0.6737554670973398,
+ "p25": 0.9700065740907021,
+ "p75": 1.562255381490723,
+ "stdev": 3.816706352680297
+ }
+ }
+ },
+ "warmup_iterations": 1
+}
diff --git a/.agents/benchmarks/restructure-baseline/medians.json.iterations/iter-00.json b/.agents/benchmarks/restructure-baseline/medians.json.iterations/iter-00.json
new file mode 100644
index 00000000..5fa086de
--- /dev/null
+++ b/.agents/benchmarks/restructure-baseline/medians.json.iterations/iter-00.json
@@ -0,0 +1,6630 @@
+{
+ "agentfs": {
+ "bin": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "db_path": "/tmp/agentfs-git-workload-85r78ug0/home/.agentfs/run/git-workload-5f9c17332ed2467e865db70fa7e5dded/delta.db",
+ "per_phase_counters": {
+ "checkpoint_count": 7,
+ "label_count": 7,
+ "labels_aligned": true,
+ "phases": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 887987106,
+ "agentfs_batcher_commit_txns": 4783,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4679,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4731,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29053,
+ "base_fast_inode_invalidations": 15028,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 969,
+ "connection_create_count": 2,
+ "connection_reuse_count": 31203,
+ "connection_wait_count": 31205,
+ "connection_wait_nanos": 11406857,
+ "dentry_cache_hits": 26031,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 91,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5285,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21783,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 36,
+ "fuse_dispatch_wait_count": 36,
+ "fuse_dispatch_wait_nanos": 905664,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52495943,
+ "fuse_flush_count": 4731,
+ "fuse_flush_ranges": 4731,
+ "fuse_getattr_count": 5025,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11702,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 617937107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 33,
+ "fuse_op_forget_nanos": 1276997,
+ "fuse_op_getattr_count": 5025,
+ "fuse_op_getattr_nanos": 58792718,
+ "fuse_op_lookup_count": 11702,
+ "fuse_op_lookup_nanos": 148907519,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 121030097,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 27574689,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 915091,
+ "fuse_op_setattr_count": 4748,
+ "fuse_op_setattr_nanos": 1240634529,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 29136769,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 2,
+ "fuse_read_lane_wait_count": 16154,
+ "fuse_read_lane_wait_nanos": 1922885,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32006,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10204,
+ "fuse_write_lane_wait_nanos": 2317111,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19336,
+ "lookup_base_count": 23,
+ "lookup_count": 40290,
+ "lookup_delta_count": 7192,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6780,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14258,
+ "path_cache_hits": 26031,
+ "path_cache_misses": 13426,
+ "path_component_count": 32905,
+ "path_resolution_count": 7119,
+ "readdir_count": 1,
+ "readdir_plus_count": 11,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2182300
+ },
+ "phase": "clone",
+ "seq": 1
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 2,
+ "agentfs_batcher_commit_latency_ns_total": 4446084,
+ "agentfs_batcher_commit_txns": 9,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 5,
+ "agentfs_batcher_drains_timer": 2,
+ "agentfs_batcher_enqueues": 9,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 14,
+ "attr_cache_hits": 190,
+ "attr_cache_misses": 1721,
+ "base_fast_inode_invalidations": 51,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 10,
+ "chunk_read_queries": 6,
+ "chunk_write_chunks": 14,
+ "connection_create_count": 5,
+ "connection_reuse_count": 623,
+ "connection_wait_count": 628,
+ "connection_wait_nanos": 244739,
+ "dentry_cache_hits": 73,
+ "dentry_cache_misses": 56,
+ "fuse_adapter_attr_hits": 4622,
+ "fuse_adapter_attr_misses": 643,
+ "fuse_adapter_entry_hits": 2,
+ "fuse_adapter_entry_misses": 35,
+ "fuse_adapter_inval_entry_notifications": 10,
+ "fuse_adapter_inval_inode_notifications": 28,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 13,
+ "fuse_adapter_negative_misses": 35,
+ "fuse_callback_count": 5336,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 5,
+ "fuse_dispatch_parallel_tasks": 9,
+ "fuse_dispatch_wait_count": 9,
+ "fuse_dispatch_wait_nanos": 308456,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 738333,
+ "fuse_flush_count": 9,
+ "fuse_flush_ranges": 9,
+ "fuse_getattr_count": 5265,
+ "fuse_ino_file_resolutions": 3,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 50,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 9,
+ "fuse_op_create_nanos": 2240785,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 9,
+ "fuse_op_forget_nanos": 219679,
+ "fuse_op_getattr_count": 5265,
+ "fuse_op_getattr_nanos": 18198142,
+ "fuse_op_lookup_count": 50,
+ "fuse_op_lookup_nanos": 709873,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 15,
+ "fuse_op_other_nanos": 3009504,
+ "fuse_op_read_count": 8,
+ "fuse_op_read_nanos": 2282728,
+ "fuse_op_readdirplus_count": 4,
+ "fuse_op_readdirplus_nanos": 245755,
+ "fuse_op_setattr_count": 14,
+ "fuse_op_setattr_nanos": 4089726,
+ "fuse_op_write_count": 9,
+ "fuse_op_write_nanos": 232164,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 8,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 708,
+ "fuse_read_lane_wait_nanos": 69021,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 4,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 5374,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 591393,
+ "fuse_write_count": 9,
+ "fuse_write_lane_wait_count": 42,
+ "fuse_write_lane_wait_nanos": 159331,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 1314,
+ "lookup_base_count": 0,
+ "lookup_count": 164,
+ "lookup_delta_count": 60,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 34,
+ "negative_cache_invalidations": 26,
+ "negative_cache_misses": 148,
+ "negative_lookup_count": 86,
+ "path_cache_hits": 73,
+ "path_cache_misses": 56,
+ "path_component_count": 124,
+ "path_resolution_count": 45,
+ "readdir_count": 0,
+ "readdir_plus_count": 2,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "checkout",
+ "seq": 2
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 4,
+ "agentfs_batcher_commit_latency_ns_total": 3485568,
+ "agentfs_batcher_commit_txns": 4,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 2,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 6,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 4,
+ "attr_cache_hits": 21,
+ "attr_cache_misses": 37,
+ "base_fast_inode_invalidations": 24,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 20,
+ "chunk_read_queries": 12,
+ "chunk_write_chunks": 20,
+ "connection_create_count": 0,
+ "connection_reuse_count": 1017,
+ "connection_wait_count": 1017,
+ "connection_wait_nanos": 263391,
+ "dentry_cache_hits": 20,
+ "dentry_cache_misses": 570,
+ "fuse_adapter_attr_hits": 1856,
+ "fuse_adapter_attr_misses": 9,
+ "fuse_adapter_entry_hits": 2,
+ "fuse_adapter_entry_misses": 289,
+ "fuse_adapter_inval_entry_notifications": 4,
+ "fuse_adapter_inval_inode_notifications": 8,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 3,
+ "fuse_adapter_negative_misses": 289,
+ "fuse_callback_count": 3562,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 4,
+ "fuse_dispatch_wait_count": 4,
+ "fuse_dispatch_wait_nanos": 79239,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 1181458,
+ "fuse_flush_count": 6,
+ "fuse_flush_ranges": 6,
+ "fuse_getattr_count": 1865,
+ "fuse_ino_file_resolutions": 2,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 294,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 2,
+ "fuse_op_create_nanos": 795094,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 4,
+ "fuse_op_forget_nanos": 46407,
+ "fuse_op_getattr_count": 1865,
+ "fuse_op_getattr_nanos": 1932275,
+ "fuse_op_lookup_count": 294,
+ "fuse_op_lookup_nanos": 3514936,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 2762,
+ "fuse_op_other_nanos": 2360037,
+ "fuse_op_read_count": 12,
+ "fuse_op_read_nanos": 2833429,
+ "fuse_op_readdirplus_count": 1381,
+ "fuse_op_readdirplus_nanos": 40914314,
+ "fuse_op_setattr_count": 6,
+ "fuse_op_setattr_nanos": 5081612,
+ "fuse_op_write_count": 10,
+ "fuse_op_write_nanos": 1098920,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 12,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 998,
+ "fuse_read_lane_wait_nanos": 72023,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1381,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 6332,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 1181458,
+ "fuse_write_count": 10,
+ "fuse_write_lane_wait_count": 14,
+ "fuse_write_lane_wait_nanos": 3521,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 30,
+ "lookup_base_count": 0,
+ "lookup_count": 598,
+ "lookup_delta_count": 295,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7,
+ "negative_cache_invalidations": 4,
+ "negative_cache_misses": 873,
+ "negative_lookup_count": 578,
+ "path_cache_hits": 20,
+ "path_cache_misses": 570,
+ "path_component_count": 4606,
+ "path_resolution_count": 977,
+ "readdir_count": 0,
+ "readdir_plus_count": 688,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "status",
+ "seq": 3
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 1,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 10,
+ "chunk_read_queries": 6,
+ "chunk_write_chunks": 0,
+ "connection_create_count": 0,
+ "connection_reuse_count": 8,
+ "connection_wait_count": 8,
+ "connection_wait_nanos": 6243,
+ "dentry_cache_hits": 1,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 69,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 1,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 1,
+ "fuse_callback_count": 76,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 69,
+ "fuse_ino_file_resolutions": 1,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 1,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 69,
+ "fuse_op_getattr_nanos": 76036,
+ "fuse_op_lookup_count": 1,
+ "fuse_op_lookup_nanos": 25596,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 6,
+ "fuse_op_read_nanos": 986609,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 6,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 2,
+ "fuse_read_lane_wait_nanos": 609,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 76,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 2,
+ "lookup_delta_count": 1,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 2,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 1,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "read_search",
+ "seq": 4
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 1196605,
+ "agentfs_batcher_commit_txns": 8,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 8,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 8,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 8,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 24,
+ "base_fast_inode_invalidations": 16,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create_count": 0,
+ "connection_reuse_count": 32,
+ "connection_wait_count": 32,
+ "connection_wait_nanos": 11473,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 16,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 24,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 6398,
+ "fuse_flush_count": 8,
+ "fuse_flush_ranges": 8,
+ "fuse_getattr_count": 16,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 16,
+ "fuse_op_getattr_nanos": 28995,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 8,
+ "fuse_op_other_nanos": 1489396,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_setattr_count": 8,
+ "fuse_op_setattr_nanos": 2161602,
+ "fuse_op_write_count": 8,
+ "fuse_op_write_nanos": 465794,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 8,
+ "fuse_read_lane_wait_nanos": 1070,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 40,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 6398,
+ "fuse_write_count": 8,
+ "fuse_write_lane_wait_count": 8,
+ "fuse_write_lane_wait_nanos": 1782,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 16,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 8,
+ "wal_checkpoint_nanos": 1363353
+ },
+ "phase": "edit",
+ "seq": 5
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create_count": 0,
+ "connection_reuse_count": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 1149,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 16,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 1165,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 1149,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 16,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 1149,
+ "fuse_op_getattr_nanos": 653522,
+ "fuse_op_lookup_count": 16,
+ "fuse_op_lookup_nanos": 15535,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 12,
+ "fuse_op_other_nanos": 6013,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 1177,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 16,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "diff",
+ "seq": 6
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 3,
+ "attr_cache_misses": 2,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 1,
+ "chunk_read_queries": 1,
+ "chunk_write_chunks": 0,
+ "connection_create_count": 0,
+ "connection_reuse_count": 15,
+ "connection_wait_count": 15,
+ "connection_wait_nanos": 11914,
+ "dentry_cache_hits": 4,
+ "dentry_cache_misses": 2,
+ "fuse_adapter_attr_hits": 44,
+ "fuse_adapter_attr_misses": 1,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 4,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 244,
+ "fuse_adapter_negative_misses": 4,
+ "fuse_callback_count": 313,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 45,
+ "fuse_ino_file_resolutions": 1,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 248,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 45,
+ "fuse_op_getattr_nanos": 73185,
+ "fuse_op_lookup_count": 248,
+ "fuse_op_lookup_nanos": 318435,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 36,
+ "fuse_op_other_nanos": 12828,
+ "fuse_op_read_count": 2,
+ "fuse_op_read_nanos": 610349,
+ "fuse_op_readdirplus_count": 18,
+ "fuse_op_readdirplus_nanos": 515792,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 2,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 15,
+ "fuse_read_lane_wait_nanos": 2854,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 18,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 349,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 2,
+ "lookup_base_count": 0,
+ "lookup_count": 8,
+ "lookup_delta_count": 4,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 244,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 9,
+ "negative_lookup_count": 2,
+ "path_cache_hits": 4,
+ "path_cache_misses": 2,
+ "path_component_count": 42,
+ "path_resolution_count": 10,
+ "readdir_count": 0,
+ "readdir_plus_count": 9,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "fsck",
+ "seq": 7
+ }
+ ]
+ },
+ "profile_counters": {
+ "last_by_source": {
+ "agentfs": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 897115363,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4694,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26137,
+ "attr_cache_misses": 30837,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32901,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 11955194,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7847,
+ "fuse_adapter_attr_misses": 5587,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5561,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32259,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 1293359,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13434,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12311,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 620972986,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 1543083,
+ "fuse_op_getattr_count": 13434,
+ "fuse_op_getattr_nanos": 79754873,
+ "fuse_op_lookup_count": 12311,
+ "fuse_op_lookup_nanos": 153491894,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 127907875,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34287804,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 42590952,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1251967469,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 30933647,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17885,
+ "fuse_read_lane_wait_nanos": 2068462,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45354,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 2483186,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20698,
+ "lookup_base_count": 23,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7552,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7081,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37677,
+ "path_resolution_count": 8151,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 3828351
+ },
+ "fuse_session": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 897115363,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4694,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26137,
+ "attr_cache_misses": 30837,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32901,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 11955194,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7847,
+ "fuse_adapter_attr_misses": 5587,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5561,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32259,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 1293359,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13434,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12311,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 620972986,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 1543083,
+ "fuse_op_getattr_count": 13434,
+ "fuse_op_getattr_nanos": 79754873,
+ "fuse_op_lookup_count": 12311,
+ "fuse_op_lookup_nanos": 153491894,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 127907875,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34287804,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 42590952,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1251967469,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 30933647,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17885,
+ "fuse_read_lane_wait_nanos": 2068462,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45354,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 2483186,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20698,
+ "lookup_base_count": 23,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7552,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7081,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37677,
+ "path_resolution_count": 8151,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 3828351
+ },
+ "phase-checkpoint-1": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 887987106,
+ "agentfs_batcher_commit_txns": 4783,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4679,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4731,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29053,
+ "base_fast_inode_invalidations": 15028,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 969,
+ "connection_create_count": 2,
+ "connection_reuse_count": 31203,
+ "connection_wait_count": 31205,
+ "connection_wait_nanos": 11406857,
+ "dentry_cache_hits": 26031,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 91,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5285,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21783,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 36,
+ "fuse_dispatch_wait_count": 36,
+ "fuse_dispatch_wait_nanos": 905664,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52495943,
+ "fuse_flush_count": 4731,
+ "fuse_flush_ranges": 4731,
+ "fuse_getattr_count": 5025,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11702,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 617937107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 33,
+ "fuse_op_forget_nanos": 1276997,
+ "fuse_op_getattr_count": 5025,
+ "fuse_op_getattr_nanos": 58792718,
+ "fuse_op_lookup_count": 11702,
+ "fuse_op_lookup_nanos": 148907519,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 121030097,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 27574689,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 915091,
+ "fuse_op_setattr_count": 4748,
+ "fuse_op_setattr_nanos": 1240634529,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 29136769,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 2,
+ "fuse_read_lane_wait_count": 16154,
+ "fuse_read_lane_wait_nanos": 1922885,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32006,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10204,
+ "fuse_write_lane_wait_nanos": 2317111,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19336,
+ "lookup_base_count": 23,
+ "lookup_count": 40290,
+ "lookup_delta_count": 7192,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6780,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14258,
+ "path_cache_hits": 26031,
+ "path_cache_misses": 13426,
+ "path_component_count": 32905,
+ "path_resolution_count": 7119,
+ "readdir_count": 1,
+ "readdir_plus_count": 11,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2182300
+ },
+ "phase-checkpoint-2": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 892433190,
+ "agentfs_batcher_commit_txns": 4792,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4684,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9399,
+ "attr_cache_hits": 26112,
+ "attr_cache_misses": 30774,
+ "base_fast_inode_invalidations": 15079,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 983,
+ "connection_create_count": 7,
+ "connection_reuse_count": 31826,
+ "connection_wait_count": 31833,
+ "connection_wait_nanos": 11651596,
+ "dentry_cache_hits": 26104,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4713,
+ "fuse_adapter_attr_misses": 5577,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5298,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27119,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 45,
+ "fuse_dispatch_wait_count": 45,
+ "fuse_dispatch_wait_nanos": 1214120,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10290,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11752,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 620177892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 42,
+ "fuse_op_forget_nanos": 1496676,
+ "fuse_op_getattr_count": 10290,
+ "fuse_op_getattr_nanos": 76990860,
+ "fuse_op_lookup_count": 11752,
+ "fuse_op_lookup_nanos": 149617392,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 799,
+ "fuse_op_other_nanos": 124039601,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 29857417,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 1160846,
+ "fuse_op_setattr_count": 4762,
+ "fuse_op_setattr_nanos": 1244724255,
+ "fuse_op_write_count": 4829,
+ "fuse_op_write_nanos": 29368933,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 16862,
+ "fuse_read_lane_wait_nanos": 1991906,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37380,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4829,
+ "fuse_write_lane_wait_count": 10246,
+ "fuse_write_lane_wait_nanos": 2476442,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20650,
+ "lookup_base_count": 23,
+ "lookup_count": 40454,
+ "lookup_delta_count": 7252,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6814,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14344,
+ "path_cache_hits": 26104,
+ "path_cache_misses": 13482,
+ "path_component_count": 33029,
+ "path_resolution_count": 7164,
+ "readdir_count": 1,
+ "readdir_plus_count": 13,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2182300
+ },
+ "phase-checkpoint-3": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 895918758,
+ "agentfs_batcher_commit_txns": 4796,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4686,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26133,
+ "attr_cache_misses": 30811,
+ "base_fast_inode_invalidations": 15103,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32843,
+ "connection_wait_count": 32850,
+ "connection_wait_nanos": 11914987,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6569,
+ "fuse_adapter_attr_misses": 5586,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5301,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30681,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 1293359,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 12155,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12046,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 620972986,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 1543083,
+ "fuse_op_getattr_count": 12155,
+ "fuse_op_getattr_nanos": 78923135,
+ "fuse_op_lookup_count": 12046,
+ "fuse_op_lookup_nanos": 153132328,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 126399638,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 32690846,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 42075160,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1249805867,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 30467853,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17860,
+ "fuse_read_lane_wait_nanos": 2063929,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43712,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 2479963,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20680,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6821,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2182300
+ },
+ "phase-checkpoint-4": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 895918758,
+ "agentfs_batcher_commit_txns": 4796,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4686,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26134,
+ "attr_cache_misses": 30811,
+ "base_fast_inode_invalidations": 15103,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32851,
+ "connection_wait_count": 32858,
+ "connection_wait_nanos": 11921230,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6638,
+ "fuse_adapter_attr_misses": 5586,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5301,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30757,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 1293359,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 12224,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12047,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 620972986,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 1543083,
+ "fuse_op_getattr_count": 12224,
+ "fuse_op_getattr_nanos": 78999171,
+ "fuse_op_lookup_count": 12047,
+ "fuse_op_lookup_nanos": 153157924,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 126399638,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 33677455,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 42075160,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1249805867,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 30467853,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17862,
+ "fuse_read_lane_wait_nanos": 2064538,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43788,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 2479963,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20680,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6821,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2182300
+ },
+ "phase-checkpoint-5": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 897115363,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4694,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26134,
+ "attr_cache_misses": 30835,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32883,
+ "connection_wait_count": 32890,
+ "connection_wait_nanos": 11932703,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6654,
+ "fuse_adapter_attr_misses": 5586,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5301,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30781,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 1293359,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12240,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12047,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 620972986,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 1543083,
+ "fuse_op_getattr_count": 12240,
+ "fuse_op_getattr_nanos": 79028166,
+ "fuse_op_lookup_count": 12047,
+ "fuse_op_lookup_nanos": 153157924,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 3569,
+ "fuse_op_other_nanos": 127889034,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 33677455,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 42075160,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1251967469,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 30933647,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17870,
+ "fuse_read_lane_wait_nanos": 2065608,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43828,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 2481745,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20696,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6821,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 3545653
+ },
+ "phase-checkpoint-6": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 897115363,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4694,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26134,
+ "attr_cache_misses": 30835,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32883,
+ "connection_wait_count": 32890,
+ "connection_wait_nanos": 11932703,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7803,
+ "fuse_adapter_attr_misses": 5586,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5317,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 31946,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 1293359,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13389,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12063,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 620972986,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 1543083,
+ "fuse_op_getattr_count": 13389,
+ "fuse_op_getattr_nanos": 79681688,
+ "fuse_op_lookup_count": 12063,
+ "fuse_op_lookup_nanos": 153173459,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 3581,
+ "fuse_op_other_nanos": 127895047,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 33677455,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 42075160,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1251967469,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 30933647,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17870,
+ "fuse_read_lane_wait_nanos": 2065608,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45005,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 2481745,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20696,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6837,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 3545653
+ },
+ "phase-checkpoint-7": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 897115363,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4694,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26137,
+ "attr_cache_misses": 30837,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32898,
+ "connection_wait_count": 32905,
+ "connection_wait_nanos": 11944617,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7847,
+ "fuse_adapter_attr_misses": 5587,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5561,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32259,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 1293359,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13434,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12311,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 620972986,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 1543083,
+ "fuse_op_getattr_count": 13434,
+ "fuse_op_getattr_nanos": 79754873,
+ "fuse_op_lookup_count": 12311,
+ "fuse_op_lookup_nanos": 153491894,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 127907875,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34287804,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 42590952,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1251967469,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 30933647,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17885,
+ "fuse_read_lane_wait_nanos": 2068462,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45354,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 2481745,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20698,
+ "lookup_base_count": 23,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7552,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7081,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37677,
+ "path_resolution_count": 8151,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 3545653
+ },
+ "run_parent": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 897115363,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4694,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26137,
+ "attr_cache_misses": 30837,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32901,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 11955194,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7847,
+ "fuse_adapter_attr_misses": 5587,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5561,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32259,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 1293359,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13434,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12311,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 620972986,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 1543083,
+ "fuse_op_getattr_count": 13434,
+ "fuse_op_getattr_nanos": 79754873,
+ "fuse_op_lookup_count": 12311,
+ "fuse_op_lookup_nanos": 153491894,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 127907875,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34287804,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 42590952,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1251967469,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 30933647,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17885,
+ "fuse_read_lane_wait_nanos": 2068462,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45354,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 2483186,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20698,
+ "lookup_base_count": 23,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7552,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7081,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37677,
+ "path_resolution_count": 8151,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 3828351
+ }
+ },
+ "max_counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 897115363,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4694,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26137,
+ "attr_cache_misses": 30837,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32901,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 11955194,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7847,
+ "fuse_adapter_attr_misses": 5587,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5561,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32259,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 1293359,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13434,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12311,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 620972986,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 1543083,
+ "fuse_op_getattr_count": 13434,
+ "fuse_op_getattr_nanos": 79754873,
+ "fuse_op_lookup_count": 12311,
+ "fuse_op_lookup_nanos": 153491894,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 127907875,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34287804,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 42590952,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1251967469,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 30933647,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17885,
+ "fuse_read_lane_wait_nanos": 2068462,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45354,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 2483186,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20698,
+ "lookup_base_count": 23,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7552,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7081,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37677,
+ "path_resolution_count": 8151,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 3828351
+ },
+ "summary_count": 10
+ },
+ "profile_enabled": true,
+ "profile_summary_count": 10,
+ "session": "git-workload-5f9c17332ed2467e865db70fa7e5dded"
+ },
+ "agentfs_overlay": {
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 887987106,
+ "agentfs_batcher_commit_txns": 4783,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4679,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4731,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29053,
+ "base_fast_inode_invalidations": 15028,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 969,
+ "connection_create_count": 2,
+ "connection_reuse_count": 31203,
+ "connection_wait_count": 31205,
+ "connection_wait_nanos": 11406857,
+ "dentry_cache_hits": 26031,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 91,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5285,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21783,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 36,
+ "fuse_dispatch_wait_count": 36,
+ "fuse_dispatch_wait_nanos": 905664,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52495943,
+ "fuse_flush_count": 4731,
+ "fuse_flush_ranges": 4731,
+ "fuse_getattr_count": 5025,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11702,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 617937107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 33,
+ "fuse_op_forget_nanos": 1276997,
+ "fuse_op_getattr_count": 5025,
+ "fuse_op_getattr_nanos": 58792718,
+ "fuse_op_lookup_count": 11702,
+ "fuse_op_lookup_nanos": 148907519,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 121030097,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 27574689,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 915091,
+ "fuse_op_setattr_count": 4748,
+ "fuse_op_setattr_nanos": 1240634529,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 29136769,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 2,
+ "fuse_read_lane_wait_count": 16154,
+ "fuse_read_lane_wait_nanos": 1922885,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32006,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10204,
+ "fuse_write_lane_wait_nanos": 2317111,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19336,
+ "lookup_base_count": 23,
+ "lookup_count": 40290,
+ "lookup_delta_count": 7192,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6780,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14258,
+ "path_cache_hits": 26031,
+ "path_cache_misses": 13426,
+ "path_component_count": 32905,
+ "path_resolution_count": 7119,
+ "readdir_count": 1,
+ "readdir_plus_count": 11,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2182300
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-1"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 892433190,
+ "agentfs_batcher_commit_txns": 4792,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4684,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9399,
+ "attr_cache_hits": 26112,
+ "attr_cache_misses": 30774,
+ "base_fast_inode_invalidations": 15079,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 983,
+ "connection_create_count": 7,
+ "connection_reuse_count": 31826,
+ "connection_wait_count": 31833,
+ "connection_wait_nanos": 11651596,
+ "dentry_cache_hits": 26104,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4713,
+ "fuse_adapter_attr_misses": 5577,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5298,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27119,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 45,
+ "fuse_dispatch_wait_count": 45,
+ "fuse_dispatch_wait_nanos": 1214120,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10290,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11752,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 620177892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 42,
+ "fuse_op_forget_nanos": 1496676,
+ "fuse_op_getattr_count": 10290,
+ "fuse_op_getattr_nanos": 76990860,
+ "fuse_op_lookup_count": 11752,
+ "fuse_op_lookup_nanos": 149617392,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 799,
+ "fuse_op_other_nanos": 124039601,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 29857417,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 1160846,
+ "fuse_op_setattr_count": 4762,
+ "fuse_op_setattr_nanos": 1244724255,
+ "fuse_op_write_count": 4829,
+ "fuse_op_write_nanos": 29368933,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 16862,
+ "fuse_read_lane_wait_nanos": 1991906,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37380,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4829,
+ "fuse_write_lane_wait_count": 10246,
+ "fuse_write_lane_wait_nanos": 2476442,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20650,
+ "lookup_base_count": 23,
+ "lookup_count": 40454,
+ "lookup_delta_count": 7252,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6814,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14344,
+ "path_cache_hits": 26104,
+ "path_cache_misses": 13482,
+ "path_component_count": 33029,
+ "path_resolution_count": 7164,
+ "readdir_count": 1,
+ "readdir_plus_count": 13,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2182300
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-2"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 895918758,
+ "agentfs_batcher_commit_txns": 4796,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4686,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26133,
+ "attr_cache_misses": 30811,
+ "base_fast_inode_invalidations": 15103,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32843,
+ "connection_wait_count": 32850,
+ "connection_wait_nanos": 11914987,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6569,
+ "fuse_adapter_attr_misses": 5586,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5301,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30681,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 1293359,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 12155,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12046,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 620972986,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 1543083,
+ "fuse_op_getattr_count": 12155,
+ "fuse_op_getattr_nanos": 78923135,
+ "fuse_op_lookup_count": 12046,
+ "fuse_op_lookup_nanos": 153132328,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 126399638,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 32690846,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 42075160,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1249805867,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 30467853,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17860,
+ "fuse_read_lane_wait_nanos": 2063929,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43712,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 2479963,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20680,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6821,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2182300
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-3"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 895918758,
+ "agentfs_batcher_commit_txns": 4796,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4686,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26134,
+ "attr_cache_misses": 30811,
+ "base_fast_inode_invalidations": 15103,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32851,
+ "connection_wait_count": 32858,
+ "connection_wait_nanos": 11921230,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6638,
+ "fuse_adapter_attr_misses": 5586,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5301,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30757,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 1293359,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 12224,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12047,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 620972986,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 1543083,
+ "fuse_op_getattr_count": 12224,
+ "fuse_op_getattr_nanos": 78999171,
+ "fuse_op_lookup_count": 12047,
+ "fuse_op_lookup_nanos": 153157924,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 126399638,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 33677455,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 42075160,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1249805867,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 30467853,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17862,
+ "fuse_read_lane_wait_nanos": 2064538,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43788,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 2479963,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20680,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6821,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2182300
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-4"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 897115363,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4694,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26134,
+ "attr_cache_misses": 30835,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32883,
+ "connection_wait_count": 32890,
+ "connection_wait_nanos": 11932703,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6654,
+ "fuse_adapter_attr_misses": 5586,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5301,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30781,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 1293359,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12240,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12047,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 620972986,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 1543083,
+ "fuse_op_getattr_count": 12240,
+ "fuse_op_getattr_nanos": 79028166,
+ "fuse_op_lookup_count": 12047,
+ "fuse_op_lookup_nanos": 153157924,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 3569,
+ "fuse_op_other_nanos": 127889034,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 33677455,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 42075160,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1251967469,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 30933647,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17870,
+ "fuse_read_lane_wait_nanos": 2065608,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43828,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 2481745,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20696,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6821,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 3545653
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-5"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 897115363,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4694,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26134,
+ "attr_cache_misses": 30835,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32883,
+ "connection_wait_count": 32890,
+ "connection_wait_nanos": 11932703,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7803,
+ "fuse_adapter_attr_misses": 5586,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5317,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 31946,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 1293359,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13389,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12063,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 620972986,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 1543083,
+ "fuse_op_getattr_count": 13389,
+ "fuse_op_getattr_nanos": 79681688,
+ "fuse_op_lookup_count": 12063,
+ "fuse_op_lookup_nanos": 153173459,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 3581,
+ "fuse_op_other_nanos": 127895047,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 33677455,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 42075160,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1251967469,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 30933647,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17870,
+ "fuse_read_lane_wait_nanos": 2065608,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45005,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 2481745,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20696,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6837,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 3545653
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-6"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 897115363,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4694,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26137,
+ "attr_cache_misses": 30837,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32898,
+ "connection_wait_count": 32905,
+ "connection_wait_nanos": 11944617,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7847,
+ "fuse_adapter_attr_misses": 5587,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5561,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32259,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 1293359,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13434,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12311,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 620972986,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 1543083,
+ "fuse_op_getattr_count": 13434,
+ "fuse_op_getattr_nanos": 79754873,
+ "fuse_op_lookup_count": 12311,
+ "fuse_op_lookup_nanos": 153491894,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 127907875,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34287804,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 42590952,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1251967469,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 30933647,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17885,
+ "fuse_read_lane_wait_nanos": 2068462,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45354,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 2481745,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20698,
+ "lookup_base_count": 23,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7552,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7081,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37677,
+ "path_resolution_count": 8151,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 3545653
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-7"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 897115363,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4694,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26137,
+ "attr_cache_misses": 30837,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32901,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 11955194,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7847,
+ "fuse_adapter_attr_misses": 5587,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5561,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32259,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 1293359,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13434,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12311,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 620972986,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 1543083,
+ "fuse_op_getattr_count": 13434,
+ "fuse_op_getattr_nanos": 79754873,
+ "fuse_op_lookup_count": 12311,
+ "fuse_op_lookup_nanos": 153491894,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 127907875,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34287804,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 42590952,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1251967469,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 30933647,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17885,
+ "fuse_read_lane_wait_nanos": 2068462,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45354,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 2483186,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20698,
+ "lookup_base_count": 23,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7552,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7081,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37677,
+ "path_resolution_count": 8151,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 3828351
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "agentfs"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 897115363,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4694,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26137,
+ "attr_cache_misses": 30837,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32901,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 11955194,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7847,
+ "fuse_adapter_attr_misses": 5587,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5561,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32259,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 1293359,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13434,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12311,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 620972986,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 1543083,
+ "fuse_op_getattr_count": 13434,
+ "fuse_op_getattr_nanos": 79754873,
+ "fuse_op_lookup_count": 12311,
+ "fuse_op_lookup_nanos": 153491894,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 127907875,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34287804,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 42590952,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1251967469,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 30933647,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17885,
+ "fuse_read_lane_wait_nanos": 2068462,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45354,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 2483186,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20698,
+ "lookup_base_count": 23,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7552,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7081,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37677,
+ "path_resolution_count": 8151,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 3828351
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "fuse_session"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 897115363,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4694,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26137,
+ "attr_cache_misses": 30837,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32901,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 11955194,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7847,
+ "fuse_adapter_attr_misses": 5587,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5561,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32259,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 1293359,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13434,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12311,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 620972986,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 1543083,
+ "fuse_op_getattr_count": 13434,
+ "fuse_op_getattr_nanos": 79754873,
+ "fuse_op_lookup_count": 12311,
+ "fuse_op_lookup_nanos": 153491894,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 127907875,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34287804,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 42590952,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1251967469,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 30933647,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17885,
+ "fuse_read_lane_wait_nanos": 2068462,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45354,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 2483186,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20698,
+ "lookup_base_count": 23,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7552,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7081,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37677,
+ "path_resolution_count": 8151,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 3828351
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "run_parent"
+ }
+ ],
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "run",
+ "--session",
+ "git-workload-5f9c17332ed2467e865db70fa7e5dded",
+ "--no-default-allows",
+ "--",
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-85r78ug0/agentfs-base",
+ "duration_seconds": 4.418804612010717,
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 887987106,
+ "agentfs_batcher_commit_txns": 4783,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4679,
+ "agentfs_batcher_drains_timer": 17,
+ "agentfs_batcher_enqueues": 4731,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29053,
+ "base_fast_inode_invalidations": 15028,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 969,
+ "connection_create_count": 2,
+ "connection_reuse_count": 31203,
+ "connection_wait_count": 31205,
+ "connection_wait_nanos": 11406857,
+ "dentry_cache_hits": 26031,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 91,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5285,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21783,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 36,
+ "fuse_dispatch_wait_count": 36,
+ "fuse_dispatch_wait_nanos": 905664,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52495943,
+ "fuse_flush_count": 4731,
+ "fuse_flush_ranges": 4731,
+ "fuse_getattr_count": 5025,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11702,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 617937107,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 33,
+ "fuse_op_forget_nanos": 1276997,
+ "fuse_op_getattr_count": 5025,
+ "fuse_op_getattr_nanos": 58792718,
+ "fuse_op_lookup_count": 11702,
+ "fuse_op_lookup_nanos": 148907519,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 121030097,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 27574689,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 915091,
+ "fuse_op_setattr_count": 4748,
+ "fuse_op_setattr_nanos": 1240634529,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 29136769,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 2,
+ "fuse_read_lane_wait_count": 16154,
+ "fuse_read_lane_wait_nanos": 1922885,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32006,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10204,
+ "fuse_write_lane_wait_nanos": 2317111,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19336,
+ "lookup_base_count": 23,
+ "lookup_count": 40290,
+ "lookup_delta_count": 7192,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6780,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14258,
+ "path_cache_hits": 26031,
+ "path_cache_misses": 13426,
+ "path_component_count": 32905,
+ "path_resolution_count": 7119,
+ "readdir_count": 1,
+ "readdir_plus_count": 11,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2182300
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-1"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 892433190,
+ "agentfs_batcher_commit_txns": 4792,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4684,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9399,
+ "attr_cache_hits": 26112,
+ "attr_cache_misses": 30774,
+ "base_fast_inode_invalidations": 15079,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 983,
+ "connection_create_count": 7,
+ "connection_reuse_count": 31826,
+ "connection_wait_count": 31833,
+ "connection_wait_nanos": 11651596,
+ "dentry_cache_hits": 26104,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4713,
+ "fuse_adapter_attr_misses": 5577,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5298,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27119,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 45,
+ "fuse_dispatch_wait_count": 45,
+ "fuse_dispatch_wait_nanos": 1214120,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10290,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11752,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 620177892,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 42,
+ "fuse_op_forget_nanos": 1496676,
+ "fuse_op_getattr_count": 10290,
+ "fuse_op_getattr_nanos": 76990860,
+ "fuse_op_lookup_count": 11752,
+ "fuse_op_lookup_nanos": 149617392,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 799,
+ "fuse_op_other_nanos": 124039601,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 29857417,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 1160846,
+ "fuse_op_setattr_count": 4762,
+ "fuse_op_setattr_nanos": 1244724255,
+ "fuse_op_write_count": 4829,
+ "fuse_op_write_nanos": 29368933,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 16862,
+ "fuse_read_lane_wait_nanos": 1991906,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37380,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4829,
+ "fuse_write_lane_wait_count": 10246,
+ "fuse_write_lane_wait_nanos": 2476442,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20650,
+ "lookup_base_count": 23,
+ "lookup_count": 40454,
+ "lookup_delta_count": 7252,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6814,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14344,
+ "path_cache_hits": 26104,
+ "path_cache_misses": 13482,
+ "path_component_count": 33029,
+ "path_resolution_count": 7164,
+ "readdir_count": 1,
+ "readdir_plus_count": 13,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2182300
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-2"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 895918758,
+ "agentfs_batcher_commit_txns": 4796,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4686,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26133,
+ "attr_cache_misses": 30811,
+ "base_fast_inode_invalidations": 15103,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32843,
+ "connection_wait_count": 32850,
+ "connection_wait_nanos": 11914987,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6569,
+ "fuse_adapter_attr_misses": 5586,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5301,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30681,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 1293359,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 12155,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12046,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 620972986,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 1543083,
+ "fuse_op_getattr_count": 12155,
+ "fuse_op_getattr_nanos": 78923135,
+ "fuse_op_lookup_count": 12046,
+ "fuse_op_lookup_nanos": 153132328,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 126399638,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 32690846,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 42075160,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1249805867,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 30467853,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17860,
+ "fuse_read_lane_wait_nanos": 2063929,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43712,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 2479963,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20680,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6821,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2182300
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-3"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 895918758,
+ "agentfs_batcher_commit_txns": 4796,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4686,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26134,
+ "attr_cache_misses": 30811,
+ "base_fast_inode_invalidations": 15103,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32851,
+ "connection_wait_count": 32858,
+ "connection_wait_nanos": 11921230,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6638,
+ "fuse_adapter_attr_misses": 5586,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5301,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30757,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 1293359,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 12224,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12047,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 620972986,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 1543083,
+ "fuse_op_getattr_count": 12224,
+ "fuse_op_getattr_nanos": 78999171,
+ "fuse_op_lookup_count": 12047,
+ "fuse_op_lookup_nanos": 153157924,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 126399638,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 33677455,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 42075160,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1249805867,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 30467853,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17862,
+ "fuse_read_lane_wait_nanos": 2064538,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43788,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 2479963,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20680,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6821,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2182300
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-4"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 897115363,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4694,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26134,
+ "attr_cache_misses": 30835,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32883,
+ "connection_wait_count": 32890,
+ "connection_wait_nanos": 11932703,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6654,
+ "fuse_adapter_attr_misses": 5586,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5301,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30781,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 1293359,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12240,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12047,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 620972986,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 1543083,
+ "fuse_op_getattr_count": 12240,
+ "fuse_op_getattr_nanos": 79028166,
+ "fuse_op_lookup_count": 12047,
+ "fuse_op_lookup_nanos": 153157924,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 3569,
+ "fuse_op_other_nanos": 127889034,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 33677455,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 42075160,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1251967469,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 30933647,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17870,
+ "fuse_read_lane_wait_nanos": 2065608,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43828,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 2481745,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20696,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6821,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 3545653
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-5"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 897115363,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4694,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26134,
+ "attr_cache_misses": 30835,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32883,
+ "connection_wait_count": 32890,
+ "connection_wait_nanos": 11932703,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7803,
+ "fuse_adapter_attr_misses": 5586,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5317,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 31946,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 1293359,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13389,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12063,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 620972986,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 1543083,
+ "fuse_op_getattr_count": 13389,
+ "fuse_op_getattr_nanos": 79681688,
+ "fuse_op_lookup_count": 12063,
+ "fuse_op_lookup_nanos": 153173459,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 3581,
+ "fuse_op_other_nanos": 127895047,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 33677455,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 42075160,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1251967469,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 30933647,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17870,
+ "fuse_read_lane_wait_nanos": 2065608,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45005,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 2481745,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20696,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6837,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37635,
+ "path_resolution_count": 8141,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 3545653
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-6"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 897115363,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4694,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26137,
+ "attr_cache_misses": 30837,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32898,
+ "connection_wait_count": 32905,
+ "connection_wait_nanos": 11944617,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7847,
+ "fuse_adapter_attr_misses": 5587,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5561,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32259,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 1293359,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13434,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12311,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 620972986,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 1543083,
+ "fuse_op_getattr_count": 13434,
+ "fuse_op_getattr_nanos": 79754873,
+ "fuse_op_lookup_count": 12311,
+ "fuse_op_lookup_nanos": 153491894,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 127907875,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34287804,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 42590952,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1251967469,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 30933647,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17885,
+ "fuse_read_lane_wait_nanos": 2068462,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45354,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 2481745,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20698,
+ "lookup_base_count": 23,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7552,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7081,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37677,
+ "path_resolution_count": 8151,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 3545653
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-7"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 897115363,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4694,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26137,
+ "attr_cache_misses": 30837,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32901,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 11955194,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7847,
+ "fuse_adapter_attr_misses": 5587,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5561,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32259,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 1293359,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13434,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12311,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 620972986,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 1543083,
+ "fuse_op_getattr_count": 13434,
+ "fuse_op_getattr_nanos": 79754873,
+ "fuse_op_lookup_count": 12311,
+ "fuse_op_lookup_nanos": 153491894,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 127907875,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34287804,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 42590952,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1251967469,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 30933647,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17885,
+ "fuse_read_lane_wait_nanos": 2068462,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45354,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 2483186,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20698,
+ "lookup_base_count": 23,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7552,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7081,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37677,
+ "path_resolution_count": 8151,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 3828351
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "agentfs"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 897115363,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4694,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26137,
+ "attr_cache_misses": 30837,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32901,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 11955194,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7847,
+ "fuse_adapter_attr_misses": 5587,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5561,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32259,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 1293359,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13434,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12311,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 620972986,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 1543083,
+ "fuse_op_getattr_count": 13434,
+ "fuse_op_getattr_nanos": 79754873,
+ "fuse_op_lookup_count": 12311,
+ "fuse_op_lookup_nanos": 153491894,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 127907875,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34287804,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 42590952,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1251967469,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 30933647,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17885,
+ "fuse_read_lane_wait_nanos": 2068462,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45354,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 2483186,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20698,
+ "lookup_base_count": 23,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7552,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7081,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37677,
+ "path_resolution_count": 8151,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 3828351
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "fuse_session"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 897115363,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4694,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1347584,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26137,
+ "attr_cache_misses": 30837,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32901,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 11955194,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7847,
+ "fuse_adapter_attr_misses": 5587,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5561,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32259,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 49,
+ "fuse_dispatch_wait_count": 49,
+ "fuse_dispatch_wait_nanos": 1293359,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13434,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12311,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 620972986,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1824,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 1543083,
+ "fuse_op_getattr_count": 13434,
+ "fuse_op_getattr_nanos": 79754873,
+ "fuse_op_lookup_count": 12311,
+ "fuse_op_lookup_nanos": 153491894,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1813,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 127907875,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 34287804,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 42590952,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1251967469,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 30933647,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17885,
+ "fuse_read_lane_wait_nanos": 2068462,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45354,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 2483186,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20698,
+ "lookup_base_count": 23,
+ "lookup_count": 41062,
+ "lookup_delta_count": 7552,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7081,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37677,
+ "path_resolution_count": 8151,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 3828351
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "run_parent"
+ }
+ ],
+ "returncode": 0,
+ "stderr_bytes": 40604,
+ "stderr_tail": "4,\"agentfs_batcher_pending_max_bytes\":1347584,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9411,\"attr_cache_hits\":26134,\"attr_cache_misses\":30835,\"base_fast_inode_invalidations\":15119,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":267,\"chunk_read_queries\":122,\"chunk_write_chunks\":1003,\"connection_create_count\":7,\"connection_reuse_count\":32883,\"connection_wait_count\":32890,\"connection_wait_nanos\":11932703,\"dentry_cache_hits\":26125,\"dentry_cache_misses\":14052,\"fuse_adapter_attr_hits\":7803,\"fuse_adapter_attr_misses\":5586,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6734,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5317,\"fuse_adapter_negative_misses\":6734,\"fuse_callback_count\":31946,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":49,\"fuse_dispatch_wait_count\":49,\"fuse_dispatch_wait_nanos\":1293359,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13389,\"fuse_ino_file_resolutions\":26,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12063,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":620972986,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":1824,\"fuse_op_forget_count\":46,\"fuse_op_forget_nanos\":1543083,\"fuse_op_getattr_count\":13389,\"fuse_op_getattr_nanos\":79681688,\"fuse_op_lookup_count\":12063,\"fuse_op_lookup_nanos\":153173459,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1813,\"fuse_op_other_count\":3581,\"fuse_op_other_nanos\":127895047,\"fuse_op_read_count\":239,\"fuse_op_read_nanos\":33677455,\"fuse_op_readdirplus_count\":1407,\"fuse_op_readdirplus_nanos\":42075160,\"fuse_op_setattr_count\":4776,\"fuse_op_setattr_nanos\":1251967469,\"fuse_op_write_count\":4847,\"fuse_op_write_nanos\":30933647,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":239,\"fuse_read_lane_max_concurrent\":6,\"fuse_read_lane_wait_count\":17870,\"fuse_read_lane_wait_nanos\":2065608,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1407,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":45005,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4847,\"fuse_write_lane_wait_count\":10268,\"fuse_write_lane_wait_nanos\":2481745,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20696,\"lookup_base_count\":23,\"lookup_count\":41054,\"lookup_delta_count\":7548,\"lookup_whiteout_count\":0,\"negative_cache_hits\":6837,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46085,\"negative_lookup_count\":14922,\"path_cache_hits\":26125,\"path_cache_misses\":14052,\"path_component_count\":37635,\"path_resolution_count\":8141,\"readdir_count\":1,\"readdir_plus_count\":701,\"wal_checkpoint_count\":11,\"wal_checkpoint_nanos\":3545653},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"phase-checkpoint-6\"}\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":897115363,\"agentfs_batcher_commit_txns\":4804,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4694,\"agentfs_batcher_drains_timer\":19,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1347584,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9411,\"attr_cache_hits\":26137,\"attr_cache_misses\":30837,\"base_fast_inode_invalidations\":15119,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1003,\"connection_create_count\":7,\"connection_reuse_count\":32898,\"connection_wait_count\":32905,\"connection_wait_nanos\":11944617,\"dentry_cache_hits\":26129,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":7847,\"fuse_adapter_attr_misses\":5587,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5561,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":32259,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":49,\"fuse_dispatch_wait_count\":49,\"fuse_dispatch_wait_nanos\":1293359,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13434,\"fuse_ino_file_resolutions\":27,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12311,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":620972986,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":1824,\"fuse_op_forget_count\":46,\"fuse_op_forget_nanos\":1543083,\"fuse_op_getattr_count\":13434,\"fuse_op_getattr_nanos\":79754873,\"fuse_op_lookup_count\":12311,\"fuse_op_lookup_nanos\":153491894,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1813,\"fuse_op_other_count\":3617,\"fuse_op_other_nanos\":127907875,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":34287804,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":42590952,\"fuse_op_setattr_count\":4776,\"fuse_op_setattr_nanos\":1251967469,\"fuse_op_write_count\":4847,\"fuse_op_write_nanos\":30933647,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":6,\"fuse_read_lane_wait_count\":17885,\"fuse_read_lane_wait_nanos\":2068462,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":45354,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4847,\"fuse_write_lane_wait_count\":10268,\"fuse_write_lane_wait_nanos\":2481745,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20698,\"lookup_base_count\":23,\"lookup_count\":41062,\"lookup_delta_count\":7552,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7081,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14924,\"path_cache_hits\":26129,\"path_cache_misses\":14054,\"path_component_count\":37677,\"path_resolution_count\":8151,\"readdir_count\":1,\"readdir_plus_count\":710,\"wal_checkpoint_count\":11,\"wal_checkpoint_nanos\":3545653},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"phase-checkpoint-7\"}\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":897115363,\"agentfs_batcher_commit_txns\":4804,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4694,\"agentfs_batcher_drains_timer\":19,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1347584,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9411,\"attr_cache_hits\":26137,\"attr_cache_misses\":30837,\"base_fast_inode_invalidations\":15119,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1003,\"connection_create_count\":7,\"connection_reuse_count\":32901,\"connection_wait_count\":32908,\"connection_wait_nanos\":11955194,\"dentry_cache_hits\":26129,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":7847,\"fuse_adapter_attr_misses\":5587,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5561,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":32259,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":49,\"fuse_dispatch_wait_count\":49,\"fuse_dispatch_wait_nanos\":1293359,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13434,\"fuse_ino_file_resolutions\":27,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12311,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":620972986,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":1824,\"fuse_op_forget_count\":46,\"fuse_op_forget_nanos\":1543083,\"fuse_op_getattr_count\":13434,\"fuse_op_getattr_nanos\":79754873,\"fuse_op_lookup_count\":12311,\"fuse_op_lookup_nanos\":153491894,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1813,\"fuse_op_other_count\":3617,\"fuse_op_other_nanos\":127907875,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":34287804,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":42590952,\"fuse_op_setattr_count\":4776,\"fuse_op_setattr_nanos\":1251967469,\"fuse_op_write_count\":4847,\"fuse_op_write_nanos\":30933647,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":6,\"fuse_read_lane_wait_count\":17885,\"fuse_read_lane_wait_nanos\":2068462,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":45354,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4847,\"fuse_write_lane_wait_count\":10270,\"fuse_write_lane_wait_nanos\":2483186,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20698,\"lookup_base_count\":23,\"lookup_count\":41062,\"lookup_delta_count\":7552,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7081,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14924,\"path_cache_hits\":26129,\"path_cache_misses\":14054,\"path_component_count\":37677,\"path_resolution_count\":8151,\"readdir_count\":1,\"readdir_plus_count\":710,\"wal_checkpoint_count\":13,\"wal_checkpoint_nanos\":3828351},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"agentfs\"}\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":897115363,\"agentfs_batcher_commit_txns\":4804,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4694,\"agentfs_batcher_drains_timer\":19,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1347584,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9411,\"attr_cache_hits\":26137,\"attr_cache_misses\":30837,\"base_fast_inode_invalidations\":15119,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1003,\"connection_create_count\":7,\"connection_reuse_count\":32901,\"connection_wait_count\":32908,\"connection_wait_nanos\":11955194,\"dentry_cache_hits\":26129,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":7847,\"fuse_adapter_attr_misses\":5587,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5561,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":32259,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":49,\"fuse_dispatch_wait_count\":49,\"fuse_dispatch_wait_nanos\":1293359,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13434,\"fuse_ino_file_resolutions\":27,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12311,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":620972986,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":1824,\"fuse_op_forget_count\":46,\"fuse_op_forget_nanos\":1543083,\"fuse_op_getattr_count\":13434,\"fuse_op_getattr_nanos\":79754873,\"fuse_op_lookup_count\":12311,\"fuse_op_lookup_nanos\":153491894,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1813,\"fuse_op_other_count\":3617,\"fuse_op_other_nanos\":127907875,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":34287804,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":42590952,\"fuse_op_setattr_count\":4776,\"fuse_op_setattr_nanos\":1251967469,\"fuse_op_write_count\":4847,\"fuse_op_write_nanos\":30933647,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":6,\"fuse_read_lane_wait_count\":17885,\"fuse_read_lane_wait_nanos\":2068462,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":45354,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4847,\"fuse_write_lane_wait_count\":10270,\"fuse_write_lane_wait_nanos\":2483186,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20698,\"lookup_base_count\":23,\"lookup_count\":41062,\"lookup_delta_count\":7552,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7081,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14924,\"path_cache_hits\":26129,\"path_cache_misses\":14054,\"path_component_count\":37677,\"path_resolution_count\":8151,\"readdir_count\":1,\"readdir_plus_count\":710,\"wal_checkpoint_count\":13,\"wal_checkpoint_nanos\":3828351},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"fuse_session\"}\n\nSession: git-workload-5f9c17332ed2467e865db70fa7e5dded\n\nTo resume this session:\n agentfs run --session git-workload-5f9c17332ed2467e865db70fa7e5dded\n\nTo see what changed:\n agentfs diff git-workload-5f9c17332ed2467e865db70fa7e5dded\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":897115363,\"agentfs_batcher_commit_txns\":4804,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4694,\"agentfs_batcher_drains_timer\":19,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1347584,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9411,\"attr_cache_hits\":26137,\"attr_cache_misses\":30837,\"base_fast_inode_invalidations\":15119,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1003,\"connection_create_count\":7,\"connection_reuse_count\":32901,\"connection_wait_count\":32908,\"connection_wait_nanos\":11955194,\"dentry_cache_hits\":26129,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":7847,\"fuse_adapter_attr_misses\":5587,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5561,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":32259,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":49,\"fuse_dispatch_wait_count\":49,\"fuse_dispatch_wait_nanos\":1293359,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13434,\"fuse_ino_file_resolutions\":27,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12311,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":620972986,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":1824,\"fuse_op_forget_count\":46,\"fuse_op_forget_nanos\":1543083,\"fuse_op_getattr_count\":13434,\"fuse_op_getattr_nanos\":79754873,\"fuse_op_lookup_count\":12311,\"fuse_op_lookup_nanos\":153491894,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1813,\"fuse_op_other_count\":3617,\"fuse_op_other_nanos\":127907875,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":34287804,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":42590952,\"fuse_op_setattr_count\":4776,\"fuse_op_setattr_nanos\":1251967469,\"fuse_op_write_count\":4847,\"fuse_op_write_nanos\":30933647,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":6,\"fuse_read_lane_wait_count\":17885,\"fuse_read_lane_wait_nanos\":2068462,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":45354,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4847,\"fuse_write_lane_wait_count\":10270,\"fuse_write_lane_wait_nanos\":2483186,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20698,\"lookup_base_count\":23,\"lookup_count\":41062,\"lookup_delta_count\":7552,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7081,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14924,\"path_cache_hits\":26129,\"path_cache_misses\":14054,\"path_component_count\":37677,\"path_resolution_count\":8151,\"readdir_count\":1,\"readdir_plus_count\":710,\"wal_checkpoint_count\":13,\"wal_checkpoint_nanos\":3828351},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"run_parent\"}\n",
+ "stdout_bytes": 18918,
+ "stdout_tail": "2026-07-03T11:38:53.399295Z INFO agentfs::fuser::session: resolved FUSE dispatch mode: parallel workers=7 queue_capacity=28\n2026-07-03T11:38:53.399773Z INFO agentfs::fuse: advertising FUSE_OVER_IO_URING\n2026-07-03T11:38:53.399941Z INFO agentfs::fuser::uring: starting fuse-over-io_uring queues nr_queues=14 depth=4\n2026-07-03T11:38:54.767217Z WARN agentfs::fuser::request: Request RequestId(25785): Failed to send reply: No such file or directory (os error 2)\n2026-07-03T11:38:55.767213Z WARN agentfs::fuser::request: Request RequestId(46131): Failed to send reply: No such file or directory (os error 2)\n{\"branch_status\": \"## agentfs-benchmark\\n\", \"diff\": {\"changed_file_count\": 8, \"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.01879543399263639, \"patch_bytes\": 3282, \"patch_sha256\": \"51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc\", \"runs\": {\"name_only\": {\"argv\": [\"git\", \"diff\", \"--name-only\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-85r78ug0/agentfs-base/work\", \"duration_seconds\": 0.009126688994001597, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 144, \"stdout_tail\": \"docs/CLA.md\\ndocs/agents_md.md\\ndocs/authentication.md\\ndocs/config.md\\ndocs/contributing.md\\ndocs/example-config.md\\ndocs/exec.md\\ndocs/execpolicy.md\\n\"}, \"patch\": {\"argv\": [\"git\", \"diff\", \"--\", \".\"], \"cwd\": \"/tmp/agentfs-git-workload-85r78ug0/agentfs-base/work\", \"duration_seconds\": 0.0046758670068811625, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 3282, \"stdout_tail\": \"diff --git a/docs/CLA.md b/docs/CLA.md\\nindex 804f202..3495ac9 100644\\n--- a/docs/CLA.md\\n+++ b/docs/CLA.md\\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\\n This Agreement is governed by the laws of the **State of California**, USA,\\n excluding its conflict\\u2011of\\u2011laws rules. If any provision is held unenforceable,\\n the remaining provisions remain in force.\\n+\\n+AgentFS Git benchmark edit 00 for docs/CLA.md\\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\\nindex 3df0fac..b8b063d 100644\\n--- a/docs/agents_md.md\\n+++ b/docs/agents_md.md\\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\\n ## Hierarchical agents message\\n \\n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\\n+\\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\\ndiff --git a/docs/authentication.md b/docs/authentication.md\\nindex c307349..b3bc9dc 100644\\n--- a/docs/authentication.md\\n+++ b/docs/authentication.md\\n@@ -1,3 +1,5 @@\\n # Authentication\\n \\n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\\n+\\n+AgentFS Git benchmark edit 02 for docs/authentication.md\\ndiff --git a/docs/config.md b/docs/config.md\\nindex d35b0a8..030e278 100644\\n--- a/docs/config.md\\n+++ b/docs/config.md\\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\\n still allowing managed hooks from requirements and managed config layers. This\\n setting is only supported in `requirements.toml`; putting it in `config.toml`\\n does not enable managed-hooks-only mode.\\n+\\n+AgentFS Git benchmark edit 03 for docs/config.md\\ndiff --git a/docs/contributing.md b/docs/contributing.md\\nindex aeae1f1..b5a22ac 100644\\n--- a/docs/contributing.md\\n+++ b/docs/contributing.md\\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\\n ### Security & responsible AI\\n \\n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\\n+\\n+AgentFS Git benchmark edit 04 for docs/contributing.md\\ndiff --git a/docs/example-config.md b/docs/example-config.md\\nindex 84b1143..b09f835 100644\\n--- a/docs/example-config.md\\n+++ b/docs/example-config.md\\n@@ -1,3 +1,5 @@\\n # Sample configuration\\n \\n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\\n+\\n+AgentFS Git benchmark edit 05 for docs/example-config.md\\ndiff --git a/docs/exec.md b/docs/exec.md\\nindex 57e4323..a81da98 100644\\n--- a/docs/exec.md\\n+++ b/docs/exec.md\\n@@ -1,3 +1,5 @@\\n # Non-interactive mode\\n \\n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\\n+\\n+AgentFS Git benchmark edit 06 for docs/exec.md\\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\\nindex cafebb3..3b48afe 100644\\n--- a/docs/execpolicy.md\\n+++ b/docs/execpolicy.md\\n@@ -1,3 +1,5 @@\\n # Execution policy\\n \\n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\\n+\\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\\n\"}, \"stat\": {\"argv\": [\"git\", \"diff\", \"--stat\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-85r78ug0/agentfs-base/work\", \"duration_seconds\": 0.004955205004080199, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 283, \"stdout_tail\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}}, \"stat_stdout\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}, \"edits\": {\"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.005346574995201081, \"edits\": [{\"appended_bytes\": 47, \"path\": \"docs/CLA.md\", \"size_after\": 2106, \"size_before\": 2059}, {\"appended_bytes\": 53, \"path\": \"docs/agents_md.md\", \"size_after\": 462, \"size_before\": 409}, {\"appended_bytes\": 58, \"path\": \"docs/authentication.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 50, \"path\": \"docs/config.md\", \"size_after\": 776, \"size_before\": 726}, {\"appended_bytes\": 56, \"path\": \"docs/contributing.md\", \"size_after\": 6380, \"size_before\": 6324}, {\"appended_bytes\": 58, \"path\": \"docs/example-config.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 48, \"path\": \"docs/exec.md\", \"size_after\": 194, \"size_before\": 146}, {\"appended_bytes\": 54, \"path\": \"docs/execpolicy.md\", \"size_after\": 192, \"size_before\": 138}]}, \"fsck\": {\"ok\": true, \"ran\": true, \"run\": {\"argv\": [\"git\", \"fsck\", \"--strict\"], \"cwd\": \"/tmp/agentfs-git-workload-85r78ug0/agentfs-base/work\", \"duration_seconds\": 0.17578380899794865, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}, \"head_commit\": \"7d47056ea42636271ac020b86347fbbef49490aa\", \"initial_status\": \"\", \"phase_runs\": {\"checkout\": {\"argv\": [\"git\", \"checkout\", \"-B\", \"agentfs-benchmark\"], \"cwd\": \"/tmp/agentfs-git-workload-85r78ug0/agentfs-base/work\", \"duration_seconds\": 0.07431378299952485, \"returncode\": 0, \"stderr_bytes\": 45, \"stderr_tail\": \"Switched to a new branch 'agentfs-benchmark'\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"clone\": {\"argv\": [\"git\", \"clone\", \"--local\", \"--no-hardlinks\", \"/tmp/agentfs-git-workload-85r78ug0/agentfs-base/mirror.git\", \"/tmp/agentfs-git-workload-85r78ug0/agentfs-base/work\"], \"cwd\": \"/tmp/agentfs-git-workload-85r78ug0/agentfs-base\", \"duration_seconds\": 3.156747261993587, \"returncode\": 0, \"stderr_bytes\": 2340, \"stderr_tail\": \"Cloning into '/tmp/agentfs-git-workload-85r78ug0/agentfs-base/work'...\\nwarning: source repository is shallow, ignoring --local\\nwarning: --local is ignored\\nUpdating files: 37% (1750/4644)\\nUpdating files: 38% (1765/4644)\\nUpdating files: 39% (1812/4644)\\nUpdating files: 40% (1858/4644)\\nUpdating files: 41% (1905/4644)\\nUpdating files: 42% (1951/4644)\\nUpdating files: 43% (1997/4644)\\nUpdating files: 44% (2044/4644)\\nUpdating files: 45% (2090/4644)\\nUpdating files: 46% (2137/4644)\\nUpdating files: 47% (2183/4644)\\nUpdating files: 48% (2230/4644)\\nUpdating files: 49% (2276/4644)\\nUpdating files: 50% (2322/4644)\\nUpdating files: 51% (2369/4644)\\nUpdating files: 52% (2415/4644)\\nUpdating files: 53% (2462/4644)\\nUpdating files: 54% (2508/4644)\\nUpdating files: 55% (2555/4644)\\nUpdating files: 56% (2601/4644)\\nUpdating files: 57% (2648/4644)\\nUpdating files: 58% (2694/4644)\\nUpdating files: 59% (2740/4644)\\nUpdating files: 60% (2787/4644)\\nUpdating files: 61% (2833/4644)\\nUpdating files: 62% (2880/4644)\\nUpdating files: 63% (2926/4644)\\nUpdating files: 64% (2973/4644)\\nUpdating files: 65% (3019/4644)\\nUpdating files: 66% (3066/4644)\\nUpdating files: 67% (3112/4644)\\nUpdating files: 68% (3158/4644)\\nUpdating files: 69% (3205/4644)\\nUpdating files: 70% (3251/4644)\\nUpdating files: 70% (3265/4644)\\nUpdating files: 71% (3298/4644)\\nUpdating files: 72% (3344/4644)\\nUpdating files: 73% (3391/4644)\\nUpdating files: 74% (3437/4644)\\nUpdating files: 75% (3483/4644)\\nUpdating files: 76% (3530/4644)\\nUpdating files: 77% (3576/4644)\\nUpdating files: 78% (3623/4644)\\nUpdating files: 79% (3669/4644)\\nUpdating files: 80% (3716/4644)\\nUpdating files: 81% (3762/4644)\\nUpdating files: 82% (3809/4644)\\nUpdating files: 83% (3855/4644)\\nUpdating files: 84% (3901/4644)\\nUpdating files: 85% (3948/4644)\\nUpdating files: 86% (3994/4644)\\nUpdating files: 87% (4041/4644)\\nUpdating files: 88% (4087/4644)\\nUpdating files: 89% (4134/4644)\\nUpdating files: 90% (4180/4644)\\nUpdating files: 91% (4227/4644)\\nUpdating files: 92% (4273/4644)\\nUpdating files: 93% (4319/4644)\\nUpdating files: 94% (4366/4644)\\nUpdating files: 95% (4412/4644)\\nUpdating files: 96% (4459/4644)\\nUpdating files: 97% (4505/4644)\\nUpdating files: 98% (4552/4644)\\nUpdating files: 99% (4598/4644)\\nUpdating files: 100% (4644/4644)\\nUpdating files: 100% (4644/4644), done.\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"status\": {\"branch\": {\"argv\": [\"git\", \"status\", \"--short\", \"--branch\"], \"cwd\": \"/tmp/agentfs-git-workload-85r78ug0/agentfs-base/work\", \"duration_seconds\": 0.057441728000412695, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 21, \"stdout_tail\": \"## agentfs-benchmark\\n\"}, \"short\": {\"argv\": [\"git\", \"status\", \"--short\"], \"cwd\": \"/tmp/agentfs-git-workload-85r78ug0/agentfs-base/work\", \"duration_seconds\": 0.12273075699340552, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}}, \"phase_seconds\": {\"checkout\": 0.0770113600010518, \"clone\": 3.1568224640068365, \"diff\": 0.01879543399263639, \"edit\": 0.005346574995201081, \"fsck\": 0.1757984619907802, \"read_search\": 0.007632192995515652, \"status\": 0.18019827299576718}, \"profile_checkpoints\": [\"clone\", \"checkout\", \"status\", \"read_search\", \"edit\", \"diff\", \"fsck\"], \"read_search\": {\"bytes_read\": 117190, \"digest\": \"6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53\", \"files_scanned\": 64, \"files_total\": 4644, \"ls_files_run\": {\"argv\": [\"git\", \"ls-files\", \"-z\"], \"cwd\": \"/tmp/agentfs-git-workload-85r78ug0/agentfs-base/work\", \"duration_seconds\": 0.005131165991770104, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 263077, \"stdout_tail\": \"i_codex/api.py\\u0000sdk/python/src/openai_codex/async_client.py\\u0000sdk/python/src/openai_codex/client.py\\u0000sdk/python/src/openai_codex/errors.py\\u0000sdk/python/src/openai_codex/generated/__init__.py\\u0000sdk/python/src/openai_codex/generated/notification_registry.py\\u0000sdk/python/src/openai_codex/generated/v2_all.py\\u0000sdk/python/src/openai_codex/models.py\\u0000sdk/python/src/openai_codex/py.typed\\u0000sdk/python/src/openai_codex/retry.py\\u0000sdk/python/src/openai_codex/types.py\\u0000sdk/python/tests/app_server_harness.py\\u0000sdk/python/tests/app_server_helpers.py\\u0000sdk/python/tests/conftest.py\\u0000sdk/python/tests/test_app_server_approvals.py\\u0000sdk/python/tests/test_app_server_inputs.py\\u0000sdk/python/tests/test_app_server_lifecycle.py\\u0000sdk/python/tests/test_app_server_login.py\\u0000sdk/python/tests/test_app_server_run.py\\u0000sdk/python/tests/test_app_server_streaming.py\\u0000sdk/python/tests/test_app_server_turn_controls.py\\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\\u0000sdk/python/tests/test_async_client_behavior.py\\u0000sdk/python/tests/test_client_rpc_methods.py\\u0000sdk/python/tests/test_contract_generation.py\\u0000sdk/python/tests/test_public_api_runtime_behavior.py\\u0000sdk/python/tests/test_public_api_signatures.py\\u0000sdk/python/tests/test_real_app_server_integration.py\\u0000sdk/python/uv.lock\\u0000sdk/typescript/.prettierignore\\u0000sdk/typescript/.prettierrc\\u0000sdk/typescript/README.md\\u0000sdk/typescript/eslint.config.js\\u0000sdk/typescript/jest.config.cjs\\u0000sdk/typescript/package.json\\u0000sdk/typescript/samples/basic_streaming.ts\\u0000sdk/typescript/samples/helpers.ts\\u0000sdk/typescript/samples/structured_output.ts\\u0000sdk/typescript/samples/structured_output_zod.ts\\u0000sdk/typescript/src/codex.ts\\u0000sdk/typescript/src/codexOptions.ts\\u0000sdk/typescript/src/events.ts\\u0000sdk/typescript/src/exec.ts\\u0000sdk/typescript/src/index.ts\\u0000sdk/typescript/src/items.ts\\u0000sdk/typescript/src/outputSchemaFile.ts\\u0000sdk/typescript/src/thread.ts\\u0000sdk/typescript/src/threadOptions.ts\\u0000sdk/typescript/src/turnOptions.ts\\u0000sdk/typescript/tests/abort.test.ts\\u0000sdk/typescript/tests/codexExecSpy.ts\\u0000sdk/typescript/tests/exec.test.ts\\u0000sdk/typescript/tests/responsesProxy.ts\\u0000sdk/typescript/tests/run.test.ts\\u0000sdk/typescript/tests/runStreamed.test.ts\\u0000sdk/typescript/tests/setupCodexHome.ts\\u0000sdk/typescript/tests/testCodex.ts\\u0000sdk/typescript/tsconfig.json\\u0000sdk/typescript/tsup.config.ts\\u0000third_party/v8/BUILD.bazel\\u0000third_party/v8/README.md\\u0000third_party/v8/libcxx.BUILD.bazel\\u0000third_party/v8/libcxx_config/BUILD.bazel\\u0000third_party/v8/libcxx_config/__assertion_handler\\u0000third_party/v8/libcxx_config/__config_site\\u0000third_party/v8/libcxxabi.BUILD.bazel\\u0000third_party/v8/llvm_libc.BUILD.bazel\\u0000third_party/v8/rusty_v8_147_4_0.sha256\\u0000third_party/v8/v8_crate.BUILD.bazel\\u0000third_party/wezterm/LICENSE\\u0000tools/argument-comment-lint/.cargo/config.toml\\u0000tools/argument-comment-lint/.gitignore\\u0000tools/argument-comment-lint/BUILD.bazel\\u0000tools/argument-comment-lint/Cargo.lock\\u0000tools/argument-comment-lint/Cargo.toml\\u0000tools/argument-comment-lint/README.md\\u0000tools/argument-comment-lint/argument-comment-lint\\u0000tools/argument-comment-lint/driver.rs\\u0000tools/argument-comment-lint/lint_aspect.bzl\\u0000tools/argument-comment-lint/list-bazel-targets.sh\\u0000tools/argument-comment-lint/run-prebuilt-linter.py\\u0000tools/argument-comment-lint/run.py\\u0000tools/argument-comment-lint/rust-toolchain\\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\\u0000tools/argument-comment-lint/src/comment_parser.rs\\u0000tools/argument-comment-lint/src/lib.rs\\u0000tools/argument-comment-lint/test_wrapper_common.py\\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\\u0000tools/argument-comment-lint/ui/comment_matches.rs\\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\\u0000tools/argument-comment-lint/wrapper_common.py\\u0000workspace_root_test_launcher.bat.tpl\\u0000workspace_root_test_launcher.sh.tpl\\u0000\"}, \"matches\": 0, \"selected_files\": [\".bazelignore\", \".bazelrc\", \".bazelversion\", \".codespellignore\", \".codespellrc\", \".codex/environments/environment.toml\", \".codex/skills/babysit-pr/SKILL.md\", \".codex/skills/babysit-pr/agents/openai.yaml\", \".codex/skills/babysit-pr/references/github-api-notes.md\", \".codex/skills/babysit-pr/references/heuristics.md\", \".codex/skills/babysit-pr/scripts/gh_pr_watch.py\", \".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py\", \".codex/skills/code-review-breaking-changes/SKILL.md\", \".codex/skills/code-review-change-size/SKILL.md\", \".codex/skills/code-review-context/SKILL.md\", \".codex/skills/code-review-testing/SKILL.md\", \".codex/skills/code-review/SKILL.md\", \".codex/skills/codex-bug/SKILL.md\", \".codex/skills/codex-issue-digest/SKILL.md\", \".codex/skills/codex-issue-digest/agents/openai.yaml\", \".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py\", \".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py\", \".codex/skills/codex-pr-body/SKILL.md\", \".codex/skills/remote-tests/SKILL.md\", \".codex/skills/test-tui/SKILL.md\", \".codex/skills/update-v8-version/SKILL.md\", \".codex/skills/update-v8-version/agents/openai.yaml\", \".devcontainer/Dockerfile\", \".devcontainer/Dockerfile.secure\", \".devcontainer/README.md\", \".devcontainer/codex-install/package.json\", \".devcontainer/codex-install/pnpm-lock.yaml\", \".devcontainer/codex-install/pnpm-workspace.yaml\", \".devcontainer/devcontainer.json\", \".devcontainer/devcontainer.secure.json\", \".devcontainer/init-firewall.sh\", \".devcontainer/post-start.sh\", \".devcontainer/post_install.py\", \".gitattributes\", \".github/CODEOWNERS\", \".github/ISSUE_TEMPLATE/1-codex-app.yml\", \".github/ISSUE_TEMPLATE/2-extension.yml\", \".github/ISSUE_TEMPLATE/3-cli.yml\", \".github/ISSUE_TEMPLATE/4-bug-report.yml\", \".github/ISSUE_TEMPLATE/5-feature-request.yml\", \".github/ISSUE_TEMPLATE/6-docs-issue.yml\", \".github/actions/linux-code-sign/action.yml\", \".github/actions/macos-code-sign/action.yml\", \".github/actions/macos-code-sign/codex.entitlements.plist\", \".github/actions/macos-code-sign/notary_helpers.sh\", \".github/actions/prepare-bazel-ci/action.yml\", \".github/actions/run-argument-comment-lint/action.yml\", \".github/actions/setup-bazel-ci/action.yml\", \".github/actions/setup-msvc-env/action.yml\", \".github/actions/setup-msvc-env/setup-msvc-env.ps1\", \".github/actions/setup-rusty-v8/action.yml\", \".github/actions/windows-code-sign/action.yml\", \".github/blob-size-allowlist.txt\", \".github/codex-cli-splash.png\", \".github/codex/home/config.toml\", \".github/codex/labels/codex-attempt.md\", \".github/codex/labels/codex-review.md\", \".github/codex/labels/codex-rust-review.md\", \".github/codex/labels/codex-triage.md\"], \"token\": \"AGENTFS_TOKEN\"}, \"total_seconds\": 4.322347755994997}\n",
+ "timed_out": false
+ },
+ "workload": {
+ "branch_status": "## agentfs-benchmark\n",
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.01879543399263639,
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc",
+ "runs": {
+ "name_only": {
+ "argv": [
+ "git",
+ "diff",
+ "--name-only",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-85r78ug0/agentfs-base/work",
+ "duration_seconds": 0.009126688994001597,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 144,
+ "stdout_tail": "docs/CLA.md\ndocs/agents_md.md\ndocs/authentication.md\ndocs/config.md\ndocs/contributing.md\ndocs/example-config.md\ndocs/exec.md\ndocs/execpolicy.md\n"
+ },
+ "patch": {
+ "argv": [
+ "git",
+ "diff",
+ "--",
+ "."
+ ],
+ "cwd": "/tmp/agentfs-git-workload-85r78ug0/agentfs-base/work",
+ "duration_seconds": 0.0046758670068811625,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 3282,
+ "stdout_tail": "diff --git a/docs/CLA.md b/docs/CLA.md\nindex 804f202..3495ac9 100644\n--- a/docs/CLA.md\n+++ b/docs/CLA.md\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\n This Agreement is governed by the laws of the **State of California**, USA,\n excluding its conflict\u2011of\u2011laws rules. If any provision is held unenforceable,\n the remaining provisions remain in force.\n+\n+AgentFS Git benchmark edit 00 for docs/CLA.md\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\nindex 3df0fac..b8b063d 100644\n--- a/docs/agents_md.md\n+++ b/docs/agents_md.md\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\n ## Hierarchical agents message\n \n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\n+\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\ndiff --git a/docs/authentication.md b/docs/authentication.md\nindex c307349..b3bc9dc 100644\n--- a/docs/authentication.md\n+++ b/docs/authentication.md\n@@ -1,3 +1,5 @@\n # Authentication\n \n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\n+\n+AgentFS Git benchmark edit 02 for docs/authentication.md\ndiff --git a/docs/config.md b/docs/config.md\nindex d35b0a8..030e278 100644\n--- a/docs/config.md\n+++ b/docs/config.md\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\n still allowing managed hooks from requirements and managed config layers. This\n setting is only supported in `requirements.toml`; putting it in `config.toml`\n does not enable managed-hooks-only mode.\n+\n+AgentFS Git benchmark edit 03 for docs/config.md\ndiff --git a/docs/contributing.md b/docs/contributing.md\nindex aeae1f1..b5a22ac 100644\n--- a/docs/contributing.md\n+++ b/docs/contributing.md\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\n ### Security & responsible AI\n \n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\n+\n+AgentFS Git benchmark edit 04 for docs/contributing.md\ndiff --git a/docs/example-config.md b/docs/example-config.md\nindex 84b1143..b09f835 100644\n--- a/docs/example-config.md\n+++ b/docs/example-config.md\n@@ -1,3 +1,5 @@\n # Sample configuration\n \n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\n+\n+AgentFS Git benchmark edit 05 for docs/example-config.md\ndiff --git a/docs/exec.md b/docs/exec.md\nindex 57e4323..a81da98 100644\n--- a/docs/exec.md\n+++ b/docs/exec.md\n@@ -1,3 +1,5 @@\n # Non-interactive mode\n \n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\n+\n+AgentFS Git benchmark edit 06 for docs/exec.md\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\nindex cafebb3..3b48afe 100644\n--- a/docs/execpolicy.md\n+++ b/docs/execpolicy.md\n@@ -1,3 +1,5 @@\n # Execution policy\n \n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\n+\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\n"
+ },
+ "stat": {
+ "argv": [
+ "git",
+ "diff",
+ "--stat",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-85r78ug0/agentfs-base/work",
+ "duration_seconds": 0.004955205004080199,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 283,
+ "stdout_tail": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ }
+ },
+ "stat_stdout": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.005346574995201081,
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true,
+ "run": {
+ "argv": [
+ "git",
+ "fsck",
+ "--strict"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-85r78ug0/agentfs-base/work",
+ "duration_seconds": 0.17578380899794865,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "phase_runs": {
+ "checkout": {
+ "argv": [
+ "git",
+ "checkout",
+ "-B",
+ "agentfs-benchmark"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-85r78ug0/agentfs-base/work",
+ "duration_seconds": 0.07431378299952485,
+ "returncode": 0,
+ "stderr_bytes": 45,
+ "stderr_tail": "Switched to a new branch 'agentfs-benchmark'\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "clone": {
+ "argv": [
+ "git",
+ "clone",
+ "--local",
+ "--no-hardlinks",
+ "/tmp/agentfs-git-workload-85r78ug0/agentfs-base/mirror.git",
+ "/tmp/agentfs-git-workload-85r78ug0/agentfs-base/work"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-85r78ug0/agentfs-base",
+ "duration_seconds": 3.156747261993587,
+ "returncode": 0,
+ "stderr_bytes": 2340,
+ "stderr_tail": "Cloning into '/tmp/agentfs-git-workload-85r78ug0/agentfs-base/work'...\nwarning: source repository is shallow, ignoring --local\nwarning: --local is ignored\nUpdating files: 37% (1750/4644)\nUpdating files: 38% (1765/4644)\nUpdating files: 39% (1812/4644)\nUpdating files: 40% (1858/4644)\nUpdating files: 41% (1905/4644)\nUpdating files: 42% (1951/4644)\nUpdating files: 43% (1997/4644)\nUpdating files: 44% (2044/4644)\nUpdating files: 45% (2090/4644)\nUpdating files: 46% (2137/4644)\nUpdating files: 47% (2183/4644)\nUpdating files: 48% (2230/4644)\nUpdating files: 49% (2276/4644)\nUpdating files: 50% (2322/4644)\nUpdating files: 51% (2369/4644)\nUpdating files: 52% (2415/4644)\nUpdating files: 53% (2462/4644)\nUpdating files: 54% (2508/4644)\nUpdating files: 55% (2555/4644)\nUpdating files: 56% (2601/4644)\nUpdating files: 57% (2648/4644)\nUpdating files: 58% (2694/4644)\nUpdating files: 59% (2740/4644)\nUpdating files: 60% (2787/4644)\nUpdating files: 61% (2833/4644)\nUpdating files: 62% (2880/4644)\nUpdating files: 63% (2926/4644)\nUpdating files: 64% (2973/4644)\nUpdating files: 65% (3019/4644)\nUpdating files: 66% (3066/4644)\nUpdating files: 67% (3112/4644)\nUpdating files: 68% (3158/4644)\nUpdating files: 69% (3205/4644)\nUpdating files: 70% (3251/4644)\nUpdating files: 70% (3265/4644)\nUpdating files: 71% (3298/4644)\nUpdating files: 72% (3344/4644)\nUpdating files: 73% (3391/4644)\nUpdating files: 74% (3437/4644)\nUpdating files: 75% (3483/4644)\nUpdating files: 76% (3530/4644)\nUpdating files: 77% (3576/4644)\nUpdating files: 78% (3623/4644)\nUpdating files: 79% (3669/4644)\nUpdating files: 80% (3716/4644)\nUpdating files: 81% (3762/4644)\nUpdating files: 82% (3809/4644)\nUpdating files: 83% (3855/4644)\nUpdating files: 84% (3901/4644)\nUpdating files: 85% (3948/4644)\nUpdating files: 86% (3994/4644)\nUpdating files: 87% (4041/4644)\nUpdating files: 88% (4087/4644)\nUpdating files: 89% (4134/4644)\nUpdating files: 90% (4180/4644)\nUpdating files: 91% (4227/4644)\nUpdating files: 92% (4273/4644)\nUpdating files: 93% (4319/4644)\nUpdating files: 94% (4366/4644)\nUpdating files: 95% (4412/4644)\nUpdating files: 96% (4459/4644)\nUpdating files: 97% (4505/4644)\nUpdating files: 98% (4552/4644)\nUpdating files: 99% (4598/4644)\nUpdating files: 100% (4644/4644)\nUpdating files: 100% (4644/4644), done.\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "status": {
+ "branch": {
+ "argv": [
+ "git",
+ "status",
+ "--short",
+ "--branch"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-85r78ug0/agentfs-base/work",
+ "duration_seconds": 0.057441728000412695,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 21,
+ "stdout_tail": "## agentfs-benchmark\n"
+ },
+ "short": {
+ "argv": [
+ "git",
+ "status",
+ "--short"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-85r78ug0/agentfs-base/work",
+ "duration_seconds": 0.12273075699340552,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ }
+ },
+ "phase_seconds": {
+ "checkout": 0.0770113600010518,
+ "clone": 3.1568224640068365,
+ "diff": 0.01879543399263639,
+ "edit": 0.005346574995201081,
+ "fsck": 0.1757984619907802,
+ "read_search": 0.007632192995515652,
+ "status": 0.18019827299576718
+ },
+ "profile_checkpoints": [
+ "clone",
+ "checkout",
+ "status",
+ "read_search",
+ "edit",
+ "diff",
+ "fsck"
+ ],
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "ls_files_run": {
+ "argv": [
+ "git",
+ "ls-files",
+ "-z"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-85r78ug0/agentfs-base/work",
+ "duration_seconds": 0.005131165991770104,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 263077,
+ "stdout_tail": "i_codex/api.py\u0000sdk/python/src/openai_codex/async_client.py\u0000sdk/python/src/openai_codex/client.py\u0000sdk/python/src/openai_codex/errors.py\u0000sdk/python/src/openai_codex/generated/__init__.py\u0000sdk/python/src/openai_codex/generated/notification_registry.py\u0000sdk/python/src/openai_codex/generated/v2_all.py\u0000sdk/python/src/openai_codex/models.py\u0000sdk/python/src/openai_codex/py.typed\u0000sdk/python/src/openai_codex/retry.py\u0000sdk/python/src/openai_codex/types.py\u0000sdk/python/tests/app_server_harness.py\u0000sdk/python/tests/app_server_helpers.py\u0000sdk/python/tests/conftest.py\u0000sdk/python/tests/test_app_server_approvals.py\u0000sdk/python/tests/test_app_server_inputs.py\u0000sdk/python/tests/test_app_server_lifecycle.py\u0000sdk/python/tests/test_app_server_login.py\u0000sdk/python/tests/test_app_server_run.py\u0000sdk/python/tests/test_app_server_streaming.py\u0000sdk/python/tests/test_app_server_turn_controls.py\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\u0000sdk/python/tests/test_async_client_behavior.py\u0000sdk/python/tests/test_client_rpc_methods.py\u0000sdk/python/tests/test_contract_generation.py\u0000sdk/python/tests/test_public_api_runtime_behavior.py\u0000sdk/python/tests/test_public_api_signatures.py\u0000sdk/python/tests/test_real_app_server_integration.py\u0000sdk/python/uv.lock\u0000sdk/typescript/.prettierignore\u0000sdk/typescript/.prettierrc\u0000sdk/typescript/README.md\u0000sdk/typescript/eslint.config.js\u0000sdk/typescript/jest.config.cjs\u0000sdk/typescript/package.json\u0000sdk/typescript/samples/basic_streaming.ts\u0000sdk/typescript/samples/helpers.ts\u0000sdk/typescript/samples/structured_output.ts\u0000sdk/typescript/samples/structured_output_zod.ts\u0000sdk/typescript/src/codex.ts\u0000sdk/typescript/src/codexOptions.ts\u0000sdk/typescript/src/events.ts\u0000sdk/typescript/src/exec.ts\u0000sdk/typescript/src/index.ts\u0000sdk/typescript/src/items.ts\u0000sdk/typescript/src/outputSchemaFile.ts\u0000sdk/typescript/src/thread.ts\u0000sdk/typescript/src/threadOptions.ts\u0000sdk/typescript/src/turnOptions.ts\u0000sdk/typescript/tests/abort.test.ts\u0000sdk/typescript/tests/codexExecSpy.ts\u0000sdk/typescript/tests/exec.test.ts\u0000sdk/typescript/tests/responsesProxy.ts\u0000sdk/typescript/tests/run.test.ts\u0000sdk/typescript/tests/runStreamed.test.ts\u0000sdk/typescript/tests/setupCodexHome.ts\u0000sdk/typescript/tests/testCodex.ts\u0000sdk/typescript/tsconfig.json\u0000sdk/typescript/tsup.config.ts\u0000third_party/v8/BUILD.bazel\u0000third_party/v8/README.md\u0000third_party/v8/libcxx.BUILD.bazel\u0000third_party/v8/libcxx_config/BUILD.bazel\u0000third_party/v8/libcxx_config/__assertion_handler\u0000third_party/v8/libcxx_config/__config_site\u0000third_party/v8/libcxxabi.BUILD.bazel\u0000third_party/v8/llvm_libc.BUILD.bazel\u0000third_party/v8/rusty_v8_147_4_0.sha256\u0000third_party/v8/v8_crate.BUILD.bazel\u0000third_party/wezterm/LICENSE\u0000tools/argument-comment-lint/.cargo/config.toml\u0000tools/argument-comment-lint/.gitignore\u0000tools/argument-comment-lint/BUILD.bazel\u0000tools/argument-comment-lint/Cargo.lock\u0000tools/argument-comment-lint/Cargo.toml\u0000tools/argument-comment-lint/README.md\u0000tools/argument-comment-lint/argument-comment-lint\u0000tools/argument-comment-lint/driver.rs\u0000tools/argument-comment-lint/lint_aspect.bzl\u0000tools/argument-comment-lint/list-bazel-targets.sh\u0000tools/argument-comment-lint/run-prebuilt-linter.py\u0000tools/argument-comment-lint/run.py\u0000tools/argument-comment-lint/rust-toolchain\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\u0000tools/argument-comment-lint/src/comment_parser.rs\u0000tools/argument-comment-lint/src/lib.rs\u0000tools/argument-comment-lint/test_wrapper_common.py\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\u0000tools/argument-comment-lint/ui/comment_matches.rs\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\u0000tools/argument-comment-lint/wrapper_common.py\u0000workspace_root_test_launcher.bat.tpl\u0000workspace_root_test_launcher.sh.tpl\u0000"
+ },
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ],
+ "token": "AGENTFS_TOKEN"
+ },
+ "total_seconds": 4.322347755994997
+ }
+ },
+ "base_tree": {
+ "after": {
+ "bytes": 9207621,
+ "directories": 10,
+ "files": 23,
+ "sha256": "6f14043483396b35e1c0229a26c4cf79cfaa90f9f4dab5d95b30913ba7992f2c",
+ "symlinks": 0
+ },
+ "before": {
+ "bytes": 9207621,
+ "directories": 10,
+ "files": 23,
+ "sha256": "6f14043483396b35e1c0229a26c4cf79cfaa90f9f4dab5d95b30913ba7992f2c",
+ "symlinks": 0
+ },
+ "unchanged": true
+ },
+ "benchmark": "phase7-git-workload",
+ "command": {
+ "agentfs_prefix": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "run",
+ "--session",
+ "git-workload-5f9c17332ed2467e865db70fa7e5dded",
+ "--no-default-allows",
+ "--"
+ ],
+ "argv": [
+ "/home/ain3sh/factory/vfs/scripts/validation/git-workload-benchmark.py",
+ "--output",
+ "/home/ain3sh/factory/vfs/.agents/benchmarks/restructure-baseline/medians.json.iterations/iter-00.json",
+ "--source",
+ ".agents/benchmarks/fixtures/codex",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8"
+ ],
+ "workload_argv": [
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ]
+ },
+ "correctness": {
+ "agentfs_backup_verify": true,
+ "agentfs_base_unchanged": true,
+ "agentfs_db_inspectable": true,
+ "agentfs_integrity_require_portable": true,
+ "agentfs_no_nonempty_sidecars": true,
+ "agentfs_portable": true,
+ "agentfs_returncode_zero": true,
+ "equivalence": {
+ "agentfs": {
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ]
+ }
+ },
+ "checked": true,
+ "equivalent": true,
+ "native": {
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ]
+ }
+ }
+ },
+ "native_returncode_zero": true,
+ "passed": true,
+ "performance_passed": false
+ },
+ "database": {
+ "after": {
+ "artifacts": [
+ {
+ "bytes": 57151488,
+ "path": "/tmp/agentfs-git-workload-85r78ug0/home/.agentfs/run/git-workload-5f9c17332ed2467e865db70fa7e5dded/delta.db"
+ }
+ ],
+ "path": "/tmp/agentfs-git-workload-85r78ug0/home/.agentfs/run/git-workload-5f9c17332ed2467e865db70fa7e5dded/delta.db",
+ "total_bytes": 57151488
+ },
+ "backup": {
+ "artifacts": {
+ "artifacts": [
+ {
+ "bytes": 57151488,
+ "path": "/tmp/agentfs-git-workload-85r78ug0/git-workload-backup.db"
+ }
+ ],
+ "path": "/tmp/agentfs-git-workload-85r78ug0/git-workload-backup.db",
+ "total_bytes": 57151488
+ },
+ "inspect": {
+ "fs_chunk_override_rows": 0,
+ "fs_config": {
+ "chunk_size": "65536",
+ "inline_threshold": "16384",
+ "schema_version": "0.5"
+ },
+ "fs_data_bytes": 41204221,
+ "fs_data_rows": 960,
+ "fs_inline_bytes": 11434794,
+ "fs_inode_rows": 5385,
+ "fs_origin_rows": 0,
+ "fs_partial_origin_rows": 0,
+ "fs_whiteout_rows": 0,
+ "inline_inode_rows": 4060,
+ "inspectable": true,
+ "portability_status": {
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true,
+ "stored_bytes": 52639015
+ }
+ },
+ "path": "/tmp/agentfs-git-workload-85r78ug0/git-workload-backup.db",
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "backup",
+ "/tmp/agentfs-git-workload-85r78ug0/home/.agentfs/run/git-workload-5f9c17332ed2467e865db70fa7e5dded/delta.db",
+ "/tmp/agentfs-git-workload-85r78ug0/git-workload-backup.db",
+ "--verify"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-85r78ug0",
+ "duration_seconds": 2.705114637996303,
+ "profile_summaries": [],
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 241,
+ "stdout_tail": "Source: /tmp/agentfs-git-workload-85r78ug0/home/.agentfs/run/git-workload-5f9c17332ed2467e865db70fa7e5dded/delta.db\nBackup: /tmp/agentfs-git-workload-85r78ug0/git-workload-backup.db\nCheckpoint: complete\nCopy: complete\nVerification: complete\n",
+ "timed_out": false
+ }
+ },
+ "inspect_after": {
+ "fs_chunk_override_rows": 0,
+ "fs_config": {
+ "chunk_size": "65536",
+ "inline_threshold": "16384",
+ "schema_version": "0.5"
+ },
+ "fs_data_bytes": 41204221,
+ "fs_data_rows": 960,
+ "fs_inline_bytes": 11434794,
+ "fs_inode_rows": 5385,
+ "fs_origin_rows": 0,
+ "fs_partial_origin_rows": 0,
+ "fs_whiteout_rows": 0,
+ "inline_inode_rows": 4060,
+ "inspectable": true,
+ "portability_status": {
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true,
+ "stored_bytes": 52639015
+ }
+ },
+ "integrity": {
+ "result": {
+ "checks": [
+ {
+ "detail": "ok",
+ "name": "pragma.integrity_check",
+ "ok": true,
+ "violating_rows": null
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_config",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_inode",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_dentry",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_symlink",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.kv_store",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.tool_calls",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 0.5",
+ "name": "config.schema_version",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 65536",
+ "name": "config.chunk_size",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 16384",
+ "name": "config.inline_threshold",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.kind_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_has_no_chunks",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunked_has_no_inline_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_size_matches_blob",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_only_regular_files",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.non_regular_has_no_inline_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_reference_inodes",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_nonnegative_index",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunk_length_within_chunk_size",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_only_regular_files",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 1, expected 1",
+ "name": "namespace.root_inode",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_parent_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_parent_is_directory",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_target_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.non_root_inode_has_dentry",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_names_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.non_directory_nlink_matches_dentries",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.directory_nlink_positive",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "symlink.rows_reference_symlink_inodes",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "symlink.inodes_have_rows",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "portable: no partial-origin rows",
+ "name": "overlay.portability_status",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "portable requirement satisfied",
+ "name": "overlay.require_portable",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.origin_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_delta_inode_regular",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_sizes_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_paths_absolute",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_nonnegative_index",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_references_partial_origin",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_unique",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_index_in_range",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.whiteout_paths_absolute",
+ "ok": true,
+ "violating_rows": 0
+ }
+ ],
+ "database": "/tmp/agentfs-git-workload-85r78ug0/home/.agentfs/run/git-workload-5f9c17332ed2467e865db70fa7e5dded/delta.db",
+ "ok": true,
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true
+ },
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "integrity",
+ "/tmp/agentfs-git-workload-85r78ug0/home/.agentfs/run/git-workload-5f9c17332ed2467e865db70fa7e5dded/delta.db",
+ "--json",
+ "--require-portable"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-85r78ug0",
+ "duration_seconds": 2.660415284000919,
+ "profile_summaries": [],
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 6395,
+ "stdout_tail": "{\n \"database\": \"/tmp/agentfs-git-workload-85r78ug0/home/.agentfs/run/git-workload-5f9c17332ed2467e865db70fa7e5dded/delta.db\",\n \"ok\": true,\n \"portable\": true,\n \"origin_backed\": false,\n \"partial_origin_rows\": 0,\n \"checks\": [\n {\n \"name\": \"pragma.integrity_check\",\n \"ok\": true,\n \"detail\": \"ok\",\n \"violating_rows\": null\n },\n {\n \"name\": \"schema.table.fs_config\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_inode\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_dentry\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_data\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_symlink\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.kv_store\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.tool_calls\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.schema_version\",\n \"ok\": true,\n \"detail\": \"found 0.5\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.chunk_size\",\n \"ok\": true,\n \"detail\": \"found 65536\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.inline_threshold\",\n \"ok\": true,\n \"detail\": \"found 16384\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.kind_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_has_no_chunks\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunked_has_no_inline_data\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_size_matches_blob\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_only_regular_files\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.non_regular_has_no_inline_data\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_reference_inodes\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_nonnegative_index\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunk_length_within_chunk_size\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_only_regular_files\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.root_inode\",\n \"ok\": true,\n \"detail\": \"found 1, expected 1\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_parent_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_parent_is_directory\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_target_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.non_root_inode_has_dentry\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_names_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.non_directory_nlink_matches_dentries\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.directory_nlink_positive\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"symlink.rows_reference_symlink_inodes\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"symlink.inodes_have_rows\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.portability_status\",\n \"ok\": true,\n \"detail\": \"portable: no partial-origin rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.require_portable\",\n \"ok\": true,\n \"detail\": \"portable requirement satisfied\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.origin_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_delta_inode_regular\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_sizes_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_paths_absolute\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_nonnegative_index\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_references_partial_origin\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_unique\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_index_in_range\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.whiteout_paths_absolute\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n }\n ]\n}\n",
+ "timed_out": false
+ }
+ },
+ "nonempty_sidecars": false
+ },
+ "environment": {
+ "AGENTFS_BIN": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "AGENTFS_PROFILE": "1"
+ },
+ "git_commit": "ae1e13fcb1c52d5c57be051610a04aa9a318f2a5",
+ "kept_temp": false,
+ "native": {
+ "run": {
+ "argv": [
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-85r78ug0/native",
+ "duration_seconds": 1.5439706809993368,
+ "profile_summaries": [],
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 15985,
+ "stdout_tail": "{\"branch_status\": \"## agentfs-benchmark\\n\", \"diff\": {\"changed_file_count\": 8, \"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.4042654630029574, \"patch_bytes\": 3282, \"patch_sha256\": \"51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc\", \"runs\": {\"name_only\": {\"argv\": [\"git\", \"diff\", \"--name-only\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-85r78ug0/native/work\", \"duration_seconds\": 0.13711851699918043, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 144, \"stdout_tail\": \"docs/CLA.md\\ndocs/agents_md.md\\ndocs/authentication.md\\ndocs/config.md\\ndocs/contributing.md\\ndocs/example-config.md\\ndocs/exec.md\\ndocs/execpolicy.md\\n\"}, \"patch\": {\"argv\": [\"git\", \"diff\", \"--\", \".\"], \"cwd\": \"/tmp/agentfs-git-workload-85r78ug0/native/work\", \"duration_seconds\": 0.15849535299639683, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 3282, \"stdout_tail\": \"diff --git a/docs/CLA.md b/docs/CLA.md\\nindex 804f202..3495ac9 100644\\n--- a/docs/CLA.md\\n+++ b/docs/CLA.md\\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\\n This Agreement is governed by the laws of the **State of California**, USA,\\n excluding its conflict\\u2011of\\u2011laws rules. If any provision is held unenforceable,\\n the remaining provisions remain in force.\\n+\\n+AgentFS Git benchmark edit 00 for docs/CLA.md\\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\\nindex 3df0fac..b8b063d 100644\\n--- a/docs/agents_md.md\\n+++ b/docs/agents_md.md\\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\\n ## Hierarchical agents message\\n \\n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\\n+\\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\\ndiff --git a/docs/authentication.md b/docs/authentication.md\\nindex c307349..b3bc9dc 100644\\n--- a/docs/authentication.md\\n+++ b/docs/authentication.md\\n@@ -1,3 +1,5 @@\\n # Authentication\\n \\n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\\n+\\n+AgentFS Git benchmark edit 02 for docs/authentication.md\\ndiff --git a/docs/config.md b/docs/config.md\\nindex d35b0a8..030e278 100644\\n--- a/docs/config.md\\n+++ b/docs/config.md\\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\\n still allowing managed hooks from requirements and managed config layers. This\\n setting is only supported in `requirements.toml`; putting it in `config.toml`\\n does not enable managed-hooks-only mode.\\n+\\n+AgentFS Git benchmark edit 03 for docs/config.md\\ndiff --git a/docs/contributing.md b/docs/contributing.md\\nindex aeae1f1..b5a22ac 100644\\n--- a/docs/contributing.md\\n+++ b/docs/contributing.md\\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\\n ### Security & responsible AI\\n \\n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\\n+\\n+AgentFS Git benchmark edit 04 for docs/contributing.md\\ndiff --git a/docs/example-config.md b/docs/example-config.md\\nindex 84b1143..b09f835 100644\\n--- a/docs/example-config.md\\n+++ b/docs/example-config.md\\n@@ -1,3 +1,5 @@\\n # Sample configuration\\n \\n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\\n+\\n+AgentFS Git benchmark edit 05 for docs/example-config.md\\ndiff --git a/docs/exec.md b/docs/exec.md\\nindex 57e4323..a81da98 100644\\n--- a/docs/exec.md\\n+++ b/docs/exec.md\\n@@ -1,3 +1,5 @@\\n # Non-interactive mode\\n \\n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\\n+\\n+AgentFS Git benchmark edit 06 for docs/exec.md\\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\\nindex cafebb3..3b48afe 100644\\n--- a/docs/execpolicy.md\\n+++ b/docs/execpolicy.md\\n@@ -1,3 +1,5 @@\\n # Execution policy\\n \\n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\\n+\\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\\n\"}, \"stat\": {\"argv\": [\"git\", \"diff\", \"--stat\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-85r78ug0/native/work\", \"duration_seconds\": 0.10858318299870007, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 283, \"stdout_tail\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}}, \"stat_stdout\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}, \"edits\": {\"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.0009379919938510284, \"edits\": [{\"appended_bytes\": 47, \"path\": \"docs/CLA.md\", \"size_after\": 2106, \"size_before\": 2059}, {\"appended_bytes\": 53, \"path\": \"docs/agents_md.md\", \"size_after\": 462, \"size_before\": 409}, {\"appended_bytes\": 58, \"path\": \"docs/authentication.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 50, \"path\": \"docs/config.md\", \"size_after\": 776, \"size_before\": 726}, {\"appended_bytes\": 56, \"path\": \"docs/contributing.md\", \"size_after\": 6380, \"size_before\": 6324}, {\"appended_bytes\": 58, \"path\": \"docs/example-config.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 48, \"path\": \"docs/exec.md\", \"size_after\": 194, \"size_before\": 146}, {\"appended_bytes\": 54, \"path\": \"docs/execpolicy.md\", \"size_after\": 192, \"size_before\": 138}]}, \"fsck\": {\"ok\": true, \"ran\": true, \"run\": {\"argv\": [\"git\", \"fsck\", \"--strict\"], \"cwd\": \"/tmp/agentfs-git-workload-85r78ug0/native/work\", \"duration_seconds\": 0.19304880900017451, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}, \"head_commit\": \"7d47056ea42636271ac020b86347fbbef49490aa\", \"initial_status\": \"\", \"phase_runs\": {\"checkout\": {\"argv\": [\"git\", \"checkout\", \"-B\", \"agentfs-benchmark\"], \"cwd\": \"/tmp/agentfs-git-workload-85r78ug0/native/work\", \"duration_seconds\": 0.19995780500175897, \"returncode\": 0, \"stderr_bytes\": 45, \"stderr_tail\": \"Switched to a new branch 'agentfs-benchmark'\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"clone\": {\"argv\": [\"git\", \"clone\", \"--local\", \"--no-hardlinks\", \"/tmp/agentfs-git-workload-85r78ug0/native/mirror.git\", \"/tmp/agentfs-git-workload-85r78ug0/native/work\"], \"cwd\": \"/tmp/agentfs-git-workload-85r78ug0/native\", \"duration_seconds\": 0.38302744999236893, \"returncode\": 0, \"stderr_bytes\": 149, \"stderr_tail\": \"Cloning into '/tmp/agentfs-git-workload-85r78ug0/native/work'...\\nwarning: source repository is shallow, ignoring --local\\nwarning: --local is ignored\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"status\": {\"branch\": {\"argv\": [\"git\", \"status\", \"--short\", \"--branch\"], \"cwd\": \"/tmp/agentfs-git-workload-85r78ug0/native/work\", \"duration_seconds\": 0.14085585399880074, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 21, \"stdout_tail\": \"## agentfs-benchmark\\n\"}, \"short\": {\"argv\": [\"git\", \"status\", \"--short\"], \"cwd\": \"/tmp/agentfs-git-workload-85r78ug0/native/work\", \"duration_seconds\": 0.15976831800071523, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}}, \"phase_seconds\": {\"checkout\": 0.20255771699885372, \"clone\": 0.3831163779977942, \"diff\": 0.4042654630029574, \"edit\": 0.0009379919938510284, \"fsck\": 0.19305972200527322, \"read_search\": 0.008362036998732947, \"status\": 0.30065786000341177}, \"profile_checkpoints\": [\"clone\", \"checkout\", \"status\", \"read_search\", \"edit\", \"diff\", \"fsck\"], \"read_search\": {\"bytes_read\": 117190, \"digest\": \"6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53\", \"files_scanned\": 64, \"files_total\": 4644, \"ls_files_run\": {\"argv\": [\"git\", \"ls-files\", \"-z\"], \"cwd\": \"/tmp/agentfs-git-workload-85r78ug0/native/work\", \"duration_seconds\": 0.0042254959989804775, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 263077, \"stdout_tail\": \"i_codex/api.py\\u0000sdk/python/src/openai_codex/async_client.py\\u0000sdk/python/src/openai_codex/client.py\\u0000sdk/python/src/openai_codex/errors.py\\u0000sdk/python/src/openai_codex/generated/__init__.py\\u0000sdk/python/src/openai_codex/generated/notification_registry.py\\u0000sdk/python/src/openai_codex/generated/v2_all.py\\u0000sdk/python/src/openai_codex/models.py\\u0000sdk/python/src/openai_codex/py.typed\\u0000sdk/python/src/openai_codex/retry.py\\u0000sdk/python/src/openai_codex/types.py\\u0000sdk/python/tests/app_server_harness.py\\u0000sdk/python/tests/app_server_helpers.py\\u0000sdk/python/tests/conftest.py\\u0000sdk/python/tests/test_app_server_approvals.py\\u0000sdk/python/tests/test_app_server_inputs.py\\u0000sdk/python/tests/test_app_server_lifecycle.py\\u0000sdk/python/tests/test_app_server_login.py\\u0000sdk/python/tests/test_app_server_run.py\\u0000sdk/python/tests/test_app_server_streaming.py\\u0000sdk/python/tests/test_app_server_turn_controls.py\\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\\u0000sdk/python/tests/test_async_client_behavior.py\\u0000sdk/python/tests/test_client_rpc_methods.py\\u0000sdk/python/tests/test_contract_generation.py\\u0000sdk/python/tests/test_public_api_runtime_behavior.py\\u0000sdk/python/tests/test_public_api_signatures.py\\u0000sdk/python/tests/test_real_app_server_integration.py\\u0000sdk/python/uv.lock\\u0000sdk/typescript/.prettierignore\\u0000sdk/typescript/.prettierrc\\u0000sdk/typescript/README.md\\u0000sdk/typescript/eslint.config.js\\u0000sdk/typescript/jest.config.cjs\\u0000sdk/typescript/package.json\\u0000sdk/typescript/samples/basic_streaming.ts\\u0000sdk/typescript/samples/helpers.ts\\u0000sdk/typescript/samples/structured_output.ts\\u0000sdk/typescript/samples/structured_output_zod.ts\\u0000sdk/typescript/src/codex.ts\\u0000sdk/typescript/src/codexOptions.ts\\u0000sdk/typescript/src/events.ts\\u0000sdk/typescript/src/exec.ts\\u0000sdk/typescript/src/index.ts\\u0000sdk/typescript/src/items.ts\\u0000sdk/typescript/src/outputSchemaFile.ts\\u0000sdk/typescript/src/thread.ts\\u0000sdk/typescript/src/threadOptions.ts\\u0000sdk/typescript/src/turnOptions.ts\\u0000sdk/typescript/tests/abort.test.ts\\u0000sdk/typescript/tests/codexExecSpy.ts\\u0000sdk/typescript/tests/exec.test.ts\\u0000sdk/typescript/tests/responsesProxy.ts\\u0000sdk/typescript/tests/run.test.ts\\u0000sdk/typescript/tests/runStreamed.test.ts\\u0000sdk/typescript/tests/setupCodexHome.ts\\u0000sdk/typescript/tests/testCodex.ts\\u0000sdk/typescript/tsconfig.json\\u0000sdk/typescript/tsup.config.ts\\u0000third_party/v8/BUILD.bazel\\u0000third_party/v8/README.md\\u0000third_party/v8/libcxx.BUILD.bazel\\u0000third_party/v8/libcxx_config/BUILD.bazel\\u0000third_party/v8/libcxx_config/__assertion_handler\\u0000third_party/v8/libcxx_config/__config_site\\u0000third_party/v8/libcxxabi.BUILD.bazel\\u0000third_party/v8/llvm_libc.BUILD.bazel\\u0000third_party/v8/rusty_v8_147_4_0.sha256\\u0000third_party/v8/v8_crate.BUILD.bazel\\u0000third_party/wezterm/LICENSE\\u0000tools/argument-comment-lint/.cargo/config.toml\\u0000tools/argument-comment-lint/.gitignore\\u0000tools/argument-comment-lint/BUILD.bazel\\u0000tools/argument-comment-lint/Cargo.lock\\u0000tools/argument-comment-lint/Cargo.toml\\u0000tools/argument-comment-lint/README.md\\u0000tools/argument-comment-lint/argument-comment-lint\\u0000tools/argument-comment-lint/driver.rs\\u0000tools/argument-comment-lint/lint_aspect.bzl\\u0000tools/argument-comment-lint/list-bazel-targets.sh\\u0000tools/argument-comment-lint/run-prebuilt-linter.py\\u0000tools/argument-comment-lint/run.py\\u0000tools/argument-comment-lint/rust-toolchain\\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\\u0000tools/argument-comment-lint/src/comment_parser.rs\\u0000tools/argument-comment-lint/src/lib.rs\\u0000tools/argument-comment-lint/test_wrapper_common.py\\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\\u0000tools/argument-comment-lint/ui/comment_matches.rs\\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\\u0000tools/argument-comment-lint/wrapper_common.py\\u0000workspace_root_test_launcher.bat.tpl\\u0000workspace_root_test_launcher.sh.tpl\\u0000\"}, \"matches\": 0, \"selected_files\": [\".bazelignore\", \".bazelrc\", \".bazelversion\", \".codespellignore\", \".codespellrc\", \".codex/environments/environment.toml\", \".codex/skills/babysit-pr/SKILL.md\", \".codex/skills/babysit-pr/agents/openai.yaml\", \".codex/skills/babysit-pr/references/github-api-notes.md\", \".codex/skills/babysit-pr/references/heuristics.md\", \".codex/skills/babysit-pr/scripts/gh_pr_watch.py\", \".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py\", \".codex/skills/code-review-breaking-changes/SKILL.md\", \".codex/skills/code-review-change-size/SKILL.md\", \".codex/skills/code-review-context/SKILL.md\", \".codex/skills/code-review-testing/SKILL.md\", \".codex/skills/code-review/SKILL.md\", \".codex/skills/codex-bug/SKILL.md\", \".codex/skills/codex-issue-digest/SKILL.md\", \".codex/skills/codex-issue-digest/agents/openai.yaml\", \".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py\", \".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py\", \".codex/skills/codex-pr-body/SKILL.md\", \".codex/skills/remote-tests/SKILL.md\", \".codex/skills/test-tui/SKILL.md\", \".codex/skills/update-v8-version/SKILL.md\", \".codex/skills/update-v8-version/agents/openai.yaml\", \".devcontainer/Dockerfile\", \".devcontainer/Dockerfile.secure\", \".devcontainer/README.md\", \".devcontainer/codex-install/package.json\", \".devcontainer/codex-install/pnpm-lock.yaml\", \".devcontainer/codex-install/pnpm-workspace.yaml\", \".devcontainer/devcontainer.json\", \".devcontainer/devcontainer.secure.json\", \".devcontainer/init-firewall.sh\", \".devcontainer/post-start.sh\", \".devcontainer/post_install.py\", \".gitattributes\", \".github/CODEOWNERS\", \".github/ISSUE_TEMPLATE/1-codex-app.yml\", \".github/ISSUE_TEMPLATE/2-extension.yml\", \".github/ISSUE_TEMPLATE/3-cli.yml\", \".github/ISSUE_TEMPLATE/4-bug-report.yml\", \".github/ISSUE_TEMPLATE/5-feature-request.yml\", \".github/ISSUE_TEMPLATE/6-docs-issue.yml\", \".github/actions/linux-code-sign/action.yml\", \".github/actions/macos-code-sign/action.yml\", \".github/actions/macos-code-sign/codex.entitlements.plist\", \".github/actions/macos-code-sign/notary_helpers.sh\", \".github/actions/prepare-bazel-ci/action.yml\", \".github/actions/run-argument-comment-lint/action.yml\", \".github/actions/setup-bazel-ci/action.yml\", \".github/actions/setup-msvc-env/action.yml\", \".github/actions/setup-msvc-env/setup-msvc-env.ps1\", \".github/actions/setup-rusty-v8/action.yml\", \".github/actions/windows-code-sign/action.yml\", \".github/blob-size-allowlist.txt\", \".github/codex-cli-splash.png\", \".github/codex/home/config.toml\", \".github/codex/labels/codex-attempt.md\", \".github/codex/labels/codex-review.md\", \".github/codex/labels/codex-rust-review.md\", \".github/codex/labels/codex-triage.md\"], \"token\": \"AGENTFS_TOKEN\"}, \"total_seconds\": 1.4932545539923012}\n",
+ "timed_out": false
+ },
+ "workload": {
+ "branch_status": "## agentfs-benchmark\n",
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.4042654630029574,
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc",
+ "runs": {
+ "name_only": {
+ "argv": [
+ "git",
+ "diff",
+ "--name-only",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-85r78ug0/native/work",
+ "duration_seconds": 0.13711851699918043,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 144,
+ "stdout_tail": "docs/CLA.md\ndocs/agents_md.md\ndocs/authentication.md\ndocs/config.md\ndocs/contributing.md\ndocs/example-config.md\ndocs/exec.md\ndocs/execpolicy.md\n"
+ },
+ "patch": {
+ "argv": [
+ "git",
+ "diff",
+ "--",
+ "."
+ ],
+ "cwd": "/tmp/agentfs-git-workload-85r78ug0/native/work",
+ "duration_seconds": 0.15849535299639683,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 3282,
+ "stdout_tail": "diff --git a/docs/CLA.md b/docs/CLA.md\nindex 804f202..3495ac9 100644\n--- a/docs/CLA.md\n+++ b/docs/CLA.md\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\n This Agreement is governed by the laws of the **State of California**, USA,\n excluding its conflict\u2011of\u2011laws rules. If any provision is held unenforceable,\n the remaining provisions remain in force.\n+\n+AgentFS Git benchmark edit 00 for docs/CLA.md\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\nindex 3df0fac..b8b063d 100644\n--- a/docs/agents_md.md\n+++ b/docs/agents_md.md\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\n ## Hierarchical agents message\n \n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\n+\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\ndiff --git a/docs/authentication.md b/docs/authentication.md\nindex c307349..b3bc9dc 100644\n--- a/docs/authentication.md\n+++ b/docs/authentication.md\n@@ -1,3 +1,5 @@\n # Authentication\n \n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\n+\n+AgentFS Git benchmark edit 02 for docs/authentication.md\ndiff --git a/docs/config.md b/docs/config.md\nindex d35b0a8..030e278 100644\n--- a/docs/config.md\n+++ b/docs/config.md\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\n still allowing managed hooks from requirements and managed config layers. This\n setting is only supported in `requirements.toml`; putting it in `config.toml`\n does not enable managed-hooks-only mode.\n+\n+AgentFS Git benchmark edit 03 for docs/config.md\ndiff --git a/docs/contributing.md b/docs/contributing.md\nindex aeae1f1..b5a22ac 100644\n--- a/docs/contributing.md\n+++ b/docs/contributing.md\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\n ### Security & responsible AI\n \n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\n+\n+AgentFS Git benchmark edit 04 for docs/contributing.md\ndiff --git a/docs/example-config.md b/docs/example-config.md\nindex 84b1143..b09f835 100644\n--- a/docs/example-config.md\n+++ b/docs/example-config.md\n@@ -1,3 +1,5 @@\n # Sample configuration\n \n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\n+\n+AgentFS Git benchmark edit 05 for docs/example-config.md\ndiff --git a/docs/exec.md b/docs/exec.md\nindex 57e4323..a81da98 100644\n--- a/docs/exec.md\n+++ b/docs/exec.md\n@@ -1,3 +1,5 @@\n # Non-interactive mode\n \n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\n+\n+AgentFS Git benchmark edit 06 for docs/exec.md\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\nindex cafebb3..3b48afe 100644\n--- a/docs/execpolicy.md\n+++ b/docs/execpolicy.md\n@@ -1,3 +1,5 @@\n # Execution policy\n \n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\n+\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\n"
+ },
+ "stat": {
+ "argv": [
+ "git",
+ "diff",
+ "--stat",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-85r78ug0/native/work",
+ "duration_seconds": 0.10858318299870007,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 283,
+ "stdout_tail": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ }
+ },
+ "stat_stdout": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.0009379919938510284,
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true,
+ "run": {
+ "argv": [
+ "git",
+ "fsck",
+ "--strict"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-85r78ug0/native/work",
+ "duration_seconds": 0.19304880900017451,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "phase_runs": {
+ "checkout": {
+ "argv": [
+ "git",
+ "checkout",
+ "-B",
+ "agentfs-benchmark"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-85r78ug0/native/work",
+ "duration_seconds": 0.19995780500175897,
+ "returncode": 0,
+ "stderr_bytes": 45,
+ "stderr_tail": "Switched to a new branch 'agentfs-benchmark'\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "clone": {
+ "argv": [
+ "git",
+ "clone",
+ "--local",
+ "--no-hardlinks",
+ "/tmp/agentfs-git-workload-85r78ug0/native/mirror.git",
+ "/tmp/agentfs-git-workload-85r78ug0/native/work"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-85r78ug0/native",
+ "duration_seconds": 0.38302744999236893,
+ "returncode": 0,
+ "stderr_bytes": 149,
+ "stderr_tail": "Cloning into '/tmp/agentfs-git-workload-85r78ug0/native/work'...\nwarning: source repository is shallow, ignoring --local\nwarning: --local is ignored\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "status": {
+ "branch": {
+ "argv": [
+ "git",
+ "status",
+ "--short",
+ "--branch"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-85r78ug0/native/work",
+ "duration_seconds": 0.14085585399880074,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 21,
+ "stdout_tail": "## agentfs-benchmark\n"
+ },
+ "short": {
+ "argv": [
+ "git",
+ "status",
+ "--short"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-85r78ug0/native/work",
+ "duration_seconds": 0.15976831800071523,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ }
+ },
+ "phase_seconds": {
+ "checkout": 0.20255771699885372,
+ "clone": 0.3831163779977942,
+ "diff": 0.4042654630029574,
+ "edit": 0.0009379919938510284,
+ "fsck": 0.19305972200527322,
+ "read_search": 0.008362036998732947,
+ "status": 0.30065786000341177
+ },
+ "profile_checkpoints": [
+ "clone",
+ "checkout",
+ "status",
+ "read_search",
+ "edit",
+ "diff",
+ "fsck"
+ ],
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "ls_files_run": {
+ "argv": [
+ "git",
+ "ls-files",
+ "-z"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-85r78ug0/native/work",
+ "duration_seconds": 0.0042254959989804775,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 263077,
+ "stdout_tail": "i_codex/api.py\u0000sdk/python/src/openai_codex/async_client.py\u0000sdk/python/src/openai_codex/client.py\u0000sdk/python/src/openai_codex/errors.py\u0000sdk/python/src/openai_codex/generated/__init__.py\u0000sdk/python/src/openai_codex/generated/notification_registry.py\u0000sdk/python/src/openai_codex/generated/v2_all.py\u0000sdk/python/src/openai_codex/models.py\u0000sdk/python/src/openai_codex/py.typed\u0000sdk/python/src/openai_codex/retry.py\u0000sdk/python/src/openai_codex/types.py\u0000sdk/python/tests/app_server_harness.py\u0000sdk/python/tests/app_server_helpers.py\u0000sdk/python/tests/conftest.py\u0000sdk/python/tests/test_app_server_approvals.py\u0000sdk/python/tests/test_app_server_inputs.py\u0000sdk/python/tests/test_app_server_lifecycle.py\u0000sdk/python/tests/test_app_server_login.py\u0000sdk/python/tests/test_app_server_run.py\u0000sdk/python/tests/test_app_server_streaming.py\u0000sdk/python/tests/test_app_server_turn_controls.py\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\u0000sdk/python/tests/test_async_client_behavior.py\u0000sdk/python/tests/test_client_rpc_methods.py\u0000sdk/python/tests/test_contract_generation.py\u0000sdk/python/tests/test_public_api_runtime_behavior.py\u0000sdk/python/tests/test_public_api_signatures.py\u0000sdk/python/tests/test_real_app_server_integration.py\u0000sdk/python/uv.lock\u0000sdk/typescript/.prettierignore\u0000sdk/typescript/.prettierrc\u0000sdk/typescript/README.md\u0000sdk/typescript/eslint.config.js\u0000sdk/typescript/jest.config.cjs\u0000sdk/typescript/package.json\u0000sdk/typescript/samples/basic_streaming.ts\u0000sdk/typescript/samples/helpers.ts\u0000sdk/typescript/samples/structured_output.ts\u0000sdk/typescript/samples/structured_output_zod.ts\u0000sdk/typescript/src/codex.ts\u0000sdk/typescript/src/codexOptions.ts\u0000sdk/typescript/src/events.ts\u0000sdk/typescript/src/exec.ts\u0000sdk/typescript/src/index.ts\u0000sdk/typescript/src/items.ts\u0000sdk/typescript/src/outputSchemaFile.ts\u0000sdk/typescript/src/thread.ts\u0000sdk/typescript/src/threadOptions.ts\u0000sdk/typescript/src/turnOptions.ts\u0000sdk/typescript/tests/abort.test.ts\u0000sdk/typescript/tests/codexExecSpy.ts\u0000sdk/typescript/tests/exec.test.ts\u0000sdk/typescript/tests/responsesProxy.ts\u0000sdk/typescript/tests/run.test.ts\u0000sdk/typescript/tests/runStreamed.test.ts\u0000sdk/typescript/tests/setupCodexHome.ts\u0000sdk/typescript/tests/testCodex.ts\u0000sdk/typescript/tsconfig.json\u0000sdk/typescript/tsup.config.ts\u0000third_party/v8/BUILD.bazel\u0000third_party/v8/README.md\u0000third_party/v8/libcxx.BUILD.bazel\u0000third_party/v8/libcxx_config/BUILD.bazel\u0000third_party/v8/libcxx_config/__assertion_handler\u0000third_party/v8/libcxx_config/__config_site\u0000third_party/v8/libcxxabi.BUILD.bazel\u0000third_party/v8/llvm_libc.BUILD.bazel\u0000third_party/v8/rusty_v8_147_4_0.sha256\u0000third_party/v8/v8_crate.BUILD.bazel\u0000third_party/wezterm/LICENSE\u0000tools/argument-comment-lint/.cargo/config.toml\u0000tools/argument-comment-lint/.gitignore\u0000tools/argument-comment-lint/BUILD.bazel\u0000tools/argument-comment-lint/Cargo.lock\u0000tools/argument-comment-lint/Cargo.toml\u0000tools/argument-comment-lint/README.md\u0000tools/argument-comment-lint/argument-comment-lint\u0000tools/argument-comment-lint/driver.rs\u0000tools/argument-comment-lint/lint_aspect.bzl\u0000tools/argument-comment-lint/list-bazel-targets.sh\u0000tools/argument-comment-lint/run-prebuilt-linter.py\u0000tools/argument-comment-lint/run.py\u0000tools/argument-comment-lint/rust-toolchain\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\u0000tools/argument-comment-lint/src/comment_parser.rs\u0000tools/argument-comment-lint/src/lib.rs\u0000tools/argument-comment-lint/test_wrapper_common.py\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\u0000tools/argument-comment-lint/ui/comment_matches.rs\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\u0000tools/argument-comment-lint/wrapper_common.py\u0000workspace_root_test_launcher.bat.tpl\u0000workspace_root_test_launcher.sh.tpl\u0000"
+ },
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ],
+ "token": "AGENTFS_TOKEN"
+ },
+ "total_seconds": 1.4932545539923012
+ }
+ },
+ "parameters": {
+ "edit_files": 8,
+ "fixture_dirs": 8,
+ "fixture_file_size_bytes": 1024,
+ "fixture_files": 96,
+ "read_bytes": 4096,
+ "read_files": 64,
+ "search_token": "AGENTFS_TOKEN",
+ "skip_fsck": false,
+ "timeout_seconds": 180.0
+ },
+ "schema_version": 1,
+ "source": {
+ "kind": "source",
+ "mirror_head": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "path": "/home/ain3sh/factory/vfs/.agents/benchmarks/fixtures/codex"
+ },
+ "summary": {
+ "agentfs_base_unchanged": true,
+ "agentfs_seconds": 4.322347755994997,
+ "all_equivalent": true,
+ "correctness_passed": true,
+ "native_seconds": 1.4932545539923012,
+ "passed": true,
+ "performance_passed": false,
+ "phase_ratios": {
+ "checkout": {
+ "agentfs_seconds": 0.0770113600010518,
+ "native_seconds": 0.20255771699885372,
+ "ratio": 0.3801946484294529
+ },
+ "clone": {
+ "agentfs_seconds": 3.1568224640068365,
+ "native_seconds": 0.3831163779977942,
+ "ratio": 8.239852549516982
+ },
+ "diff": {
+ "agentfs_seconds": 0.01879543399263639,
+ "native_seconds": 0.4042654630029574,
+ "ratio": 0.04649280166804378
+ },
+ "edit": {
+ "agentfs_seconds": 0.005346574995201081,
+ "native_seconds": 0.0009379919938510284,
+ "ratio": 5.700021994057897
+ },
+ "fsck": {
+ "agentfs_seconds": 0.1757984619907802,
+ "native_seconds": 0.19305972200527322,
+ "ratio": 0.9105910863477699
+ },
+ "read_search": {
+ "agentfs_seconds": 0.007632192995515652,
+ "native_seconds": 0.008362036998732947,
+ "ratio": 0.912719352553943
+ },
+ "status": {
+ "agentfs_seconds": 0.18019827299576718,
+ "native_seconds": 0.30065786000341177,
+ "ratio": 0.5993466227482706
+ }
+ },
+ "ratio": 2.894582001735038,
+ "threshold_failures": [
+ {
+ "agentfs_seconds": 3.1568224640068365,
+ "native_seconds": 0.3831163779977942,
+ "phase": "clone",
+ "ratio": 8.239852549516982
+ },
+ {
+ "agentfs_seconds": 0.005346574995201081,
+ "native_seconds": 0.0009379919938510284,
+ "phase": "edit",
+ "ratio": 5.700021994057897
+ }
+ ]
+ },
+ "temp_dir": "/tmp/agentfs-git-workload-85r78ug0"
+}
diff --git a/.agents/benchmarks/restructure-baseline/medians.json.iterations/iter-01.json b/.agents/benchmarks/restructure-baseline/medians.json.iterations/iter-01.json
new file mode 100644
index 00000000..8cea49a8
--- /dev/null
+++ b/.agents/benchmarks/restructure-baseline/medians.json.iterations/iter-01.json
@@ -0,0 +1,6642 @@
+{
+ "agentfs": {
+ "bin": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "db_path": "/tmp/agentfs-git-workload-vrotv14m/home/.agentfs/run/git-workload-da03f67d8f4c4f3a8fb1df80210c9bc8/delta.db",
+ "per_phase_counters": {
+ "checkpoint_count": 7,
+ "label_count": 7,
+ "labels_aligned": true,
+ "phases": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 34,
+ "agentfs_batcher_commit_latency_ns_total": 789697637,
+ "agentfs_batcher_commit_txns": 4778,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4681,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29053,
+ "base_fast_inode_invalidations": 15030,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 968,
+ "connection_create_count": 2,
+ "connection_reuse_count": 31200,
+ "connection_wait_count": 31202,
+ "connection_wait_nanos": 9124052,
+ "dentry_cache_hits": 26031,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 90,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5275,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21774,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 39,
+ "fuse_dispatch_wait_count": 39,
+ "fuse_dispatch_wait_nanos": 242741,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52468820,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5024,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11692,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 553447920,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 36,
+ "fuse_op_forget_nanos": 311550,
+ "fuse_op_getattr_count": 5024,
+ "fuse_op_getattr_nanos": 50461567,
+ "fuse_op_lookup_count": 11692,
+ "fuse_op_lookup_nanos": 124030072,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 112688262,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 22342144,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 931769,
+ "fuse_op_setattr_count": 4748,
+ "fuse_op_setattr_nanos": 1115546826,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 24419114,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16154,
+ "fuse_read_lane_wait_nanos": 1491247,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 31997,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673354,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1427498,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19336,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6769,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14256,
+ "path_cache_hits": 26031,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 11,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2162179
+ },
+ "phase": "clone",
+ "seq": 1
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 2,
+ "agentfs_batcher_commit_latency_ns_total": 5788108,
+ "agentfs_batcher_commit_txns": 9,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 5,
+ "agentfs_batcher_drains_timer": 3,
+ "agentfs_batcher_enqueues": 10,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 15,
+ "attr_cache_hits": 278,
+ "attr_cache_misses": 1815,
+ "base_fast_inode_invalidations": 51,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 10,
+ "chunk_read_queries": 6,
+ "chunk_write_chunks": 15,
+ "connection_create_count": 4,
+ "connection_reuse_count": 627,
+ "connection_wait_count": 631,
+ "connection_wait_nanos": 309955,
+ "dentry_cache_hits": 73,
+ "dentry_cache_misses": 56,
+ "fuse_adapter_attr_hits": 4557,
+ "fuse_adapter_attr_misses": 733,
+ "fuse_adapter_entry_hits": 2,
+ "fuse_adapter_entry_misses": 35,
+ "fuse_adapter_inval_entry_notifications": 10,
+ "fuse_adapter_inval_inode_notifications": 28,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 12,
+ "fuse_adapter_negative_misses": 35,
+ "fuse_callback_count": 5360,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 9,
+ "fuse_dispatch_wait_count": 9,
+ "fuse_dispatch_wait_nanos": 93943,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 765456,
+ "fuse_flush_count": 10,
+ "fuse_flush_ranges": 10,
+ "fuse_getattr_count": 5290,
+ "fuse_ino_file_resolutions": 3,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 49,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 9,
+ "fuse_op_create_nanos": 3431766,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 9,
+ "fuse_op_forget_nanos": 127298,
+ "fuse_op_getattr_count": 5290,
+ "fuse_op_getattr_nanos": 19782915,
+ "fuse_op_lookup_count": 49,
+ "fuse_op_lookup_nanos": 1436231,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 15,
+ "fuse_op_other_nanos": 5954542,
+ "fuse_op_read_count": 8,
+ "fuse_op_read_nanos": 1237092,
+ "fuse_op_readdirplus_count": 4,
+ "fuse_op_readdirplus_nanos": 131536,
+ "fuse_op_setattr_count": 14,
+ "fuse_op_setattr_nanos": 6702010,
+ "fuse_op_write_count": 9,
+ "fuse_op_write_nanos": 271765,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 8,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 798,
+ "fuse_read_lane_wait_nanos": 99179,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 4,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 5398,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 591393,
+ "fuse_write_count": 9,
+ "fuse_write_lane_wait_count": 42,
+ "fuse_write_lane_wait_nanos": 59610,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 1494,
+ "lookup_base_count": 0,
+ "lookup_count": 164,
+ "lookup_delta_count": 60,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 33,
+ "negative_cache_invalidations": 26,
+ "negative_cache_misses": 148,
+ "negative_lookup_count": 86,
+ "path_cache_hits": 73,
+ "path_cache_misses": 56,
+ "path_component_count": 124,
+ "path_resolution_count": 45,
+ "readdir_count": 0,
+ "readdir_plus_count": 2,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "checkout",
+ "seq": 2
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 4,
+ "agentfs_batcher_commit_latency_ns_total": 5136427,
+ "agentfs_batcher_commit_txns": 4,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 2,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 6,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 4,
+ "attr_cache_hits": 19,
+ "attr_cache_misses": 35,
+ "base_fast_inode_invalidations": 24,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 20,
+ "chunk_read_queries": 12,
+ "chunk_write_chunks": 20,
+ "connection_create_count": 0,
+ "connection_reuse_count": 1017,
+ "connection_wait_count": 1017,
+ "connection_wait_nanos": 315449,
+ "dentry_cache_hits": 20,
+ "dentry_cache_misses": 570,
+ "fuse_adapter_attr_hits": 1135,
+ "fuse_adapter_attr_misses": 7,
+ "fuse_adapter_entry_hits": 2,
+ "fuse_adapter_entry_misses": 289,
+ "fuse_adapter_inval_entry_notifications": 4,
+ "fuse_adapter_inval_inode_notifications": 8,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 289,
+ "fuse_callback_count": 2836,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 4,
+ "fuse_dispatch_wait_count": 4,
+ "fuse_dispatch_wait_nanos": 81301,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 1181458,
+ "fuse_flush_count": 6,
+ "fuse_flush_ranges": 6,
+ "fuse_getattr_count": 1142,
+ "fuse_ino_file_resolutions": 2,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 291,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 2,
+ "fuse_op_create_nanos": 889730,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 4,
+ "fuse_op_forget_nanos": 128620,
+ "fuse_op_getattr_count": 1142,
+ "fuse_op_getattr_nanos": 1841957,
+ "fuse_op_lookup_count": 291,
+ "fuse_op_lookup_nanos": 4757307,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 2762,
+ "fuse_op_other_nanos": 2688588,
+ "fuse_op_read_count": 12,
+ "fuse_op_read_nanos": 2255040,
+ "fuse_op_readdirplus_count": 1381,
+ "fuse_op_readdirplus_nanos": 51123272,
+ "fuse_op_setattr_count": 6,
+ "fuse_op_setattr_nanos": 9414591,
+ "fuse_op_write_count": 10,
+ "fuse_op_write_nanos": 1635933,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 12,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 996,
+ "fuse_read_lane_wait_nanos": 162288,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1381,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 5606,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 1181458,
+ "fuse_write_count": 10,
+ "fuse_write_lane_wait_count": 14,
+ "fuse_write_lane_wait_nanos": 83233,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 26,
+ "lookup_base_count": 0,
+ "lookup_count": 598,
+ "lookup_delta_count": 295,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 4,
+ "negative_cache_invalidations": 4,
+ "negative_cache_misses": 873,
+ "negative_lookup_count": 578,
+ "path_cache_hits": 20,
+ "path_cache_misses": 570,
+ "path_component_count": 4606,
+ "path_resolution_count": 977,
+ "readdir_count": 0,
+ "readdir_plus_count": 688,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "status",
+ "seq": 3
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 1,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 10,
+ "chunk_read_queries": 6,
+ "chunk_write_chunks": 0,
+ "connection_create_count": 0,
+ "connection_reuse_count": 8,
+ "connection_wait_count": 8,
+ "connection_wait_nanos": 5232,
+ "dentry_cache_hits": 1,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 69,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 1,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 1,
+ "fuse_callback_count": 76,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 69,
+ "fuse_ino_file_resolutions": 1,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 1,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 69,
+ "fuse_op_getattr_nanos": 49216,
+ "fuse_op_lookup_count": 1,
+ "fuse_op_lookup_nanos": 29366,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 6,
+ "fuse_op_read_nanos": 913384,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 6,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 2,
+ "fuse_read_lane_wait_nanos": 1038,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 76,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 2,
+ "lookup_delta_count": 1,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 2,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 1,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "read_search",
+ "seq": 4
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 1084922,
+ "agentfs_batcher_commit_txns": 8,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 8,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 8,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 8,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 24,
+ "base_fast_inode_invalidations": 16,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create_count": 0,
+ "connection_reuse_count": 32,
+ "connection_wait_count": 32,
+ "connection_wait_nanos": 11176,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 16,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 24,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 6398,
+ "fuse_flush_count": 8,
+ "fuse_flush_ranges": 8,
+ "fuse_getattr_count": 16,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 16,
+ "fuse_op_getattr_nanos": 21876,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 8,
+ "fuse_op_other_nanos": 722175,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_setattr_count": 8,
+ "fuse_op_setattr_nanos": 2011268,
+ "fuse_op_write_count": 8,
+ "fuse_op_write_nanos": 433906,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 8,
+ "fuse_read_lane_wait_nanos": 1100,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 40,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 6398,
+ "fuse_write_count": 8,
+ "fuse_write_lane_wait_count": 8,
+ "fuse_write_lane_wait_nanos": 1382,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 16,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 8,
+ "wal_checkpoint_nanos": 610916
+ },
+ "phase": "edit",
+ "seq": 5
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create_count": 0,
+ "connection_reuse_count": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 1084,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 19,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 1103,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 1084,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 19,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 1084,
+ "fuse_op_getattr_nanos": 839969,
+ "fuse_op_lookup_count": 19,
+ "fuse_op_lookup_nanos": 58410,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 12,
+ "fuse_op_other_nanos": 8553,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 1115,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 19,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "diff",
+ "seq": 6
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 3,
+ "attr_cache_misses": 2,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 1,
+ "chunk_read_queries": 1,
+ "chunk_write_chunks": 0,
+ "connection_create_count": 0,
+ "connection_reuse_count": 15,
+ "connection_wait_count": 15,
+ "connection_wait_nanos": 12525,
+ "dentry_cache_hits": 4,
+ "dentry_cache_misses": 2,
+ "fuse_adapter_attr_hits": 44,
+ "fuse_adapter_attr_misses": 1,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 4,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 239,
+ "fuse_adapter_negative_misses": 4,
+ "fuse_callback_count": 308,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 45,
+ "fuse_ino_file_resolutions": 1,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 243,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 45,
+ "fuse_op_getattr_nanos": 80993,
+ "fuse_op_lookup_count": 243,
+ "fuse_op_lookup_nanos": 273303,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 36,
+ "fuse_op_other_nanos": 14113,
+ "fuse_op_read_count": 2,
+ "fuse_op_read_nanos": 310465,
+ "fuse_op_readdirplus_count": 18,
+ "fuse_op_readdirplus_nanos": 590522,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 2,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 15,
+ "fuse_read_lane_wait_nanos": 2952,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 18,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 344,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 2,
+ "lookup_base_count": 0,
+ "lookup_count": 8,
+ "lookup_delta_count": 4,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 239,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 9,
+ "negative_lookup_count": 2,
+ "path_cache_hits": 4,
+ "path_cache_misses": 2,
+ "path_component_count": 42,
+ "path_resolution_count": 10,
+ "readdir_count": 0,
+ "readdir_plus_count": 9,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "fsck",
+ "seq": 7
+ }
+ ]
+ },
+ "profile_counters": {
+ "last_by_source": {
+ "agentfs": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 801707094,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26223,
+ "attr_cache_misses": 30929,
+ "base_fast_inode_invalidations": 15121,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 6,
+ "connection_reuse_count": 32902,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 9784412,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 6995,
+ "fuse_adapter_attr_misses": 5675,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5545,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31481,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 417985,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12670,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12295,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557769416,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 567468,
+ "fuse_op_getattr_count": 12670,
+ "fuse_op_getattr_nanos": 73078493,
+ "fuse_op_lookup_count": 12295,
+ "fuse_op_lookup_nanos": 130584689,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 122076233,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 27058125,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 52777099,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1133674695,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 26760718,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17973,
+ "fuse_read_lane_wait_nanos": 1757804,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44576,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452603,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1572509,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20874,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7064,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2918797
+ },
+ "fuse_session": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 801707094,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26223,
+ "attr_cache_misses": 30929,
+ "base_fast_inode_invalidations": 15121,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 6,
+ "connection_reuse_count": 32902,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 9784412,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 6995,
+ "fuse_adapter_attr_misses": 5675,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5545,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31481,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 417985,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12670,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12295,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557769416,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 567468,
+ "fuse_op_getattr_count": 12670,
+ "fuse_op_getattr_nanos": 73078493,
+ "fuse_op_lookup_count": 12295,
+ "fuse_op_lookup_nanos": 130584689,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 122076233,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 27058125,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 52777099,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1133674695,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 26760718,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17973,
+ "fuse_read_lane_wait_nanos": 1757804,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44576,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452603,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1572509,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20874,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7064,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2918797
+ },
+ "phase-checkpoint-1": {
+ "agentfs_batcher_coalesced_ranges": 34,
+ "agentfs_batcher_commit_latency_ns_total": 789697637,
+ "agentfs_batcher_commit_txns": 4778,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4681,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29053,
+ "base_fast_inode_invalidations": 15030,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 968,
+ "connection_create_count": 2,
+ "connection_reuse_count": 31200,
+ "connection_wait_count": 31202,
+ "connection_wait_nanos": 9124052,
+ "dentry_cache_hits": 26031,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 90,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5275,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21774,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 39,
+ "fuse_dispatch_wait_count": 39,
+ "fuse_dispatch_wait_nanos": 242741,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52468820,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5024,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11692,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 553447920,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 36,
+ "fuse_op_forget_nanos": 311550,
+ "fuse_op_getattr_count": 5024,
+ "fuse_op_getattr_nanos": 50461567,
+ "fuse_op_lookup_count": 11692,
+ "fuse_op_lookup_nanos": 124030072,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 112688262,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 22342144,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 931769,
+ "fuse_op_setattr_count": 4748,
+ "fuse_op_setattr_nanos": 1115546826,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 24419114,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16154,
+ "fuse_read_lane_wait_nanos": 1491247,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 31997,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673354,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1427498,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19336,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6769,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14256,
+ "path_cache_hits": 26031,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 11,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2162179
+ },
+ "phase-checkpoint-2": {
+ "agentfs_batcher_coalesced_ranges": 36,
+ "agentfs_batcher_commit_latency_ns_total": 795485745,
+ "agentfs_batcher_commit_txns": 4787,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4686,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9400,
+ "attr_cache_hits": 26200,
+ "attr_cache_misses": 30868,
+ "base_fast_inode_invalidations": 15081,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 983,
+ "connection_create_count": 6,
+ "connection_reuse_count": 31827,
+ "connection_wait_count": 31833,
+ "connection_wait_nanos": 9434007,
+ "dentry_cache_hits": 26104,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4647,
+ "fuse_adapter_attr_misses": 5667,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5287,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27134,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 336684,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10314,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11741,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 556879686,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 438848,
+ "fuse_op_getattr_count": 10314,
+ "fuse_op_getattr_nanos": 70244482,
+ "fuse_op_lookup_count": 11741,
+ "fuse_op_lookup_nanos": 125466303,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 799,
+ "fuse_op_other_nanos": 118642804,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 23579236,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 1063305,
+ "fuse_op_setattr_count": 4762,
+ "fuse_op_setattr_nanos": 1122248836,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 24690879,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16952,
+ "fuse_read_lane_wait_nanos": 1590426,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37395,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53264747,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10245,
+ "fuse_write_lane_wait_nanos": 1487108,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20830,
+ "lookup_base_count": 23,
+ "lookup_count": 40452,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6802,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14342,
+ "path_cache_hits": 26104,
+ "path_cache_misses": 13482,
+ "path_component_count": 33026,
+ "path_resolution_count": 7163,
+ "readdir_count": 1,
+ "readdir_plus_count": 13,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2162179
+ },
+ "phase-checkpoint-3": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 800622172,
+ "agentfs_batcher_commit_txns": 4791,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26219,
+ "attr_cache_misses": 30903,
+ "base_fast_inode_invalidations": 15105,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 6,
+ "connection_reuse_count": 32844,
+ "connection_wait_count": 32850,
+ "connection_wait_nanos": 9749456,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 5782,
+ "fuse_adapter_attr_misses": 5674,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5287,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 29970,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 417985,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11456,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12032,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557769416,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 567468,
+ "fuse_op_getattr_count": 11456,
+ "fuse_op_getattr_nanos": 72086439,
+ "fuse_op_lookup_count": 12032,
+ "fuse_op_lookup_nanos": 130223610,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 121331392,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 25834276,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 52186577,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1131663427,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 26326812,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17948,
+ "fuse_read_lane_wait_nanos": 1752714,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43001,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446205,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1570341,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20856,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6806,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2162179
+ },
+ "phase-checkpoint-4": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 800622172,
+ "agentfs_batcher_commit_txns": 4791,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26220,
+ "attr_cache_misses": 30903,
+ "base_fast_inode_invalidations": 15105,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 6,
+ "connection_reuse_count": 32852,
+ "connection_wait_count": 32858,
+ "connection_wait_nanos": 9754688,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 5851,
+ "fuse_adapter_attr_misses": 5674,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5287,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30046,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 417985,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11525,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12033,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557769416,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 567468,
+ "fuse_op_getattr_count": 11525,
+ "fuse_op_getattr_nanos": 72135655,
+ "fuse_op_lookup_count": 12033,
+ "fuse_op_lookup_nanos": 130252976,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 121331392,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 26747660,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 52186577,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1131663427,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 26326812,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17950,
+ "fuse_read_lane_wait_nanos": 1753752,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43077,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446205,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1570341,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20856,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6806,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2162179
+ },
+ "phase-checkpoint-5": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 801707094,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26220,
+ "attr_cache_misses": 30927,
+ "base_fast_inode_invalidations": 15121,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 6,
+ "connection_reuse_count": 32884,
+ "connection_wait_count": 32890,
+ "connection_wait_nanos": 9765864,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 5867,
+ "fuse_adapter_attr_misses": 5674,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5287,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30070,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 417985,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11541,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12033,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557769416,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 567468,
+ "fuse_op_getattr_count": 11541,
+ "fuse_op_getattr_nanos": 72157531,
+ "fuse_op_lookup_count": 12033,
+ "fuse_op_lookup_nanos": 130252976,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 3569,
+ "fuse_op_other_nanos": 122053567,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 26747660,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 52186577,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1133674695,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 26760718,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17958,
+ "fuse_read_lane_wait_nanos": 1754852,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43117,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452603,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1571723,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20872,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6806,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2773095
+ },
+ "phase-checkpoint-6": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 801707094,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26220,
+ "attr_cache_misses": 30927,
+ "base_fast_inode_invalidations": 15121,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 6,
+ "connection_reuse_count": 32884,
+ "connection_wait_count": 32890,
+ "connection_wait_nanos": 9765864,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6951,
+ "fuse_adapter_attr_misses": 5674,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5306,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 31173,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 417985,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12625,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12052,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557769416,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 567468,
+ "fuse_op_getattr_count": 12625,
+ "fuse_op_getattr_nanos": 72997500,
+ "fuse_op_lookup_count": 12052,
+ "fuse_op_lookup_nanos": 130311386,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 3581,
+ "fuse_op_other_nanos": 122062120,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 26747660,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 52186577,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1133674695,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 26760718,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17958,
+ "fuse_read_lane_wait_nanos": 1754852,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44232,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452603,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1571723,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20872,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6825,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2773095
+ },
+ "phase-checkpoint-7": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 801707094,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26223,
+ "attr_cache_misses": 30929,
+ "base_fast_inode_invalidations": 15121,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 6,
+ "connection_reuse_count": 32899,
+ "connection_wait_count": 32905,
+ "connection_wait_nanos": 9778389,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 6995,
+ "fuse_adapter_attr_misses": 5675,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5545,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31481,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 417985,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12670,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12295,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557769416,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 567468,
+ "fuse_op_getattr_count": 12670,
+ "fuse_op_getattr_nanos": 73078493,
+ "fuse_op_lookup_count": 12295,
+ "fuse_op_lookup_nanos": 130584689,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 122076233,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 27058125,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 52777099,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1133674695,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 26760718,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17973,
+ "fuse_read_lane_wait_nanos": 1757804,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44576,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452603,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1571723,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20874,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7064,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2773095
+ },
+ "run_parent": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 801707094,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26223,
+ "attr_cache_misses": 30929,
+ "base_fast_inode_invalidations": 15121,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 6,
+ "connection_reuse_count": 32902,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 9784412,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 6995,
+ "fuse_adapter_attr_misses": 5675,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5545,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31481,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 417985,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12670,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12295,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557769416,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 567468,
+ "fuse_op_getattr_count": 12670,
+ "fuse_op_getattr_nanos": 73078493,
+ "fuse_op_lookup_count": 12295,
+ "fuse_op_lookup_nanos": 130584689,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 122076233,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 27058125,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 52777099,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1133674695,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 26760718,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17973,
+ "fuse_read_lane_wait_nanos": 1757804,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44576,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452603,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1572509,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20874,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7064,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2918797
+ }
+ },
+ "max_counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 801707094,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26223,
+ "attr_cache_misses": 30929,
+ "base_fast_inode_invalidations": 15121,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 6,
+ "connection_reuse_count": 32902,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 9784412,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 6995,
+ "fuse_adapter_attr_misses": 5675,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5545,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31481,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 417985,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12670,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12295,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557769416,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 567468,
+ "fuse_op_getattr_count": 12670,
+ "fuse_op_getattr_nanos": 73078493,
+ "fuse_op_lookup_count": 12295,
+ "fuse_op_lookup_nanos": 130584689,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 122076233,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 27058125,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 52777099,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1133674695,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 26760718,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17973,
+ "fuse_read_lane_wait_nanos": 1757804,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44576,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452603,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1572509,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20874,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7064,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2918797
+ },
+ "summary_count": 10
+ },
+ "profile_enabled": true,
+ "profile_summary_count": 10,
+ "session": "git-workload-da03f67d8f4c4f3a8fb1df80210c9bc8"
+ },
+ "agentfs_overlay": {
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 34,
+ "agentfs_batcher_commit_latency_ns_total": 789697637,
+ "agentfs_batcher_commit_txns": 4778,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4681,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29053,
+ "base_fast_inode_invalidations": 15030,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 968,
+ "connection_create_count": 2,
+ "connection_reuse_count": 31200,
+ "connection_wait_count": 31202,
+ "connection_wait_nanos": 9124052,
+ "dentry_cache_hits": 26031,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 90,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5275,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21774,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 39,
+ "fuse_dispatch_wait_count": 39,
+ "fuse_dispatch_wait_nanos": 242741,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52468820,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5024,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11692,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 553447920,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 36,
+ "fuse_op_forget_nanos": 311550,
+ "fuse_op_getattr_count": 5024,
+ "fuse_op_getattr_nanos": 50461567,
+ "fuse_op_lookup_count": 11692,
+ "fuse_op_lookup_nanos": 124030072,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 112688262,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 22342144,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 931769,
+ "fuse_op_setattr_count": 4748,
+ "fuse_op_setattr_nanos": 1115546826,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 24419114,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16154,
+ "fuse_read_lane_wait_nanos": 1491247,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 31997,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673354,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1427498,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19336,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6769,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14256,
+ "path_cache_hits": 26031,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 11,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2162179
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-1"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 36,
+ "agentfs_batcher_commit_latency_ns_total": 795485745,
+ "agentfs_batcher_commit_txns": 4787,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4686,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9400,
+ "attr_cache_hits": 26200,
+ "attr_cache_misses": 30868,
+ "base_fast_inode_invalidations": 15081,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 983,
+ "connection_create_count": 6,
+ "connection_reuse_count": 31827,
+ "connection_wait_count": 31833,
+ "connection_wait_nanos": 9434007,
+ "dentry_cache_hits": 26104,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4647,
+ "fuse_adapter_attr_misses": 5667,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5287,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27134,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 336684,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10314,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11741,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 556879686,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 438848,
+ "fuse_op_getattr_count": 10314,
+ "fuse_op_getattr_nanos": 70244482,
+ "fuse_op_lookup_count": 11741,
+ "fuse_op_lookup_nanos": 125466303,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 799,
+ "fuse_op_other_nanos": 118642804,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 23579236,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 1063305,
+ "fuse_op_setattr_count": 4762,
+ "fuse_op_setattr_nanos": 1122248836,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 24690879,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16952,
+ "fuse_read_lane_wait_nanos": 1590426,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37395,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53264747,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10245,
+ "fuse_write_lane_wait_nanos": 1487108,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20830,
+ "lookup_base_count": 23,
+ "lookup_count": 40452,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6802,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14342,
+ "path_cache_hits": 26104,
+ "path_cache_misses": 13482,
+ "path_component_count": 33026,
+ "path_resolution_count": 7163,
+ "readdir_count": 1,
+ "readdir_plus_count": 13,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2162179
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-2"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 800622172,
+ "agentfs_batcher_commit_txns": 4791,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26219,
+ "attr_cache_misses": 30903,
+ "base_fast_inode_invalidations": 15105,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 6,
+ "connection_reuse_count": 32844,
+ "connection_wait_count": 32850,
+ "connection_wait_nanos": 9749456,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 5782,
+ "fuse_adapter_attr_misses": 5674,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5287,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 29970,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 417985,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11456,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12032,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557769416,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 567468,
+ "fuse_op_getattr_count": 11456,
+ "fuse_op_getattr_nanos": 72086439,
+ "fuse_op_lookup_count": 12032,
+ "fuse_op_lookup_nanos": 130223610,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 121331392,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 25834276,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 52186577,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1131663427,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 26326812,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17948,
+ "fuse_read_lane_wait_nanos": 1752714,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43001,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446205,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1570341,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20856,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6806,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2162179
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-3"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 800622172,
+ "agentfs_batcher_commit_txns": 4791,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26220,
+ "attr_cache_misses": 30903,
+ "base_fast_inode_invalidations": 15105,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 6,
+ "connection_reuse_count": 32852,
+ "connection_wait_count": 32858,
+ "connection_wait_nanos": 9754688,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 5851,
+ "fuse_adapter_attr_misses": 5674,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5287,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30046,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 417985,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11525,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12033,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557769416,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 567468,
+ "fuse_op_getattr_count": 11525,
+ "fuse_op_getattr_nanos": 72135655,
+ "fuse_op_lookup_count": 12033,
+ "fuse_op_lookup_nanos": 130252976,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 121331392,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 26747660,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 52186577,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1131663427,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 26326812,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17950,
+ "fuse_read_lane_wait_nanos": 1753752,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43077,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446205,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1570341,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20856,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6806,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2162179
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-4"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 801707094,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26220,
+ "attr_cache_misses": 30927,
+ "base_fast_inode_invalidations": 15121,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 6,
+ "connection_reuse_count": 32884,
+ "connection_wait_count": 32890,
+ "connection_wait_nanos": 9765864,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 5867,
+ "fuse_adapter_attr_misses": 5674,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5287,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30070,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 417985,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11541,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12033,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557769416,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 567468,
+ "fuse_op_getattr_count": 11541,
+ "fuse_op_getattr_nanos": 72157531,
+ "fuse_op_lookup_count": 12033,
+ "fuse_op_lookup_nanos": 130252976,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 3569,
+ "fuse_op_other_nanos": 122053567,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 26747660,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 52186577,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1133674695,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 26760718,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17958,
+ "fuse_read_lane_wait_nanos": 1754852,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43117,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452603,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1571723,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20872,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6806,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2773095
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-5"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 801707094,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26220,
+ "attr_cache_misses": 30927,
+ "base_fast_inode_invalidations": 15121,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 6,
+ "connection_reuse_count": 32884,
+ "connection_wait_count": 32890,
+ "connection_wait_nanos": 9765864,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6951,
+ "fuse_adapter_attr_misses": 5674,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5306,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 31173,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 417985,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12625,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12052,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557769416,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 567468,
+ "fuse_op_getattr_count": 12625,
+ "fuse_op_getattr_nanos": 72997500,
+ "fuse_op_lookup_count": 12052,
+ "fuse_op_lookup_nanos": 130311386,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 3581,
+ "fuse_op_other_nanos": 122062120,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 26747660,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 52186577,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1133674695,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 26760718,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17958,
+ "fuse_read_lane_wait_nanos": 1754852,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44232,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452603,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1571723,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20872,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6825,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2773095
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-6"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 801707094,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26223,
+ "attr_cache_misses": 30929,
+ "base_fast_inode_invalidations": 15121,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 6,
+ "connection_reuse_count": 32899,
+ "connection_wait_count": 32905,
+ "connection_wait_nanos": 9778389,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 6995,
+ "fuse_adapter_attr_misses": 5675,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5545,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31481,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 417985,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12670,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12295,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557769416,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 567468,
+ "fuse_op_getattr_count": 12670,
+ "fuse_op_getattr_nanos": 73078493,
+ "fuse_op_lookup_count": 12295,
+ "fuse_op_lookup_nanos": 130584689,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 122076233,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 27058125,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 52777099,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1133674695,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 26760718,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17973,
+ "fuse_read_lane_wait_nanos": 1757804,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44576,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452603,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1571723,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20874,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7064,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2773095
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-7"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 801707094,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26223,
+ "attr_cache_misses": 30929,
+ "base_fast_inode_invalidations": 15121,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 6,
+ "connection_reuse_count": 32902,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 9784412,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 6995,
+ "fuse_adapter_attr_misses": 5675,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5545,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31481,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 417985,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12670,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12295,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557769416,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 567468,
+ "fuse_op_getattr_count": 12670,
+ "fuse_op_getattr_nanos": 73078493,
+ "fuse_op_lookup_count": 12295,
+ "fuse_op_lookup_nanos": 130584689,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 122076233,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 27058125,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 52777099,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1133674695,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 26760718,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17973,
+ "fuse_read_lane_wait_nanos": 1757804,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44576,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452603,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1572509,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20874,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7064,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2918797
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "agentfs"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 801707094,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26223,
+ "attr_cache_misses": 30929,
+ "base_fast_inode_invalidations": 15121,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 6,
+ "connection_reuse_count": 32902,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 9784412,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 6995,
+ "fuse_adapter_attr_misses": 5675,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5545,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31481,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 417985,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12670,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12295,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557769416,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 567468,
+ "fuse_op_getattr_count": 12670,
+ "fuse_op_getattr_nanos": 73078493,
+ "fuse_op_lookup_count": 12295,
+ "fuse_op_lookup_nanos": 130584689,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 122076233,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 27058125,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 52777099,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1133674695,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 26760718,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17973,
+ "fuse_read_lane_wait_nanos": 1757804,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44576,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452603,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1572509,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20874,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7064,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2918797
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "fuse_session"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 801707094,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26223,
+ "attr_cache_misses": 30929,
+ "base_fast_inode_invalidations": 15121,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 6,
+ "connection_reuse_count": 32902,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 9784412,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 6995,
+ "fuse_adapter_attr_misses": 5675,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5545,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31481,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 417985,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12670,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12295,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557769416,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 567468,
+ "fuse_op_getattr_count": 12670,
+ "fuse_op_getattr_nanos": 73078493,
+ "fuse_op_lookup_count": 12295,
+ "fuse_op_lookup_nanos": 130584689,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 122076233,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 27058125,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 52777099,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1133674695,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 26760718,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17973,
+ "fuse_read_lane_wait_nanos": 1757804,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44576,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452603,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1572509,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20874,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7064,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2918797
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "run_parent"
+ }
+ ],
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "run",
+ "--session",
+ "git-workload-da03f67d8f4c4f3a8fb1df80210c9bc8",
+ "--no-default-allows",
+ "--",
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-vrotv14m/agentfs-base",
+ "duration_seconds": 4.07556226599263,
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 34,
+ "agentfs_batcher_commit_latency_ns_total": 789697637,
+ "agentfs_batcher_commit_txns": 4778,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4681,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29053,
+ "base_fast_inode_invalidations": 15030,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 968,
+ "connection_create_count": 2,
+ "connection_reuse_count": 31200,
+ "connection_wait_count": 31202,
+ "connection_wait_nanos": 9124052,
+ "dentry_cache_hits": 26031,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 90,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5275,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21774,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 39,
+ "fuse_dispatch_wait_count": 39,
+ "fuse_dispatch_wait_nanos": 242741,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52468820,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5024,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11692,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 553447920,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 36,
+ "fuse_op_forget_nanos": 311550,
+ "fuse_op_getattr_count": 5024,
+ "fuse_op_getattr_nanos": 50461567,
+ "fuse_op_lookup_count": 11692,
+ "fuse_op_lookup_nanos": 124030072,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 112688262,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 22342144,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 931769,
+ "fuse_op_setattr_count": 4748,
+ "fuse_op_setattr_nanos": 1115546826,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 24419114,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16154,
+ "fuse_read_lane_wait_nanos": 1491247,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 31997,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673354,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1427498,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19336,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6769,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14256,
+ "path_cache_hits": 26031,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 11,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2162179
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-1"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 36,
+ "agentfs_batcher_commit_latency_ns_total": 795485745,
+ "agentfs_batcher_commit_txns": 4787,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4686,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9400,
+ "attr_cache_hits": 26200,
+ "attr_cache_misses": 30868,
+ "base_fast_inode_invalidations": 15081,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 983,
+ "connection_create_count": 6,
+ "connection_reuse_count": 31827,
+ "connection_wait_count": 31833,
+ "connection_wait_nanos": 9434007,
+ "dentry_cache_hits": 26104,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4647,
+ "fuse_adapter_attr_misses": 5667,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5287,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27134,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 336684,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10314,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11741,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 556879686,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 438848,
+ "fuse_op_getattr_count": 10314,
+ "fuse_op_getattr_nanos": 70244482,
+ "fuse_op_lookup_count": 11741,
+ "fuse_op_lookup_nanos": 125466303,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 799,
+ "fuse_op_other_nanos": 118642804,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 23579236,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 1063305,
+ "fuse_op_setattr_count": 4762,
+ "fuse_op_setattr_nanos": 1122248836,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 24690879,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16952,
+ "fuse_read_lane_wait_nanos": 1590426,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37395,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53264747,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10245,
+ "fuse_write_lane_wait_nanos": 1487108,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20830,
+ "lookup_base_count": 23,
+ "lookup_count": 40452,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6802,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14342,
+ "path_cache_hits": 26104,
+ "path_cache_misses": 13482,
+ "path_component_count": 33026,
+ "path_resolution_count": 7163,
+ "readdir_count": 1,
+ "readdir_plus_count": 13,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2162179
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-2"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 800622172,
+ "agentfs_batcher_commit_txns": 4791,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26219,
+ "attr_cache_misses": 30903,
+ "base_fast_inode_invalidations": 15105,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 6,
+ "connection_reuse_count": 32844,
+ "connection_wait_count": 32850,
+ "connection_wait_nanos": 9749456,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 5782,
+ "fuse_adapter_attr_misses": 5674,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5287,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 29970,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 417985,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11456,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12032,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557769416,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 567468,
+ "fuse_op_getattr_count": 11456,
+ "fuse_op_getattr_nanos": 72086439,
+ "fuse_op_lookup_count": 12032,
+ "fuse_op_lookup_nanos": 130223610,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 121331392,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 25834276,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 52186577,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1131663427,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 26326812,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17948,
+ "fuse_read_lane_wait_nanos": 1752714,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43001,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446205,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1570341,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20856,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6806,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2162179
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-3"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 800622172,
+ "agentfs_batcher_commit_txns": 4791,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26220,
+ "attr_cache_misses": 30903,
+ "base_fast_inode_invalidations": 15105,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 6,
+ "connection_reuse_count": 32852,
+ "connection_wait_count": 32858,
+ "connection_wait_nanos": 9754688,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 5851,
+ "fuse_adapter_attr_misses": 5674,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5287,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30046,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 417985,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11525,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12033,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557769416,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 567468,
+ "fuse_op_getattr_count": 11525,
+ "fuse_op_getattr_nanos": 72135655,
+ "fuse_op_lookup_count": 12033,
+ "fuse_op_lookup_nanos": 130252976,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 121331392,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 26747660,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 52186577,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1131663427,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 26326812,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17950,
+ "fuse_read_lane_wait_nanos": 1753752,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43077,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446205,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1570341,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20856,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6806,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2162179
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-4"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 801707094,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26220,
+ "attr_cache_misses": 30927,
+ "base_fast_inode_invalidations": 15121,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 6,
+ "connection_reuse_count": 32884,
+ "connection_wait_count": 32890,
+ "connection_wait_nanos": 9765864,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 5867,
+ "fuse_adapter_attr_misses": 5674,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5287,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30070,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 417985,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11541,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12033,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557769416,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 567468,
+ "fuse_op_getattr_count": 11541,
+ "fuse_op_getattr_nanos": 72157531,
+ "fuse_op_lookup_count": 12033,
+ "fuse_op_lookup_nanos": 130252976,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 3569,
+ "fuse_op_other_nanos": 122053567,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 26747660,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 52186577,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1133674695,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 26760718,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17958,
+ "fuse_read_lane_wait_nanos": 1754852,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43117,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452603,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1571723,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20872,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6806,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2773095
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-5"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 801707094,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26220,
+ "attr_cache_misses": 30927,
+ "base_fast_inode_invalidations": 15121,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 6,
+ "connection_reuse_count": 32884,
+ "connection_wait_count": 32890,
+ "connection_wait_nanos": 9765864,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6951,
+ "fuse_adapter_attr_misses": 5674,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5306,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 31173,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 417985,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12625,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12052,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557769416,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 567468,
+ "fuse_op_getattr_count": 12625,
+ "fuse_op_getattr_nanos": 72997500,
+ "fuse_op_lookup_count": 12052,
+ "fuse_op_lookup_nanos": 130311386,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 3581,
+ "fuse_op_other_nanos": 122062120,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 26747660,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 52186577,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1133674695,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 26760718,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17958,
+ "fuse_read_lane_wait_nanos": 1754852,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44232,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452603,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1571723,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20872,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6825,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2773095
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-6"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 801707094,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26223,
+ "attr_cache_misses": 30929,
+ "base_fast_inode_invalidations": 15121,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 6,
+ "connection_reuse_count": 32899,
+ "connection_wait_count": 32905,
+ "connection_wait_nanos": 9778389,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 6995,
+ "fuse_adapter_attr_misses": 5675,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5545,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31481,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 417985,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12670,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12295,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557769416,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 567468,
+ "fuse_op_getattr_count": 12670,
+ "fuse_op_getattr_nanos": 73078493,
+ "fuse_op_lookup_count": 12295,
+ "fuse_op_lookup_nanos": 130584689,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 122076233,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 27058125,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 52777099,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1133674695,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 26760718,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17973,
+ "fuse_read_lane_wait_nanos": 1757804,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44576,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452603,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1571723,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20874,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7064,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2773095
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-7"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 801707094,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26223,
+ "attr_cache_misses": 30929,
+ "base_fast_inode_invalidations": 15121,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 6,
+ "connection_reuse_count": 32902,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 9784412,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 6995,
+ "fuse_adapter_attr_misses": 5675,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5545,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31481,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 417985,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12670,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12295,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557769416,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 567468,
+ "fuse_op_getattr_count": 12670,
+ "fuse_op_getattr_nanos": 73078493,
+ "fuse_op_lookup_count": 12295,
+ "fuse_op_lookup_nanos": 130584689,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 122076233,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 27058125,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 52777099,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1133674695,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 26760718,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17973,
+ "fuse_read_lane_wait_nanos": 1757804,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44576,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452603,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1572509,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20874,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7064,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2918797
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "agentfs"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 801707094,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26223,
+ "attr_cache_misses": 30929,
+ "base_fast_inode_invalidations": 15121,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 6,
+ "connection_reuse_count": 32902,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 9784412,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 6995,
+ "fuse_adapter_attr_misses": 5675,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5545,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31481,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 417985,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12670,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12295,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557769416,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 567468,
+ "fuse_op_getattr_count": 12670,
+ "fuse_op_getattr_nanos": 73078493,
+ "fuse_op_lookup_count": 12295,
+ "fuse_op_lookup_nanos": 130584689,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 122076233,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 27058125,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 52777099,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1133674695,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 26760718,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17973,
+ "fuse_read_lane_wait_nanos": 1757804,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44576,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452603,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1572509,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20874,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7064,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2918797
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "fuse_session"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 801707094,
+ "agentfs_batcher_commit_txns": 4799,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4696,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1372160,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26223,
+ "attr_cache_misses": 30929,
+ "base_fast_inode_invalidations": 15121,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 6,
+ "connection_reuse_count": 32902,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 9784412,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 6995,
+ "fuse_adapter_attr_misses": 5675,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5545,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31481,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 417985,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12670,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12295,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557769416,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 969,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 567468,
+ "fuse_op_getattr_count": 12670,
+ "fuse_op_getattr_nanos": 73078493,
+ "fuse_op_lookup_count": 12295,
+ "fuse_op_lookup_nanos": 130584689,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1225,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 122076233,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 27058125,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 52777099,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1133674695,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 26760718,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17973,
+ "fuse_read_lane_wait_nanos": 1757804,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44576,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452603,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1572509,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20874,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7064,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2918797
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "run_parent"
+ }
+ ],
+ "returncode": 0,
+ "stderr_bytes": 40565,
+ "stderr_tail": "atcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1372160,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9412,\"attr_cache_hits\":26220,\"attr_cache_misses\":30927,\"base_fast_inode_invalidations\":15121,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":267,\"chunk_read_queries\":122,\"chunk_write_chunks\":1003,\"connection_create_count\":6,\"connection_reuse_count\":32884,\"connection_wait_count\":32890,\"connection_wait_nanos\":9765864,\"dentry_cache_hits\":26125,\"dentry_cache_misses\":14052,\"fuse_adapter_attr_hits\":6951,\"fuse_adapter_attr_misses\":5674,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6734,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5306,\"fuse_adapter_negative_misses\":6734,\"fuse_callback_count\":31173,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":8,\"fuse_dispatch_parallel_tasks\":52,\"fuse_dispatch_wait_count\":52,\"fuse_dispatch_wait_nanos\":417985,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":12625,\"fuse_ino_file_resolutions\":27,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12052,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":557769416,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":969,\"fuse_op_forget_count\":49,\"fuse_op_forget_nanos\":567468,\"fuse_op_getattr_count\":12625,\"fuse_op_getattr_nanos\":72997500,\"fuse_op_lookup_count\":12052,\"fuse_op_lookup_nanos\":130311386,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1225,\"fuse_op_other_count\":3581,\"fuse_op_other_nanos\":122062120,\"fuse_op_read_count\":239,\"fuse_op_read_nanos\":26747660,\"fuse_op_readdirplus_count\":1407,\"fuse_op_readdirplus_nanos\":52186577,\"fuse_op_setattr_count\":4776,\"fuse_op_setattr_nanos\":1133674695,\"fuse_op_write_count\":4849,\"fuse_op_write_nanos\":26760718,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":239,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17958,\"fuse_read_lane_wait_nanos\":1754852,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1407,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":44232,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54452603,\"fuse_write_count\":4849,\"fuse_write_lane_wait_count\":10267,\"fuse_write_lane_wait_nanos\":1571723,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20872,\"lookup_base_count\":23,\"lookup_count\":41052,\"lookup_delta_count\":7547,\"lookup_whiteout_count\":0,\"negative_cache_hits\":6825,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46085,\"negative_lookup_count\":14920,\"path_cache_hits\":26125,\"path_cache_misses\":14052,\"path_component_count\":37632,\"path_resolution_count\":8140,\"readdir_count\":1,\"readdir_plus_count\":701,\"wal_checkpoint_count\":11,\"wal_checkpoint_nanos\":2773095},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"phase-checkpoint-6\"}\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":40,\"agentfs_batcher_commit_latency_ns_total\":801707094,\"agentfs_batcher_commit_txns\":4799,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4696,\"agentfs_batcher_drains_timer\":18,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1372160,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9412,\"attr_cache_hits\":26223,\"attr_cache_misses\":30929,\"base_fast_inode_invalidations\":15121,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1003,\"connection_create_count\":6,\"connection_reuse_count\":32899,\"connection_wait_count\":32905,\"connection_wait_nanos\":9778389,\"dentry_cache_hits\":26129,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":6995,\"fuse_adapter_attr_misses\":5675,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5545,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":31481,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":8,\"fuse_dispatch_parallel_tasks\":52,\"fuse_dispatch_wait_count\":52,\"fuse_dispatch_wait_nanos\":417985,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":12670,\"fuse_ino_file_resolutions\":28,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12295,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":557769416,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":969,\"fuse_op_forget_count\":49,\"fuse_op_forget_nanos\":567468,\"fuse_op_getattr_count\":12670,\"fuse_op_getattr_nanos\":73078493,\"fuse_op_lookup_count\":12295,\"fuse_op_lookup_nanos\":130584689,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1225,\"fuse_op_other_count\":3617,\"fuse_op_other_nanos\":122076233,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":27058125,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":52777099,\"fuse_op_setattr_count\":4776,\"fuse_op_setattr_nanos\":1133674695,\"fuse_op_write_count\":4849,\"fuse_op_write_nanos\":26760718,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17973,\"fuse_read_lane_wait_nanos\":1757804,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":44576,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54452603,\"fuse_write_count\":4849,\"fuse_write_lane_wait_count\":10267,\"fuse_write_lane_wait_nanos\":1571723,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20874,\"lookup_base_count\":23,\"lookup_count\":41060,\"lookup_delta_count\":7551,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7064,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14922,\"path_cache_hits\":26129,\"path_cache_misses\":14054,\"path_component_count\":37674,\"path_resolution_count\":8150,\"readdir_count\":1,\"readdir_plus_count\":710,\"wal_checkpoint_count\":11,\"wal_checkpoint_nanos\":2773095},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"phase-checkpoint-7\"}\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":40,\"agentfs_batcher_commit_latency_ns_total\":801707094,\"agentfs_batcher_commit_txns\":4799,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4696,\"agentfs_batcher_drains_timer\":18,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1372160,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9412,\"attr_cache_hits\":26223,\"attr_cache_misses\":30929,\"base_fast_inode_invalidations\":15121,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1003,\"connection_create_count\":6,\"connection_reuse_count\":32902,\"connection_wait_count\":32908,\"connection_wait_nanos\":9784412,\"dentry_cache_hits\":26129,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":6995,\"fuse_adapter_attr_misses\":5675,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5545,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":31481,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":8,\"fuse_dispatch_parallel_tasks\":52,\"fuse_dispatch_wait_count\":52,\"fuse_dispatch_wait_nanos\":417985,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":12670,\"fuse_ino_file_resolutions\":28,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12295,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":557769416,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":969,\"fuse_op_forget_count\":49,\"fuse_op_forget_nanos\":567468,\"fuse_op_getattr_count\":12670,\"fuse_op_getattr_nanos\":73078493,\"fuse_op_lookup_count\":12295,\"fuse_op_lookup_nanos\":130584689,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1225,\"fuse_op_other_count\":3617,\"fuse_op_other_nanos\":122076233,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":27058125,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":52777099,\"fuse_op_setattr_count\":4776,\"fuse_op_setattr_nanos\":1133674695,\"fuse_op_write_count\":4849,\"fuse_op_write_nanos\":26760718,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17973,\"fuse_read_lane_wait_nanos\":1757804,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":44576,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54452603,\"fuse_write_count\":4849,\"fuse_write_lane_wait_count\":10269,\"fuse_write_lane_wait_nanos\":1572509,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20874,\"lookup_base_count\":23,\"lookup_count\":41060,\"lookup_delta_count\":7551,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7064,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14922,\"path_cache_hits\":26129,\"path_cache_misses\":14054,\"path_component_count\":37674,\"path_resolution_count\":8150,\"readdir_count\":1,\"readdir_plus_count\":710,\"wal_checkpoint_count\":13,\"wal_checkpoint_nanos\":2918797},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"agentfs\"}\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":40,\"agentfs_batcher_commit_latency_ns_total\":801707094,\"agentfs_batcher_commit_txns\":4799,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4696,\"agentfs_batcher_drains_timer\":18,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1372160,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9412,\"attr_cache_hits\":26223,\"attr_cache_misses\":30929,\"base_fast_inode_invalidations\":15121,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1003,\"connection_create_count\":6,\"connection_reuse_count\":32902,\"connection_wait_count\":32908,\"connection_wait_nanos\":9784412,\"dentry_cache_hits\":26129,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":6995,\"fuse_adapter_attr_misses\":5675,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5545,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":31481,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":8,\"fuse_dispatch_parallel_tasks\":52,\"fuse_dispatch_wait_count\":52,\"fuse_dispatch_wait_nanos\":417985,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":12670,\"fuse_ino_file_resolutions\":28,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12295,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":557769416,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":969,\"fuse_op_forget_count\":49,\"fuse_op_forget_nanos\":567468,\"fuse_op_getattr_count\":12670,\"fuse_op_getattr_nanos\":73078493,\"fuse_op_lookup_count\":12295,\"fuse_op_lookup_nanos\":130584689,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1225,\"fuse_op_other_count\":3617,\"fuse_op_other_nanos\":122076233,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":27058125,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":52777099,\"fuse_op_setattr_count\":4776,\"fuse_op_setattr_nanos\":1133674695,\"fuse_op_write_count\":4849,\"fuse_op_write_nanos\":26760718,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17973,\"fuse_read_lane_wait_nanos\":1757804,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":44576,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54452603,\"fuse_write_count\":4849,\"fuse_write_lane_wait_count\":10269,\"fuse_write_lane_wait_nanos\":1572509,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20874,\"lookup_base_count\":23,\"lookup_count\":41060,\"lookup_delta_count\":7551,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7064,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14922,\"path_cache_hits\":26129,\"path_cache_misses\":14054,\"path_component_count\":37674,\"path_resolution_count\":8150,\"readdir_count\":1,\"readdir_plus_count\":710,\"wal_checkpoint_count\":13,\"wal_checkpoint_nanos\":2918797},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"fuse_session\"}\n\nSession: git-workload-da03f67d8f4c4f3a8fb1df80210c9bc8\n\nTo resume this session:\n agentfs run --session git-workload-da03f67d8f4c4f3a8fb1df80210c9bc8\n\nTo see what changed:\n agentfs diff git-workload-da03f67d8f4c4f3a8fb1df80210c9bc8\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":40,\"agentfs_batcher_commit_latency_ns_total\":801707094,\"agentfs_batcher_commit_txns\":4799,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4696,\"agentfs_batcher_drains_timer\":18,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1372160,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9412,\"attr_cache_hits\":26223,\"attr_cache_misses\":30929,\"base_fast_inode_invalidations\":15121,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1003,\"connection_create_count\":6,\"connection_reuse_count\":32902,\"connection_wait_count\":32908,\"connection_wait_nanos\":9784412,\"dentry_cache_hits\":26129,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":6995,\"fuse_adapter_attr_misses\":5675,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5545,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":31481,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":8,\"fuse_dispatch_parallel_tasks\":52,\"fuse_dispatch_wait_count\":52,\"fuse_dispatch_wait_nanos\":417985,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":12670,\"fuse_ino_file_resolutions\":28,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12295,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":557769416,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":969,\"fuse_op_forget_count\":49,\"fuse_op_forget_nanos\":567468,\"fuse_op_getattr_count\":12670,\"fuse_op_getattr_nanos\":73078493,\"fuse_op_lookup_count\":12295,\"fuse_op_lookup_nanos\":130584689,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1225,\"fuse_op_other_count\":3617,\"fuse_op_other_nanos\":122076233,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":27058125,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":52777099,\"fuse_op_setattr_count\":4776,\"fuse_op_setattr_nanos\":1133674695,\"fuse_op_write_count\":4849,\"fuse_op_write_nanos\":26760718,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17973,\"fuse_read_lane_wait_nanos\":1757804,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":44576,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54452603,\"fuse_write_count\":4849,\"fuse_write_lane_wait_count\":10269,\"fuse_write_lane_wait_nanos\":1572509,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20874,\"lookup_base_count\":23,\"lookup_count\":41060,\"lookup_delta_count\":7551,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7064,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14922,\"path_cache_hits\":26129,\"path_cache_misses\":14054,\"path_component_count\":37674,\"path_resolution_count\":8150,\"readdir_count\":1,\"readdir_plus_count\":710,\"wal_checkpoint_count\":13,\"wal_checkpoint_nanos\":2918797},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"run_parent\"}\n",
+ "stdout_bytes": 18782,
+ "stdout_tail": "2026-07-03T11:39:04.371977Z INFO agentfs::fuser::session: resolved FUSE dispatch mode: parallel workers=7 queue_capacity=28\n2026-07-03T11:39:04.372283Z INFO agentfs::fuse: advertising FUSE_OVER_IO_URING\n2026-07-03T11:39:04.372445Z INFO agentfs::fuser::uring: starting fuse-over-io_uring queues nr_queues=14 depth=4\n2026-07-03T11:39:05.683375Z WARN agentfs::fuser::request: Request RequestId(27873): Failed to send reply: No such file or directory (os error 2)\n2026-07-03T11:39:06.683370Z WARN agentfs::fuser::request: Request RequestId(51197): Failed to send reply: No such file or directory (os error 2)\n{\"branch_status\": \"## agentfs-benchmark\\n\", \"diff\": {\"changed_file_count\": 8, \"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.04466473500360735, \"patch_bytes\": 3282, \"patch_sha256\": \"51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc\", \"runs\": {\"name_only\": {\"argv\": [\"git\", \"diff\", \"--name-only\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-vrotv14m/agentfs-base/work\", \"duration_seconds\": 0.015283184999134392, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 144, \"stdout_tail\": \"docs/CLA.md\\ndocs/agents_md.md\\ndocs/authentication.md\\ndocs/config.md\\ndocs/contributing.md\\ndocs/example-config.md\\ndocs/exec.md\\ndocs/execpolicy.md\\n\"}, \"patch\": {\"argv\": [\"git\", \"diff\", \"--\", \".\"], \"cwd\": \"/tmp/agentfs-git-workload-vrotv14m/agentfs-base/work\", \"duration_seconds\": 0.018319342998438515, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 3282, \"stdout_tail\": \"diff --git a/docs/CLA.md b/docs/CLA.md\\nindex 804f202..3495ac9 100644\\n--- a/docs/CLA.md\\n+++ b/docs/CLA.md\\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\\n This Agreement is governed by the laws of the **State of California**, USA,\\n excluding its conflict\\u2011of\\u2011laws rules. If any provision is held unenforceable,\\n the remaining provisions remain in force.\\n+\\n+AgentFS Git benchmark edit 00 for docs/CLA.md\\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\\nindex 3df0fac..b8b063d 100644\\n--- a/docs/agents_md.md\\n+++ b/docs/agents_md.md\\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\\n ## Hierarchical agents message\\n \\n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\\n+\\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\\ndiff --git a/docs/authentication.md b/docs/authentication.md\\nindex c307349..b3bc9dc 100644\\n--- a/docs/authentication.md\\n+++ b/docs/authentication.md\\n@@ -1,3 +1,5 @@\\n # Authentication\\n \\n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\\n+\\n+AgentFS Git benchmark edit 02 for docs/authentication.md\\ndiff --git a/docs/config.md b/docs/config.md\\nindex d35b0a8..030e278 100644\\n--- a/docs/config.md\\n+++ b/docs/config.md\\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\\n still allowing managed hooks from requirements and managed config layers. This\\n setting is only supported in `requirements.toml`; putting it in `config.toml`\\n does not enable managed-hooks-only mode.\\n+\\n+AgentFS Git benchmark edit 03 for docs/config.md\\ndiff --git a/docs/contributing.md b/docs/contributing.md\\nindex aeae1f1..b5a22ac 100644\\n--- a/docs/contributing.md\\n+++ b/docs/contributing.md\\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\\n ### Security & responsible AI\\n \\n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\\n+\\n+AgentFS Git benchmark edit 04 for docs/contributing.md\\ndiff --git a/docs/example-config.md b/docs/example-config.md\\nindex 84b1143..b09f835 100644\\n--- a/docs/example-config.md\\n+++ b/docs/example-config.md\\n@@ -1,3 +1,5 @@\\n # Sample configuration\\n \\n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\\n+\\n+AgentFS Git benchmark edit 05 for docs/example-config.md\\ndiff --git a/docs/exec.md b/docs/exec.md\\nindex 57e4323..a81da98 100644\\n--- a/docs/exec.md\\n+++ b/docs/exec.md\\n@@ -1,3 +1,5 @@\\n # Non-interactive mode\\n \\n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\\n+\\n+AgentFS Git benchmark edit 06 for docs/exec.md\\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\\nindex cafebb3..3b48afe 100644\\n--- a/docs/execpolicy.md\\n+++ b/docs/execpolicy.md\\n@@ -1,3 +1,5 @@\\n # Execution policy\\n \\n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\\n+\\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\\n\"}, \"stat\": {\"argv\": [\"git\", \"diff\", \"--stat\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-vrotv14m/agentfs-base/work\", \"duration_seconds\": 0.011019598998245783, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 283, \"stdout_tail\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}}, \"stat_stdout\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}, \"edits\": {\"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.004283816000679508, \"edits\": [{\"appended_bytes\": 47, \"path\": \"docs/CLA.md\", \"size_after\": 2106, \"size_before\": 2059}, {\"appended_bytes\": 53, \"path\": \"docs/agents_md.md\", \"size_after\": 462, \"size_before\": 409}, {\"appended_bytes\": 58, \"path\": \"docs/authentication.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 50, \"path\": \"docs/config.md\", \"size_after\": 776, \"size_before\": 726}, {\"appended_bytes\": 56, \"path\": \"docs/contributing.md\", \"size_after\": 6380, \"size_before\": 6324}, {\"appended_bytes\": 58, \"path\": \"docs/example-config.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 48, \"path\": \"docs/exec.md\", \"size_after\": 194, \"size_before\": 146}, {\"appended_bytes\": 54, \"path\": \"docs/execpolicy.md\", \"size_after\": 192, \"size_before\": 138}]}, \"fsck\": {\"ok\": true, \"ran\": true, \"run\": {\"argv\": [\"git\", \"fsck\", \"--strict\"], \"cwd\": \"/tmp/agentfs-git-workload-vrotv14m/agentfs-base/work\", \"duration_seconds\": 0.18677330001082737, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}, \"head_commit\": \"7d47056ea42636271ac020b86347fbbef49490aa\", \"initial_status\": \"\", \"phase_runs\": {\"checkout\": {\"argv\": [\"git\", \"checkout\", \"-B\", \"agentfs-benchmark\"], \"cwd\": \"/tmp/agentfs-git-workload-vrotv14m/agentfs-base/work\", \"duration_seconds\": 0.0554803960112622, \"returncode\": 0, \"stderr_bytes\": 45, \"stderr_tail\": \"Switched to a new branch 'agentfs-benchmark'\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"clone\": {\"argv\": [\"git\", \"clone\", \"--local\", \"--no-hardlinks\", \"/tmp/agentfs-git-workload-vrotv14m/agentfs-base/mirror.git\", \"/tmp/agentfs-git-workload-vrotv14m/agentfs-base/work\"], \"cwd\": \"/tmp/agentfs-git-workload-vrotv14m/agentfs-base\", \"duration_seconds\": 2.8421052980120294, \"returncode\": 0, \"stderr_bytes\": 2208, \"stderr_tail\": \"Cloning into '/tmp/agentfs-git-workload-vrotv14m/agentfs-base/work'...\\nwarning: source repository is shallow, ignoring --local\\nwarning: --local is ignored\\nUpdating files: 41% (1915/4644)\\nUpdating files: 42% (1951/4644)\\nUpdating files: 43% (1997/4644)\\nUpdating files: 44% (2044/4644)\\nUpdating files: 45% (2090/4644)\\nUpdating files: 46% (2137/4644)\\nUpdating files: 47% (2183/4644)\\nUpdating files: 48% (2230/4644)\\nUpdating files: 49% (2276/4644)\\nUpdating files: 50% (2322/4644)\\nUpdating files: 51% (2369/4644)\\nUpdating files: 52% (2415/4644)\\nUpdating files: 53% (2462/4644)\\nUpdating files: 54% (2508/4644)\\nUpdating files: 55% (2555/4644)\\nUpdating files: 56% (2601/4644)\\nUpdating files: 57% (2648/4644)\\nUpdating files: 58% (2694/4644)\\nUpdating files: 59% (2740/4644)\\nUpdating files: 60% (2787/4644)\\nUpdating files: 61% (2833/4644)\\nUpdating files: 62% (2880/4644)\\nUpdating files: 63% (2926/4644)\\nUpdating files: 64% (2973/4644)\\nUpdating files: 65% (3019/4644)\\nUpdating files: 66% (3066/4644)\\nUpdating files: 67% (3112/4644)\\nUpdating files: 68% (3158/4644)\\nUpdating files: 69% (3205/4644)\\nUpdating files: 70% (3251/4644)\\nUpdating files: 71% (3298/4644)\\nUpdating files: 72% (3344/4644)\\nUpdating files: 73% (3391/4644)\\nUpdating files: 74% (3437/4644)\\nUpdating files: 75% (3483/4644)\\nUpdating files: 76% (3530/4644)\\nUpdating files: 77% (3576/4644)\\nUpdating files: 78% (3623/4644)\\nUpdating files: 79% (3669/4644)\\nUpdating files: 79% (3682/4644)\\nUpdating files: 80% (3716/4644)\\nUpdating files: 81% (3762/4644)\\nUpdating files: 82% (3809/4644)\\nUpdating files: 83% (3855/4644)\\nUpdating files: 84% (3901/4644)\\nUpdating files: 85% (3948/4644)\\nUpdating files: 86% (3994/4644)\\nUpdating files: 87% (4041/4644)\\nUpdating files: 88% (4087/4644)\\nUpdating files: 89% (4134/4644)\\nUpdating files: 90% (4180/4644)\\nUpdating files: 91% (4227/4644)\\nUpdating files: 92% (4273/4644)\\nUpdating files: 93% (4319/4644)\\nUpdating files: 94% (4366/4644)\\nUpdating files: 95% (4412/4644)\\nUpdating files: 96% (4459/4644)\\nUpdating files: 97% (4505/4644)\\nUpdating files: 98% (4552/4644)\\nUpdating files: 99% (4598/4644)\\nUpdating files: 100% (4644/4644)\\nUpdating files: 100% (4644/4644), done.\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"status\": {\"branch\": {\"argv\": [\"git\", \"status\", \"--short\", \"--branch\"], \"cwd\": \"/tmp/agentfs-git-workload-vrotv14m/agentfs-base/work\", \"duration_seconds\": 0.03388290099974256, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 21, \"stdout_tail\": \"## agentfs-benchmark\\n\"}, \"short\": {\"argv\": [\"git\", \"status\", \"--short\"], \"cwd\": \"/tmp/agentfs-git-workload-vrotv14m/agentfs-base/work\", \"duration_seconds\": 0.11276068199367728, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}}, \"phase_seconds\": {\"checkout\": 0.0579280270030722, \"clone\": 2.8421427930006757, \"diff\": 0.04466473500360735, \"edit\": 0.004283816000679508, \"fsck\": 0.18678362200444099, \"read_search\": 0.008317582993186079, \"status\": 0.14666951198887546}, \"profile_checkpoints\": [\"clone\", \"checkout\", \"status\", \"read_search\", \"edit\", \"diff\", \"fsck\"], \"read_search\": {\"bytes_read\": 117190, \"digest\": \"6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53\", \"files_scanned\": 64, \"files_total\": 4644, \"ls_files_run\": {\"argv\": [\"git\", \"ls-files\", \"-z\"], \"cwd\": \"/tmp/agentfs-git-workload-vrotv14m/agentfs-base/work\", \"duration_seconds\": 0.005506264991709031, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 263077, \"stdout_tail\": \"i_codex/api.py\\u0000sdk/python/src/openai_codex/async_client.py\\u0000sdk/python/src/openai_codex/client.py\\u0000sdk/python/src/openai_codex/errors.py\\u0000sdk/python/src/openai_codex/generated/__init__.py\\u0000sdk/python/src/openai_codex/generated/notification_registry.py\\u0000sdk/python/src/openai_codex/generated/v2_all.py\\u0000sdk/python/src/openai_codex/models.py\\u0000sdk/python/src/openai_codex/py.typed\\u0000sdk/python/src/openai_codex/retry.py\\u0000sdk/python/src/openai_codex/types.py\\u0000sdk/python/tests/app_server_harness.py\\u0000sdk/python/tests/app_server_helpers.py\\u0000sdk/python/tests/conftest.py\\u0000sdk/python/tests/test_app_server_approvals.py\\u0000sdk/python/tests/test_app_server_inputs.py\\u0000sdk/python/tests/test_app_server_lifecycle.py\\u0000sdk/python/tests/test_app_server_login.py\\u0000sdk/python/tests/test_app_server_run.py\\u0000sdk/python/tests/test_app_server_streaming.py\\u0000sdk/python/tests/test_app_server_turn_controls.py\\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\\u0000sdk/python/tests/test_async_client_behavior.py\\u0000sdk/python/tests/test_client_rpc_methods.py\\u0000sdk/python/tests/test_contract_generation.py\\u0000sdk/python/tests/test_public_api_runtime_behavior.py\\u0000sdk/python/tests/test_public_api_signatures.py\\u0000sdk/python/tests/test_real_app_server_integration.py\\u0000sdk/python/uv.lock\\u0000sdk/typescript/.prettierignore\\u0000sdk/typescript/.prettierrc\\u0000sdk/typescript/README.md\\u0000sdk/typescript/eslint.config.js\\u0000sdk/typescript/jest.config.cjs\\u0000sdk/typescript/package.json\\u0000sdk/typescript/samples/basic_streaming.ts\\u0000sdk/typescript/samples/helpers.ts\\u0000sdk/typescript/samples/structured_output.ts\\u0000sdk/typescript/samples/structured_output_zod.ts\\u0000sdk/typescript/src/codex.ts\\u0000sdk/typescript/src/codexOptions.ts\\u0000sdk/typescript/src/events.ts\\u0000sdk/typescript/src/exec.ts\\u0000sdk/typescript/src/index.ts\\u0000sdk/typescript/src/items.ts\\u0000sdk/typescript/src/outputSchemaFile.ts\\u0000sdk/typescript/src/thread.ts\\u0000sdk/typescript/src/threadOptions.ts\\u0000sdk/typescript/src/turnOptions.ts\\u0000sdk/typescript/tests/abort.test.ts\\u0000sdk/typescript/tests/codexExecSpy.ts\\u0000sdk/typescript/tests/exec.test.ts\\u0000sdk/typescript/tests/responsesProxy.ts\\u0000sdk/typescript/tests/run.test.ts\\u0000sdk/typescript/tests/runStreamed.test.ts\\u0000sdk/typescript/tests/setupCodexHome.ts\\u0000sdk/typescript/tests/testCodex.ts\\u0000sdk/typescript/tsconfig.json\\u0000sdk/typescript/tsup.config.ts\\u0000third_party/v8/BUILD.bazel\\u0000third_party/v8/README.md\\u0000third_party/v8/libcxx.BUILD.bazel\\u0000third_party/v8/libcxx_config/BUILD.bazel\\u0000third_party/v8/libcxx_config/__assertion_handler\\u0000third_party/v8/libcxx_config/__config_site\\u0000third_party/v8/libcxxabi.BUILD.bazel\\u0000third_party/v8/llvm_libc.BUILD.bazel\\u0000third_party/v8/rusty_v8_147_4_0.sha256\\u0000third_party/v8/v8_crate.BUILD.bazel\\u0000third_party/wezterm/LICENSE\\u0000tools/argument-comment-lint/.cargo/config.toml\\u0000tools/argument-comment-lint/.gitignore\\u0000tools/argument-comment-lint/BUILD.bazel\\u0000tools/argument-comment-lint/Cargo.lock\\u0000tools/argument-comment-lint/Cargo.toml\\u0000tools/argument-comment-lint/README.md\\u0000tools/argument-comment-lint/argument-comment-lint\\u0000tools/argument-comment-lint/driver.rs\\u0000tools/argument-comment-lint/lint_aspect.bzl\\u0000tools/argument-comment-lint/list-bazel-targets.sh\\u0000tools/argument-comment-lint/run-prebuilt-linter.py\\u0000tools/argument-comment-lint/run.py\\u0000tools/argument-comment-lint/rust-toolchain\\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\\u0000tools/argument-comment-lint/src/comment_parser.rs\\u0000tools/argument-comment-lint/src/lib.rs\\u0000tools/argument-comment-lint/test_wrapper_common.py\\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\\u0000tools/argument-comment-lint/ui/comment_matches.rs\\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\\u0000tools/argument-comment-lint/wrapper_common.py\\u0000workspace_root_test_launcher.bat.tpl\\u0000workspace_root_test_launcher.sh.tpl\\u0000\"}, \"matches\": 0, \"selected_files\": [\".bazelignore\", \".bazelrc\", \".bazelversion\", \".codespellignore\", \".codespellrc\", \".codex/environments/environment.toml\", \".codex/skills/babysit-pr/SKILL.md\", \".codex/skills/babysit-pr/agents/openai.yaml\", \".codex/skills/babysit-pr/references/github-api-notes.md\", \".codex/skills/babysit-pr/references/heuristics.md\", \".codex/skills/babysit-pr/scripts/gh_pr_watch.py\", \".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py\", \".codex/skills/code-review-breaking-changes/SKILL.md\", \".codex/skills/code-review-change-size/SKILL.md\", \".codex/skills/code-review-context/SKILL.md\", \".codex/skills/code-review-testing/SKILL.md\", \".codex/skills/code-review/SKILL.md\", \".codex/skills/codex-bug/SKILL.md\", \".codex/skills/codex-issue-digest/SKILL.md\", \".codex/skills/codex-issue-digest/agents/openai.yaml\", \".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py\", \".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py\", \".codex/skills/codex-pr-body/SKILL.md\", \".codex/skills/remote-tests/SKILL.md\", \".codex/skills/test-tui/SKILL.md\", \".codex/skills/update-v8-version/SKILL.md\", \".codex/skills/update-v8-version/agents/openai.yaml\", \".devcontainer/Dockerfile\", \".devcontainer/Dockerfile.secure\", \".devcontainer/README.md\", \".devcontainer/codex-install/package.json\", \".devcontainer/codex-install/pnpm-lock.yaml\", \".devcontainer/codex-install/pnpm-workspace.yaml\", \".devcontainer/devcontainer.json\", \".devcontainer/devcontainer.secure.json\", \".devcontainer/init-firewall.sh\", \".devcontainer/post-start.sh\", \".devcontainer/post_install.py\", \".gitattributes\", \".github/CODEOWNERS\", \".github/ISSUE_TEMPLATE/1-codex-app.yml\", \".github/ISSUE_TEMPLATE/2-extension.yml\", \".github/ISSUE_TEMPLATE/3-cli.yml\", \".github/ISSUE_TEMPLATE/4-bug-report.yml\", \".github/ISSUE_TEMPLATE/5-feature-request.yml\", \".github/ISSUE_TEMPLATE/6-docs-issue.yml\", \".github/actions/linux-code-sign/action.yml\", \".github/actions/macos-code-sign/action.yml\", \".github/actions/macos-code-sign/codex.entitlements.plist\", \".github/actions/macos-code-sign/notary_helpers.sh\", \".github/actions/prepare-bazel-ci/action.yml\", \".github/actions/run-argument-comment-lint/action.yml\", \".github/actions/setup-bazel-ci/action.yml\", \".github/actions/setup-msvc-env/action.yml\", \".github/actions/setup-msvc-env/setup-msvc-env.ps1\", \".github/actions/setup-rusty-v8/action.yml\", \".github/actions/windows-code-sign/action.yml\", \".github/blob-size-allowlist.txt\", \".github/codex-cli-splash.png\", \".github/codex/home/config.toml\", \".github/codex/labels/codex-attempt.md\", \".github/codex/labels/codex-review.md\", \".github/codex/labels/codex-rust-review.md\", \".github/codex/labels/codex-triage.md\"], \"token\": \"AGENTFS_TOKEN\"}, \"total_seconds\": 3.9917564260103973}\n",
+ "timed_out": false
+ },
+ "workload": {
+ "branch_status": "## agentfs-benchmark\n",
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.04466473500360735,
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc",
+ "runs": {
+ "name_only": {
+ "argv": [
+ "git",
+ "diff",
+ "--name-only",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-vrotv14m/agentfs-base/work",
+ "duration_seconds": 0.015283184999134392,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 144,
+ "stdout_tail": "docs/CLA.md\ndocs/agents_md.md\ndocs/authentication.md\ndocs/config.md\ndocs/contributing.md\ndocs/example-config.md\ndocs/exec.md\ndocs/execpolicy.md\n"
+ },
+ "patch": {
+ "argv": [
+ "git",
+ "diff",
+ "--",
+ "."
+ ],
+ "cwd": "/tmp/agentfs-git-workload-vrotv14m/agentfs-base/work",
+ "duration_seconds": 0.018319342998438515,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 3282,
+ "stdout_tail": "diff --git a/docs/CLA.md b/docs/CLA.md\nindex 804f202..3495ac9 100644\n--- a/docs/CLA.md\n+++ b/docs/CLA.md\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\n This Agreement is governed by the laws of the **State of California**, USA,\n excluding its conflict\u2011of\u2011laws rules. If any provision is held unenforceable,\n the remaining provisions remain in force.\n+\n+AgentFS Git benchmark edit 00 for docs/CLA.md\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\nindex 3df0fac..b8b063d 100644\n--- a/docs/agents_md.md\n+++ b/docs/agents_md.md\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\n ## Hierarchical agents message\n \n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\n+\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\ndiff --git a/docs/authentication.md b/docs/authentication.md\nindex c307349..b3bc9dc 100644\n--- a/docs/authentication.md\n+++ b/docs/authentication.md\n@@ -1,3 +1,5 @@\n # Authentication\n \n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\n+\n+AgentFS Git benchmark edit 02 for docs/authentication.md\ndiff --git a/docs/config.md b/docs/config.md\nindex d35b0a8..030e278 100644\n--- a/docs/config.md\n+++ b/docs/config.md\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\n still allowing managed hooks from requirements and managed config layers. This\n setting is only supported in `requirements.toml`; putting it in `config.toml`\n does not enable managed-hooks-only mode.\n+\n+AgentFS Git benchmark edit 03 for docs/config.md\ndiff --git a/docs/contributing.md b/docs/contributing.md\nindex aeae1f1..b5a22ac 100644\n--- a/docs/contributing.md\n+++ b/docs/contributing.md\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\n ### Security & responsible AI\n \n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\n+\n+AgentFS Git benchmark edit 04 for docs/contributing.md\ndiff --git a/docs/example-config.md b/docs/example-config.md\nindex 84b1143..b09f835 100644\n--- a/docs/example-config.md\n+++ b/docs/example-config.md\n@@ -1,3 +1,5 @@\n # Sample configuration\n \n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\n+\n+AgentFS Git benchmark edit 05 for docs/example-config.md\ndiff --git a/docs/exec.md b/docs/exec.md\nindex 57e4323..a81da98 100644\n--- a/docs/exec.md\n+++ b/docs/exec.md\n@@ -1,3 +1,5 @@\n # Non-interactive mode\n \n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\n+\n+AgentFS Git benchmark edit 06 for docs/exec.md\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\nindex cafebb3..3b48afe 100644\n--- a/docs/execpolicy.md\n+++ b/docs/execpolicy.md\n@@ -1,3 +1,5 @@\n # Execution policy\n \n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\n+\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\n"
+ },
+ "stat": {
+ "argv": [
+ "git",
+ "diff",
+ "--stat",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-vrotv14m/agentfs-base/work",
+ "duration_seconds": 0.011019598998245783,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 283,
+ "stdout_tail": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ }
+ },
+ "stat_stdout": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.004283816000679508,
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true,
+ "run": {
+ "argv": [
+ "git",
+ "fsck",
+ "--strict"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-vrotv14m/agentfs-base/work",
+ "duration_seconds": 0.18677330001082737,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "phase_runs": {
+ "checkout": {
+ "argv": [
+ "git",
+ "checkout",
+ "-B",
+ "agentfs-benchmark"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-vrotv14m/agentfs-base/work",
+ "duration_seconds": 0.0554803960112622,
+ "returncode": 0,
+ "stderr_bytes": 45,
+ "stderr_tail": "Switched to a new branch 'agentfs-benchmark'\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "clone": {
+ "argv": [
+ "git",
+ "clone",
+ "--local",
+ "--no-hardlinks",
+ "/tmp/agentfs-git-workload-vrotv14m/agentfs-base/mirror.git",
+ "/tmp/agentfs-git-workload-vrotv14m/agentfs-base/work"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-vrotv14m/agentfs-base",
+ "duration_seconds": 2.8421052980120294,
+ "returncode": 0,
+ "stderr_bytes": 2208,
+ "stderr_tail": "Cloning into '/tmp/agentfs-git-workload-vrotv14m/agentfs-base/work'...\nwarning: source repository is shallow, ignoring --local\nwarning: --local is ignored\nUpdating files: 41% (1915/4644)\nUpdating files: 42% (1951/4644)\nUpdating files: 43% (1997/4644)\nUpdating files: 44% (2044/4644)\nUpdating files: 45% (2090/4644)\nUpdating files: 46% (2137/4644)\nUpdating files: 47% (2183/4644)\nUpdating files: 48% (2230/4644)\nUpdating files: 49% (2276/4644)\nUpdating files: 50% (2322/4644)\nUpdating files: 51% (2369/4644)\nUpdating files: 52% (2415/4644)\nUpdating files: 53% (2462/4644)\nUpdating files: 54% (2508/4644)\nUpdating files: 55% (2555/4644)\nUpdating files: 56% (2601/4644)\nUpdating files: 57% (2648/4644)\nUpdating files: 58% (2694/4644)\nUpdating files: 59% (2740/4644)\nUpdating files: 60% (2787/4644)\nUpdating files: 61% (2833/4644)\nUpdating files: 62% (2880/4644)\nUpdating files: 63% (2926/4644)\nUpdating files: 64% (2973/4644)\nUpdating files: 65% (3019/4644)\nUpdating files: 66% (3066/4644)\nUpdating files: 67% (3112/4644)\nUpdating files: 68% (3158/4644)\nUpdating files: 69% (3205/4644)\nUpdating files: 70% (3251/4644)\nUpdating files: 71% (3298/4644)\nUpdating files: 72% (3344/4644)\nUpdating files: 73% (3391/4644)\nUpdating files: 74% (3437/4644)\nUpdating files: 75% (3483/4644)\nUpdating files: 76% (3530/4644)\nUpdating files: 77% (3576/4644)\nUpdating files: 78% (3623/4644)\nUpdating files: 79% (3669/4644)\nUpdating files: 79% (3682/4644)\nUpdating files: 80% (3716/4644)\nUpdating files: 81% (3762/4644)\nUpdating files: 82% (3809/4644)\nUpdating files: 83% (3855/4644)\nUpdating files: 84% (3901/4644)\nUpdating files: 85% (3948/4644)\nUpdating files: 86% (3994/4644)\nUpdating files: 87% (4041/4644)\nUpdating files: 88% (4087/4644)\nUpdating files: 89% (4134/4644)\nUpdating files: 90% (4180/4644)\nUpdating files: 91% (4227/4644)\nUpdating files: 92% (4273/4644)\nUpdating files: 93% (4319/4644)\nUpdating files: 94% (4366/4644)\nUpdating files: 95% (4412/4644)\nUpdating files: 96% (4459/4644)\nUpdating files: 97% (4505/4644)\nUpdating files: 98% (4552/4644)\nUpdating files: 99% (4598/4644)\nUpdating files: 100% (4644/4644)\nUpdating files: 100% (4644/4644), done.\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "status": {
+ "branch": {
+ "argv": [
+ "git",
+ "status",
+ "--short",
+ "--branch"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-vrotv14m/agentfs-base/work",
+ "duration_seconds": 0.03388290099974256,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 21,
+ "stdout_tail": "## agentfs-benchmark\n"
+ },
+ "short": {
+ "argv": [
+ "git",
+ "status",
+ "--short"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-vrotv14m/agentfs-base/work",
+ "duration_seconds": 0.11276068199367728,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ }
+ },
+ "phase_seconds": {
+ "checkout": 0.0579280270030722,
+ "clone": 2.8421427930006757,
+ "diff": 0.04466473500360735,
+ "edit": 0.004283816000679508,
+ "fsck": 0.18678362200444099,
+ "read_search": 0.008317582993186079,
+ "status": 0.14666951198887546
+ },
+ "profile_checkpoints": [
+ "clone",
+ "checkout",
+ "status",
+ "read_search",
+ "edit",
+ "diff",
+ "fsck"
+ ],
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "ls_files_run": {
+ "argv": [
+ "git",
+ "ls-files",
+ "-z"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-vrotv14m/agentfs-base/work",
+ "duration_seconds": 0.005506264991709031,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 263077,
+ "stdout_tail": "i_codex/api.py\u0000sdk/python/src/openai_codex/async_client.py\u0000sdk/python/src/openai_codex/client.py\u0000sdk/python/src/openai_codex/errors.py\u0000sdk/python/src/openai_codex/generated/__init__.py\u0000sdk/python/src/openai_codex/generated/notification_registry.py\u0000sdk/python/src/openai_codex/generated/v2_all.py\u0000sdk/python/src/openai_codex/models.py\u0000sdk/python/src/openai_codex/py.typed\u0000sdk/python/src/openai_codex/retry.py\u0000sdk/python/src/openai_codex/types.py\u0000sdk/python/tests/app_server_harness.py\u0000sdk/python/tests/app_server_helpers.py\u0000sdk/python/tests/conftest.py\u0000sdk/python/tests/test_app_server_approvals.py\u0000sdk/python/tests/test_app_server_inputs.py\u0000sdk/python/tests/test_app_server_lifecycle.py\u0000sdk/python/tests/test_app_server_login.py\u0000sdk/python/tests/test_app_server_run.py\u0000sdk/python/tests/test_app_server_streaming.py\u0000sdk/python/tests/test_app_server_turn_controls.py\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\u0000sdk/python/tests/test_async_client_behavior.py\u0000sdk/python/tests/test_client_rpc_methods.py\u0000sdk/python/tests/test_contract_generation.py\u0000sdk/python/tests/test_public_api_runtime_behavior.py\u0000sdk/python/tests/test_public_api_signatures.py\u0000sdk/python/tests/test_real_app_server_integration.py\u0000sdk/python/uv.lock\u0000sdk/typescript/.prettierignore\u0000sdk/typescript/.prettierrc\u0000sdk/typescript/README.md\u0000sdk/typescript/eslint.config.js\u0000sdk/typescript/jest.config.cjs\u0000sdk/typescript/package.json\u0000sdk/typescript/samples/basic_streaming.ts\u0000sdk/typescript/samples/helpers.ts\u0000sdk/typescript/samples/structured_output.ts\u0000sdk/typescript/samples/structured_output_zod.ts\u0000sdk/typescript/src/codex.ts\u0000sdk/typescript/src/codexOptions.ts\u0000sdk/typescript/src/events.ts\u0000sdk/typescript/src/exec.ts\u0000sdk/typescript/src/index.ts\u0000sdk/typescript/src/items.ts\u0000sdk/typescript/src/outputSchemaFile.ts\u0000sdk/typescript/src/thread.ts\u0000sdk/typescript/src/threadOptions.ts\u0000sdk/typescript/src/turnOptions.ts\u0000sdk/typescript/tests/abort.test.ts\u0000sdk/typescript/tests/codexExecSpy.ts\u0000sdk/typescript/tests/exec.test.ts\u0000sdk/typescript/tests/responsesProxy.ts\u0000sdk/typescript/tests/run.test.ts\u0000sdk/typescript/tests/runStreamed.test.ts\u0000sdk/typescript/tests/setupCodexHome.ts\u0000sdk/typescript/tests/testCodex.ts\u0000sdk/typescript/tsconfig.json\u0000sdk/typescript/tsup.config.ts\u0000third_party/v8/BUILD.bazel\u0000third_party/v8/README.md\u0000third_party/v8/libcxx.BUILD.bazel\u0000third_party/v8/libcxx_config/BUILD.bazel\u0000third_party/v8/libcxx_config/__assertion_handler\u0000third_party/v8/libcxx_config/__config_site\u0000third_party/v8/libcxxabi.BUILD.bazel\u0000third_party/v8/llvm_libc.BUILD.bazel\u0000third_party/v8/rusty_v8_147_4_0.sha256\u0000third_party/v8/v8_crate.BUILD.bazel\u0000third_party/wezterm/LICENSE\u0000tools/argument-comment-lint/.cargo/config.toml\u0000tools/argument-comment-lint/.gitignore\u0000tools/argument-comment-lint/BUILD.bazel\u0000tools/argument-comment-lint/Cargo.lock\u0000tools/argument-comment-lint/Cargo.toml\u0000tools/argument-comment-lint/README.md\u0000tools/argument-comment-lint/argument-comment-lint\u0000tools/argument-comment-lint/driver.rs\u0000tools/argument-comment-lint/lint_aspect.bzl\u0000tools/argument-comment-lint/list-bazel-targets.sh\u0000tools/argument-comment-lint/run-prebuilt-linter.py\u0000tools/argument-comment-lint/run.py\u0000tools/argument-comment-lint/rust-toolchain\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\u0000tools/argument-comment-lint/src/comment_parser.rs\u0000tools/argument-comment-lint/src/lib.rs\u0000tools/argument-comment-lint/test_wrapper_common.py\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\u0000tools/argument-comment-lint/ui/comment_matches.rs\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\u0000tools/argument-comment-lint/wrapper_common.py\u0000workspace_root_test_launcher.bat.tpl\u0000workspace_root_test_launcher.sh.tpl\u0000"
+ },
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ],
+ "token": "AGENTFS_TOKEN"
+ },
+ "total_seconds": 3.9917564260103973
+ }
+ },
+ "base_tree": {
+ "after": {
+ "bytes": 9207621,
+ "directories": 10,
+ "files": 23,
+ "sha256": "824416d680afc4f637f6c91f409c57f34152034bf727d325b2ca14028b559c8a",
+ "symlinks": 0
+ },
+ "before": {
+ "bytes": 9207621,
+ "directories": 10,
+ "files": 23,
+ "sha256": "824416d680afc4f637f6c91f409c57f34152034bf727d325b2ca14028b559c8a",
+ "symlinks": 0
+ },
+ "unchanged": true
+ },
+ "benchmark": "phase7-git-workload",
+ "command": {
+ "agentfs_prefix": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "run",
+ "--session",
+ "git-workload-da03f67d8f4c4f3a8fb1df80210c9bc8",
+ "--no-default-allows",
+ "--"
+ ],
+ "argv": [
+ "/home/ain3sh/factory/vfs/scripts/validation/git-workload-benchmark.py",
+ "--output",
+ "/home/ain3sh/factory/vfs/.agents/benchmarks/restructure-baseline/medians.json.iterations/iter-01.json",
+ "--source",
+ ".agents/benchmarks/fixtures/codex",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8"
+ ],
+ "workload_argv": [
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ]
+ },
+ "correctness": {
+ "agentfs_backup_verify": true,
+ "agentfs_base_unchanged": true,
+ "agentfs_db_inspectable": true,
+ "agentfs_integrity_require_portable": true,
+ "agentfs_no_nonempty_sidecars": true,
+ "agentfs_portable": true,
+ "agentfs_returncode_zero": true,
+ "equivalence": {
+ "agentfs": {
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ]
+ }
+ },
+ "checked": true,
+ "equivalent": true,
+ "native": {
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ]
+ }
+ }
+ },
+ "native_returncode_zero": true,
+ "passed": true,
+ "performance_passed": false
+ },
+ "database": {
+ "after": {
+ "artifacts": [
+ {
+ "bytes": 57151488,
+ "path": "/tmp/agentfs-git-workload-vrotv14m/home/.agentfs/run/git-workload-da03f67d8f4c4f3a8fb1df80210c9bc8/delta.db"
+ }
+ ],
+ "path": "/tmp/agentfs-git-workload-vrotv14m/home/.agentfs/run/git-workload-da03f67d8f4c4f3a8fb1df80210c9bc8/delta.db",
+ "total_bytes": 57151488
+ },
+ "backup": {
+ "artifacts": {
+ "artifacts": [
+ {
+ "bytes": 57151488,
+ "path": "/tmp/agentfs-git-workload-vrotv14m/git-workload-backup.db"
+ }
+ ],
+ "path": "/tmp/agentfs-git-workload-vrotv14m/git-workload-backup.db",
+ "total_bytes": 57151488
+ },
+ "inspect": {
+ "fs_chunk_override_rows": 0,
+ "fs_config": {
+ "chunk_size": "65536",
+ "inline_threshold": "16384",
+ "schema_version": "0.5"
+ },
+ "fs_data_bytes": 41204221,
+ "fs_data_rows": 960,
+ "fs_inline_bytes": 11434794,
+ "fs_inode_rows": 5385,
+ "fs_origin_rows": 0,
+ "fs_partial_origin_rows": 0,
+ "fs_whiteout_rows": 0,
+ "inline_inode_rows": 4060,
+ "inspectable": true,
+ "portability_status": {
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true,
+ "stored_bytes": 52639015
+ }
+ },
+ "path": "/tmp/agentfs-git-workload-vrotv14m/git-workload-backup.db",
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "backup",
+ "/tmp/agentfs-git-workload-vrotv14m/home/.agentfs/run/git-workload-da03f67d8f4c4f3a8fb1df80210c9bc8/delta.db",
+ "/tmp/agentfs-git-workload-vrotv14m/git-workload-backup.db",
+ "--verify"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-vrotv14m",
+ "duration_seconds": 2.6307504769938532,
+ "profile_summaries": [],
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 241,
+ "stdout_tail": "Source: /tmp/agentfs-git-workload-vrotv14m/home/.agentfs/run/git-workload-da03f67d8f4c4f3a8fb1df80210c9bc8/delta.db\nBackup: /tmp/agentfs-git-workload-vrotv14m/git-workload-backup.db\nCheckpoint: complete\nCopy: complete\nVerification: complete\n",
+ "timed_out": false
+ }
+ },
+ "inspect_after": {
+ "fs_chunk_override_rows": 0,
+ "fs_config": {
+ "chunk_size": "65536",
+ "inline_threshold": "16384",
+ "schema_version": "0.5"
+ },
+ "fs_data_bytes": 41204221,
+ "fs_data_rows": 960,
+ "fs_inline_bytes": 11434794,
+ "fs_inode_rows": 5385,
+ "fs_origin_rows": 0,
+ "fs_partial_origin_rows": 0,
+ "fs_whiteout_rows": 0,
+ "inline_inode_rows": 4060,
+ "inspectable": true,
+ "portability_status": {
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true,
+ "stored_bytes": 52639015
+ }
+ },
+ "integrity": {
+ "result": {
+ "checks": [
+ {
+ "detail": "ok",
+ "name": "pragma.integrity_check",
+ "ok": true,
+ "violating_rows": null
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_config",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_inode",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_dentry",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_symlink",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.kv_store",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.tool_calls",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 0.5",
+ "name": "config.schema_version",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 65536",
+ "name": "config.chunk_size",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 16384",
+ "name": "config.inline_threshold",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.kind_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_has_no_chunks",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunked_has_no_inline_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_size_matches_blob",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_only_regular_files",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.non_regular_has_no_inline_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_reference_inodes",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_nonnegative_index",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunk_length_within_chunk_size",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_only_regular_files",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 1, expected 1",
+ "name": "namespace.root_inode",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_parent_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_parent_is_directory",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_target_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.non_root_inode_has_dentry",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_names_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.non_directory_nlink_matches_dentries",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.directory_nlink_positive",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "symlink.rows_reference_symlink_inodes",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "symlink.inodes_have_rows",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "portable: no partial-origin rows",
+ "name": "overlay.portability_status",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "portable requirement satisfied",
+ "name": "overlay.require_portable",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.origin_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_delta_inode_regular",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_sizes_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_paths_absolute",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_nonnegative_index",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_references_partial_origin",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_unique",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_index_in_range",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.whiteout_paths_absolute",
+ "ok": true,
+ "violating_rows": 0
+ }
+ ],
+ "database": "/tmp/agentfs-git-workload-vrotv14m/home/.agentfs/run/git-workload-da03f67d8f4c4f3a8fb1df80210c9bc8/delta.db",
+ "ok": true,
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true
+ },
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "integrity",
+ "/tmp/agentfs-git-workload-vrotv14m/home/.agentfs/run/git-workload-da03f67d8f4c4f3a8fb1df80210c9bc8/delta.db",
+ "--json",
+ "--require-portable"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-vrotv14m",
+ "duration_seconds": 2.7116648530063685,
+ "profile_summaries": [],
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 6395,
+ "stdout_tail": "{\n \"database\": \"/tmp/agentfs-git-workload-vrotv14m/home/.agentfs/run/git-workload-da03f67d8f4c4f3a8fb1df80210c9bc8/delta.db\",\n \"ok\": true,\n \"portable\": true,\n \"origin_backed\": false,\n \"partial_origin_rows\": 0,\n \"checks\": [\n {\n \"name\": \"pragma.integrity_check\",\n \"ok\": true,\n \"detail\": \"ok\",\n \"violating_rows\": null\n },\n {\n \"name\": \"schema.table.fs_config\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_inode\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_dentry\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_data\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_symlink\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.kv_store\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.tool_calls\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.schema_version\",\n \"ok\": true,\n \"detail\": \"found 0.5\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.chunk_size\",\n \"ok\": true,\n \"detail\": \"found 65536\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.inline_threshold\",\n \"ok\": true,\n \"detail\": \"found 16384\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.kind_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_has_no_chunks\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunked_has_no_inline_data\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_size_matches_blob\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_only_regular_files\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.non_regular_has_no_inline_data\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_reference_inodes\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_nonnegative_index\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunk_length_within_chunk_size\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_only_regular_files\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.root_inode\",\n \"ok\": true,\n \"detail\": \"found 1, expected 1\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_parent_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_parent_is_directory\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_target_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.non_root_inode_has_dentry\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_names_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.non_directory_nlink_matches_dentries\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.directory_nlink_positive\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"symlink.rows_reference_symlink_inodes\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"symlink.inodes_have_rows\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.portability_status\",\n \"ok\": true,\n \"detail\": \"portable: no partial-origin rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.require_portable\",\n \"ok\": true,\n \"detail\": \"portable requirement satisfied\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.origin_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_delta_inode_regular\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_sizes_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_paths_absolute\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_nonnegative_index\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_references_partial_origin\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_unique\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_index_in_range\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.whiteout_paths_absolute\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n }\n ]\n}\n",
+ "timed_out": false
+ }
+ },
+ "nonempty_sidecars": false
+ },
+ "environment": {
+ "AGENTFS_BIN": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "AGENTFS_PROFILE": "1"
+ },
+ "git_commit": "ae1e13fcb1c52d5c57be051610a04aa9a318f2a5",
+ "kept_temp": false,
+ "native": {
+ "run": {
+ "argv": [
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-vrotv14m/native",
+ "duration_seconds": 0.8084136260004016,
+ "profile_summaries": [],
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 15994,
+ "stdout_tail": "{\"branch_status\": \"## agentfs-benchmark\\n\", \"diff\": {\"changed_file_count\": 8, \"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.014729614995303564, \"patch_bytes\": 3282, \"patch_sha256\": \"51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc\", \"runs\": {\"name_only\": {\"argv\": [\"git\", \"diff\", \"--name-only\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-vrotv14m/native/work\", \"duration_seconds\": 0.004802575000212528, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 144, \"stdout_tail\": \"docs/CLA.md\\ndocs/agents_md.md\\ndocs/authentication.md\\ndocs/config.md\\ndocs/contributing.md\\ndocs/example-config.md\\ndocs/exec.md\\ndocs/execpolicy.md\\n\"}, \"patch\": {\"argv\": [\"git\", \"diff\", \"--\", \".\"], \"cwd\": \"/tmp/agentfs-git-workload-vrotv14m/native/work\", \"duration_seconds\": 0.00472492199332919, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 3282, \"stdout_tail\": \"diff --git a/docs/CLA.md b/docs/CLA.md\\nindex 804f202..3495ac9 100644\\n--- a/docs/CLA.md\\n+++ b/docs/CLA.md\\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\\n This Agreement is governed by the laws of the **State of California**, USA,\\n excluding its conflict\\u2011of\\u2011laws rules. If any provision is held unenforceable,\\n the remaining provisions remain in force.\\n+\\n+AgentFS Git benchmark edit 00 for docs/CLA.md\\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\\nindex 3df0fac..b8b063d 100644\\n--- a/docs/agents_md.md\\n+++ b/docs/agents_md.md\\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\\n ## Hierarchical agents message\\n \\n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\\n+\\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\\ndiff --git a/docs/authentication.md b/docs/authentication.md\\nindex c307349..b3bc9dc 100644\\n--- a/docs/authentication.md\\n+++ b/docs/authentication.md\\n@@ -1,3 +1,5 @@\\n # Authentication\\n \\n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\\n+\\n+AgentFS Git benchmark edit 02 for docs/authentication.md\\ndiff --git a/docs/config.md b/docs/config.md\\nindex d35b0a8..030e278 100644\\n--- a/docs/config.md\\n+++ b/docs/config.md\\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\\n still allowing managed hooks from requirements and managed config layers. This\\n setting is only supported in `requirements.toml`; putting it in `config.toml`\\n does not enable managed-hooks-only mode.\\n+\\n+AgentFS Git benchmark edit 03 for docs/config.md\\ndiff --git a/docs/contributing.md b/docs/contributing.md\\nindex aeae1f1..b5a22ac 100644\\n--- a/docs/contributing.md\\n+++ b/docs/contributing.md\\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\\n ### Security & responsible AI\\n \\n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\\n+\\n+AgentFS Git benchmark edit 04 for docs/contributing.md\\ndiff --git a/docs/example-config.md b/docs/example-config.md\\nindex 84b1143..b09f835 100644\\n--- a/docs/example-config.md\\n+++ b/docs/example-config.md\\n@@ -1,3 +1,5 @@\\n # Sample configuration\\n \\n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\\n+\\n+AgentFS Git benchmark edit 05 for docs/example-config.md\\ndiff --git a/docs/exec.md b/docs/exec.md\\nindex 57e4323..a81da98 100644\\n--- a/docs/exec.md\\n+++ b/docs/exec.md\\n@@ -1,3 +1,5 @@\\n # Non-interactive mode\\n \\n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\\n+\\n+AgentFS Git benchmark edit 06 for docs/exec.md\\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\\nindex cafebb3..3b48afe 100644\\n--- a/docs/execpolicy.md\\n+++ b/docs/execpolicy.md\\n@@ -1,3 +1,5 @@\\n # Execution policy\\n \\n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\\n+\\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\\n\"}, \"stat\": {\"argv\": [\"git\", \"diff\", \"--stat\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-vrotv14m/native/work\", \"duration_seconds\": 0.0051545699971029535, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 283, \"stdout_tail\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}}, \"stat_stdout\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}, \"edits\": {\"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.0005357149930205196, \"edits\": [{\"appended_bytes\": 47, \"path\": \"docs/CLA.md\", \"size_after\": 2106, \"size_before\": 2059}, {\"appended_bytes\": 53, \"path\": \"docs/agents_md.md\", \"size_after\": 462, \"size_before\": 409}, {\"appended_bytes\": 58, \"path\": \"docs/authentication.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 50, \"path\": \"docs/config.md\", \"size_after\": 776, \"size_before\": 726}, {\"appended_bytes\": 56, \"path\": \"docs/contributing.md\", \"size_after\": 6380, \"size_before\": 6324}, {\"appended_bytes\": 58, \"path\": \"docs/example-config.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 48, \"path\": \"docs/exec.md\", \"size_after\": 194, \"size_before\": 146}, {\"appended_bytes\": 54, \"path\": \"docs/execpolicy.md\", \"size_after\": 192, \"size_before\": 138}]}, \"fsck\": {\"ok\": true, \"ran\": true, \"run\": {\"argv\": [\"git\", \"fsck\", \"--strict\"], \"cwd\": \"/tmp/agentfs-git-workload-vrotv14m/native/work\", \"duration_seconds\": 0.16168112799641676, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}, \"head_commit\": \"7d47056ea42636271ac020b86347fbbef49490aa\", \"initial_status\": \"\", \"phase_runs\": {\"checkout\": {\"argv\": [\"git\", \"checkout\", \"-B\", \"agentfs-benchmark\"], \"cwd\": \"/tmp/agentfs-git-workload-vrotv14m/native/work\", \"duration_seconds\": 0.17775318799249362, \"returncode\": 0, \"stderr_bytes\": 45, \"stderr_tail\": \"Switched to a new branch 'agentfs-benchmark'\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"clone\": {\"argv\": [\"git\", \"clone\", \"--local\", \"--no-hardlinks\", \"/tmp/agentfs-git-workload-vrotv14m/native/mirror.git\", \"/tmp/agentfs-git-workload-vrotv14m/native/work\"], \"cwd\": \"/tmp/agentfs-git-workload-vrotv14m/native\", \"duration_seconds\": 0.36050010100007057, \"returncode\": 0, \"stderr_bytes\": 149, \"stderr_tail\": \"Cloning into '/tmp/agentfs-git-workload-vrotv14m/native/work'...\\nwarning: source repository is shallow, ignoring --local\\nwarning: --local is ignored\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"status\": {\"branch\": {\"argv\": [\"git\", \"status\", \"--short\", \"--branch\"], \"cwd\": \"/tmp/agentfs-git-workload-vrotv14m/native/work\", \"duration_seconds\": 0.008400777995120734, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 21, \"stdout_tail\": \"## agentfs-benchmark\\n\"}, \"short\": {\"argv\": [\"git\", \"status\", \"--short\"], \"cwd\": \"/tmp/agentfs-git-workload-vrotv14m/native/work\", \"duration_seconds\": 0.009163744995021261, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}}, \"phase_seconds\": {\"checkout\": 0.1803960039978847, \"clone\": 0.3605561690055765, \"diff\": 0.014729614995303564, \"edit\": 0.0005357149930205196, \"fsck\": 0.16169250100210775, \"read_search\": 0.006577431006007828, \"status\": 0.017589443988981657}, \"profile_checkpoints\": [\"clone\", \"checkout\", \"status\", \"read_search\", \"edit\", \"diff\", \"fsck\"], \"read_search\": {\"bytes_read\": 117190, \"digest\": \"6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53\", \"files_scanned\": 64, \"files_total\": 4644, \"ls_files_run\": {\"argv\": [\"git\", \"ls-files\", \"-z\"], \"cwd\": \"/tmp/agentfs-git-workload-vrotv14m/native/work\", \"duration_seconds\": 0.0039573130052303895, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 263077, \"stdout_tail\": \"i_codex/api.py\\u0000sdk/python/src/openai_codex/async_client.py\\u0000sdk/python/src/openai_codex/client.py\\u0000sdk/python/src/openai_codex/errors.py\\u0000sdk/python/src/openai_codex/generated/__init__.py\\u0000sdk/python/src/openai_codex/generated/notification_registry.py\\u0000sdk/python/src/openai_codex/generated/v2_all.py\\u0000sdk/python/src/openai_codex/models.py\\u0000sdk/python/src/openai_codex/py.typed\\u0000sdk/python/src/openai_codex/retry.py\\u0000sdk/python/src/openai_codex/types.py\\u0000sdk/python/tests/app_server_harness.py\\u0000sdk/python/tests/app_server_helpers.py\\u0000sdk/python/tests/conftest.py\\u0000sdk/python/tests/test_app_server_approvals.py\\u0000sdk/python/tests/test_app_server_inputs.py\\u0000sdk/python/tests/test_app_server_lifecycle.py\\u0000sdk/python/tests/test_app_server_login.py\\u0000sdk/python/tests/test_app_server_run.py\\u0000sdk/python/tests/test_app_server_streaming.py\\u0000sdk/python/tests/test_app_server_turn_controls.py\\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\\u0000sdk/python/tests/test_async_client_behavior.py\\u0000sdk/python/tests/test_client_rpc_methods.py\\u0000sdk/python/tests/test_contract_generation.py\\u0000sdk/python/tests/test_public_api_runtime_behavior.py\\u0000sdk/python/tests/test_public_api_signatures.py\\u0000sdk/python/tests/test_real_app_server_integration.py\\u0000sdk/python/uv.lock\\u0000sdk/typescript/.prettierignore\\u0000sdk/typescript/.prettierrc\\u0000sdk/typescript/README.md\\u0000sdk/typescript/eslint.config.js\\u0000sdk/typescript/jest.config.cjs\\u0000sdk/typescript/package.json\\u0000sdk/typescript/samples/basic_streaming.ts\\u0000sdk/typescript/samples/helpers.ts\\u0000sdk/typescript/samples/structured_output.ts\\u0000sdk/typescript/samples/structured_output_zod.ts\\u0000sdk/typescript/src/codex.ts\\u0000sdk/typescript/src/codexOptions.ts\\u0000sdk/typescript/src/events.ts\\u0000sdk/typescript/src/exec.ts\\u0000sdk/typescript/src/index.ts\\u0000sdk/typescript/src/items.ts\\u0000sdk/typescript/src/outputSchemaFile.ts\\u0000sdk/typescript/src/thread.ts\\u0000sdk/typescript/src/threadOptions.ts\\u0000sdk/typescript/src/turnOptions.ts\\u0000sdk/typescript/tests/abort.test.ts\\u0000sdk/typescript/tests/codexExecSpy.ts\\u0000sdk/typescript/tests/exec.test.ts\\u0000sdk/typescript/tests/responsesProxy.ts\\u0000sdk/typescript/tests/run.test.ts\\u0000sdk/typescript/tests/runStreamed.test.ts\\u0000sdk/typescript/tests/setupCodexHome.ts\\u0000sdk/typescript/tests/testCodex.ts\\u0000sdk/typescript/tsconfig.json\\u0000sdk/typescript/tsup.config.ts\\u0000third_party/v8/BUILD.bazel\\u0000third_party/v8/README.md\\u0000third_party/v8/libcxx.BUILD.bazel\\u0000third_party/v8/libcxx_config/BUILD.bazel\\u0000third_party/v8/libcxx_config/__assertion_handler\\u0000third_party/v8/libcxx_config/__config_site\\u0000third_party/v8/libcxxabi.BUILD.bazel\\u0000third_party/v8/llvm_libc.BUILD.bazel\\u0000third_party/v8/rusty_v8_147_4_0.sha256\\u0000third_party/v8/v8_crate.BUILD.bazel\\u0000third_party/wezterm/LICENSE\\u0000tools/argument-comment-lint/.cargo/config.toml\\u0000tools/argument-comment-lint/.gitignore\\u0000tools/argument-comment-lint/BUILD.bazel\\u0000tools/argument-comment-lint/Cargo.lock\\u0000tools/argument-comment-lint/Cargo.toml\\u0000tools/argument-comment-lint/README.md\\u0000tools/argument-comment-lint/argument-comment-lint\\u0000tools/argument-comment-lint/driver.rs\\u0000tools/argument-comment-lint/lint_aspect.bzl\\u0000tools/argument-comment-lint/list-bazel-targets.sh\\u0000tools/argument-comment-lint/run-prebuilt-linter.py\\u0000tools/argument-comment-lint/run.py\\u0000tools/argument-comment-lint/rust-toolchain\\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\\u0000tools/argument-comment-lint/src/comment_parser.rs\\u0000tools/argument-comment-lint/src/lib.rs\\u0000tools/argument-comment-lint/test_wrapper_common.py\\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\\u0000tools/argument-comment-lint/ui/comment_matches.rs\\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\\u0000tools/argument-comment-lint/wrapper_common.py\\u0000workspace_root_test_launcher.bat.tpl\\u0000workspace_root_test_launcher.sh.tpl\\u0000\"}, \"matches\": 0, \"selected_files\": [\".bazelignore\", \".bazelrc\", \".bazelversion\", \".codespellignore\", \".codespellrc\", \".codex/environments/environment.toml\", \".codex/skills/babysit-pr/SKILL.md\", \".codex/skills/babysit-pr/agents/openai.yaml\", \".codex/skills/babysit-pr/references/github-api-notes.md\", \".codex/skills/babysit-pr/references/heuristics.md\", \".codex/skills/babysit-pr/scripts/gh_pr_watch.py\", \".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py\", \".codex/skills/code-review-breaking-changes/SKILL.md\", \".codex/skills/code-review-change-size/SKILL.md\", \".codex/skills/code-review-context/SKILL.md\", \".codex/skills/code-review-testing/SKILL.md\", \".codex/skills/code-review/SKILL.md\", \".codex/skills/codex-bug/SKILL.md\", \".codex/skills/codex-issue-digest/SKILL.md\", \".codex/skills/codex-issue-digest/agents/openai.yaml\", \".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py\", \".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py\", \".codex/skills/codex-pr-body/SKILL.md\", \".codex/skills/remote-tests/SKILL.md\", \".codex/skills/test-tui/SKILL.md\", \".codex/skills/update-v8-version/SKILL.md\", \".codex/skills/update-v8-version/agents/openai.yaml\", \".devcontainer/Dockerfile\", \".devcontainer/Dockerfile.secure\", \".devcontainer/README.md\", \".devcontainer/codex-install/package.json\", \".devcontainer/codex-install/pnpm-lock.yaml\", \".devcontainer/codex-install/pnpm-workspace.yaml\", \".devcontainer/devcontainer.json\", \".devcontainer/devcontainer.secure.json\", \".devcontainer/init-firewall.sh\", \".devcontainer/post-start.sh\", \".devcontainer/post_install.py\", \".gitattributes\", \".github/CODEOWNERS\", \".github/ISSUE_TEMPLATE/1-codex-app.yml\", \".github/ISSUE_TEMPLATE/2-extension.yml\", \".github/ISSUE_TEMPLATE/3-cli.yml\", \".github/ISSUE_TEMPLATE/4-bug-report.yml\", \".github/ISSUE_TEMPLATE/5-feature-request.yml\", \".github/ISSUE_TEMPLATE/6-docs-issue.yml\", \".github/actions/linux-code-sign/action.yml\", \".github/actions/macos-code-sign/action.yml\", \".github/actions/macos-code-sign/codex.entitlements.plist\", \".github/actions/macos-code-sign/notary_helpers.sh\", \".github/actions/prepare-bazel-ci/action.yml\", \".github/actions/run-argument-comment-lint/action.yml\", \".github/actions/setup-bazel-ci/action.yml\", \".github/actions/setup-msvc-env/action.yml\", \".github/actions/setup-msvc-env/setup-msvc-env.ps1\", \".github/actions/setup-rusty-v8/action.yml\", \".github/actions/windows-code-sign/action.yml\", \".github/blob-size-allowlist.txt\", \".github/codex-cli-splash.png\", \".github/codex/home/config.toml\", \".github/codex/labels/codex-attempt.md\", \".github/codex/labels/codex-review.md\", \".github/codex/labels/codex-rust-review.md\", \".github/codex/labels/codex-triage.md\"], \"token\": \"AGENTFS_TOKEN\"}, \"total_seconds\": 0.7422934740025084}\n",
+ "timed_out": false
+ },
+ "workload": {
+ "branch_status": "## agentfs-benchmark\n",
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.014729614995303564,
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc",
+ "runs": {
+ "name_only": {
+ "argv": [
+ "git",
+ "diff",
+ "--name-only",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-vrotv14m/native/work",
+ "duration_seconds": 0.004802575000212528,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 144,
+ "stdout_tail": "docs/CLA.md\ndocs/agents_md.md\ndocs/authentication.md\ndocs/config.md\ndocs/contributing.md\ndocs/example-config.md\ndocs/exec.md\ndocs/execpolicy.md\n"
+ },
+ "patch": {
+ "argv": [
+ "git",
+ "diff",
+ "--",
+ "."
+ ],
+ "cwd": "/tmp/agentfs-git-workload-vrotv14m/native/work",
+ "duration_seconds": 0.00472492199332919,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 3282,
+ "stdout_tail": "diff --git a/docs/CLA.md b/docs/CLA.md\nindex 804f202..3495ac9 100644\n--- a/docs/CLA.md\n+++ b/docs/CLA.md\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\n This Agreement is governed by the laws of the **State of California**, USA,\n excluding its conflict\u2011of\u2011laws rules. If any provision is held unenforceable,\n the remaining provisions remain in force.\n+\n+AgentFS Git benchmark edit 00 for docs/CLA.md\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\nindex 3df0fac..b8b063d 100644\n--- a/docs/agents_md.md\n+++ b/docs/agents_md.md\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\n ## Hierarchical agents message\n \n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\n+\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\ndiff --git a/docs/authentication.md b/docs/authentication.md\nindex c307349..b3bc9dc 100644\n--- a/docs/authentication.md\n+++ b/docs/authentication.md\n@@ -1,3 +1,5 @@\n # Authentication\n \n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\n+\n+AgentFS Git benchmark edit 02 for docs/authentication.md\ndiff --git a/docs/config.md b/docs/config.md\nindex d35b0a8..030e278 100644\n--- a/docs/config.md\n+++ b/docs/config.md\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\n still allowing managed hooks from requirements and managed config layers. This\n setting is only supported in `requirements.toml`; putting it in `config.toml`\n does not enable managed-hooks-only mode.\n+\n+AgentFS Git benchmark edit 03 for docs/config.md\ndiff --git a/docs/contributing.md b/docs/contributing.md\nindex aeae1f1..b5a22ac 100644\n--- a/docs/contributing.md\n+++ b/docs/contributing.md\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\n ### Security & responsible AI\n \n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\n+\n+AgentFS Git benchmark edit 04 for docs/contributing.md\ndiff --git a/docs/example-config.md b/docs/example-config.md\nindex 84b1143..b09f835 100644\n--- a/docs/example-config.md\n+++ b/docs/example-config.md\n@@ -1,3 +1,5 @@\n # Sample configuration\n \n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\n+\n+AgentFS Git benchmark edit 05 for docs/example-config.md\ndiff --git a/docs/exec.md b/docs/exec.md\nindex 57e4323..a81da98 100644\n--- a/docs/exec.md\n+++ b/docs/exec.md\n@@ -1,3 +1,5 @@\n # Non-interactive mode\n \n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\n+\n+AgentFS Git benchmark edit 06 for docs/exec.md\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\nindex cafebb3..3b48afe 100644\n--- a/docs/execpolicy.md\n+++ b/docs/execpolicy.md\n@@ -1,3 +1,5 @@\n # Execution policy\n \n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\n+\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\n"
+ },
+ "stat": {
+ "argv": [
+ "git",
+ "diff",
+ "--stat",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-vrotv14m/native/work",
+ "duration_seconds": 0.0051545699971029535,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 283,
+ "stdout_tail": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ }
+ },
+ "stat_stdout": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.0005357149930205196,
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true,
+ "run": {
+ "argv": [
+ "git",
+ "fsck",
+ "--strict"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-vrotv14m/native/work",
+ "duration_seconds": 0.16168112799641676,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "phase_runs": {
+ "checkout": {
+ "argv": [
+ "git",
+ "checkout",
+ "-B",
+ "agentfs-benchmark"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-vrotv14m/native/work",
+ "duration_seconds": 0.17775318799249362,
+ "returncode": 0,
+ "stderr_bytes": 45,
+ "stderr_tail": "Switched to a new branch 'agentfs-benchmark'\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "clone": {
+ "argv": [
+ "git",
+ "clone",
+ "--local",
+ "--no-hardlinks",
+ "/tmp/agentfs-git-workload-vrotv14m/native/mirror.git",
+ "/tmp/agentfs-git-workload-vrotv14m/native/work"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-vrotv14m/native",
+ "duration_seconds": 0.36050010100007057,
+ "returncode": 0,
+ "stderr_bytes": 149,
+ "stderr_tail": "Cloning into '/tmp/agentfs-git-workload-vrotv14m/native/work'...\nwarning: source repository is shallow, ignoring --local\nwarning: --local is ignored\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "status": {
+ "branch": {
+ "argv": [
+ "git",
+ "status",
+ "--short",
+ "--branch"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-vrotv14m/native/work",
+ "duration_seconds": 0.008400777995120734,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 21,
+ "stdout_tail": "## agentfs-benchmark\n"
+ },
+ "short": {
+ "argv": [
+ "git",
+ "status",
+ "--short"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-vrotv14m/native/work",
+ "duration_seconds": 0.009163744995021261,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ }
+ },
+ "phase_seconds": {
+ "checkout": 0.1803960039978847,
+ "clone": 0.3605561690055765,
+ "diff": 0.014729614995303564,
+ "edit": 0.0005357149930205196,
+ "fsck": 0.16169250100210775,
+ "read_search": 0.006577431006007828,
+ "status": 0.017589443988981657
+ },
+ "profile_checkpoints": [
+ "clone",
+ "checkout",
+ "status",
+ "read_search",
+ "edit",
+ "diff",
+ "fsck"
+ ],
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "ls_files_run": {
+ "argv": [
+ "git",
+ "ls-files",
+ "-z"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-vrotv14m/native/work",
+ "duration_seconds": 0.0039573130052303895,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 263077,
+ "stdout_tail": "i_codex/api.py\u0000sdk/python/src/openai_codex/async_client.py\u0000sdk/python/src/openai_codex/client.py\u0000sdk/python/src/openai_codex/errors.py\u0000sdk/python/src/openai_codex/generated/__init__.py\u0000sdk/python/src/openai_codex/generated/notification_registry.py\u0000sdk/python/src/openai_codex/generated/v2_all.py\u0000sdk/python/src/openai_codex/models.py\u0000sdk/python/src/openai_codex/py.typed\u0000sdk/python/src/openai_codex/retry.py\u0000sdk/python/src/openai_codex/types.py\u0000sdk/python/tests/app_server_harness.py\u0000sdk/python/tests/app_server_helpers.py\u0000sdk/python/tests/conftest.py\u0000sdk/python/tests/test_app_server_approvals.py\u0000sdk/python/tests/test_app_server_inputs.py\u0000sdk/python/tests/test_app_server_lifecycle.py\u0000sdk/python/tests/test_app_server_login.py\u0000sdk/python/tests/test_app_server_run.py\u0000sdk/python/tests/test_app_server_streaming.py\u0000sdk/python/tests/test_app_server_turn_controls.py\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\u0000sdk/python/tests/test_async_client_behavior.py\u0000sdk/python/tests/test_client_rpc_methods.py\u0000sdk/python/tests/test_contract_generation.py\u0000sdk/python/tests/test_public_api_runtime_behavior.py\u0000sdk/python/tests/test_public_api_signatures.py\u0000sdk/python/tests/test_real_app_server_integration.py\u0000sdk/python/uv.lock\u0000sdk/typescript/.prettierignore\u0000sdk/typescript/.prettierrc\u0000sdk/typescript/README.md\u0000sdk/typescript/eslint.config.js\u0000sdk/typescript/jest.config.cjs\u0000sdk/typescript/package.json\u0000sdk/typescript/samples/basic_streaming.ts\u0000sdk/typescript/samples/helpers.ts\u0000sdk/typescript/samples/structured_output.ts\u0000sdk/typescript/samples/structured_output_zod.ts\u0000sdk/typescript/src/codex.ts\u0000sdk/typescript/src/codexOptions.ts\u0000sdk/typescript/src/events.ts\u0000sdk/typescript/src/exec.ts\u0000sdk/typescript/src/index.ts\u0000sdk/typescript/src/items.ts\u0000sdk/typescript/src/outputSchemaFile.ts\u0000sdk/typescript/src/thread.ts\u0000sdk/typescript/src/threadOptions.ts\u0000sdk/typescript/src/turnOptions.ts\u0000sdk/typescript/tests/abort.test.ts\u0000sdk/typescript/tests/codexExecSpy.ts\u0000sdk/typescript/tests/exec.test.ts\u0000sdk/typescript/tests/responsesProxy.ts\u0000sdk/typescript/tests/run.test.ts\u0000sdk/typescript/tests/runStreamed.test.ts\u0000sdk/typescript/tests/setupCodexHome.ts\u0000sdk/typescript/tests/testCodex.ts\u0000sdk/typescript/tsconfig.json\u0000sdk/typescript/tsup.config.ts\u0000third_party/v8/BUILD.bazel\u0000third_party/v8/README.md\u0000third_party/v8/libcxx.BUILD.bazel\u0000third_party/v8/libcxx_config/BUILD.bazel\u0000third_party/v8/libcxx_config/__assertion_handler\u0000third_party/v8/libcxx_config/__config_site\u0000third_party/v8/libcxxabi.BUILD.bazel\u0000third_party/v8/llvm_libc.BUILD.bazel\u0000third_party/v8/rusty_v8_147_4_0.sha256\u0000third_party/v8/v8_crate.BUILD.bazel\u0000third_party/wezterm/LICENSE\u0000tools/argument-comment-lint/.cargo/config.toml\u0000tools/argument-comment-lint/.gitignore\u0000tools/argument-comment-lint/BUILD.bazel\u0000tools/argument-comment-lint/Cargo.lock\u0000tools/argument-comment-lint/Cargo.toml\u0000tools/argument-comment-lint/README.md\u0000tools/argument-comment-lint/argument-comment-lint\u0000tools/argument-comment-lint/driver.rs\u0000tools/argument-comment-lint/lint_aspect.bzl\u0000tools/argument-comment-lint/list-bazel-targets.sh\u0000tools/argument-comment-lint/run-prebuilt-linter.py\u0000tools/argument-comment-lint/run.py\u0000tools/argument-comment-lint/rust-toolchain\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\u0000tools/argument-comment-lint/src/comment_parser.rs\u0000tools/argument-comment-lint/src/lib.rs\u0000tools/argument-comment-lint/test_wrapper_common.py\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\u0000tools/argument-comment-lint/ui/comment_matches.rs\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\u0000tools/argument-comment-lint/wrapper_common.py\u0000workspace_root_test_launcher.bat.tpl\u0000workspace_root_test_launcher.sh.tpl\u0000"
+ },
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ],
+ "token": "AGENTFS_TOKEN"
+ },
+ "total_seconds": 0.7422934740025084
+ }
+ },
+ "parameters": {
+ "edit_files": 8,
+ "fixture_dirs": 8,
+ "fixture_file_size_bytes": 1024,
+ "fixture_files": 96,
+ "read_bytes": 4096,
+ "read_files": 64,
+ "search_token": "AGENTFS_TOKEN",
+ "skip_fsck": false,
+ "timeout_seconds": 180.0
+ },
+ "schema_version": 1,
+ "source": {
+ "kind": "source",
+ "mirror_head": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "path": "/home/ain3sh/factory/vfs/.agents/benchmarks/fixtures/codex"
+ },
+ "summary": {
+ "agentfs_base_unchanged": true,
+ "agentfs_seconds": 3.9917564260103973,
+ "all_equivalent": true,
+ "correctness_passed": true,
+ "native_seconds": 0.7422934740025084,
+ "passed": true,
+ "performance_passed": false,
+ "phase_ratios": {
+ "checkout": {
+ "agentfs_seconds": 0.0579280270030722,
+ "native_seconds": 0.1803960039978847,
+ "ratio": 0.32111591010492374
+ },
+ "clone": {
+ "agentfs_seconds": 2.8421427930006757,
+ "native_seconds": 0.3605561690055765,
+ "ratio": 7.882663055909932
+ },
+ "diff": {
+ "agentfs_seconds": 0.04466473500360735,
+ "native_seconds": 0.014729614995303564,
+ "ratio": 3.032308381301778
+ },
+ "edit": {
+ "agentfs_seconds": 0.004283816000679508,
+ "native_seconds": 0.0005357149930205196,
+ "ratio": 7.996445976854383
+ },
+ "fsck": {
+ "agentfs_seconds": 0.18678362200444099,
+ "native_seconds": 0.16169250100210775,
+ "ratio": 1.1551780128752303
+ },
+ "read_search": {
+ "agentfs_seconds": 0.008317582993186079,
+ "native_seconds": 0.006577431006007828,
+ "ratio": 1.2645640806553191
+ },
+ "status": {
+ "agentfs_seconds": 0.14666951198887546,
+ "native_seconds": 0.017589443988981657,
+ "ratio": 8.33849620719972
+ }
+ },
+ "ratio": 5.377598706999959,
+ "threshold_failures": [
+ {
+ "agentfs_seconds": 2.8421427930006757,
+ "native_seconds": 0.3605561690055765,
+ "phase": "clone",
+ "ratio": 7.882663055909932
+ },
+ {
+ "agentfs_seconds": 0.04466473500360735,
+ "native_seconds": 0.014729614995303564,
+ "phase": "diff",
+ "ratio": 3.032308381301778
+ },
+ {
+ "agentfs_seconds": 0.004283816000679508,
+ "native_seconds": 0.0005357149930205196,
+ "phase": "edit",
+ "ratio": 7.996445976854383
+ },
+ {
+ "agentfs_seconds": 0.14666951198887546,
+ "native_seconds": 0.017589443988981657,
+ "phase": "status",
+ "ratio": 8.33849620719972
+ }
+ ]
+ },
+ "temp_dir": "/tmp/agentfs-git-workload-vrotv14m"
+}
diff --git a/.agents/benchmarks/restructure-baseline/medians.json.iterations/iter-02.json b/.agents/benchmarks/restructure-baseline/medians.json.iterations/iter-02.json
new file mode 100644
index 00000000..d7a396fd
--- /dev/null
+++ b/.agents/benchmarks/restructure-baseline/medians.json.iterations/iter-02.json
@@ -0,0 +1,6630 @@
+{
+ "agentfs": {
+ "bin": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "db_path": "/tmp/agentfs-git-workload-j7ifkggm/home/.agentfs/run/git-workload-2bd2eb5e81e742bda053e0f8c0e6ad33/delta.db",
+ "per_phase_counters": {
+ "checkpoint_count": 7,
+ "label_count": 7,
+ "labels_aligned": true,
+ "phases": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 780091371,
+ "agentfs_batcher_commit_txns": 4769,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4683,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4731,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9386,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29058,
+ "base_fast_inode_invalidations": 15031,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 969,
+ "connection_create_count": 2,
+ "connection_reuse_count": 31194,
+ "connection_wait_count": 31196,
+ "connection_wait_nanos": 9065389,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 106,
+ "fuse_adapter_attr_misses": 4935,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5273,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21789,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 36,
+ "fuse_dispatch_wait_count": 36,
+ "fuse_dispatch_wait_nanos": 273079,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52539545,
+ "fuse_flush_count": 4731,
+ "fuse_flush_ranges": 4731,
+ "fuse_getattr_count": 5041,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11690,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 554746652,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 33,
+ "fuse_op_forget_nanos": 516055,
+ "fuse_op_getattr_count": 5041,
+ "fuse_op_getattr_nanos": 49888676,
+ "fuse_op_lookup_count": 11690,
+ "fuse_op_lookup_nanos": 121710720,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 97296284,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 26582634,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 819870,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1105691655,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 26568776,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16158,
+ "fuse_read_lane_wait_nanos": 1426341,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32013,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673123,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10204,
+ "fuse_write_lane_wait_nanos": 1543871,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19340,
+ "lookup_base_count": 23,
+ "lookup_count": 40292,
+ "lookup_delta_count": 7193,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6769,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14260,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32908,
+ "path_resolution_count": 7120,
+ "readdir_count": 1,
+ "readdir_plus_count": 11,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 525626
+ },
+ "phase": "clone",
+ "seq": 1
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 2,
+ "agentfs_batcher_commit_latency_ns_total": 3300928,
+ "agentfs_batcher_commit_txns": 8,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 5,
+ "agentfs_batcher_drains_timer": 2,
+ "agentfs_batcher_enqueues": 9,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 1,
+ "agentfs_batcher_txn_inodes_total": 14,
+ "attr_cache_hits": 234,
+ "attr_cache_misses": 1764,
+ "base_fast_inode_invalidations": 51,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 10,
+ "chunk_read_queries": 6,
+ "chunk_write_chunks": 12,
+ "connection_create_count": 7,
+ "connection_reuse_count": 620,
+ "connection_wait_count": 627,
+ "connection_wait_nanos": 193903,
+ "dentry_cache_hits": 73,
+ "dentry_cache_misses": 56,
+ "fuse_adapter_attr_hits": 4588,
+ "fuse_adapter_attr_misses": 687,
+ "fuse_adapter_entry_hits": 2,
+ "fuse_adapter_entry_misses": 35,
+ "fuse_adapter_inval_entry_notifications": 10,
+ "fuse_adapter_inval_inode_notifications": 28,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 13,
+ "fuse_adapter_negative_misses": 35,
+ "fuse_callback_count": 5346,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 5,
+ "fuse_dispatch_parallel_tasks": 8,
+ "fuse_dispatch_wait_count": 8,
+ "fuse_dispatch_wait_nanos": 69037,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 694731,
+ "fuse_flush_count": 9,
+ "fuse_flush_ranges": 9,
+ "fuse_getattr_count": 5275,
+ "fuse_ino_file_resolutions": 3,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 50,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 9,
+ "fuse_op_create_nanos": 1537081,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 8,
+ "fuse_op_forget_nanos": 64349,
+ "fuse_op_getattr_count": 5275,
+ "fuse_op_getattr_nanos": 14643186,
+ "fuse_op_lookup_count": 50,
+ "fuse_op_lookup_nanos": 725292,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 15,
+ "fuse_op_other_nanos": 3072508,
+ "fuse_op_read_count": 8,
+ "fuse_op_read_nanos": 941772,
+ "fuse_op_readdirplus_count": 4,
+ "fuse_op_readdirplus_nanos": 109460,
+ "fuse_op_setattr_count": 14,
+ "fuse_op_setattr_nanos": 5101169,
+ "fuse_op_write_count": 9,
+ "fuse_op_write_nanos": 188263,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 8,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 752,
+ "fuse_read_lane_wait_nanos": 86525,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 4,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 5384,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 591393,
+ "fuse_write_count": 9,
+ "fuse_write_lane_wait_count": 42,
+ "fuse_write_lane_wait_nanos": 28958,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 1402,
+ "lookup_base_count": 0,
+ "lookup_count": 164,
+ "lookup_delta_count": 60,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 34,
+ "negative_cache_invalidations": 26,
+ "negative_cache_misses": 148,
+ "negative_lookup_count": 86,
+ "path_cache_hits": 73,
+ "path_cache_misses": 56,
+ "path_component_count": 124,
+ "path_resolution_count": 45,
+ "readdir_count": 0,
+ "readdir_plus_count": 2,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "checkout",
+ "seq": 2
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 4,
+ "agentfs_batcher_commit_latency_ns_total": 5060016,
+ "agentfs_batcher_commit_txns": 4,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 2,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 6,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 4,
+ "attr_cache_hits": 20,
+ "attr_cache_misses": 36,
+ "base_fast_inode_invalidations": 24,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 20,
+ "chunk_read_queries": 12,
+ "chunk_write_chunks": 20,
+ "connection_create_count": 0,
+ "connection_reuse_count": 1017,
+ "connection_wait_count": 1017,
+ "connection_wait_nanos": 301340,
+ "dentry_cache_hits": 20,
+ "dentry_cache_misses": 570,
+ "fuse_adapter_attr_hits": 1427,
+ "fuse_adapter_attr_misses": 8,
+ "fuse_adapter_entry_hits": 2,
+ "fuse_adapter_entry_misses": 289,
+ "fuse_adapter_inval_entry_notifications": 4,
+ "fuse_adapter_inval_inode_notifications": 8,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 1,
+ "fuse_adapter_negative_misses": 289,
+ "fuse_callback_count": 3130,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 3,
+ "fuse_dispatch_wait_count": 3,
+ "fuse_dispatch_wait_nanos": 59641,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 1181458,
+ "fuse_flush_count": 6,
+ "fuse_flush_ranges": 6,
+ "fuse_getattr_count": 1435,
+ "fuse_ino_file_resolutions": 2,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 292,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 2,
+ "fuse_op_create_nanos": 1056740,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 3,
+ "fuse_op_forget_nanos": 45851,
+ "fuse_op_getattr_count": 1435,
+ "fuse_op_getattr_nanos": 1330804,
+ "fuse_op_lookup_count": 292,
+ "fuse_op_lookup_nanos": 4541886,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 2762,
+ "fuse_op_other_nanos": 3231893,
+ "fuse_op_read_count": 12,
+ "fuse_op_read_nanos": 2513384,
+ "fuse_op_readdirplus_count": 1381,
+ "fuse_op_readdirplus_nanos": 46560584,
+ "fuse_op_setattr_count": 6,
+ "fuse_op_setattr_nanos": 9561595,
+ "fuse_op_write_count": 10,
+ "fuse_op_write_nanos": 2257162,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 12,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 997,
+ "fuse_read_lane_wait_nanos": 91161,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1381,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 5900,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 1181458,
+ "fuse_write_count": 10,
+ "fuse_write_lane_wait_count": 14,
+ "fuse_write_lane_wait_nanos": 4293,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 28,
+ "lookup_base_count": 0,
+ "lookup_count": 598,
+ "lookup_delta_count": 295,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 5,
+ "negative_cache_invalidations": 4,
+ "negative_cache_misses": 873,
+ "negative_lookup_count": 578,
+ "path_cache_hits": 20,
+ "path_cache_misses": 570,
+ "path_component_count": 4606,
+ "path_resolution_count": 977,
+ "readdir_count": 0,
+ "readdir_plus_count": 688,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "status",
+ "seq": 3
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 1,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 10,
+ "chunk_read_queries": 6,
+ "chunk_write_chunks": 0,
+ "connection_create_count": 0,
+ "connection_reuse_count": 8,
+ "connection_wait_count": 8,
+ "connection_wait_nanos": 4329,
+ "dentry_cache_hits": 1,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 69,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 1,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 1,
+ "fuse_callback_count": 76,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 69,
+ "fuse_ino_file_resolutions": 1,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 1,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 69,
+ "fuse_op_getattr_nanos": 55564,
+ "fuse_op_lookup_count": 1,
+ "fuse_op_lookup_nanos": 24464,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 6,
+ "fuse_op_read_nanos": 670168,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 6,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 2,
+ "fuse_read_lane_wait_nanos": 510,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 76,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 2,
+ "lookup_delta_count": 1,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 2,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 1,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "read_search",
+ "seq": 4
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 2108523,
+ "agentfs_batcher_commit_txns": 8,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 8,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 8,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 8,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 24,
+ "base_fast_inode_invalidations": 16,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create_count": 0,
+ "connection_reuse_count": 32,
+ "connection_wait_count": 32,
+ "connection_wait_nanos": 25344,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 16,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 24,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 6398,
+ "fuse_flush_count": 8,
+ "fuse_flush_ranges": 8,
+ "fuse_getattr_count": 16,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 16,
+ "fuse_op_getattr_nanos": 34846,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 8,
+ "fuse_op_other_nanos": 1824743,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_setattr_count": 8,
+ "fuse_op_setattr_nanos": 4153070,
+ "fuse_op_write_count": 8,
+ "fuse_op_write_nanos": 924266,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 8,
+ "fuse_read_lane_wait_nanos": 2488,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 40,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 6398,
+ "fuse_write_count": 8,
+ "fuse_write_lane_wait_count": 8,
+ "fuse_write_lane_wait_nanos": 2932,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 16,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 8,
+ "wal_checkpoint_nanos": 1577905
+ },
+ "phase": "edit",
+ "seq": 5
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create_count": 0,
+ "connection_reuse_count": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 2008,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 93,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 2101,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 2008,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 93,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 2008,
+ "fuse_op_getattr_nanos": 1470257,
+ "fuse_op_lookup_count": 93,
+ "fuse_op_lookup_nanos": 121829,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 12,
+ "fuse_op_other_nanos": 8830,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 2113,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 93,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "diff",
+ "seq": 6
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 3,
+ "attr_cache_misses": 2,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 1,
+ "chunk_read_queries": 1,
+ "chunk_write_chunks": 0,
+ "connection_create_count": 0,
+ "connection_reuse_count": 15,
+ "connection_wait_count": 15,
+ "connection_wait_nanos": 16644,
+ "dentry_cache_hits": 4,
+ "dentry_cache_misses": 2,
+ "fuse_adapter_attr_hits": 44,
+ "fuse_adapter_attr_misses": 1,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 4,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 243,
+ "fuse_adapter_negative_misses": 4,
+ "fuse_callback_count": 312,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 45,
+ "fuse_ino_file_resolutions": 1,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 247,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 45,
+ "fuse_op_getattr_nanos": 95759,
+ "fuse_op_lookup_count": 247,
+ "fuse_op_lookup_nanos": 348006,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 36,
+ "fuse_op_other_nanos": 17940,
+ "fuse_op_read_count": 2,
+ "fuse_op_read_nanos": 348286,
+ "fuse_op_readdirplus_count": 18,
+ "fuse_op_readdirplus_nanos": 762484,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 2,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 15,
+ "fuse_read_lane_wait_nanos": 4298,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 18,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 348,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 2,
+ "lookup_base_count": 0,
+ "lookup_count": 8,
+ "lookup_delta_count": 4,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 243,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 9,
+ "negative_lookup_count": 2,
+ "path_cache_hits": 4,
+ "path_cache_misses": 2,
+ "path_component_count": 42,
+ "path_resolution_count": 10,
+ "readdir_count": 0,
+ "readdir_plus_count": 9,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "fsck",
+ "seq": 7
+ }
+ ]
+ },
+ "profile_counters": {
+ "last_by_source": {
+ "agentfs": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790560838,
+ "agentfs_batcher_commit_txns": 4789,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4698,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26180,
+ "attr_cache_misses": 30884,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1001,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32889,
+ "connection_wait_count": 32898,
+ "connection_wait_nanos": 9613574,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8258,
+ "fuse_adapter_attr_misses": 5631,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5623,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32778,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 401757,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13889,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12373,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557340473,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 626255,
+ "fuse_op_getattr_count": 13889,
+ "fuse_op_getattr_nanos": 67519092,
+ "fuse_op_lookup_count": 12373,
+ "fuse_op_lookup_nanos": 127472197,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 105452198,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 31056244,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 48252398,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1124507489,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 29938467,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17932,
+ "fuse_read_lane_wait_nanos": 1611323,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45874,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452372,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 1581400,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20788,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7144,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2249063
+ },
+ "fuse_session": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790560838,
+ "agentfs_batcher_commit_txns": 4789,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4698,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26180,
+ "attr_cache_misses": 30884,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1001,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32889,
+ "connection_wait_count": 32898,
+ "connection_wait_nanos": 9613574,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8258,
+ "fuse_adapter_attr_misses": 5631,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5623,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32778,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 401757,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13889,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12373,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557340473,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 626255,
+ "fuse_op_getattr_count": 13889,
+ "fuse_op_getattr_nanos": 67519092,
+ "fuse_op_lookup_count": 12373,
+ "fuse_op_lookup_nanos": 127472197,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 105452198,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 31056244,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 48252398,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1124507489,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 29938467,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17932,
+ "fuse_read_lane_wait_nanos": 1611323,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45874,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452372,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 1581400,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20788,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7144,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2249063
+ },
+ "phase-checkpoint-1": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 780091371,
+ "agentfs_batcher_commit_txns": 4769,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4683,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4731,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9386,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29058,
+ "base_fast_inode_invalidations": 15031,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 969,
+ "connection_create_count": 2,
+ "connection_reuse_count": 31194,
+ "connection_wait_count": 31196,
+ "connection_wait_nanos": 9065389,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 106,
+ "fuse_adapter_attr_misses": 4935,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5273,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21789,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 36,
+ "fuse_dispatch_wait_count": 36,
+ "fuse_dispatch_wait_nanos": 273079,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52539545,
+ "fuse_flush_count": 4731,
+ "fuse_flush_ranges": 4731,
+ "fuse_getattr_count": 5041,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11690,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 554746652,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 33,
+ "fuse_op_forget_nanos": 516055,
+ "fuse_op_getattr_count": 5041,
+ "fuse_op_getattr_nanos": 49888676,
+ "fuse_op_lookup_count": 11690,
+ "fuse_op_lookup_nanos": 121710720,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 97296284,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 26582634,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 819870,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1105691655,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 26568776,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16158,
+ "fuse_read_lane_wait_nanos": 1426341,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32013,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673123,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10204,
+ "fuse_write_lane_wait_nanos": 1543871,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19340,
+ "lookup_base_count": 23,
+ "lookup_count": 40292,
+ "lookup_delta_count": 7193,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6769,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14260,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32908,
+ "path_resolution_count": 7120,
+ "readdir_count": 1,
+ "readdir_plus_count": 11,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 525626
+ },
+ "phase-checkpoint-2": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 783392299,
+ "agentfs_batcher_commit_txns": 4777,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9400,
+ "attr_cache_hits": 26156,
+ "attr_cache_misses": 30822,
+ "base_fast_inode_invalidations": 15082,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 981,
+ "connection_create_count": 9,
+ "connection_reuse_count": 31814,
+ "connection_wait_count": 31823,
+ "connection_wait_nanos": 9259292,
+ "dentry_cache_hits": 26105,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4694,
+ "fuse_adapter_attr_misses": 5622,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5286,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27135,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 44,
+ "fuse_dispatch_wait_count": 44,
+ "fuse_dispatch_wait_nanos": 342116,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10316,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11740,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 556283733,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 41,
+ "fuse_op_forget_nanos": 580404,
+ "fuse_op_getattr_count": 10316,
+ "fuse_op_getattr_nanos": 64531862,
+ "fuse_op_lookup_count": 11740,
+ "fuse_op_lookup_nanos": 122436012,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 799,
+ "fuse_op_other_nanos": 100368792,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 27524406,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 929330,
+ "fuse_op_setattr_count": 4763,
+ "fuse_op_setattr_nanos": 1110792824,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 26757039,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16910,
+ "fuse_read_lane_wait_nanos": 1512866,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37397,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53264516,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10246,
+ "fuse_write_lane_wait_nanos": 1572829,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20742,
+ "lookup_base_count": 23,
+ "lookup_count": 40456,
+ "lookup_delta_count": 7253,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6803,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14346,
+ "path_cache_hits": 26105,
+ "path_cache_misses": 13482,
+ "path_component_count": 33032,
+ "path_resolution_count": 7165,
+ "readdir_count": 1,
+ "readdir_plus_count": 13,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 525626
+ },
+ "phase-checkpoint-3": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 788452315,
+ "agentfs_batcher_commit_txns": 4781,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4690,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26176,
+ "attr_cache_misses": 30858,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1001,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32831,
+ "connection_wait_count": 32840,
+ "connection_wait_nanos": 9560632,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6121,
+ "fuse_adapter_attr_misses": 5630,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5287,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30265,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 401757,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11751,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12032,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557340473,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 626255,
+ "fuse_op_getattr_count": 11751,
+ "fuse_op_getattr_nanos": 65862666,
+ "fuse_op_lookup_count": 12032,
+ "fuse_op_lookup_nanos": 126977898,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 103600685,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 30037790,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 47489914,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1120354419,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 29014201,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17907,
+ "fuse_read_lane_wait_nanos": 1604027,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43297,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54445974,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1577122,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20770,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6808,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37638,
+ "path_resolution_count": 8142,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 525626
+ },
+ "phase-checkpoint-4": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 788452315,
+ "agentfs_batcher_commit_txns": 4781,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4690,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26177,
+ "attr_cache_misses": 30858,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1001,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32839,
+ "connection_wait_count": 32848,
+ "connection_wait_nanos": 9564961,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6190,
+ "fuse_adapter_attr_misses": 5630,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5287,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30341,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 401757,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11820,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12033,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557340473,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 626255,
+ "fuse_op_getattr_count": 11820,
+ "fuse_op_getattr_nanos": 65918230,
+ "fuse_op_lookup_count": 12033,
+ "fuse_op_lookup_nanos": 127002362,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 103600685,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 30707958,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 47489914,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1120354419,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 29014201,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17909,
+ "fuse_read_lane_wait_nanos": 1604537,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43373,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54445974,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1577122,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20770,
+ "lookup_base_count": 23,
+ "lookup_count": 41056,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6808,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37638,
+ "path_resolution_count": 8142,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 525626
+ },
+ "phase-checkpoint-5": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790560838,
+ "agentfs_batcher_commit_txns": 4789,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4698,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26177,
+ "attr_cache_misses": 30882,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1001,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32871,
+ "connection_wait_count": 32880,
+ "connection_wait_nanos": 9590305,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6206,
+ "fuse_adapter_attr_misses": 5630,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5287,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30365,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 401757,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11836,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12033,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557340473,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 626255,
+ "fuse_op_getattr_count": 11836,
+ "fuse_op_getattr_nanos": 65953076,
+ "fuse_op_lookup_count": 12033,
+ "fuse_op_lookup_nanos": 127002362,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 3569,
+ "fuse_op_other_nanos": 105425428,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 30707958,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 47489914,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1124507489,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 29938467,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17917,
+ "fuse_read_lane_wait_nanos": 1607025,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43413,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452372,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1580054,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20786,
+ "lookup_base_count": 23,
+ "lookup_count": 41056,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6808,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37638,
+ "path_resolution_count": 8142,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2103531
+ },
+ "phase-checkpoint-6": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790560838,
+ "agentfs_batcher_commit_txns": 4789,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4698,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26177,
+ "attr_cache_misses": 30882,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1001,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32871,
+ "connection_wait_count": 32880,
+ "connection_wait_nanos": 9590305,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 8214,
+ "fuse_adapter_attr_misses": 5630,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5380,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 32466,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 401757,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13844,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12126,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557340473,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 626255,
+ "fuse_op_getattr_count": 13844,
+ "fuse_op_getattr_nanos": 67423333,
+ "fuse_op_lookup_count": 12126,
+ "fuse_op_lookup_nanos": 127124191,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 3581,
+ "fuse_op_other_nanos": 105434258,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 30707958,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 47489914,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1124507489,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 29938467,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17917,
+ "fuse_read_lane_wait_nanos": 1607025,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45526,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452372,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1580054,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20786,
+ "lookup_base_count": 23,
+ "lookup_count": 41056,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6901,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37638,
+ "path_resolution_count": 8142,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2103531
+ },
+ "phase-checkpoint-7": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790560838,
+ "agentfs_batcher_commit_txns": 4789,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4698,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26180,
+ "attr_cache_misses": 30884,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1001,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32886,
+ "connection_wait_count": 32895,
+ "connection_wait_nanos": 9606949,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8258,
+ "fuse_adapter_attr_misses": 5631,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5623,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32778,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 401757,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13889,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12373,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557340473,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 626255,
+ "fuse_op_getattr_count": 13889,
+ "fuse_op_getattr_nanos": 67519092,
+ "fuse_op_lookup_count": 12373,
+ "fuse_op_lookup_nanos": 127472197,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 105452198,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 31056244,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 48252398,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1124507489,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 29938467,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17932,
+ "fuse_read_lane_wait_nanos": 1611323,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45874,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452372,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1580054,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20788,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7144,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2103531
+ },
+ "run_parent": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790560838,
+ "agentfs_batcher_commit_txns": 4789,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4698,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26180,
+ "attr_cache_misses": 30884,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1001,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32889,
+ "connection_wait_count": 32898,
+ "connection_wait_nanos": 9613574,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8258,
+ "fuse_adapter_attr_misses": 5631,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5623,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32778,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 401757,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13889,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12373,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557340473,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 626255,
+ "fuse_op_getattr_count": 13889,
+ "fuse_op_getattr_nanos": 67519092,
+ "fuse_op_lookup_count": 12373,
+ "fuse_op_lookup_nanos": 127472197,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 105452198,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 31056244,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 48252398,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1124507489,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 29938467,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17932,
+ "fuse_read_lane_wait_nanos": 1611323,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45874,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452372,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 1581400,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20788,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7144,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2249063
+ }
+ },
+ "max_counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790560838,
+ "agentfs_batcher_commit_txns": 4789,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4698,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26180,
+ "attr_cache_misses": 30884,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1001,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32889,
+ "connection_wait_count": 32898,
+ "connection_wait_nanos": 9613574,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8258,
+ "fuse_adapter_attr_misses": 5631,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5623,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32778,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 401757,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13889,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12373,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557340473,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 626255,
+ "fuse_op_getattr_count": 13889,
+ "fuse_op_getattr_nanos": 67519092,
+ "fuse_op_lookup_count": 12373,
+ "fuse_op_lookup_nanos": 127472197,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 105452198,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 31056244,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 48252398,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1124507489,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 29938467,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17932,
+ "fuse_read_lane_wait_nanos": 1611323,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45874,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452372,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 1581400,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20788,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7144,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2249063
+ },
+ "summary_count": 10
+ },
+ "profile_enabled": true,
+ "profile_summary_count": 10,
+ "session": "git-workload-2bd2eb5e81e742bda053e0f8c0e6ad33"
+ },
+ "agentfs_overlay": {
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 780091371,
+ "agentfs_batcher_commit_txns": 4769,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4683,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4731,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9386,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29058,
+ "base_fast_inode_invalidations": 15031,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 969,
+ "connection_create_count": 2,
+ "connection_reuse_count": 31194,
+ "connection_wait_count": 31196,
+ "connection_wait_nanos": 9065389,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 106,
+ "fuse_adapter_attr_misses": 4935,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5273,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21789,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 36,
+ "fuse_dispatch_wait_count": 36,
+ "fuse_dispatch_wait_nanos": 273079,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52539545,
+ "fuse_flush_count": 4731,
+ "fuse_flush_ranges": 4731,
+ "fuse_getattr_count": 5041,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11690,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 554746652,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 33,
+ "fuse_op_forget_nanos": 516055,
+ "fuse_op_getattr_count": 5041,
+ "fuse_op_getattr_nanos": 49888676,
+ "fuse_op_lookup_count": 11690,
+ "fuse_op_lookup_nanos": 121710720,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 97296284,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 26582634,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 819870,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1105691655,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 26568776,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16158,
+ "fuse_read_lane_wait_nanos": 1426341,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32013,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673123,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10204,
+ "fuse_write_lane_wait_nanos": 1543871,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19340,
+ "lookup_base_count": 23,
+ "lookup_count": 40292,
+ "lookup_delta_count": 7193,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6769,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14260,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32908,
+ "path_resolution_count": 7120,
+ "readdir_count": 1,
+ "readdir_plus_count": 11,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 525626
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-1"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 783392299,
+ "agentfs_batcher_commit_txns": 4777,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9400,
+ "attr_cache_hits": 26156,
+ "attr_cache_misses": 30822,
+ "base_fast_inode_invalidations": 15082,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 981,
+ "connection_create_count": 9,
+ "connection_reuse_count": 31814,
+ "connection_wait_count": 31823,
+ "connection_wait_nanos": 9259292,
+ "dentry_cache_hits": 26105,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4694,
+ "fuse_adapter_attr_misses": 5622,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5286,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27135,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 44,
+ "fuse_dispatch_wait_count": 44,
+ "fuse_dispatch_wait_nanos": 342116,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10316,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11740,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 556283733,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 41,
+ "fuse_op_forget_nanos": 580404,
+ "fuse_op_getattr_count": 10316,
+ "fuse_op_getattr_nanos": 64531862,
+ "fuse_op_lookup_count": 11740,
+ "fuse_op_lookup_nanos": 122436012,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 799,
+ "fuse_op_other_nanos": 100368792,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 27524406,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 929330,
+ "fuse_op_setattr_count": 4763,
+ "fuse_op_setattr_nanos": 1110792824,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 26757039,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16910,
+ "fuse_read_lane_wait_nanos": 1512866,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37397,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53264516,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10246,
+ "fuse_write_lane_wait_nanos": 1572829,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20742,
+ "lookup_base_count": 23,
+ "lookup_count": 40456,
+ "lookup_delta_count": 7253,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6803,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14346,
+ "path_cache_hits": 26105,
+ "path_cache_misses": 13482,
+ "path_component_count": 33032,
+ "path_resolution_count": 7165,
+ "readdir_count": 1,
+ "readdir_plus_count": 13,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 525626
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-2"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 788452315,
+ "agentfs_batcher_commit_txns": 4781,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4690,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26176,
+ "attr_cache_misses": 30858,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1001,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32831,
+ "connection_wait_count": 32840,
+ "connection_wait_nanos": 9560632,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6121,
+ "fuse_adapter_attr_misses": 5630,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5287,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30265,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 401757,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11751,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12032,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557340473,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 626255,
+ "fuse_op_getattr_count": 11751,
+ "fuse_op_getattr_nanos": 65862666,
+ "fuse_op_lookup_count": 12032,
+ "fuse_op_lookup_nanos": 126977898,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 103600685,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 30037790,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 47489914,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1120354419,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 29014201,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17907,
+ "fuse_read_lane_wait_nanos": 1604027,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43297,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54445974,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1577122,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20770,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6808,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37638,
+ "path_resolution_count": 8142,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 525626
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-3"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 788452315,
+ "agentfs_batcher_commit_txns": 4781,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4690,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26177,
+ "attr_cache_misses": 30858,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1001,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32839,
+ "connection_wait_count": 32848,
+ "connection_wait_nanos": 9564961,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6190,
+ "fuse_adapter_attr_misses": 5630,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5287,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30341,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 401757,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11820,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12033,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557340473,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 626255,
+ "fuse_op_getattr_count": 11820,
+ "fuse_op_getattr_nanos": 65918230,
+ "fuse_op_lookup_count": 12033,
+ "fuse_op_lookup_nanos": 127002362,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 103600685,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 30707958,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 47489914,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1120354419,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 29014201,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17909,
+ "fuse_read_lane_wait_nanos": 1604537,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43373,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54445974,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1577122,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20770,
+ "lookup_base_count": 23,
+ "lookup_count": 41056,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6808,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37638,
+ "path_resolution_count": 8142,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 525626
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-4"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790560838,
+ "agentfs_batcher_commit_txns": 4789,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4698,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26177,
+ "attr_cache_misses": 30882,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1001,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32871,
+ "connection_wait_count": 32880,
+ "connection_wait_nanos": 9590305,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6206,
+ "fuse_adapter_attr_misses": 5630,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5287,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30365,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 401757,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11836,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12033,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557340473,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 626255,
+ "fuse_op_getattr_count": 11836,
+ "fuse_op_getattr_nanos": 65953076,
+ "fuse_op_lookup_count": 12033,
+ "fuse_op_lookup_nanos": 127002362,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 3569,
+ "fuse_op_other_nanos": 105425428,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 30707958,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 47489914,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1124507489,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 29938467,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17917,
+ "fuse_read_lane_wait_nanos": 1607025,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43413,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452372,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1580054,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20786,
+ "lookup_base_count": 23,
+ "lookup_count": 41056,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6808,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37638,
+ "path_resolution_count": 8142,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2103531
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-5"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790560838,
+ "agentfs_batcher_commit_txns": 4789,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4698,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26177,
+ "attr_cache_misses": 30882,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1001,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32871,
+ "connection_wait_count": 32880,
+ "connection_wait_nanos": 9590305,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 8214,
+ "fuse_adapter_attr_misses": 5630,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5380,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 32466,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 401757,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13844,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12126,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557340473,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 626255,
+ "fuse_op_getattr_count": 13844,
+ "fuse_op_getattr_nanos": 67423333,
+ "fuse_op_lookup_count": 12126,
+ "fuse_op_lookup_nanos": 127124191,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 3581,
+ "fuse_op_other_nanos": 105434258,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 30707958,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 47489914,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1124507489,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 29938467,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17917,
+ "fuse_read_lane_wait_nanos": 1607025,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45526,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452372,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1580054,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20786,
+ "lookup_base_count": 23,
+ "lookup_count": 41056,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6901,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37638,
+ "path_resolution_count": 8142,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2103531
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-6"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790560838,
+ "agentfs_batcher_commit_txns": 4789,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4698,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26180,
+ "attr_cache_misses": 30884,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1001,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32886,
+ "connection_wait_count": 32895,
+ "connection_wait_nanos": 9606949,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8258,
+ "fuse_adapter_attr_misses": 5631,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5623,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32778,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 401757,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13889,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12373,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557340473,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 626255,
+ "fuse_op_getattr_count": 13889,
+ "fuse_op_getattr_nanos": 67519092,
+ "fuse_op_lookup_count": 12373,
+ "fuse_op_lookup_nanos": 127472197,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 105452198,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 31056244,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 48252398,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1124507489,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 29938467,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17932,
+ "fuse_read_lane_wait_nanos": 1611323,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45874,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452372,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1580054,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20788,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7144,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2103531
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-7"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790560838,
+ "agentfs_batcher_commit_txns": 4789,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4698,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26180,
+ "attr_cache_misses": 30884,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1001,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32889,
+ "connection_wait_count": 32898,
+ "connection_wait_nanos": 9613574,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8258,
+ "fuse_adapter_attr_misses": 5631,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5623,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32778,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 401757,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13889,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12373,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557340473,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 626255,
+ "fuse_op_getattr_count": 13889,
+ "fuse_op_getattr_nanos": 67519092,
+ "fuse_op_lookup_count": 12373,
+ "fuse_op_lookup_nanos": 127472197,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 105452198,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 31056244,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 48252398,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1124507489,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 29938467,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17932,
+ "fuse_read_lane_wait_nanos": 1611323,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45874,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452372,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 1581400,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20788,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7144,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2249063
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "agentfs"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790560838,
+ "agentfs_batcher_commit_txns": 4789,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4698,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26180,
+ "attr_cache_misses": 30884,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1001,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32889,
+ "connection_wait_count": 32898,
+ "connection_wait_nanos": 9613574,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8258,
+ "fuse_adapter_attr_misses": 5631,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5623,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32778,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 401757,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13889,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12373,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557340473,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 626255,
+ "fuse_op_getattr_count": 13889,
+ "fuse_op_getattr_nanos": 67519092,
+ "fuse_op_lookup_count": 12373,
+ "fuse_op_lookup_nanos": 127472197,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 105452198,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 31056244,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 48252398,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1124507489,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 29938467,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17932,
+ "fuse_read_lane_wait_nanos": 1611323,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45874,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452372,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 1581400,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20788,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7144,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2249063
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "fuse_session"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790560838,
+ "agentfs_batcher_commit_txns": 4789,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4698,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26180,
+ "attr_cache_misses": 30884,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1001,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32889,
+ "connection_wait_count": 32898,
+ "connection_wait_nanos": 9613574,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8258,
+ "fuse_adapter_attr_misses": 5631,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5623,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32778,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 401757,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13889,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12373,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557340473,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 626255,
+ "fuse_op_getattr_count": 13889,
+ "fuse_op_getattr_nanos": 67519092,
+ "fuse_op_lookup_count": 12373,
+ "fuse_op_lookup_nanos": 127472197,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 105452198,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 31056244,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 48252398,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1124507489,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 29938467,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17932,
+ "fuse_read_lane_wait_nanos": 1611323,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45874,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452372,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 1581400,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20788,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7144,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2249063
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "run_parent"
+ }
+ ],
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "run",
+ "--session",
+ "git-workload-2bd2eb5e81e742bda053e0f8c0e6ad33",
+ "--no-default-allows",
+ "--",
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-j7ifkggm/agentfs-base",
+ "duration_seconds": 4.073011571003008,
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 780091371,
+ "agentfs_batcher_commit_txns": 4769,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4683,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4731,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 3,
+ "agentfs_batcher_txn_inodes_total": 9386,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29058,
+ "base_fast_inode_invalidations": 15031,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 969,
+ "connection_create_count": 2,
+ "connection_reuse_count": 31194,
+ "connection_wait_count": 31196,
+ "connection_wait_nanos": 9065389,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 106,
+ "fuse_adapter_attr_misses": 4935,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5273,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21789,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 36,
+ "fuse_dispatch_wait_count": 36,
+ "fuse_dispatch_wait_nanos": 273079,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52539545,
+ "fuse_flush_count": 4731,
+ "fuse_flush_ranges": 4731,
+ "fuse_getattr_count": 5041,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11690,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 554746652,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 33,
+ "fuse_op_forget_nanos": 516055,
+ "fuse_op_getattr_count": 5041,
+ "fuse_op_getattr_nanos": 49888676,
+ "fuse_op_lookup_count": 11690,
+ "fuse_op_lookup_nanos": 121710720,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 97296284,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 26582634,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 819870,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1105691655,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 26568776,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16158,
+ "fuse_read_lane_wait_nanos": 1426341,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32013,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673123,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10204,
+ "fuse_write_lane_wait_nanos": 1543871,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19340,
+ "lookup_base_count": 23,
+ "lookup_count": 40292,
+ "lookup_delta_count": 7193,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6769,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14260,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32908,
+ "path_resolution_count": 7120,
+ "readdir_count": 1,
+ "readdir_plus_count": 11,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 525626
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-1"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 783392299,
+ "agentfs_batcher_commit_txns": 4777,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4688,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9400,
+ "attr_cache_hits": 26156,
+ "attr_cache_misses": 30822,
+ "base_fast_inode_invalidations": 15082,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 981,
+ "connection_create_count": 9,
+ "connection_reuse_count": 31814,
+ "connection_wait_count": 31823,
+ "connection_wait_nanos": 9259292,
+ "dentry_cache_hits": 26105,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4694,
+ "fuse_adapter_attr_misses": 5622,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5286,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27135,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 44,
+ "fuse_dispatch_wait_count": 44,
+ "fuse_dispatch_wait_nanos": 342116,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10316,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11740,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 556283733,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 41,
+ "fuse_op_forget_nanos": 580404,
+ "fuse_op_getattr_count": 10316,
+ "fuse_op_getattr_nanos": 64531862,
+ "fuse_op_lookup_count": 11740,
+ "fuse_op_lookup_nanos": 122436012,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 799,
+ "fuse_op_other_nanos": 100368792,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 27524406,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 929330,
+ "fuse_op_setattr_count": 4763,
+ "fuse_op_setattr_nanos": 1110792824,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 26757039,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16910,
+ "fuse_read_lane_wait_nanos": 1512866,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37397,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53264516,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10246,
+ "fuse_write_lane_wait_nanos": 1572829,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20742,
+ "lookup_base_count": 23,
+ "lookup_count": 40456,
+ "lookup_delta_count": 7253,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6803,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14346,
+ "path_cache_hits": 26105,
+ "path_cache_misses": 13482,
+ "path_component_count": 33032,
+ "path_resolution_count": 7165,
+ "readdir_count": 1,
+ "readdir_plus_count": 13,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 525626
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-2"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 788452315,
+ "agentfs_batcher_commit_txns": 4781,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4690,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26176,
+ "attr_cache_misses": 30858,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1001,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32831,
+ "connection_wait_count": 32840,
+ "connection_wait_nanos": 9560632,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6121,
+ "fuse_adapter_attr_misses": 5630,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5287,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30265,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 401757,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11751,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12032,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557340473,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 626255,
+ "fuse_op_getattr_count": 11751,
+ "fuse_op_getattr_nanos": 65862666,
+ "fuse_op_lookup_count": 12032,
+ "fuse_op_lookup_nanos": 126977898,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 103600685,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 30037790,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 47489914,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1120354419,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 29014201,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17907,
+ "fuse_read_lane_wait_nanos": 1604027,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43297,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54445974,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1577122,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20770,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6808,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37638,
+ "path_resolution_count": 8142,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 525626
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-3"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 788452315,
+ "agentfs_batcher_commit_txns": 4781,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4690,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9404,
+ "attr_cache_hits": 26177,
+ "attr_cache_misses": 30858,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1001,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32839,
+ "connection_wait_count": 32848,
+ "connection_wait_nanos": 9564961,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6190,
+ "fuse_adapter_attr_misses": 5630,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5287,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30341,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 401757,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11820,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12033,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557340473,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 626255,
+ "fuse_op_getattr_count": 11820,
+ "fuse_op_getattr_nanos": 65918230,
+ "fuse_op_lookup_count": 12033,
+ "fuse_op_lookup_nanos": 127002362,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 103600685,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 30707958,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 47489914,
+ "fuse_op_setattr_count": 4769,
+ "fuse_op_setattr_nanos": 1120354419,
+ "fuse_op_write_count": 4841,
+ "fuse_op_write_nanos": 29014201,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17909,
+ "fuse_read_lane_wait_nanos": 1604537,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43373,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54445974,
+ "fuse_write_count": 4841,
+ "fuse_write_lane_wait_count": 10260,
+ "fuse_write_lane_wait_nanos": 1577122,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20770,
+ "lookup_base_count": 23,
+ "lookup_count": 41056,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6808,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37638,
+ "path_resolution_count": 8142,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 525626
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-4"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790560838,
+ "agentfs_batcher_commit_txns": 4789,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4698,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26177,
+ "attr_cache_misses": 30882,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1001,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32871,
+ "connection_wait_count": 32880,
+ "connection_wait_nanos": 9590305,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6206,
+ "fuse_adapter_attr_misses": 5630,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5287,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30365,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 401757,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 11836,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12033,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557340473,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 626255,
+ "fuse_op_getattr_count": 11836,
+ "fuse_op_getattr_nanos": 65953076,
+ "fuse_op_lookup_count": 12033,
+ "fuse_op_lookup_nanos": 127002362,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 3569,
+ "fuse_op_other_nanos": 105425428,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 30707958,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 47489914,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1124507489,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 29938467,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17917,
+ "fuse_read_lane_wait_nanos": 1607025,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43413,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452372,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1580054,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20786,
+ "lookup_base_count": 23,
+ "lookup_count": 41056,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6808,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37638,
+ "path_resolution_count": 8142,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2103531
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-5"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790560838,
+ "agentfs_batcher_commit_txns": 4789,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4698,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26177,
+ "attr_cache_misses": 30882,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1001,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32871,
+ "connection_wait_count": 32880,
+ "connection_wait_nanos": 9590305,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 8214,
+ "fuse_adapter_attr_misses": 5630,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5380,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 32466,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 401757,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13844,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12126,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557340473,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 626255,
+ "fuse_op_getattr_count": 13844,
+ "fuse_op_getattr_nanos": 67423333,
+ "fuse_op_lookup_count": 12126,
+ "fuse_op_lookup_nanos": 127124191,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 3581,
+ "fuse_op_other_nanos": 105434258,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 30707958,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 47489914,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1124507489,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 29938467,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17917,
+ "fuse_read_lane_wait_nanos": 1607025,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45526,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452372,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1580054,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20786,
+ "lookup_base_count": 23,
+ "lookup_count": 41056,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6901,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37638,
+ "path_resolution_count": 8142,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2103531
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-6"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790560838,
+ "agentfs_batcher_commit_txns": 4789,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4698,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26180,
+ "attr_cache_misses": 30884,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1001,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32886,
+ "connection_wait_count": 32895,
+ "connection_wait_nanos": 9606949,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8258,
+ "fuse_adapter_attr_misses": 5631,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5623,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32778,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 401757,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13889,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12373,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557340473,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 626255,
+ "fuse_op_getattr_count": 13889,
+ "fuse_op_getattr_nanos": 67519092,
+ "fuse_op_lookup_count": 12373,
+ "fuse_op_lookup_nanos": 127472197,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 105452198,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 31056244,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 48252398,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1124507489,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 29938467,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17932,
+ "fuse_read_lane_wait_nanos": 1611323,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45874,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452372,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 1580054,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20788,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7144,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2103531
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-7"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790560838,
+ "agentfs_batcher_commit_txns": 4789,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4698,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26180,
+ "attr_cache_misses": 30884,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1001,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32889,
+ "connection_wait_count": 32898,
+ "connection_wait_nanos": 9613574,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8258,
+ "fuse_adapter_attr_misses": 5631,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5623,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32778,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 401757,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13889,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12373,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557340473,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 626255,
+ "fuse_op_getattr_count": 13889,
+ "fuse_op_getattr_nanos": 67519092,
+ "fuse_op_lookup_count": 12373,
+ "fuse_op_lookup_nanos": 127472197,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 105452198,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 31056244,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 48252398,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1124507489,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 29938467,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17932,
+ "fuse_read_lane_wait_nanos": 1611323,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45874,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452372,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 1581400,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20788,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7144,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2249063
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "agentfs"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790560838,
+ "agentfs_batcher_commit_txns": 4789,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4698,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26180,
+ "attr_cache_misses": 30884,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1001,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32889,
+ "connection_wait_count": 32898,
+ "connection_wait_nanos": 9613574,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8258,
+ "fuse_adapter_attr_misses": 5631,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5623,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32778,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 401757,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13889,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12373,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557340473,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 626255,
+ "fuse_op_getattr_count": 13889,
+ "fuse_op_getattr_nanos": 67519092,
+ "fuse_op_lookup_count": 12373,
+ "fuse_op_lookup_nanos": 127472197,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 105452198,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 31056244,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 48252398,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1124507489,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 29938467,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17932,
+ "fuse_read_lane_wait_nanos": 1611323,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45874,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452372,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 1581400,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20788,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7144,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2249063
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "fuse_session"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 790560838,
+ "agentfs_batcher_commit_txns": 4789,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4698,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9412,
+ "attr_cache_hits": 26180,
+ "attr_cache_misses": 30884,
+ "base_fast_inode_invalidations": 15122,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1001,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32889,
+ "connection_wait_count": 32898,
+ "connection_wait_nanos": 9613574,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 8258,
+ "fuse_adapter_attr_misses": 5631,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5623,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 32778,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 401757,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13889,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12373,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 557340473,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 686,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 626255,
+ "fuse_op_getattr_count": 13889,
+ "fuse_op_getattr_nanos": 67519092,
+ "fuse_op_lookup_count": 12373,
+ "fuse_op_lookup_nanos": 127472197,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1024,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 105452198,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 31056244,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 48252398,
+ "fuse_op_setattr_count": 4777,
+ "fuse_op_setattr_nanos": 1124507489,
+ "fuse_op_write_count": 4849,
+ "fuse_op_write_nanos": 29938467,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17932,
+ "fuse_read_lane_wait_nanos": 1611323,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45874,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452372,
+ "fuse_write_count": 4849,
+ "fuse_write_lane_wait_count": 10270,
+ "fuse_write_lane_wait_nanos": 1581400,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20788,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7144,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2249063
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "run_parent"
+ }
+ ],
+ "returncode": 0,
+ "stderr_bytes": 40560,
+ "stderr_tail": "atcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1442885,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9412,\"attr_cache_hits\":26177,\"attr_cache_misses\":30882,\"base_fast_inode_invalidations\":15122,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":267,\"chunk_read_queries\":122,\"chunk_write_chunks\":1001,\"connection_create_count\":9,\"connection_reuse_count\":32871,\"connection_wait_count\":32880,\"connection_wait_nanos\":9590305,\"dentry_cache_hits\":26126,\"dentry_cache_misses\":14052,\"fuse_adapter_attr_hits\":8214,\"fuse_adapter_attr_misses\":5630,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6734,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5380,\"fuse_adapter_negative_misses\":6734,\"fuse_callback_count\":32466,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":47,\"fuse_dispatch_wait_count\":47,\"fuse_dispatch_wait_nanos\":401757,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13844,\"fuse_ino_file_resolutions\":27,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12126,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":557340473,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":686,\"fuse_op_forget_count\":44,\"fuse_op_forget_nanos\":626255,\"fuse_op_getattr_count\":13844,\"fuse_op_getattr_nanos\":67423333,\"fuse_op_lookup_count\":12126,\"fuse_op_lookup_nanos\":127124191,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1024,\"fuse_op_other_count\":3581,\"fuse_op_other_nanos\":105434258,\"fuse_op_read_count\":239,\"fuse_op_read_nanos\":30707958,\"fuse_op_readdirplus_count\":1407,\"fuse_op_readdirplus_nanos\":47489914,\"fuse_op_setattr_count\":4777,\"fuse_op_setattr_nanos\":1124507489,\"fuse_op_write_count\":4849,\"fuse_op_write_nanos\":29938467,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":239,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17917,\"fuse_read_lane_wait_nanos\":1607025,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1407,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":45526,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54452372,\"fuse_write_count\":4849,\"fuse_write_lane_wait_count\":10268,\"fuse_write_lane_wait_nanos\":1580054,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20786,\"lookup_base_count\":23,\"lookup_count\":41056,\"lookup_delta_count\":7549,\"lookup_whiteout_count\":0,\"negative_cache_hits\":6901,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46085,\"negative_lookup_count\":14924,\"path_cache_hits\":26126,\"path_cache_misses\":14052,\"path_component_count\":37638,\"path_resolution_count\":8142,\"readdir_count\":1,\"readdir_plus_count\":701,\"wal_checkpoint_count\":11,\"wal_checkpoint_nanos\":2103531},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"phase-checkpoint-6\"}\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":790560838,\"agentfs_batcher_commit_txns\":4789,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4698,\"agentfs_batcher_drains_timer\":15,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1442885,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9412,\"attr_cache_hits\":26180,\"attr_cache_misses\":30884,\"base_fast_inode_invalidations\":15122,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1001,\"connection_create_count\":9,\"connection_reuse_count\":32886,\"connection_wait_count\":32895,\"connection_wait_nanos\":9606949,\"dentry_cache_hits\":26130,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":8258,\"fuse_adapter_attr_misses\":5631,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5623,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":32778,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":47,\"fuse_dispatch_wait_count\":47,\"fuse_dispatch_wait_nanos\":401757,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13889,\"fuse_ino_file_resolutions\":28,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12373,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":557340473,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":686,\"fuse_op_forget_count\":44,\"fuse_op_forget_nanos\":626255,\"fuse_op_getattr_count\":13889,\"fuse_op_getattr_nanos\":67519092,\"fuse_op_lookup_count\":12373,\"fuse_op_lookup_nanos\":127472197,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1024,\"fuse_op_other_count\":3617,\"fuse_op_other_nanos\":105452198,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":31056244,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":48252398,\"fuse_op_setattr_count\":4777,\"fuse_op_setattr_nanos\":1124507489,\"fuse_op_write_count\":4849,\"fuse_op_write_nanos\":29938467,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17932,\"fuse_read_lane_wait_nanos\":1611323,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":45874,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54452372,\"fuse_write_count\":4849,\"fuse_write_lane_wait_count\":10268,\"fuse_write_lane_wait_nanos\":1580054,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20788,\"lookup_base_count\":23,\"lookup_count\":41064,\"lookup_delta_count\":7553,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7144,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14926,\"path_cache_hits\":26130,\"path_cache_misses\":14054,\"path_component_count\":37680,\"path_resolution_count\":8152,\"readdir_count\":1,\"readdir_plus_count\":710,\"wal_checkpoint_count\":11,\"wal_checkpoint_nanos\":2103531},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"phase-checkpoint-7\"}\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":790560838,\"agentfs_batcher_commit_txns\":4789,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4698,\"agentfs_batcher_drains_timer\":15,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1442885,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9412,\"attr_cache_hits\":26180,\"attr_cache_misses\":30884,\"base_fast_inode_invalidations\":15122,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1001,\"connection_create_count\":9,\"connection_reuse_count\":32889,\"connection_wait_count\":32898,\"connection_wait_nanos\":9613574,\"dentry_cache_hits\":26130,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":8258,\"fuse_adapter_attr_misses\":5631,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5623,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":32778,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":47,\"fuse_dispatch_wait_count\":47,\"fuse_dispatch_wait_nanos\":401757,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13889,\"fuse_ino_file_resolutions\":28,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12373,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":557340473,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":686,\"fuse_op_forget_count\":44,\"fuse_op_forget_nanos\":626255,\"fuse_op_getattr_count\":13889,\"fuse_op_getattr_nanos\":67519092,\"fuse_op_lookup_count\":12373,\"fuse_op_lookup_nanos\":127472197,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1024,\"fuse_op_other_count\":3617,\"fuse_op_other_nanos\":105452198,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":31056244,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":48252398,\"fuse_op_setattr_count\":4777,\"fuse_op_setattr_nanos\":1124507489,\"fuse_op_write_count\":4849,\"fuse_op_write_nanos\":29938467,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17932,\"fuse_read_lane_wait_nanos\":1611323,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":45874,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54452372,\"fuse_write_count\":4849,\"fuse_write_lane_wait_count\":10270,\"fuse_write_lane_wait_nanos\":1581400,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20788,\"lookup_base_count\":23,\"lookup_count\":41064,\"lookup_delta_count\":7553,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7144,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14926,\"path_cache_hits\":26130,\"path_cache_misses\":14054,\"path_component_count\":37680,\"path_resolution_count\":8152,\"readdir_count\":1,\"readdir_plus_count\":710,\"wal_checkpoint_count\":13,\"wal_checkpoint_nanos\":2249063},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"agentfs\"}\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":790560838,\"agentfs_batcher_commit_txns\":4789,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4698,\"agentfs_batcher_drains_timer\":15,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1442885,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9412,\"attr_cache_hits\":26180,\"attr_cache_misses\":30884,\"base_fast_inode_invalidations\":15122,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1001,\"connection_create_count\":9,\"connection_reuse_count\":32889,\"connection_wait_count\":32898,\"connection_wait_nanos\":9613574,\"dentry_cache_hits\":26130,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":8258,\"fuse_adapter_attr_misses\":5631,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5623,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":32778,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":47,\"fuse_dispatch_wait_count\":47,\"fuse_dispatch_wait_nanos\":401757,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13889,\"fuse_ino_file_resolutions\":28,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12373,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":557340473,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":686,\"fuse_op_forget_count\":44,\"fuse_op_forget_nanos\":626255,\"fuse_op_getattr_count\":13889,\"fuse_op_getattr_nanos\":67519092,\"fuse_op_lookup_count\":12373,\"fuse_op_lookup_nanos\":127472197,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1024,\"fuse_op_other_count\":3617,\"fuse_op_other_nanos\":105452198,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":31056244,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":48252398,\"fuse_op_setattr_count\":4777,\"fuse_op_setattr_nanos\":1124507489,\"fuse_op_write_count\":4849,\"fuse_op_write_nanos\":29938467,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17932,\"fuse_read_lane_wait_nanos\":1611323,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":45874,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54452372,\"fuse_write_count\":4849,\"fuse_write_lane_wait_count\":10270,\"fuse_write_lane_wait_nanos\":1581400,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20788,\"lookup_base_count\":23,\"lookup_count\":41064,\"lookup_delta_count\":7553,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7144,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14926,\"path_cache_hits\":26130,\"path_cache_misses\":14054,\"path_component_count\":37680,\"path_resolution_count\":8152,\"readdir_count\":1,\"readdir_plus_count\":710,\"wal_checkpoint_count\":13,\"wal_checkpoint_nanos\":2249063},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"fuse_session\"}\n\nSession: git-workload-2bd2eb5e81e742bda053e0f8c0e6ad33\n\nTo resume this session:\n agentfs run --session git-workload-2bd2eb5e81e742bda053e0f8c0e6ad33\n\nTo see what changed:\n agentfs diff git-workload-2bd2eb5e81e742bda053e0f8c0e6ad33\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":790560838,\"agentfs_batcher_commit_txns\":4789,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4698,\"agentfs_batcher_drains_timer\":15,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1442885,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9412,\"attr_cache_hits\":26180,\"attr_cache_misses\":30884,\"base_fast_inode_invalidations\":15122,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1001,\"connection_create_count\":9,\"connection_reuse_count\":32889,\"connection_wait_count\":32898,\"connection_wait_nanos\":9613574,\"dentry_cache_hits\":26130,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":8258,\"fuse_adapter_attr_misses\":5631,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5623,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":32778,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":47,\"fuse_dispatch_wait_count\":47,\"fuse_dispatch_wait_nanos\":401757,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13889,\"fuse_ino_file_resolutions\":28,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12373,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":557340473,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":686,\"fuse_op_forget_count\":44,\"fuse_op_forget_nanos\":626255,\"fuse_op_getattr_count\":13889,\"fuse_op_getattr_nanos\":67519092,\"fuse_op_lookup_count\":12373,\"fuse_op_lookup_nanos\":127472197,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1024,\"fuse_op_other_count\":3617,\"fuse_op_other_nanos\":105452198,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":31056244,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":48252398,\"fuse_op_setattr_count\":4777,\"fuse_op_setattr_nanos\":1124507489,\"fuse_op_write_count\":4849,\"fuse_op_write_nanos\":29938467,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17932,\"fuse_read_lane_wait_nanos\":1611323,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":45874,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54452372,\"fuse_write_count\":4849,\"fuse_write_lane_wait_count\":10270,\"fuse_write_lane_wait_nanos\":1581400,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20788,\"lookup_base_count\":23,\"lookup_count\":41064,\"lookup_delta_count\":7553,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7144,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14926,\"path_cache_hits\":26130,\"path_cache_misses\":14054,\"path_component_count\":37680,\"path_resolution_count\":8152,\"readdir_count\":1,\"readdir_plus_count\":710,\"wal_checkpoint_count\":13,\"wal_checkpoint_nanos\":2249063},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"run_parent\"}\n",
+ "stdout_bytes": 18746,
+ "stdout_tail": "2026-07-03T11:39:15.539803Z INFO agentfs::fuser::session: resolved FUSE dispatch mode: parallel workers=7 queue_capacity=28\n2026-07-03T11:39:15.540002Z INFO agentfs::fuse: advertising FUSE_OVER_IO_URING\n2026-07-03T11:39:15.540037Z INFO agentfs::fuser::uring: starting fuse-over-io_uring queues nr_queues=14 depth=4\n2026-07-03T11:39:16.883531Z WARN agentfs::fuser::request: Request RequestId(28571): Failed to send reply: No such file or directory (os error 2)\n2026-07-03T11:39:17.883528Z WARN agentfs::fuser::request: Request RequestId(51593): Failed to send reply: No such file or directory (os error 2)\n{\"branch_status\": \"## agentfs-benchmark\\n\", \"diff\": {\"changed_file_count\": 8, \"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.07983500800037291, \"patch_bytes\": 3282, \"patch_sha256\": \"51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc\", \"runs\": {\"name_only\": {\"argv\": [\"git\", \"diff\", \"--name-only\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-j7ifkggm/agentfs-base/work\", \"duration_seconds\": 0.02311817200097721, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 144, \"stdout_tail\": \"docs/CLA.md\\ndocs/agents_md.md\\ndocs/authentication.md\\ndocs/config.md\\ndocs/contributing.md\\ndocs/example-config.md\\ndocs/exec.md\\ndocs/execpolicy.md\\n\"}, \"patch\": {\"argv\": [\"git\", \"diff\", \"--\", \".\"], \"cwd\": \"/tmp/agentfs-git-workload-j7ifkggm/agentfs-base/work\", \"duration_seconds\": 0.03407841798616573, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 3282, \"stdout_tail\": \"diff --git a/docs/CLA.md b/docs/CLA.md\\nindex 804f202..3495ac9 100644\\n--- a/docs/CLA.md\\n+++ b/docs/CLA.md\\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\\n This Agreement is governed by the laws of the **State of California**, USA,\\n excluding its conflict\\u2011of\\u2011laws rules. If any provision is held unenforceable,\\n the remaining provisions remain in force.\\n+\\n+AgentFS Git benchmark edit 00 for docs/CLA.md\\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\\nindex 3df0fac..b8b063d 100644\\n--- a/docs/agents_md.md\\n+++ b/docs/agents_md.md\\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\\n ## Hierarchical agents message\\n \\n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\\n+\\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\\ndiff --git a/docs/authentication.md b/docs/authentication.md\\nindex c307349..b3bc9dc 100644\\n--- a/docs/authentication.md\\n+++ b/docs/authentication.md\\n@@ -1,3 +1,5 @@\\n # Authentication\\n \\n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\\n+\\n+AgentFS Git benchmark edit 02 for docs/authentication.md\\ndiff --git a/docs/config.md b/docs/config.md\\nindex d35b0a8..030e278 100644\\n--- a/docs/config.md\\n+++ b/docs/config.md\\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\\n still allowing managed hooks from requirements and managed config layers. This\\n setting is only supported in `requirements.toml`; putting it in `config.toml`\\n does not enable managed-hooks-only mode.\\n+\\n+AgentFS Git benchmark edit 03 for docs/config.md\\ndiff --git a/docs/contributing.md b/docs/contributing.md\\nindex aeae1f1..b5a22ac 100644\\n--- a/docs/contributing.md\\n+++ b/docs/contributing.md\\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\\n ### Security & responsible AI\\n \\n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\\n+\\n+AgentFS Git benchmark edit 04 for docs/contributing.md\\ndiff --git a/docs/example-config.md b/docs/example-config.md\\nindex 84b1143..b09f835 100644\\n--- a/docs/example-config.md\\n+++ b/docs/example-config.md\\n@@ -1,3 +1,5 @@\\n # Sample configuration\\n \\n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\\n+\\n+AgentFS Git benchmark edit 05 for docs/example-config.md\\ndiff --git a/docs/exec.md b/docs/exec.md\\nindex 57e4323..a81da98 100644\\n--- a/docs/exec.md\\n+++ b/docs/exec.md\\n@@ -1,3 +1,5 @@\\n # Non-interactive mode\\n \\n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\\n+\\n+AgentFS Git benchmark edit 06 for docs/exec.md\\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\\nindex cafebb3..3b48afe 100644\\n--- a/docs/execpolicy.md\\n+++ b/docs/execpolicy.md\\n@@ -1,3 +1,5 @@\\n # Execution policy\\n \\n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\\n+\\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\\n\"}, \"stat\": {\"argv\": [\"git\", \"diff\", \"--stat\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-j7ifkggm/agentfs-base/work\", \"duration_seconds\": 0.022595963993808255, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 283, \"stdout_tail\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}}, \"stat_stdout\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}, \"edits\": {\"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.008319867003592663, \"edits\": [{\"appended_bytes\": 47, \"path\": \"docs/CLA.md\", \"size_after\": 2106, \"size_before\": 2059}, {\"appended_bytes\": 53, \"path\": \"docs/agents_md.md\", \"size_after\": 462, \"size_before\": 409}, {\"appended_bytes\": 58, \"path\": \"docs/authentication.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 50, \"path\": \"docs/config.md\", \"size_after\": 776, \"size_before\": 726}, {\"appended_bytes\": 56, \"path\": \"docs/contributing.md\", \"size_after\": 6380, \"size_before\": 6324}, {\"appended_bytes\": 58, \"path\": \"docs/example-config.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 48, \"path\": \"docs/exec.md\", \"size_after\": 194, \"size_before\": 146}, {\"appended_bytes\": 54, \"path\": \"docs/execpolicy.md\", \"size_after\": 192, \"size_before\": 138}]}, \"fsck\": {\"ok\": true, \"ran\": true, \"run\": {\"argv\": [\"git\", \"fsck\", \"--strict\"], \"cwd\": \"/tmp/agentfs-git-workload-j7ifkggm/agentfs-base/work\", \"duration_seconds\": 0.16707537201000378, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}, \"head_commit\": \"7d47056ea42636271ac020b86347fbbef49490aa\", \"initial_status\": \"\", \"phase_runs\": {\"checkout\": {\"argv\": [\"git\", \"checkout\", \"-B\", \"agentfs-benchmark\"], \"cwd\": \"/tmp/agentfs-git-workload-j7ifkggm/agentfs-base/work\", \"duration_seconds\": 0.04896818099950906, \"returncode\": 0, \"stderr_bytes\": 45, \"stderr_tail\": \"Switched to a new branch 'agentfs-benchmark'\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"clone\": {\"argv\": [\"git\", \"clone\", \"--local\", \"--no-hardlinks\", \"/tmp/agentfs-git-workload-j7ifkggm/agentfs-base/mirror.git\", \"/tmp/agentfs-git-workload-j7ifkggm/agentfs-base/work\"], \"cwd\": \"/tmp/agentfs-git-workload-j7ifkggm/agentfs-base\", \"duration_seconds\": 2.7956893559894525, \"returncode\": 0, \"stderr_bytes\": 2175, \"stderr_tail\": \"Cloning into '/tmp/agentfs-git-workload-j7ifkggm/agentfs-base/work'...\\nwarning: source repository is shallow, ignoring --local\\nwarning: --local is ignored\\nUpdating files: 42% (1969/4644)\\nUpdating files: 43% (1997/4644)\\nUpdating files: 44% (2044/4644)\\nUpdating files: 45% (2090/4644)\\nUpdating files: 46% (2137/4644)\\nUpdating files: 47% (2183/4644)\\nUpdating files: 48% (2230/4644)\\nUpdating files: 49% (2276/4644)\\nUpdating files: 50% (2322/4644)\\nUpdating files: 51% (2369/4644)\\nUpdating files: 52% (2415/4644)\\nUpdating files: 53% (2462/4644)\\nUpdating files: 54% (2508/4644)\\nUpdating files: 55% (2555/4644)\\nUpdating files: 56% (2601/4644)\\nUpdating files: 57% (2648/4644)\\nUpdating files: 58% (2694/4644)\\nUpdating files: 59% (2740/4644)\\nUpdating files: 60% (2787/4644)\\nUpdating files: 61% (2833/4644)\\nUpdating files: 62% (2880/4644)\\nUpdating files: 63% (2926/4644)\\nUpdating files: 64% (2973/4644)\\nUpdating files: 65% (3019/4644)\\nUpdating files: 66% (3066/4644)\\nUpdating files: 67% (3112/4644)\\nUpdating files: 68% (3158/4644)\\nUpdating files: 69% (3205/4644)\\nUpdating files: 70% (3251/4644)\\nUpdating files: 71% (3298/4644)\\nUpdating files: 72% (3344/4644)\\nUpdating files: 73% (3391/4644)\\nUpdating files: 74% (3437/4644)\\nUpdating files: 75% (3483/4644)\\nUpdating files: 76% (3530/4644)\\nUpdating files: 77% (3576/4644)\\nUpdating files: 78% (3623/4644)\\nUpdating files: 79% (3669/4644)\\nUpdating files: 79% (3715/4644)\\nUpdating files: 80% (3716/4644)\\nUpdating files: 81% (3762/4644)\\nUpdating files: 82% (3809/4644)\\nUpdating files: 83% (3855/4644)\\nUpdating files: 84% (3901/4644)\\nUpdating files: 85% (3948/4644)\\nUpdating files: 86% (3994/4644)\\nUpdating files: 87% (4041/4644)\\nUpdating files: 88% (4087/4644)\\nUpdating files: 89% (4134/4644)\\nUpdating files: 90% (4180/4644)\\nUpdating files: 91% (4227/4644)\\nUpdating files: 92% (4273/4644)\\nUpdating files: 93% (4319/4644)\\nUpdating files: 94% (4366/4644)\\nUpdating files: 95% (4412/4644)\\nUpdating files: 96% (4459/4644)\\nUpdating files: 97% (4505/4644)\\nUpdating files: 98% (4552/4644)\\nUpdating files: 99% (4598/4644)\\nUpdating files: 100% (4644/4644)\\nUpdating files: 100% (4644/4644), done.\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"status\": {\"branch\": {\"argv\": [\"git\", \"status\", \"--short\", \"--branch\"], \"cwd\": \"/tmp/agentfs-git-workload-j7ifkggm/agentfs-base/work\", \"duration_seconds\": 0.05520079100097064, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 21, \"stdout_tail\": \"## agentfs-benchmark\\n\"}, \"short\": {\"argv\": [\"git\", \"status\", \"--short\"], \"cwd\": \"/tmp/agentfs-git-workload-j7ifkggm/agentfs-base/work\", \"duration_seconds\": 0.11257522000232711, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}}, \"phase_seconds\": {\"checkout\": 0.05152055200596806, \"clone\": 2.795723178991466, \"diff\": 0.07983500800037291, \"edit\": 0.008319867003592663, \"fsck\": 0.16708888999710325, \"read_search\": 0.005946407007286325, \"status\": 0.1678003530105343}, \"profile_checkpoints\": [\"clone\", \"checkout\", \"status\", \"read_search\", \"edit\", \"diff\", \"fsck\"], \"read_search\": {\"bytes_read\": 117190, \"digest\": \"6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53\", \"files_scanned\": 64, \"files_total\": 4644, \"ls_files_run\": {\"argv\": [\"git\", \"ls-files\", \"-z\"], \"cwd\": \"/tmp/agentfs-git-workload-j7ifkggm/agentfs-base/work\", \"duration_seconds\": 0.004040564992465079, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 263077, \"stdout_tail\": \"i_codex/api.py\\u0000sdk/python/src/openai_codex/async_client.py\\u0000sdk/python/src/openai_codex/client.py\\u0000sdk/python/src/openai_codex/errors.py\\u0000sdk/python/src/openai_codex/generated/__init__.py\\u0000sdk/python/src/openai_codex/generated/notification_registry.py\\u0000sdk/python/src/openai_codex/generated/v2_all.py\\u0000sdk/python/src/openai_codex/models.py\\u0000sdk/python/src/openai_codex/py.typed\\u0000sdk/python/src/openai_codex/retry.py\\u0000sdk/python/src/openai_codex/types.py\\u0000sdk/python/tests/app_server_harness.py\\u0000sdk/python/tests/app_server_helpers.py\\u0000sdk/python/tests/conftest.py\\u0000sdk/python/tests/test_app_server_approvals.py\\u0000sdk/python/tests/test_app_server_inputs.py\\u0000sdk/python/tests/test_app_server_lifecycle.py\\u0000sdk/python/tests/test_app_server_login.py\\u0000sdk/python/tests/test_app_server_run.py\\u0000sdk/python/tests/test_app_server_streaming.py\\u0000sdk/python/tests/test_app_server_turn_controls.py\\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\\u0000sdk/python/tests/test_async_client_behavior.py\\u0000sdk/python/tests/test_client_rpc_methods.py\\u0000sdk/python/tests/test_contract_generation.py\\u0000sdk/python/tests/test_public_api_runtime_behavior.py\\u0000sdk/python/tests/test_public_api_signatures.py\\u0000sdk/python/tests/test_real_app_server_integration.py\\u0000sdk/python/uv.lock\\u0000sdk/typescript/.prettierignore\\u0000sdk/typescript/.prettierrc\\u0000sdk/typescript/README.md\\u0000sdk/typescript/eslint.config.js\\u0000sdk/typescript/jest.config.cjs\\u0000sdk/typescript/package.json\\u0000sdk/typescript/samples/basic_streaming.ts\\u0000sdk/typescript/samples/helpers.ts\\u0000sdk/typescript/samples/structured_output.ts\\u0000sdk/typescript/samples/structured_output_zod.ts\\u0000sdk/typescript/src/codex.ts\\u0000sdk/typescript/src/codexOptions.ts\\u0000sdk/typescript/src/events.ts\\u0000sdk/typescript/src/exec.ts\\u0000sdk/typescript/src/index.ts\\u0000sdk/typescript/src/items.ts\\u0000sdk/typescript/src/outputSchemaFile.ts\\u0000sdk/typescript/src/thread.ts\\u0000sdk/typescript/src/threadOptions.ts\\u0000sdk/typescript/src/turnOptions.ts\\u0000sdk/typescript/tests/abort.test.ts\\u0000sdk/typescript/tests/codexExecSpy.ts\\u0000sdk/typescript/tests/exec.test.ts\\u0000sdk/typescript/tests/responsesProxy.ts\\u0000sdk/typescript/tests/run.test.ts\\u0000sdk/typescript/tests/runStreamed.test.ts\\u0000sdk/typescript/tests/setupCodexHome.ts\\u0000sdk/typescript/tests/testCodex.ts\\u0000sdk/typescript/tsconfig.json\\u0000sdk/typescript/tsup.config.ts\\u0000third_party/v8/BUILD.bazel\\u0000third_party/v8/README.md\\u0000third_party/v8/libcxx.BUILD.bazel\\u0000third_party/v8/libcxx_config/BUILD.bazel\\u0000third_party/v8/libcxx_config/__assertion_handler\\u0000third_party/v8/libcxx_config/__config_site\\u0000third_party/v8/libcxxabi.BUILD.bazel\\u0000third_party/v8/llvm_libc.BUILD.bazel\\u0000third_party/v8/rusty_v8_147_4_0.sha256\\u0000third_party/v8/v8_crate.BUILD.bazel\\u0000third_party/wezterm/LICENSE\\u0000tools/argument-comment-lint/.cargo/config.toml\\u0000tools/argument-comment-lint/.gitignore\\u0000tools/argument-comment-lint/BUILD.bazel\\u0000tools/argument-comment-lint/Cargo.lock\\u0000tools/argument-comment-lint/Cargo.toml\\u0000tools/argument-comment-lint/README.md\\u0000tools/argument-comment-lint/argument-comment-lint\\u0000tools/argument-comment-lint/driver.rs\\u0000tools/argument-comment-lint/lint_aspect.bzl\\u0000tools/argument-comment-lint/list-bazel-targets.sh\\u0000tools/argument-comment-lint/run-prebuilt-linter.py\\u0000tools/argument-comment-lint/run.py\\u0000tools/argument-comment-lint/rust-toolchain\\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\\u0000tools/argument-comment-lint/src/comment_parser.rs\\u0000tools/argument-comment-lint/src/lib.rs\\u0000tools/argument-comment-lint/test_wrapper_common.py\\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\\u0000tools/argument-comment-lint/ui/comment_matches.rs\\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\\u0000tools/argument-comment-lint/wrapper_common.py\\u0000workspace_root_test_launcher.bat.tpl\\u0000workspace_root_test_launcher.sh.tpl\\u0000\"}, \"matches\": 0, \"selected_files\": [\".bazelignore\", \".bazelrc\", \".bazelversion\", \".codespellignore\", \".codespellrc\", \".codex/environments/environment.toml\", \".codex/skills/babysit-pr/SKILL.md\", \".codex/skills/babysit-pr/agents/openai.yaml\", \".codex/skills/babysit-pr/references/github-api-notes.md\", \".codex/skills/babysit-pr/references/heuristics.md\", \".codex/skills/babysit-pr/scripts/gh_pr_watch.py\", \".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py\", \".codex/skills/code-review-breaking-changes/SKILL.md\", \".codex/skills/code-review-change-size/SKILL.md\", \".codex/skills/code-review-context/SKILL.md\", \".codex/skills/code-review-testing/SKILL.md\", \".codex/skills/code-review/SKILL.md\", \".codex/skills/codex-bug/SKILL.md\", \".codex/skills/codex-issue-digest/SKILL.md\", \".codex/skills/codex-issue-digest/agents/openai.yaml\", \".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py\", \".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py\", \".codex/skills/codex-pr-body/SKILL.md\", \".codex/skills/remote-tests/SKILL.md\", \".codex/skills/test-tui/SKILL.md\", \".codex/skills/update-v8-version/SKILL.md\", \".codex/skills/update-v8-version/agents/openai.yaml\", \".devcontainer/Dockerfile\", \".devcontainer/Dockerfile.secure\", \".devcontainer/README.md\", \".devcontainer/codex-install/package.json\", \".devcontainer/codex-install/pnpm-lock.yaml\", \".devcontainer/codex-install/pnpm-workspace.yaml\", \".devcontainer/devcontainer.json\", \".devcontainer/devcontainer.secure.json\", \".devcontainer/init-firewall.sh\", \".devcontainer/post-start.sh\", \".devcontainer/post_install.py\", \".gitattributes\", \".github/CODEOWNERS\", \".github/ISSUE_TEMPLATE/1-codex-app.yml\", \".github/ISSUE_TEMPLATE/2-extension.yml\", \".github/ISSUE_TEMPLATE/3-cli.yml\", \".github/ISSUE_TEMPLATE/4-bug-report.yml\", \".github/ISSUE_TEMPLATE/5-feature-request.yml\", \".github/ISSUE_TEMPLATE/6-docs-issue.yml\", \".github/actions/linux-code-sign/action.yml\", \".github/actions/macos-code-sign/action.yml\", \".github/actions/macos-code-sign/codex.entitlements.plist\", \".github/actions/macos-code-sign/notary_helpers.sh\", \".github/actions/prepare-bazel-ci/action.yml\", \".github/actions/run-argument-comment-lint/action.yml\", \".github/actions/setup-bazel-ci/action.yml\", \".github/actions/setup-msvc-env/action.yml\", \".github/actions/setup-msvc-env/setup-msvc-env.ps1\", \".github/actions/setup-rusty-v8/action.yml\", \".github/actions/windows-code-sign/action.yml\", \".github/blob-size-allowlist.txt\", \".github/codex-cli-splash.png\", \".github/codex/home/config.toml\", \".github/codex/labels/codex-attempt.md\", \".github/codex/labels/codex-review.md\", \".github/codex/labels/codex-rust-review.md\", \".github/codex/labels/codex-triage.md\"], \"token\": \"AGENTFS_TOKEN\"}, \"total_seconds\": 3.9769298949977383}\n",
+ "timed_out": false
+ },
+ "workload": {
+ "branch_status": "## agentfs-benchmark\n",
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.07983500800037291,
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc",
+ "runs": {
+ "name_only": {
+ "argv": [
+ "git",
+ "diff",
+ "--name-only",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-j7ifkggm/agentfs-base/work",
+ "duration_seconds": 0.02311817200097721,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 144,
+ "stdout_tail": "docs/CLA.md\ndocs/agents_md.md\ndocs/authentication.md\ndocs/config.md\ndocs/contributing.md\ndocs/example-config.md\ndocs/exec.md\ndocs/execpolicy.md\n"
+ },
+ "patch": {
+ "argv": [
+ "git",
+ "diff",
+ "--",
+ "."
+ ],
+ "cwd": "/tmp/agentfs-git-workload-j7ifkggm/agentfs-base/work",
+ "duration_seconds": 0.03407841798616573,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 3282,
+ "stdout_tail": "diff --git a/docs/CLA.md b/docs/CLA.md\nindex 804f202..3495ac9 100644\n--- a/docs/CLA.md\n+++ b/docs/CLA.md\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\n This Agreement is governed by the laws of the **State of California**, USA,\n excluding its conflict\u2011of\u2011laws rules. If any provision is held unenforceable,\n the remaining provisions remain in force.\n+\n+AgentFS Git benchmark edit 00 for docs/CLA.md\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\nindex 3df0fac..b8b063d 100644\n--- a/docs/agents_md.md\n+++ b/docs/agents_md.md\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\n ## Hierarchical agents message\n \n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\n+\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\ndiff --git a/docs/authentication.md b/docs/authentication.md\nindex c307349..b3bc9dc 100644\n--- a/docs/authentication.md\n+++ b/docs/authentication.md\n@@ -1,3 +1,5 @@\n # Authentication\n \n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\n+\n+AgentFS Git benchmark edit 02 for docs/authentication.md\ndiff --git a/docs/config.md b/docs/config.md\nindex d35b0a8..030e278 100644\n--- a/docs/config.md\n+++ b/docs/config.md\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\n still allowing managed hooks from requirements and managed config layers. This\n setting is only supported in `requirements.toml`; putting it in `config.toml`\n does not enable managed-hooks-only mode.\n+\n+AgentFS Git benchmark edit 03 for docs/config.md\ndiff --git a/docs/contributing.md b/docs/contributing.md\nindex aeae1f1..b5a22ac 100644\n--- a/docs/contributing.md\n+++ b/docs/contributing.md\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\n ### Security & responsible AI\n \n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\n+\n+AgentFS Git benchmark edit 04 for docs/contributing.md\ndiff --git a/docs/example-config.md b/docs/example-config.md\nindex 84b1143..b09f835 100644\n--- a/docs/example-config.md\n+++ b/docs/example-config.md\n@@ -1,3 +1,5 @@\n # Sample configuration\n \n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\n+\n+AgentFS Git benchmark edit 05 for docs/example-config.md\ndiff --git a/docs/exec.md b/docs/exec.md\nindex 57e4323..a81da98 100644\n--- a/docs/exec.md\n+++ b/docs/exec.md\n@@ -1,3 +1,5 @@\n # Non-interactive mode\n \n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\n+\n+AgentFS Git benchmark edit 06 for docs/exec.md\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\nindex cafebb3..3b48afe 100644\n--- a/docs/execpolicy.md\n+++ b/docs/execpolicy.md\n@@ -1,3 +1,5 @@\n # Execution policy\n \n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\n+\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\n"
+ },
+ "stat": {
+ "argv": [
+ "git",
+ "diff",
+ "--stat",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-j7ifkggm/agentfs-base/work",
+ "duration_seconds": 0.022595963993808255,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 283,
+ "stdout_tail": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ }
+ },
+ "stat_stdout": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.008319867003592663,
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true,
+ "run": {
+ "argv": [
+ "git",
+ "fsck",
+ "--strict"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-j7ifkggm/agentfs-base/work",
+ "duration_seconds": 0.16707537201000378,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "phase_runs": {
+ "checkout": {
+ "argv": [
+ "git",
+ "checkout",
+ "-B",
+ "agentfs-benchmark"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-j7ifkggm/agentfs-base/work",
+ "duration_seconds": 0.04896818099950906,
+ "returncode": 0,
+ "stderr_bytes": 45,
+ "stderr_tail": "Switched to a new branch 'agentfs-benchmark'\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "clone": {
+ "argv": [
+ "git",
+ "clone",
+ "--local",
+ "--no-hardlinks",
+ "/tmp/agentfs-git-workload-j7ifkggm/agentfs-base/mirror.git",
+ "/tmp/agentfs-git-workload-j7ifkggm/agentfs-base/work"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-j7ifkggm/agentfs-base",
+ "duration_seconds": 2.7956893559894525,
+ "returncode": 0,
+ "stderr_bytes": 2175,
+ "stderr_tail": "Cloning into '/tmp/agentfs-git-workload-j7ifkggm/agentfs-base/work'...\nwarning: source repository is shallow, ignoring --local\nwarning: --local is ignored\nUpdating files: 42% (1969/4644)\nUpdating files: 43% (1997/4644)\nUpdating files: 44% (2044/4644)\nUpdating files: 45% (2090/4644)\nUpdating files: 46% (2137/4644)\nUpdating files: 47% (2183/4644)\nUpdating files: 48% (2230/4644)\nUpdating files: 49% (2276/4644)\nUpdating files: 50% (2322/4644)\nUpdating files: 51% (2369/4644)\nUpdating files: 52% (2415/4644)\nUpdating files: 53% (2462/4644)\nUpdating files: 54% (2508/4644)\nUpdating files: 55% (2555/4644)\nUpdating files: 56% (2601/4644)\nUpdating files: 57% (2648/4644)\nUpdating files: 58% (2694/4644)\nUpdating files: 59% (2740/4644)\nUpdating files: 60% (2787/4644)\nUpdating files: 61% (2833/4644)\nUpdating files: 62% (2880/4644)\nUpdating files: 63% (2926/4644)\nUpdating files: 64% (2973/4644)\nUpdating files: 65% (3019/4644)\nUpdating files: 66% (3066/4644)\nUpdating files: 67% (3112/4644)\nUpdating files: 68% (3158/4644)\nUpdating files: 69% (3205/4644)\nUpdating files: 70% (3251/4644)\nUpdating files: 71% (3298/4644)\nUpdating files: 72% (3344/4644)\nUpdating files: 73% (3391/4644)\nUpdating files: 74% (3437/4644)\nUpdating files: 75% (3483/4644)\nUpdating files: 76% (3530/4644)\nUpdating files: 77% (3576/4644)\nUpdating files: 78% (3623/4644)\nUpdating files: 79% (3669/4644)\nUpdating files: 79% (3715/4644)\nUpdating files: 80% (3716/4644)\nUpdating files: 81% (3762/4644)\nUpdating files: 82% (3809/4644)\nUpdating files: 83% (3855/4644)\nUpdating files: 84% (3901/4644)\nUpdating files: 85% (3948/4644)\nUpdating files: 86% (3994/4644)\nUpdating files: 87% (4041/4644)\nUpdating files: 88% (4087/4644)\nUpdating files: 89% (4134/4644)\nUpdating files: 90% (4180/4644)\nUpdating files: 91% (4227/4644)\nUpdating files: 92% (4273/4644)\nUpdating files: 93% (4319/4644)\nUpdating files: 94% (4366/4644)\nUpdating files: 95% (4412/4644)\nUpdating files: 96% (4459/4644)\nUpdating files: 97% (4505/4644)\nUpdating files: 98% (4552/4644)\nUpdating files: 99% (4598/4644)\nUpdating files: 100% (4644/4644)\nUpdating files: 100% (4644/4644), done.\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "status": {
+ "branch": {
+ "argv": [
+ "git",
+ "status",
+ "--short",
+ "--branch"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-j7ifkggm/agentfs-base/work",
+ "duration_seconds": 0.05520079100097064,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 21,
+ "stdout_tail": "## agentfs-benchmark\n"
+ },
+ "short": {
+ "argv": [
+ "git",
+ "status",
+ "--short"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-j7ifkggm/agentfs-base/work",
+ "duration_seconds": 0.11257522000232711,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ }
+ },
+ "phase_seconds": {
+ "checkout": 0.05152055200596806,
+ "clone": 2.795723178991466,
+ "diff": 0.07983500800037291,
+ "edit": 0.008319867003592663,
+ "fsck": 0.16708888999710325,
+ "read_search": 0.005946407007286325,
+ "status": 0.1678003530105343
+ },
+ "profile_checkpoints": [
+ "clone",
+ "checkout",
+ "status",
+ "read_search",
+ "edit",
+ "diff",
+ "fsck"
+ ],
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "ls_files_run": {
+ "argv": [
+ "git",
+ "ls-files",
+ "-z"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-j7ifkggm/agentfs-base/work",
+ "duration_seconds": 0.004040564992465079,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 263077,
+ "stdout_tail": "i_codex/api.py\u0000sdk/python/src/openai_codex/async_client.py\u0000sdk/python/src/openai_codex/client.py\u0000sdk/python/src/openai_codex/errors.py\u0000sdk/python/src/openai_codex/generated/__init__.py\u0000sdk/python/src/openai_codex/generated/notification_registry.py\u0000sdk/python/src/openai_codex/generated/v2_all.py\u0000sdk/python/src/openai_codex/models.py\u0000sdk/python/src/openai_codex/py.typed\u0000sdk/python/src/openai_codex/retry.py\u0000sdk/python/src/openai_codex/types.py\u0000sdk/python/tests/app_server_harness.py\u0000sdk/python/tests/app_server_helpers.py\u0000sdk/python/tests/conftest.py\u0000sdk/python/tests/test_app_server_approvals.py\u0000sdk/python/tests/test_app_server_inputs.py\u0000sdk/python/tests/test_app_server_lifecycle.py\u0000sdk/python/tests/test_app_server_login.py\u0000sdk/python/tests/test_app_server_run.py\u0000sdk/python/tests/test_app_server_streaming.py\u0000sdk/python/tests/test_app_server_turn_controls.py\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\u0000sdk/python/tests/test_async_client_behavior.py\u0000sdk/python/tests/test_client_rpc_methods.py\u0000sdk/python/tests/test_contract_generation.py\u0000sdk/python/tests/test_public_api_runtime_behavior.py\u0000sdk/python/tests/test_public_api_signatures.py\u0000sdk/python/tests/test_real_app_server_integration.py\u0000sdk/python/uv.lock\u0000sdk/typescript/.prettierignore\u0000sdk/typescript/.prettierrc\u0000sdk/typescript/README.md\u0000sdk/typescript/eslint.config.js\u0000sdk/typescript/jest.config.cjs\u0000sdk/typescript/package.json\u0000sdk/typescript/samples/basic_streaming.ts\u0000sdk/typescript/samples/helpers.ts\u0000sdk/typescript/samples/structured_output.ts\u0000sdk/typescript/samples/structured_output_zod.ts\u0000sdk/typescript/src/codex.ts\u0000sdk/typescript/src/codexOptions.ts\u0000sdk/typescript/src/events.ts\u0000sdk/typescript/src/exec.ts\u0000sdk/typescript/src/index.ts\u0000sdk/typescript/src/items.ts\u0000sdk/typescript/src/outputSchemaFile.ts\u0000sdk/typescript/src/thread.ts\u0000sdk/typescript/src/threadOptions.ts\u0000sdk/typescript/src/turnOptions.ts\u0000sdk/typescript/tests/abort.test.ts\u0000sdk/typescript/tests/codexExecSpy.ts\u0000sdk/typescript/tests/exec.test.ts\u0000sdk/typescript/tests/responsesProxy.ts\u0000sdk/typescript/tests/run.test.ts\u0000sdk/typescript/tests/runStreamed.test.ts\u0000sdk/typescript/tests/setupCodexHome.ts\u0000sdk/typescript/tests/testCodex.ts\u0000sdk/typescript/tsconfig.json\u0000sdk/typescript/tsup.config.ts\u0000third_party/v8/BUILD.bazel\u0000third_party/v8/README.md\u0000third_party/v8/libcxx.BUILD.bazel\u0000third_party/v8/libcxx_config/BUILD.bazel\u0000third_party/v8/libcxx_config/__assertion_handler\u0000third_party/v8/libcxx_config/__config_site\u0000third_party/v8/libcxxabi.BUILD.bazel\u0000third_party/v8/llvm_libc.BUILD.bazel\u0000third_party/v8/rusty_v8_147_4_0.sha256\u0000third_party/v8/v8_crate.BUILD.bazel\u0000third_party/wezterm/LICENSE\u0000tools/argument-comment-lint/.cargo/config.toml\u0000tools/argument-comment-lint/.gitignore\u0000tools/argument-comment-lint/BUILD.bazel\u0000tools/argument-comment-lint/Cargo.lock\u0000tools/argument-comment-lint/Cargo.toml\u0000tools/argument-comment-lint/README.md\u0000tools/argument-comment-lint/argument-comment-lint\u0000tools/argument-comment-lint/driver.rs\u0000tools/argument-comment-lint/lint_aspect.bzl\u0000tools/argument-comment-lint/list-bazel-targets.sh\u0000tools/argument-comment-lint/run-prebuilt-linter.py\u0000tools/argument-comment-lint/run.py\u0000tools/argument-comment-lint/rust-toolchain\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\u0000tools/argument-comment-lint/src/comment_parser.rs\u0000tools/argument-comment-lint/src/lib.rs\u0000tools/argument-comment-lint/test_wrapper_common.py\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\u0000tools/argument-comment-lint/ui/comment_matches.rs\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\u0000tools/argument-comment-lint/wrapper_common.py\u0000workspace_root_test_launcher.bat.tpl\u0000workspace_root_test_launcher.sh.tpl\u0000"
+ },
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ],
+ "token": "AGENTFS_TOKEN"
+ },
+ "total_seconds": 3.9769298949977383
+ }
+ },
+ "base_tree": {
+ "after": {
+ "bytes": 9207621,
+ "directories": 10,
+ "files": 23,
+ "sha256": "4d03469ad16c4d46174f06f298f214b902f622319125cd3270835dd500de4ddf",
+ "symlinks": 0
+ },
+ "before": {
+ "bytes": 9207621,
+ "directories": 10,
+ "files": 23,
+ "sha256": "4d03469ad16c4d46174f06f298f214b902f622319125cd3270835dd500de4ddf",
+ "symlinks": 0
+ },
+ "unchanged": true
+ },
+ "benchmark": "phase7-git-workload",
+ "command": {
+ "agentfs_prefix": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "run",
+ "--session",
+ "git-workload-2bd2eb5e81e742bda053e0f8c0e6ad33",
+ "--no-default-allows",
+ "--"
+ ],
+ "argv": [
+ "/home/ain3sh/factory/vfs/scripts/validation/git-workload-benchmark.py",
+ "--output",
+ "/home/ain3sh/factory/vfs/.agents/benchmarks/restructure-baseline/medians.json.iterations/iter-02.json",
+ "--source",
+ ".agents/benchmarks/fixtures/codex",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8"
+ ],
+ "workload_argv": [
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ]
+ },
+ "correctness": {
+ "agentfs_backup_verify": true,
+ "agentfs_base_unchanged": true,
+ "agentfs_db_inspectable": true,
+ "agentfs_integrity_require_portable": true,
+ "agentfs_no_nonempty_sidecars": true,
+ "agentfs_portable": true,
+ "agentfs_returncode_zero": true,
+ "equivalence": {
+ "agentfs": {
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ]
+ }
+ },
+ "checked": true,
+ "equivalent": true,
+ "native": {
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ]
+ }
+ }
+ },
+ "native_returncode_zero": true,
+ "passed": true,
+ "performance_passed": false
+ },
+ "database": {
+ "after": {
+ "artifacts": [
+ {
+ "bytes": 57147392,
+ "path": "/tmp/agentfs-git-workload-j7ifkggm/home/.agentfs/run/git-workload-2bd2eb5e81e742bda053e0f8c0e6ad33/delta.db"
+ }
+ ],
+ "path": "/tmp/agentfs-git-workload-j7ifkggm/home/.agentfs/run/git-workload-2bd2eb5e81e742bda053e0f8c0e6ad33/delta.db",
+ "total_bytes": 57147392
+ },
+ "backup": {
+ "artifacts": {
+ "artifacts": [
+ {
+ "bytes": 57147392,
+ "path": "/tmp/agentfs-git-workload-j7ifkggm/git-workload-backup.db"
+ }
+ ],
+ "path": "/tmp/agentfs-git-workload-j7ifkggm/git-workload-backup.db",
+ "total_bytes": 57147392
+ },
+ "inspect": {
+ "fs_chunk_override_rows": 0,
+ "fs_config": {
+ "chunk_size": "65536",
+ "inline_threshold": "16384",
+ "schema_version": "0.5"
+ },
+ "fs_data_bytes": 41204221,
+ "fs_data_rows": 960,
+ "fs_inline_bytes": 11434794,
+ "fs_inode_rows": 5385,
+ "fs_origin_rows": 0,
+ "fs_partial_origin_rows": 0,
+ "fs_whiteout_rows": 0,
+ "inline_inode_rows": 4060,
+ "inspectable": true,
+ "portability_status": {
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true,
+ "stored_bytes": 52639015
+ }
+ },
+ "path": "/tmp/agentfs-git-workload-j7ifkggm/git-workload-backup.db",
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "backup",
+ "/tmp/agentfs-git-workload-j7ifkggm/home/.agentfs/run/git-workload-2bd2eb5e81e742bda053e0f8c0e6ad33/delta.db",
+ "/tmp/agentfs-git-workload-j7ifkggm/git-workload-backup.db",
+ "--verify"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-j7ifkggm",
+ "duration_seconds": 2.6917907019960694,
+ "profile_summaries": [],
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 241,
+ "stdout_tail": "Source: /tmp/agentfs-git-workload-j7ifkggm/home/.agentfs/run/git-workload-2bd2eb5e81e742bda053e0f8c0e6ad33/delta.db\nBackup: /tmp/agentfs-git-workload-j7ifkggm/git-workload-backup.db\nCheckpoint: complete\nCopy: complete\nVerification: complete\n",
+ "timed_out": false
+ }
+ },
+ "inspect_after": {
+ "fs_chunk_override_rows": 0,
+ "fs_config": {
+ "chunk_size": "65536",
+ "inline_threshold": "16384",
+ "schema_version": "0.5"
+ },
+ "fs_data_bytes": 41204221,
+ "fs_data_rows": 960,
+ "fs_inline_bytes": 11434794,
+ "fs_inode_rows": 5385,
+ "fs_origin_rows": 0,
+ "fs_partial_origin_rows": 0,
+ "fs_whiteout_rows": 0,
+ "inline_inode_rows": 4060,
+ "inspectable": true,
+ "portability_status": {
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true,
+ "stored_bytes": 52639015
+ }
+ },
+ "integrity": {
+ "result": {
+ "checks": [
+ {
+ "detail": "ok",
+ "name": "pragma.integrity_check",
+ "ok": true,
+ "violating_rows": null
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_config",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_inode",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_dentry",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_symlink",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.kv_store",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.tool_calls",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 0.5",
+ "name": "config.schema_version",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 65536",
+ "name": "config.chunk_size",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 16384",
+ "name": "config.inline_threshold",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.kind_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_has_no_chunks",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunked_has_no_inline_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_size_matches_blob",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_only_regular_files",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.non_regular_has_no_inline_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_reference_inodes",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_nonnegative_index",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunk_length_within_chunk_size",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_only_regular_files",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 1, expected 1",
+ "name": "namespace.root_inode",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_parent_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_parent_is_directory",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_target_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.non_root_inode_has_dentry",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_names_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.non_directory_nlink_matches_dentries",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.directory_nlink_positive",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "symlink.rows_reference_symlink_inodes",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "symlink.inodes_have_rows",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "portable: no partial-origin rows",
+ "name": "overlay.portability_status",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "portable requirement satisfied",
+ "name": "overlay.require_portable",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.origin_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_delta_inode_regular",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_sizes_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_paths_absolute",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_nonnegative_index",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_references_partial_origin",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_unique",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_index_in_range",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.whiteout_paths_absolute",
+ "ok": true,
+ "violating_rows": 0
+ }
+ ],
+ "database": "/tmp/agentfs-git-workload-j7ifkggm/home/.agentfs/run/git-workload-2bd2eb5e81e742bda053e0f8c0e6ad33/delta.db",
+ "ok": true,
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true
+ },
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "integrity",
+ "/tmp/agentfs-git-workload-j7ifkggm/home/.agentfs/run/git-workload-2bd2eb5e81e742bda053e0f8c0e6ad33/delta.db",
+ "--json",
+ "--require-portable"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-j7ifkggm",
+ "duration_seconds": 2.6074196609988576,
+ "profile_summaries": [],
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 6395,
+ "stdout_tail": "{\n \"database\": \"/tmp/agentfs-git-workload-j7ifkggm/home/.agentfs/run/git-workload-2bd2eb5e81e742bda053e0f8c0e6ad33/delta.db\",\n \"ok\": true,\n \"portable\": true,\n \"origin_backed\": false,\n \"partial_origin_rows\": 0,\n \"checks\": [\n {\n \"name\": \"pragma.integrity_check\",\n \"ok\": true,\n \"detail\": \"ok\",\n \"violating_rows\": null\n },\n {\n \"name\": \"schema.table.fs_config\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_inode\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_dentry\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_data\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_symlink\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.kv_store\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.tool_calls\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.schema_version\",\n \"ok\": true,\n \"detail\": \"found 0.5\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.chunk_size\",\n \"ok\": true,\n \"detail\": \"found 65536\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.inline_threshold\",\n \"ok\": true,\n \"detail\": \"found 16384\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.kind_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_has_no_chunks\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunked_has_no_inline_data\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_size_matches_blob\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_only_regular_files\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.non_regular_has_no_inline_data\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_reference_inodes\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_nonnegative_index\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunk_length_within_chunk_size\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_only_regular_files\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.root_inode\",\n \"ok\": true,\n \"detail\": \"found 1, expected 1\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_parent_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_parent_is_directory\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_target_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.non_root_inode_has_dentry\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_names_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.non_directory_nlink_matches_dentries\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.directory_nlink_positive\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"symlink.rows_reference_symlink_inodes\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"symlink.inodes_have_rows\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.portability_status\",\n \"ok\": true,\n \"detail\": \"portable: no partial-origin rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.require_portable\",\n \"ok\": true,\n \"detail\": \"portable requirement satisfied\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.origin_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_delta_inode_regular\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_sizes_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_paths_absolute\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_nonnegative_index\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_references_partial_origin\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_unique\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_index_in_range\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.whiteout_paths_absolute\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n }\n ]\n}\n",
+ "timed_out": false
+ }
+ },
+ "nonempty_sidecars": false
+ },
+ "environment": {
+ "AGENTFS_BIN": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "AGENTFS_PROFILE": "1"
+ },
+ "git_commit": "ae1e13fcb1c52d5c57be051610a04aa9a318f2a5",
+ "kept_temp": false,
+ "native": {
+ "run": {
+ "argv": [
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-j7ifkggm/native",
+ "duration_seconds": 1.3324775060027605,
+ "profile_summaries": [],
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 15985,
+ "stdout_tail": "{\"branch_status\": \"## agentfs-benchmark\\n\", \"diff\": {\"changed_file_count\": 8, \"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.2956617010058835, \"patch_bytes\": 3282, \"patch_sha256\": \"51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc\", \"runs\": {\"name_only\": {\"argv\": [\"git\", \"diff\", \"--name-only\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-j7ifkggm/native/work\", \"duration_seconds\": 0.10290846700081602, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 144, \"stdout_tail\": \"docs/CLA.md\\ndocs/agents_md.md\\ndocs/authentication.md\\ndocs/config.md\\ndocs/contributing.md\\ndocs/example-config.md\\ndocs/exec.md\\ndocs/execpolicy.md\\n\"}, \"patch\": {\"argv\": [\"git\", \"diff\", \"--\", \".\"], \"cwd\": \"/tmp/agentfs-git-workload-j7ifkggm/native/work\", \"duration_seconds\": 0.09795400100119878, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 3282, \"stdout_tail\": \"diff --git a/docs/CLA.md b/docs/CLA.md\\nindex 804f202..3495ac9 100644\\n--- a/docs/CLA.md\\n+++ b/docs/CLA.md\\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\\n This Agreement is governed by the laws of the **State of California**, USA,\\n excluding its conflict\\u2011of\\u2011laws rules. If any provision is held unenforceable,\\n the remaining provisions remain in force.\\n+\\n+AgentFS Git benchmark edit 00 for docs/CLA.md\\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\\nindex 3df0fac..b8b063d 100644\\n--- a/docs/agents_md.md\\n+++ b/docs/agents_md.md\\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\\n ## Hierarchical agents message\\n \\n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\\n+\\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\\ndiff --git a/docs/authentication.md b/docs/authentication.md\\nindex c307349..b3bc9dc 100644\\n--- a/docs/authentication.md\\n+++ b/docs/authentication.md\\n@@ -1,3 +1,5 @@\\n # Authentication\\n \\n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\\n+\\n+AgentFS Git benchmark edit 02 for docs/authentication.md\\ndiff --git a/docs/config.md b/docs/config.md\\nindex d35b0a8..030e278 100644\\n--- a/docs/config.md\\n+++ b/docs/config.md\\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\\n still allowing managed hooks from requirements and managed config layers. This\\n setting is only supported in `requirements.toml`; putting it in `config.toml`\\n does not enable managed-hooks-only mode.\\n+\\n+AgentFS Git benchmark edit 03 for docs/config.md\\ndiff --git a/docs/contributing.md b/docs/contributing.md\\nindex aeae1f1..b5a22ac 100644\\n--- a/docs/contributing.md\\n+++ b/docs/contributing.md\\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\\n ### Security & responsible AI\\n \\n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\\n+\\n+AgentFS Git benchmark edit 04 for docs/contributing.md\\ndiff --git a/docs/example-config.md b/docs/example-config.md\\nindex 84b1143..b09f835 100644\\n--- a/docs/example-config.md\\n+++ b/docs/example-config.md\\n@@ -1,3 +1,5 @@\\n # Sample configuration\\n \\n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\\n+\\n+AgentFS Git benchmark edit 05 for docs/example-config.md\\ndiff --git a/docs/exec.md b/docs/exec.md\\nindex 57e4323..a81da98 100644\\n--- a/docs/exec.md\\n+++ b/docs/exec.md\\n@@ -1,3 +1,5 @@\\n # Non-interactive mode\\n \\n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\\n+\\n+AgentFS Git benchmark edit 06 for docs/exec.md\\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\\nindex cafebb3..3b48afe 100644\\n--- a/docs/execpolicy.md\\n+++ b/docs/execpolicy.md\\n@@ -1,3 +1,5 @@\\n # Execution policy\\n \\n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\\n+\\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\\n\"}, \"stat\": {\"argv\": [\"git\", \"diff\", \"--stat\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-j7ifkggm/native/work\", \"duration_seconds\": 0.09476038000138942, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 283, \"stdout_tail\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}}, \"stat_stdout\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}, \"edits\": {\"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.0005059730028733611, \"edits\": [{\"appended_bytes\": 47, \"path\": \"docs/CLA.md\", \"size_after\": 2106, \"size_before\": 2059}, {\"appended_bytes\": 53, \"path\": \"docs/agents_md.md\", \"size_after\": 462, \"size_before\": 409}, {\"appended_bytes\": 58, \"path\": \"docs/authentication.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 50, \"path\": \"docs/config.md\", \"size_after\": 776, \"size_before\": 726}, {\"appended_bytes\": 56, \"path\": \"docs/contributing.md\", \"size_after\": 6380, \"size_before\": 6324}, {\"appended_bytes\": 58, \"path\": \"docs/example-config.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 48, \"path\": \"docs/exec.md\", \"size_after\": 194, \"size_before\": 146}, {\"appended_bytes\": 54, \"path\": \"docs/execpolicy.md\", \"size_after\": 192, \"size_before\": 138}]}, \"fsck\": {\"ok\": true, \"ran\": true, \"run\": {\"argv\": [\"git\", \"fsck\", \"--strict\"], \"cwd\": \"/tmp/agentfs-git-workload-j7ifkggm/native/work\", \"duration_seconds\": 0.23166249600762967, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}, \"head_commit\": \"7d47056ea42636271ac020b86347fbbef49490aa\", \"initial_status\": \"\", \"phase_runs\": {\"checkout\": {\"argv\": [\"git\", \"checkout\", \"-B\", \"agentfs-benchmark\"], \"cwd\": \"/tmp/agentfs-git-workload-j7ifkggm/native/work\", \"duration_seconds\": 0.17857912500039674, \"returncode\": 0, \"stderr_bytes\": 45, \"stderr_tail\": \"Switched to a new branch 'agentfs-benchmark'\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"clone\": {\"argv\": [\"git\", \"clone\", \"--local\", \"--no-hardlinks\", \"/tmp/agentfs-git-workload-j7ifkggm/native/mirror.git\", \"/tmp/agentfs-git-workload-j7ifkggm/native/work\"], \"cwd\": \"/tmp/agentfs-git-workload-j7ifkggm/native\", \"duration_seconds\": 0.3216873180062976, \"returncode\": 0, \"stderr_bytes\": 149, \"stderr_tail\": \"Cloning into '/tmp/agentfs-git-workload-j7ifkggm/native/work'...\\nwarning: source repository is shallow, ignoring --local\\nwarning: --local is ignored\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"status\": {\"branch\": {\"argv\": [\"git\", \"status\", \"--short\", \"--branch\"], \"cwd\": \"/tmp/agentfs-git-workload-j7ifkggm/native/work\", \"duration_seconds\": 0.12663498798792716, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 21, \"stdout_tail\": \"## agentfs-benchmark\\n\"}, \"short\": {\"argv\": [\"git\", \"status\", \"--short\"], \"cwd\": \"/tmp/agentfs-git-workload-j7ifkggm/native/work\", \"duration_seconds\": 0.11151765799149871, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}}, \"phase_seconds\": {\"checkout\": 0.18079679299262352, \"clone\": 0.32173172100738157, \"diff\": 0.2956617010058835, \"edit\": 0.0005059730028733611, \"fsck\": 0.23167631099931896, \"read_search\": 0.006168587991851382, \"status\": 0.23817145101202186}, \"profile_checkpoints\": [\"clone\", \"checkout\", \"status\", \"read_search\", \"edit\", \"diff\", \"fsck\"], \"read_search\": {\"bytes_read\": 117190, \"digest\": \"6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53\", \"files_scanned\": 64, \"files_total\": 4644, \"ls_files_run\": {\"argv\": [\"git\", \"ls-files\", \"-z\"], \"cwd\": \"/tmp/agentfs-git-workload-j7ifkggm/native/work\", \"duration_seconds\": 0.0037229040026431903, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 263077, \"stdout_tail\": \"i_codex/api.py\\u0000sdk/python/src/openai_codex/async_client.py\\u0000sdk/python/src/openai_codex/client.py\\u0000sdk/python/src/openai_codex/errors.py\\u0000sdk/python/src/openai_codex/generated/__init__.py\\u0000sdk/python/src/openai_codex/generated/notification_registry.py\\u0000sdk/python/src/openai_codex/generated/v2_all.py\\u0000sdk/python/src/openai_codex/models.py\\u0000sdk/python/src/openai_codex/py.typed\\u0000sdk/python/src/openai_codex/retry.py\\u0000sdk/python/src/openai_codex/types.py\\u0000sdk/python/tests/app_server_harness.py\\u0000sdk/python/tests/app_server_helpers.py\\u0000sdk/python/tests/conftest.py\\u0000sdk/python/tests/test_app_server_approvals.py\\u0000sdk/python/tests/test_app_server_inputs.py\\u0000sdk/python/tests/test_app_server_lifecycle.py\\u0000sdk/python/tests/test_app_server_login.py\\u0000sdk/python/tests/test_app_server_run.py\\u0000sdk/python/tests/test_app_server_streaming.py\\u0000sdk/python/tests/test_app_server_turn_controls.py\\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\\u0000sdk/python/tests/test_async_client_behavior.py\\u0000sdk/python/tests/test_client_rpc_methods.py\\u0000sdk/python/tests/test_contract_generation.py\\u0000sdk/python/tests/test_public_api_runtime_behavior.py\\u0000sdk/python/tests/test_public_api_signatures.py\\u0000sdk/python/tests/test_real_app_server_integration.py\\u0000sdk/python/uv.lock\\u0000sdk/typescript/.prettierignore\\u0000sdk/typescript/.prettierrc\\u0000sdk/typescript/README.md\\u0000sdk/typescript/eslint.config.js\\u0000sdk/typescript/jest.config.cjs\\u0000sdk/typescript/package.json\\u0000sdk/typescript/samples/basic_streaming.ts\\u0000sdk/typescript/samples/helpers.ts\\u0000sdk/typescript/samples/structured_output.ts\\u0000sdk/typescript/samples/structured_output_zod.ts\\u0000sdk/typescript/src/codex.ts\\u0000sdk/typescript/src/codexOptions.ts\\u0000sdk/typescript/src/events.ts\\u0000sdk/typescript/src/exec.ts\\u0000sdk/typescript/src/index.ts\\u0000sdk/typescript/src/items.ts\\u0000sdk/typescript/src/outputSchemaFile.ts\\u0000sdk/typescript/src/thread.ts\\u0000sdk/typescript/src/threadOptions.ts\\u0000sdk/typescript/src/turnOptions.ts\\u0000sdk/typescript/tests/abort.test.ts\\u0000sdk/typescript/tests/codexExecSpy.ts\\u0000sdk/typescript/tests/exec.test.ts\\u0000sdk/typescript/tests/responsesProxy.ts\\u0000sdk/typescript/tests/run.test.ts\\u0000sdk/typescript/tests/runStreamed.test.ts\\u0000sdk/typescript/tests/setupCodexHome.ts\\u0000sdk/typescript/tests/testCodex.ts\\u0000sdk/typescript/tsconfig.json\\u0000sdk/typescript/tsup.config.ts\\u0000third_party/v8/BUILD.bazel\\u0000third_party/v8/README.md\\u0000third_party/v8/libcxx.BUILD.bazel\\u0000third_party/v8/libcxx_config/BUILD.bazel\\u0000third_party/v8/libcxx_config/__assertion_handler\\u0000third_party/v8/libcxx_config/__config_site\\u0000third_party/v8/libcxxabi.BUILD.bazel\\u0000third_party/v8/llvm_libc.BUILD.bazel\\u0000third_party/v8/rusty_v8_147_4_0.sha256\\u0000third_party/v8/v8_crate.BUILD.bazel\\u0000third_party/wezterm/LICENSE\\u0000tools/argument-comment-lint/.cargo/config.toml\\u0000tools/argument-comment-lint/.gitignore\\u0000tools/argument-comment-lint/BUILD.bazel\\u0000tools/argument-comment-lint/Cargo.lock\\u0000tools/argument-comment-lint/Cargo.toml\\u0000tools/argument-comment-lint/README.md\\u0000tools/argument-comment-lint/argument-comment-lint\\u0000tools/argument-comment-lint/driver.rs\\u0000tools/argument-comment-lint/lint_aspect.bzl\\u0000tools/argument-comment-lint/list-bazel-targets.sh\\u0000tools/argument-comment-lint/run-prebuilt-linter.py\\u0000tools/argument-comment-lint/run.py\\u0000tools/argument-comment-lint/rust-toolchain\\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\\u0000tools/argument-comment-lint/src/comment_parser.rs\\u0000tools/argument-comment-lint/src/lib.rs\\u0000tools/argument-comment-lint/test_wrapper_common.py\\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\\u0000tools/argument-comment-lint/ui/comment_matches.rs\\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\\u0000tools/argument-comment-lint/wrapper_common.py\\u0000workspace_root_test_launcher.bat.tpl\\u0000workspace_root_test_launcher.sh.tpl\\u0000\"}, \"matches\": 0, \"selected_files\": [\".bazelignore\", \".bazelrc\", \".bazelversion\", \".codespellignore\", \".codespellrc\", \".codex/environments/environment.toml\", \".codex/skills/babysit-pr/SKILL.md\", \".codex/skills/babysit-pr/agents/openai.yaml\", \".codex/skills/babysit-pr/references/github-api-notes.md\", \".codex/skills/babysit-pr/references/heuristics.md\", \".codex/skills/babysit-pr/scripts/gh_pr_watch.py\", \".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py\", \".codex/skills/code-review-breaking-changes/SKILL.md\", \".codex/skills/code-review-change-size/SKILL.md\", \".codex/skills/code-review-context/SKILL.md\", \".codex/skills/code-review-testing/SKILL.md\", \".codex/skills/code-review/SKILL.md\", \".codex/skills/codex-bug/SKILL.md\", \".codex/skills/codex-issue-digest/SKILL.md\", \".codex/skills/codex-issue-digest/agents/openai.yaml\", \".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py\", \".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py\", \".codex/skills/codex-pr-body/SKILL.md\", \".codex/skills/remote-tests/SKILL.md\", \".codex/skills/test-tui/SKILL.md\", \".codex/skills/update-v8-version/SKILL.md\", \".codex/skills/update-v8-version/agents/openai.yaml\", \".devcontainer/Dockerfile\", \".devcontainer/Dockerfile.secure\", \".devcontainer/README.md\", \".devcontainer/codex-install/package.json\", \".devcontainer/codex-install/pnpm-lock.yaml\", \".devcontainer/codex-install/pnpm-workspace.yaml\", \".devcontainer/devcontainer.json\", \".devcontainer/devcontainer.secure.json\", \".devcontainer/init-firewall.sh\", \".devcontainer/post-start.sh\", \".devcontainer/post_install.py\", \".gitattributes\", \".github/CODEOWNERS\", \".github/ISSUE_TEMPLATE/1-codex-app.yml\", \".github/ISSUE_TEMPLATE/2-extension.yml\", \".github/ISSUE_TEMPLATE/3-cli.yml\", \".github/ISSUE_TEMPLATE/4-bug-report.yml\", \".github/ISSUE_TEMPLATE/5-feature-request.yml\", \".github/ISSUE_TEMPLATE/6-docs-issue.yml\", \".github/actions/linux-code-sign/action.yml\", \".github/actions/macos-code-sign/action.yml\", \".github/actions/macos-code-sign/codex.entitlements.plist\", \".github/actions/macos-code-sign/notary_helpers.sh\", \".github/actions/prepare-bazel-ci/action.yml\", \".github/actions/run-argument-comment-lint/action.yml\", \".github/actions/setup-bazel-ci/action.yml\", \".github/actions/setup-msvc-env/action.yml\", \".github/actions/setup-msvc-env/setup-msvc-env.ps1\", \".github/actions/setup-rusty-v8/action.yml\", \".github/actions/windows-code-sign/action.yml\", \".github/blob-size-allowlist.txt\", \".github/codex-cli-splash.png\", \".github/codex/home/config.toml\", \".github/codex/labels/codex-attempt.md\", \".github/codex/labels/codex-review.md\", \".github/codex/labels/codex-rust-review.md\", \".github/codex/labels/codex-triage.md\"], \"token\": \"AGENTFS_TOKEN\"}, \"total_seconds\": 1.2749006189987995}\n",
+ "timed_out": false
+ },
+ "workload": {
+ "branch_status": "## agentfs-benchmark\n",
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.2956617010058835,
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc",
+ "runs": {
+ "name_only": {
+ "argv": [
+ "git",
+ "diff",
+ "--name-only",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-j7ifkggm/native/work",
+ "duration_seconds": 0.10290846700081602,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 144,
+ "stdout_tail": "docs/CLA.md\ndocs/agents_md.md\ndocs/authentication.md\ndocs/config.md\ndocs/contributing.md\ndocs/example-config.md\ndocs/exec.md\ndocs/execpolicy.md\n"
+ },
+ "patch": {
+ "argv": [
+ "git",
+ "diff",
+ "--",
+ "."
+ ],
+ "cwd": "/tmp/agentfs-git-workload-j7ifkggm/native/work",
+ "duration_seconds": 0.09795400100119878,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 3282,
+ "stdout_tail": "diff --git a/docs/CLA.md b/docs/CLA.md\nindex 804f202..3495ac9 100644\n--- a/docs/CLA.md\n+++ b/docs/CLA.md\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\n This Agreement is governed by the laws of the **State of California**, USA,\n excluding its conflict\u2011of\u2011laws rules. If any provision is held unenforceable,\n the remaining provisions remain in force.\n+\n+AgentFS Git benchmark edit 00 for docs/CLA.md\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\nindex 3df0fac..b8b063d 100644\n--- a/docs/agents_md.md\n+++ b/docs/agents_md.md\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\n ## Hierarchical agents message\n \n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\n+\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\ndiff --git a/docs/authentication.md b/docs/authentication.md\nindex c307349..b3bc9dc 100644\n--- a/docs/authentication.md\n+++ b/docs/authentication.md\n@@ -1,3 +1,5 @@\n # Authentication\n \n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\n+\n+AgentFS Git benchmark edit 02 for docs/authentication.md\ndiff --git a/docs/config.md b/docs/config.md\nindex d35b0a8..030e278 100644\n--- a/docs/config.md\n+++ b/docs/config.md\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\n still allowing managed hooks from requirements and managed config layers. This\n setting is only supported in `requirements.toml`; putting it in `config.toml`\n does not enable managed-hooks-only mode.\n+\n+AgentFS Git benchmark edit 03 for docs/config.md\ndiff --git a/docs/contributing.md b/docs/contributing.md\nindex aeae1f1..b5a22ac 100644\n--- a/docs/contributing.md\n+++ b/docs/contributing.md\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\n ### Security & responsible AI\n \n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\n+\n+AgentFS Git benchmark edit 04 for docs/contributing.md\ndiff --git a/docs/example-config.md b/docs/example-config.md\nindex 84b1143..b09f835 100644\n--- a/docs/example-config.md\n+++ b/docs/example-config.md\n@@ -1,3 +1,5 @@\n # Sample configuration\n \n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\n+\n+AgentFS Git benchmark edit 05 for docs/example-config.md\ndiff --git a/docs/exec.md b/docs/exec.md\nindex 57e4323..a81da98 100644\n--- a/docs/exec.md\n+++ b/docs/exec.md\n@@ -1,3 +1,5 @@\n # Non-interactive mode\n \n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\n+\n+AgentFS Git benchmark edit 06 for docs/exec.md\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\nindex cafebb3..3b48afe 100644\n--- a/docs/execpolicy.md\n+++ b/docs/execpolicy.md\n@@ -1,3 +1,5 @@\n # Execution policy\n \n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\n+\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\n"
+ },
+ "stat": {
+ "argv": [
+ "git",
+ "diff",
+ "--stat",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-j7ifkggm/native/work",
+ "duration_seconds": 0.09476038000138942,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 283,
+ "stdout_tail": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ }
+ },
+ "stat_stdout": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.0005059730028733611,
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true,
+ "run": {
+ "argv": [
+ "git",
+ "fsck",
+ "--strict"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-j7ifkggm/native/work",
+ "duration_seconds": 0.23166249600762967,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "phase_runs": {
+ "checkout": {
+ "argv": [
+ "git",
+ "checkout",
+ "-B",
+ "agentfs-benchmark"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-j7ifkggm/native/work",
+ "duration_seconds": 0.17857912500039674,
+ "returncode": 0,
+ "stderr_bytes": 45,
+ "stderr_tail": "Switched to a new branch 'agentfs-benchmark'\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "clone": {
+ "argv": [
+ "git",
+ "clone",
+ "--local",
+ "--no-hardlinks",
+ "/tmp/agentfs-git-workload-j7ifkggm/native/mirror.git",
+ "/tmp/agentfs-git-workload-j7ifkggm/native/work"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-j7ifkggm/native",
+ "duration_seconds": 0.3216873180062976,
+ "returncode": 0,
+ "stderr_bytes": 149,
+ "stderr_tail": "Cloning into '/tmp/agentfs-git-workload-j7ifkggm/native/work'...\nwarning: source repository is shallow, ignoring --local\nwarning: --local is ignored\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "status": {
+ "branch": {
+ "argv": [
+ "git",
+ "status",
+ "--short",
+ "--branch"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-j7ifkggm/native/work",
+ "duration_seconds": 0.12663498798792716,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 21,
+ "stdout_tail": "## agentfs-benchmark\n"
+ },
+ "short": {
+ "argv": [
+ "git",
+ "status",
+ "--short"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-j7ifkggm/native/work",
+ "duration_seconds": 0.11151765799149871,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ }
+ },
+ "phase_seconds": {
+ "checkout": 0.18079679299262352,
+ "clone": 0.32173172100738157,
+ "diff": 0.2956617010058835,
+ "edit": 0.0005059730028733611,
+ "fsck": 0.23167631099931896,
+ "read_search": 0.006168587991851382,
+ "status": 0.23817145101202186
+ },
+ "profile_checkpoints": [
+ "clone",
+ "checkout",
+ "status",
+ "read_search",
+ "edit",
+ "diff",
+ "fsck"
+ ],
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "ls_files_run": {
+ "argv": [
+ "git",
+ "ls-files",
+ "-z"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-j7ifkggm/native/work",
+ "duration_seconds": 0.0037229040026431903,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 263077,
+ "stdout_tail": "i_codex/api.py\u0000sdk/python/src/openai_codex/async_client.py\u0000sdk/python/src/openai_codex/client.py\u0000sdk/python/src/openai_codex/errors.py\u0000sdk/python/src/openai_codex/generated/__init__.py\u0000sdk/python/src/openai_codex/generated/notification_registry.py\u0000sdk/python/src/openai_codex/generated/v2_all.py\u0000sdk/python/src/openai_codex/models.py\u0000sdk/python/src/openai_codex/py.typed\u0000sdk/python/src/openai_codex/retry.py\u0000sdk/python/src/openai_codex/types.py\u0000sdk/python/tests/app_server_harness.py\u0000sdk/python/tests/app_server_helpers.py\u0000sdk/python/tests/conftest.py\u0000sdk/python/tests/test_app_server_approvals.py\u0000sdk/python/tests/test_app_server_inputs.py\u0000sdk/python/tests/test_app_server_lifecycle.py\u0000sdk/python/tests/test_app_server_login.py\u0000sdk/python/tests/test_app_server_run.py\u0000sdk/python/tests/test_app_server_streaming.py\u0000sdk/python/tests/test_app_server_turn_controls.py\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\u0000sdk/python/tests/test_async_client_behavior.py\u0000sdk/python/tests/test_client_rpc_methods.py\u0000sdk/python/tests/test_contract_generation.py\u0000sdk/python/tests/test_public_api_runtime_behavior.py\u0000sdk/python/tests/test_public_api_signatures.py\u0000sdk/python/tests/test_real_app_server_integration.py\u0000sdk/python/uv.lock\u0000sdk/typescript/.prettierignore\u0000sdk/typescript/.prettierrc\u0000sdk/typescript/README.md\u0000sdk/typescript/eslint.config.js\u0000sdk/typescript/jest.config.cjs\u0000sdk/typescript/package.json\u0000sdk/typescript/samples/basic_streaming.ts\u0000sdk/typescript/samples/helpers.ts\u0000sdk/typescript/samples/structured_output.ts\u0000sdk/typescript/samples/structured_output_zod.ts\u0000sdk/typescript/src/codex.ts\u0000sdk/typescript/src/codexOptions.ts\u0000sdk/typescript/src/events.ts\u0000sdk/typescript/src/exec.ts\u0000sdk/typescript/src/index.ts\u0000sdk/typescript/src/items.ts\u0000sdk/typescript/src/outputSchemaFile.ts\u0000sdk/typescript/src/thread.ts\u0000sdk/typescript/src/threadOptions.ts\u0000sdk/typescript/src/turnOptions.ts\u0000sdk/typescript/tests/abort.test.ts\u0000sdk/typescript/tests/codexExecSpy.ts\u0000sdk/typescript/tests/exec.test.ts\u0000sdk/typescript/tests/responsesProxy.ts\u0000sdk/typescript/tests/run.test.ts\u0000sdk/typescript/tests/runStreamed.test.ts\u0000sdk/typescript/tests/setupCodexHome.ts\u0000sdk/typescript/tests/testCodex.ts\u0000sdk/typescript/tsconfig.json\u0000sdk/typescript/tsup.config.ts\u0000third_party/v8/BUILD.bazel\u0000third_party/v8/README.md\u0000third_party/v8/libcxx.BUILD.bazel\u0000third_party/v8/libcxx_config/BUILD.bazel\u0000third_party/v8/libcxx_config/__assertion_handler\u0000third_party/v8/libcxx_config/__config_site\u0000third_party/v8/libcxxabi.BUILD.bazel\u0000third_party/v8/llvm_libc.BUILD.bazel\u0000third_party/v8/rusty_v8_147_4_0.sha256\u0000third_party/v8/v8_crate.BUILD.bazel\u0000third_party/wezterm/LICENSE\u0000tools/argument-comment-lint/.cargo/config.toml\u0000tools/argument-comment-lint/.gitignore\u0000tools/argument-comment-lint/BUILD.bazel\u0000tools/argument-comment-lint/Cargo.lock\u0000tools/argument-comment-lint/Cargo.toml\u0000tools/argument-comment-lint/README.md\u0000tools/argument-comment-lint/argument-comment-lint\u0000tools/argument-comment-lint/driver.rs\u0000tools/argument-comment-lint/lint_aspect.bzl\u0000tools/argument-comment-lint/list-bazel-targets.sh\u0000tools/argument-comment-lint/run-prebuilt-linter.py\u0000tools/argument-comment-lint/run.py\u0000tools/argument-comment-lint/rust-toolchain\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\u0000tools/argument-comment-lint/src/comment_parser.rs\u0000tools/argument-comment-lint/src/lib.rs\u0000tools/argument-comment-lint/test_wrapper_common.py\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\u0000tools/argument-comment-lint/ui/comment_matches.rs\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\u0000tools/argument-comment-lint/wrapper_common.py\u0000workspace_root_test_launcher.bat.tpl\u0000workspace_root_test_launcher.sh.tpl\u0000"
+ },
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ],
+ "token": "AGENTFS_TOKEN"
+ },
+ "total_seconds": 1.2749006189987995
+ }
+ },
+ "parameters": {
+ "edit_files": 8,
+ "fixture_dirs": 8,
+ "fixture_file_size_bytes": 1024,
+ "fixture_files": 96,
+ "read_bytes": 4096,
+ "read_files": 64,
+ "search_token": "AGENTFS_TOKEN",
+ "skip_fsck": false,
+ "timeout_seconds": 180.0
+ },
+ "schema_version": 1,
+ "source": {
+ "kind": "source",
+ "mirror_head": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "path": "/home/ain3sh/factory/vfs/.agents/benchmarks/fixtures/codex"
+ },
+ "summary": {
+ "agentfs_base_unchanged": true,
+ "agentfs_seconds": 3.9769298949977383,
+ "all_equivalent": true,
+ "correctness_passed": true,
+ "native_seconds": 1.2749006189987995,
+ "passed": true,
+ "performance_passed": false,
+ "phase_ratios": {
+ "checkout": {
+ "agentfs_seconds": 0.05152055200596806,
+ "native_seconds": 0.18079679299262352,
+ "ratio": 0.28496385999540425
+ },
+ "clone": {
+ "agentfs_seconds": 2.795723178991466,
+ "native_seconds": 0.32173172100738157,
+ "ratio": 8.689609996296644
+ },
+ "diff": {
+ "agentfs_seconds": 0.07983500800037291,
+ "native_seconds": 0.2956617010058835,
+ "ratio": 0.2700214729495324
+ },
+ "edit": {
+ "agentfs_seconds": 0.008319867003592663,
+ "native_seconds": 0.0005059730028733611,
+ "ratio": 16.443302224318526
+ },
+ "fsck": {
+ "agentfs_seconds": 0.16708888999710325,
+ "native_seconds": 0.23167631099931896,
+ "ratio": 0.72121698276521
+ },
+ "read_search": {
+ "agentfs_seconds": 0.005946407007286325,
+ "native_seconds": 0.006168587991851382,
+ "ratio": 0.9639818731841785
+ },
+ "status": {
+ "agentfs_seconds": 0.1678003530105343,
+ "native_seconds": 0.23817145101202186,
+ "ratio": 0.7045359647326684
+ }
+ },
+ "ratio": 3.11940384664719,
+ "threshold_failures": [
+ {
+ "agentfs_seconds": 2.795723178991466,
+ "native_seconds": 0.32173172100738157,
+ "phase": "clone",
+ "ratio": 8.689609996296644
+ },
+ {
+ "agentfs_seconds": 0.008319867003592663,
+ "native_seconds": 0.0005059730028733611,
+ "phase": "edit",
+ "ratio": 16.443302224318526
+ }
+ ]
+ },
+ "temp_dir": "/tmp/agentfs-git-workload-j7ifkggm"
+}
diff --git a/.agents/benchmarks/restructure-baseline/medians.json.iterations/iter-03.json b/.agents/benchmarks/restructure-baseline/medians.json.iterations/iter-03.json
new file mode 100644
index 00000000..cc1a64d6
--- /dev/null
+++ b/.agents/benchmarks/restructure-baseline/medians.json.iterations/iter-03.json
@@ -0,0 +1,6636 @@
+{
+ "agentfs": {
+ "bin": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "db_path": "/tmp/agentfs-git-workload-pl9ksnf0/home/.agentfs/run/git-workload-4d8592c65a644b99a57302f36fd3ddff/delta.db",
+ "per_phase_counters": {
+ "checkpoint_count": 7,
+ "label_count": 7,
+ "labels_aligned": true,
+ "phases": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 829850190,
+ "agentfs_batcher_commit_txns": 4776,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4680,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9384,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29050,
+ "base_fast_inode_invalidations": 15027,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 968,
+ "connection_create_count": 2,
+ "connection_reuse_count": 31194,
+ "connection_wait_count": 31196,
+ "connection_wait_nanos": 10452744,
+ "dentry_cache_hits": 26031,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 92,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5283,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21782,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 39,
+ "fuse_dispatch_wait_count": 39,
+ "fuse_dispatch_wait_nanos": 418205,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52456532,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5026,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11700,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 577281862,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 36,
+ "fuse_op_forget_nanos": 761283,
+ "fuse_op_getattr_count": 5026,
+ "fuse_op_getattr_nanos": 53165859,
+ "fuse_op_lookup_count": 11700,
+ "fuse_op_lookup_nanos": 135481527,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 116756992,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 26555120,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 939247,
+ "fuse_op_setattr_count": 4748,
+ "fuse_op_setattr_nanos": 1181414602,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 29006612,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16154,
+ "fuse_read_lane_wait_nanos": 1521801,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32005,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1784205,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19334,
+ "lookup_base_count": 23,
+ "lookup_count": 40292,
+ "lookup_delta_count": 7193,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6779,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14260,
+ "path_cache_hits": 26031,
+ "path_cache_misses": 13426,
+ "path_component_count": 32908,
+ "path_resolution_count": 7120,
+ "readdir_count": 1,
+ "readdir_plus_count": 11,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 1731390
+ },
+ "phase": "clone",
+ "seq": 1
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 2,
+ "agentfs_batcher_commit_latency_ns_total": 3835877,
+ "agentfs_batcher_commit_txns": 9,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 5,
+ "agentfs_batcher_drains_timer": 3,
+ "agentfs_batcher_enqueues": 10,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 15,
+ "attr_cache_hits": 268,
+ "attr_cache_misses": 1804,
+ "base_fast_inode_invalidations": 51,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 10,
+ "chunk_read_queries": 6,
+ "chunk_write_chunks": 15,
+ "connection_create_count": 5,
+ "connection_reuse_count": 625,
+ "connection_wait_count": 630,
+ "connection_wait_nanos": 259160,
+ "dentry_cache_hits": 73,
+ "dentry_cache_misses": 56,
+ "fuse_adapter_attr_hits": 4578,
+ "fuse_adapter_attr_misses": 723,
+ "fuse_adapter_entry_hits": 2,
+ "fuse_adapter_entry_misses": 35,
+ "fuse_adapter_inval_entry_notifications": 10,
+ "fuse_adapter_inval_inode_notifications": 28,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 12,
+ "fuse_adapter_negative_misses": 35,
+ "fuse_callback_count": 5371,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 6,
+ "fuse_dispatch_parallel_tasks": 9,
+ "fuse_dispatch_wait_count": 9,
+ "fuse_dispatch_wait_nanos": 52345,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 777744,
+ "fuse_flush_count": 10,
+ "fuse_flush_ranges": 10,
+ "fuse_getattr_count": 5301,
+ "fuse_ino_file_resolutions": 3,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 49,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 9,
+ "fuse_op_create_nanos": 1220153,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 9,
+ "fuse_op_forget_nanos": 61517,
+ "fuse_op_getattr_count": 5301,
+ "fuse_op_getattr_nanos": 16281367,
+ "fuse_op_lookup_count": 49,
+ "fuse_op_lookup_nanos": 513848,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 15,
+ "fuse_op_other_nanos": 2845520,
+ "fuse_op_read_count": 8,
+ "fuse_op_read_nanos": 970170,
+ "fuse_op_readdirplus_count": 4,
+ "fuse_op_readdirplus_nanos": 259795,
+ "fuse_op_setattr_count": 14,
+ "fuse_op_setattr_nanos": 4041695,
+ "fuse_op_write_count": 9,
+ "fuse_op_write_nanos": 202318,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 8,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 788,
+ "fuse_read_lane_wait_nanos": 94398,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 4,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 5409,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 591393,
+ "fuse_write_count": 9,
+ "fuse_write_lane_wait_count": 42,
+ "fuse_write_lane_wait_nanos": 38263,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 1474,
+ "lookup_base_count": 0,
+ "lookup_count": 164,
+ "lookup_delta_count": 60,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 33,
+ "negative_cache_invalidations": 26,
+ "negative_cache_misses": 148,
+ "negative_lookup_count": 86,
+ "path_cache_hits": 73,
+ "path_cache_misses": 56,
+ "path_component_count": 124,
+ "path_resolution_count": 45,
+ "readdir_count": 0,
+ "readdir_plus_count": 2,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "checkout",
+ "seq": 2
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 4,
+ "agentfs_batcher_commit_latency_ns_total": 6403812,
+ "agentfs_batcher_commit_txns": 4,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 2,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 6,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 4,
+ "attr_cache_hits": 21,
+ "attr_cache_misses": 40,
+ "base_fast_inode_invalidations": 24,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 20,
+ "chunk_read_queries": 12,
+ "chunk_write_chunks": 20,
+ "connection_create_count": 0,
+ "connection_reuse_count": 1018,
+ "connection_wait_count": 1018,
+ "connection_wait_nanos": 291234,
+ "dentry_cache_hits": 20,
+ "dentry_cache_misses": 570,
+ "fuse_adapter_attr_hits": 1661,
+ "fuse_adapter_attr_misses": 10,
+ "fuse_adapter_entry_hits": 2,
+ "fuse_adapter_entry_misses": 289,
+ "fuse_adapter_inval_entry_notifications": 4,
+ "fuse_adapter_inval_inode_notifications": 8,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 2,
+ "fuse_adapter_negative_misses": 289,
+ "fuse_callback_count": 3367,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 4,
+ "fuse_dispatch_wait_count": 4,
+ "fuse_dispatch_wait_nanos": 81823,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 1181458,
+ "fuse_flush_count": 6,
+ "fuse_flush_ranges": 6,
+ "fuse_getattr_count": 1671,
+ "fuse_ino_file_resolutions": 2,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 293,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 2,
+ "fuse_op_create_nanos": 1097557,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 4,
+ "fuse_op_forget_nanos": 54960,
+ "fuse_op_getattr_count": 1671,
+ "fuse_op_getattr_nanos": 1815552,
+ "fuse_op_lookup_count": 293,
+ "fuse_op_lookup_nanos": 3799428,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 2762,
+ "fuse_op_other_nanos": 3327164,
+ "fuse_op_read_count": 12,
+ "fuse_op_read_nanos": 2039422,
+ "fuse_op_readdirplus_count": 1381,
+ "fuse_op_readdirplus_nanos": 42959334,
+ "fuse_op_setattr_count": 6,
+ "fuse_op_setattr_nanos": 11845718,
+ "fuse_op_write_count": 10,
+ "fuse_op_write_nanos": 1934292,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 12,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 999,
+ "fuse_read_lane_wait_nanos": 96000,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1381,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 6137,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 1181458,
+ "fuse_write_count": 10,
+ "fuse_write_lane_wait_count": 14,
+ "fuse_write_lane_wait_nanos": 29604,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 32,
+ "lookup_base_count": 0,
+ "lookup_count": 598,
+ "lookup_delta_count": 295,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6,
+ "negative_cache_invalidations": 4,
+ "negative_cache_misses": 873,
+ "negative_lookup_count": 578,
+ "path_cache_hits": 20,
+ "path_cache_misses": 570,
+ "path_component_count": 4606,
+ "path_resolution_count": 977,
+ "readdir_count": 0,
+ "readdir_plus_count": 688,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "status",
+ "seq": 3
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 1,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 10,
+ "chunk_read_queries": 6,
+ "chunk_write_chunks": 0,
+ "connection_create_count": 0,
+ "connection_reuse_count": 8,
+ "connection_wait_count": 8,
+ "connection_wait_nanos": 11073,
+ "dentry_cache_hits": 1,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 69,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 1,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 1,
+ "fuse_callback_count": 76,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 69,
+ "fuse_ino_file_resolutions": 1,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 1,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 69,
+ "fuse_op_getattr_nanos": 62509,
+ "fuse_op_lookup_count": 1,
+ "fuse_op_lookup_nanos": 43621,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 6,
+ "fuse_op_read_nanos": 1857998,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 6,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 2,
+ "fuse_read_lane_wait_nanos": 1070,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 76,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 2,
+ "lookup_delta_count": 1,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 2,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 1,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "read_search",
+ "seq": 4
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 1139080,
+ "agentfs_batcher_commit_txns": 8,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 8,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 8,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 8,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 24,
+ "base_fast_inode_invalidations": 16,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create_count": 0,
+ "connection_reuse_count": 32,
+ "connection_wait_count": 32,
+ "connection_wait_nanos": 13726,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 16,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 24,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 6398,
+ "fuse_flush_count": 8,
+ "fuse_flush_ranges": 8,
+ "fuse_getattr_count": 16,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 16,
+ "fuse_op_getattr_nanos": 24324,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 8,
+ "fuse_op_other_nanos": 985156,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_setattr_count": 8,
+ "fuse_op_setattr_nanos": 2230726,
+ "fuse_op_write_count": 8,
+ "fuse_op_write_nanos": 387650,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 8,
+ "fuse_read_lane_wait_nanos": 1232,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 40,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 6398,
+ "fuse_write_count": 8,
+ "fuse_write_lane_wait_count": 8,
+ "fuse_write_lane_wait_nanos": 1219,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 16,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 8,
+ "wal_checkpoint_nanos": 851020
+ },
+ "phase": "edit",
+ "seq": 5
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create_count": 0,
+ "connection_reuse_count": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 2719,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 105,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 2824,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 2719,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 105,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 2719,
+ "fuse_op_getattr_nanos": 1572739,
+ "fuse_op_lookup_count": 105,
+ "fuse_op_lookup_nanos": 131459,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 12,
+ "fuse_op_other_nanos": 4574,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 2836,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 105,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "diff",
+ "seq": 6
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 3,
+ "attr_cache_misses": 2,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 1,
+ "chunk_read_queries": 1,
+ "chunk_write_chunks": 0,
+ "connection_create_count": 0,
+ "connection_reuse_count": 15,
+ "connection_wait_count": 15,
+ "connection_wait_nanos": 15261,
+ "dentry_cache_hits": 4,
+ "dentry_cache_misses": 2,
+ "fuse_adapter_attr_hits": 44,
+ "fuse_adapter_attr_misses": 1,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 4,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 249,
+ "fuse_adapter_negative_misses": 4,
+ "fuse_callback_count": 318,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 45,
+ "fuse_ino_file_resolutions": 1,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 253,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 45,
+ "fuse_op_getattr_nanos": 73412,
+ "fuse_op_lookup_count": 253,
+ "fuse_op_lookup_nanos": 369464,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 36,
+ "fuse_op_other_nanos": 10048,
+ "fuse_op_read_count": 2,
+ "fuse_op_read_nanos": 1878077,
+ "fuse_op_readdirplus_count": 18,
+ "fuse_op_readdirplus_nanos": 515509,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 2,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 15,
+ "fuse_read_lane_wait_nanos": 2776,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 18,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 354,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 2,
+ "lookup_base_count": 0,
+ "lookup_count": 8,
+ "lookup_delta_count": 4,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 249,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 9,
+ "negative_lookup_count": 2,
+ "path_cache_hits": 4,
+ "path_cache_misses": 2,
+ "path_component_count": 42,
+ "path_resolution_count": 10,
+ "readdir_count": 0,
+ "readdir_plus_count": 9,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "fsck",
+ "seq": 7
+ }
+ ]
+ },
+ "profile_counters": {
+ "last_by_source": {
+ "agentfs": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 841228959,
+ "agentfs_batcher_commit_txns": 4797,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26215,
+ "attr_cache_misses": 30920,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32895,
+ "connection_wait_count": 32902,
+ "connection_wait_nanos": 11049316,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 9179,
+ "fuse_adapter_attr_misses": 5668,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5651,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 33762,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 552373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 14847,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12401,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 579599572,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 877760,
+ "fuse_op_getattr_count": 14847,
+ "fuse_op_getattr_nanos": 72995762,
+ "fuse_op_lookup_count": 12401,
+ "fuse_op_lookup_nanos": 140339347,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 123929454,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 33300787,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 44673885,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1199532741,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 31530872,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17966,
+ "fuse_read_lane_wait_nanos": 1717277,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 46857,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1854144,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20858,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7172,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2740864
+ },
+ "fuse_session": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 841228959,
+ "agentfs_batcher_commit_txns": 4797,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26215,
+ "attr_cache_misses": 30920,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32895,
+ "connection_wait_count": 32902,
+ "connection_wait_nanos": 11049316,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 9179,
+ "fuse_adapter_attr_misses": 5668,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5651,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 33762,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 552373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 14847,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12401,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 579599572,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 877760,
+ "fuse_op_getattr_count": 14847,
+ "fuse_op_getattr_nanos": 72995762,
+ "fuse_op_lookup_count": 12401,
+ "fuse_op_lookup_nanos": 140339347,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 123929454,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 33300787,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 44673885,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1199532741,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 31530872,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17966,
+ "fuse_read_lane_wait_nanos": 1717277,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 46857,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1854144,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20858,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7172,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2740864
+ },
+ "phase-checkpoint-1": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 829850190,
+ "agentfs_batcher_commit_txns": 4776,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4680,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9384,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29050,
+ "base_fast_inode_invalidations": 15027,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 968,
+ "connection_create_count": 2,
+ "connection_reuse_count": 31194,
+ "connection_wait_count": 31196,
+ "connection_wait_nanos": 10452744,
+ "dentry_cache_hits": 26031,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 92,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5283,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21782,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 39,
+ "fuse_dispatch_wait_count": 39,
+ "fuse_dispatch_wait_nanos": 418205,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52456532,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5026,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11700,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 577281862,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 36,
+ "fuse_op_forget_nanos": 761283,
+ "fuse_op_getattr_count": 5026,
+ "fuse_op_getattr_nanos": 53165859,
+ "fuse_op_lookup_count": 11700,
+ "fuse_op_lookup_nanos": 135481527,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 116756992,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 26555120,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 939247,
+ "fuse_op_setattr_count": 4748,
+ "fuse_op_setattr_nanos": 1181414602,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 29006612,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16154,
+ "fuse_read_lane_wait_nanos": 1521801,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32005,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1784205,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19334,
+ "lookup_base_count": 23,
+ "lookup_count": 40292,
+ "lookup_delta_count": 7193,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6779,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14260,
+ "path_cache_hits": 26031,
+ "path_cache_misses": 13426,
+ "path_component_count": 32908,
+ "path_resolution_count": 7120,
+ "readdir_count": 1,
+ "readdir_plus_count": 11,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 1731390
+ },
+ "phase-checkpoint-2": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 833686067,
+ "agentfs_batcher_commit_txns": 4785,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4685,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9399,
+ "attr_cache_hits": 26190,
+ "attr_cache_misses": 30854,
+ "base_fast_inode_invalidations": 15078,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 983,
+ "connection_create_count": 7,
+ "connection_reuse_count": 31819,
+ "connection_wait_count": 31826,
+ "connection_wait_nanos": 10711904,
+ "dentry_cache_hits": 26104,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4670,
+ "fuse_adapter_attr_misses": 5657,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5295,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27153,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 470550,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10327,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11749,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 578502015,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 822800,
+ "fuse_op_getattr_count": 10327,
+ "fuse_op_getattr_nanos": 69447226,
+ "fuse_op_lookup_count": 11749,
+ "fuse_op_lookup_nanos": 135995375,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 799,
+ "fuse_op_other_nanos": 119602512,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 27525290,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 1199042,
+ "fuse_op_setattr_count": 4762,
+ "fuse_op_setattr_nanos": 1185456297,
+ "fuse_op_write_count": 4829,
+ "fuse_op_write_nanos": 29208930,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16942,
+ "fuse_read_lane_wait_nanos": 1616199,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37414,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4829,
+ "fuse_write_lane_wait_count": 10245,
+ "fuse_write_lane_wait_nanos": 1822468,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20808,
+ "lookup_base_count": 23,
+ "lookup_count": 40456,
+ "lookup_delta_count": 7253,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6812,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14346,
+ "path_cache_hits": 26104,
+ "path_cache_misses": 13482,
+ "path_component_count": 33032,
+ "path_resolution_count": 7165,
+ "readdir_count": 1,
+ "readdir_plus_count": 13,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 1731390
+ },
+ "phase-checkpoint-3": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 840089879,
+ "agentfs_batcher_commit_txns": 4789,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26211,
+ "attr_cache_misses": 30894,
+ "base_fast_inode_invalidations": 15102,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32837,
+ "connection_wait_count": 32844,
+ "connection_wait_nanos": 11003138,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6331,
+ "fuse_adapter_attr_misses": 5667,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5297,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30520,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 552373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11998,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12042,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 579599572,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 877760,
+ "fuse_op_getattr_count": 11998,
+ "fuse_op_getattr_nanos": 71262778,
+ "fuse_op_lookup_count": 12042,
+ "fuse_op_lookup_nanos": 139794803,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 122929676,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 29564712,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 44158376,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1197302015,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 31143222,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17941,
+ "fuse_read_lane_wait_nanos": 1712199,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43551,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1852072,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20840,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6818,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37638,
+ "path_resolution_count": 8142,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 1731390
+ },
+ "phase-checkpoint-4": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 840089879,
+ "agentfs_batcher_commit_txns": 4789,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26212,
+ "attr_cache_misses": 30894,
+ "base_fast_inode_invalidations": 15102,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32845,
+ "connection_wait_count": 32852,
+ "connection_wait_nanos": 11014211,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6400,
+ "fuse_adapter_attr_misses": 5667,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5297,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30596,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 552373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 12067,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12043,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 579599572,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 877760,
+ "fuse_op_getattr_count": 12067,
+ "fuse_op_getattr_nanos": 71325287,
+ "fuse_op_lookup_count": 12043,
+ "fuse_op_lookup_nanos": 139838424,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 122929676,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 31422710,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 44158376,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1197302015,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 31143222,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17943,
+ "fuse_read_lane_wait_nanos": 1713269,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43627,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1852072,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20840,
+ "lookup_base_count": 23,
+ "lookup_count": 41056,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6818,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37638,
+ "path_resolution_count": 8142,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 1731390
+ },
+ "phase-checkpoint-5": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 841228959,
+ "agentfs_batcher_commit_txns": 4797,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26212,
+ "attr_cache_misses": 30918,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32877,
+ "connection_wait_count": 32884,
+ "connection_wait_nanos": 11027937,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6416,
+ "fuse_adapter_attr_misses": 5667,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5297,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30620,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 552373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12083,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12043,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 579599572,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 877760,
+ "fuse_op_getattr_count": 12083,
+ "fuse_op_getattr_nanos": 71349611,
+ "fuse_op_lookup_count": 12043,
+ "fuse_op_lookup_nanos": 139838424,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 3569,
+ "fuse_op_other_nanos": 123914832,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 31422710,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 44158376,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1199532741,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 31530872,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17951,
+ "fuse_read_lane_wait_nanos": 1714501,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43667,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1853291,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20856,
+ "lookup_base_count": 23,
+ "lookup_count": 41056,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6818,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37638,
+ "path_resolution_count": 8142,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2582410
+ },
+ "phase-checkpoint-6": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 841228959,
+ "agentfs_batcher_commit_txns": 4797,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26212,
+ "attr_cache_misses": 30918,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32877,
+ "connection_wait_count": 32884,
+ "connection_wait_nanos": 11027937,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 9135,
+ "fuse_adapter_attr_misses": 5667,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5402,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 33444,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 552373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 14802,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12148,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 579599572,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 877760,
+ "fuse_op_getattr_count": 14802,
+ "fuse_op_getattr_nanos": 72922350,
+ "fuse_op_lookup_count": 12148,
+ "fuse_op_lookup_nanos": 139969883,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 3581,
+ "fuse_op_other_nanos": 123919406,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 31422710,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 44158376,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1199532741,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 31530872,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17951,
+ "fuse_read_lane_wait_nanos": 1714501,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 46503,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1853291,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20856,
+ "lookup_base_count": 23,
+ "lookup_count": 41056,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6923,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37638,
+ "path_resolution_count": 8142,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2582410
+ },
+ "phase-checkpoint-7": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 841228959,
+ "agentfs_batcher_commit_txns": 4797,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26215,
+ "attr_cache_misses": 30920,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32892,
+ "connection_wait_count": 32899,
+ "connection_wait_nanos": 11043198,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 9179,
+ "fuse_adapter_attr_misses": 5668,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5651,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 33762,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 552373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 14847,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12401,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 579599572,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 877760,
+ "fuse_op_getattr_count": 14847,
+ "fuse_op_getattr_nanos": 72995762,
+ "fuse_op_lookup_count": 12401,
+ "fuse_op_lookup_nanos": 140339347,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 123929454,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 33300787,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 44673885,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1199532741,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 31530872,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17966,
+ "fuse_read_lane_wait_nanos": 1717277,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 46857,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1853291,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20858,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7172,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2582410
+ },
+ "run_parent": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 841228959,
+ "agentfs_batcher_commit_txns": 4797,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26215,
+ "attr_cache_misses": 30920,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32895,
+ "connection_wait_count": 32902,
+ "connection_wait_nanos": 11049316,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 9179,
+ "fuse_adapter_attr_misses": 5668,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5651,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 33762,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 552373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 14847,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12401,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 579599572,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 877760,
+ "fuse_op_getattr_count": 14847,
+ "fuse_op_getattr_nanos": 72995762,
+ "fuse_op_lookup_count": 12401,
+ "fuse_op_lookup_nanos": 140339347,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 123929454,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 33300787,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 44673885,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1199532741,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 31530872,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17966,
+ "fuse_read_lane_wait_nanos": 1717277,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 46857,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1854144,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20858,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7172,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2740864
+ }
+ },
+ "max_counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 841228959,
+ "agentfs_batcher_commit_txns": 4797,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26215,
+ "attr_cache_misses": 30920,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32895,
+ "connection_wait_count": 32902,
+ "connection_wait_nanos": 11049316,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 9179,
+ "fuse_adapter_attr_misses": 5668,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5651,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 33762,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 552373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 14847,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12401,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 579599572,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 877760,
+ "fuse_op_getattr_count": 14847,
+ "fuse_op_getattr_nanos": 72995762,
+ "fuse_op_lookup_count": 12401,
+ "fuse_op_lookup_nanos": 140339347,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 123929454,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 33300787,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 44673885,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1199532741,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 31530872,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17966,
+ "fuse_read_lane_wait_nanos": 1717277,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 46857,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1854144,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20858,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7172,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2740864
+ },
+ "summary_count": 10
+ },
+ "profile_enabled": true,
+ "profile_summary_count": 10,
+ "session": "git-workload-4d8592c65a644b99a57302f36fd3ddff"
+ },
+ "agentfs_overlay": {
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 829850190,
+ "agentfs_batcher_commit_txns": 4776,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4680,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9384,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29050,
+ "base_fast_inode_invalidations": 15027,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 968,
+ "connection_create_count": 2,
+ "connection_reuse_count": 31194,
+ "connection_wait_count": 31196,
+ "connection_wait_nanos": 10452744,
+ "dentry_cache_hits": 26031,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 92,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5283,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21782,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 39,
+ "fuse_dispatch_wait_count": 39,
+ "fuse_dispatch_wait_nanos": 418205,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52456532,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5026,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11700,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 577281862,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 36,
+ "fuse_op_forget_nanos": 761283,
+ "fuse_op_getattr_count": 5026,
+ "fuse_op_getattr_nanos": 53165859,
+ "fuse_op_lookup_count": 11700,
+ "fuse_op_lookup_nanos": 135481527,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 116756992,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 26555120,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 939247,
+ "fuse_op_setattr_count": 4748,
+ "fuse_op_setattr_nanos": 1181414602,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 29006612,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16154,
+ "fuse_read_lane_wait_nanos": 1521801,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32005,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1784205,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19334,
+ "lookup_base_count": 23,
+ "lookup_count": 40292,
+ "lookup_delta_count": 7193,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6779,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14260,
+ "path_cache_hits": 26031,
+ "path_cache_misses": 13426,
+ "path_component_count": 32908,
+ "path_resolution_count": 7120,
+ "readdir_count": 1,
+ "readdir_plus_count": 11,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 1731390
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-1"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 833686067,
+ "agentfs_batcher_commit_txns": 4785,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4685,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9399,
+ "attr_cache_hits": 26190,
+ "attr_cache_misses": 30854,
+ "base_fast_inode_invalidations": 15078,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 983,
+ "connection_create_count": 7,
+ "connection_reuse_count": 31819,
+ "connection_wait_count": 31826,
+ "connection_wait_nanos": 10711904,
+ "dentry_cache_hits": 26104,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4670,
+ "fuse_adapter_attr_misses": 5657,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5295,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27153,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 470550,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10327,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11749,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 578502015,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 822800,
+ "fuse_op_getattr_count": 10327,
+ "fuse_op_getattr_nanos": 69447226,
+ "fuse_op_lookup_count": 11749,
+ "fuse_op_lookup_nanos": 135995375,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 799,
+ "fuse_op_other_nanos": 119602512,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 27525290,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 1199042,
+ "fuse_op_setattr_count": 4762,
+ "fuse_op_setattr_nanos": 1185456297,
+ "fuse_op_write_count": 4829,
+ "fuse_op_write_nanos": 29208930,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16942,
+ "fuse_read_lane_wait_nanos": 1616199,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37414,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4829,
+ "fuse_write_lane_wait_count": 10245,
+ "fuse_write_lane_wait_nanos": 1822468,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20808,
+ "lookup_base_count": 23,
+ "lookup_count": 40456,
+ "lookup_delta_count": 7253,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6812,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14346,
+ "path_cache_hits": 26104,
+ "path_cache_misses": 13482,
+ "path_component_count": 33032,
+ "path_resolution_count": 7165,
+ "readdir_count": 1,
+ "readdir_plus_count": 13,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 1731390
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-2"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 840089879,
+ "agentfs_batcher_commit_txns": 4789,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26211,
+ "attr_cache_misses": 30894,
+ "base_fast_inode_invalidations": 15102,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32837,
+ "connection_wait_count": 32844,
+ "connection_wait_nanos": 11003138,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6331,
+ "fuse_adapter_attr_misses": 5667,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5297,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30520,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 552373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11998,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12042,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 579599572,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 877760,
+ "fuse_op_getattr_count": 11998,
+ "fuse_op_getattr_nanos": 71262778,
+ "fuse_op_lookup_count": 12042,
+ "fuse_op_lookup_nanos": 139794803,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 122929676,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 29564712,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 44158376,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1197302015,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 31143222,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17941,
+ "fuse_read_lane_wait_nanos": 1712199,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43551,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1852072,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20840,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6818,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37638,
+ "path_resolution_count": 8142,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 1731390
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-3"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 840089879,
+ "agentfs_batcher_commit_txns": 4789,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26212,
+ "attr_cache_misses": 30894,
+ "base_fast_inode_invalidations": 15102,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32845,
+ "connection_wait_count": 32852,
+ "connection_wait_nanos": 11014211,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6400,
+ "fuse_adapter_attr_misses": 5667,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5297,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30596,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 552373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 12067,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12043,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 579599572,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 877760,
+ "fuse_op_getattr_count": 12067,
+ "fuse_op_getattr_nanos": 71325287,
+ "fuse_op_lookup_count": 12043,
+ "fuse_op_lookup_nanos": 139838424,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 122929676,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 31422710,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 44158376,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1197302015,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 31143222,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17943,
+ "fuse_read_lane_wait_nanos": 1713269,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43627,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1852072,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20840,
+ "lookup_base_count": 23,
+ "lookup_count": 41056,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6818,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37638,
+ "path_resolution_count": 8142,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 1731390
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-4"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 841228959,
+ "agentfs_batcher_commit_txns": 4797,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26212,
+ "attr_cache_misses": 30918,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32877,
+ "connection_wait_count": 32884,
+ "connection_wait_nanos": 11027937,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6416,
+ "fuse_adapter_attr_misses": 5667,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5297,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30620,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 552373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12083,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12043,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 579599572,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 877760,
+ "fuse_op_getattr_count": 12083,
+ "fuse_op_getattr_nanos": 71349611,
+ "fuse_op_lookup_count": 12043,
+ "fuse_op_lookup_nanos": 139838424,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 3569,
+ "fuse_op_other_nanos": 123914832,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 31422710,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 44158376,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1199532741,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 31530872,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17951,
+ "fuse_read_lane_wait_nanos": 1714501,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43667,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1853291,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20856,
+ "lookup_base_count": 23,
+ "lookup_count": 41056,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6818,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37638,
+ "path_resolution_count": 8142,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2582410
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-5"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 841228959,
+ "agentfs_batcher_commit_txns": 4797,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26212,
+ "attr_cache_misses": 30918,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32877,
+ "connection_wait_count": 32884,
+ "connection_wait_nanos": 11027937,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 9135,
+ "fuse_adapter_attr_misses": 5667,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5402,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 33444,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 552373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 14802,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12148,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 579599572,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 877760,
+ "fuse_op_getattr_count": 14802,
+ "fuse_op_getattr_nanos": 72922350,
+ "fuse_op_lookup_count": 12148,
+ "fuse_op_lookup_nanos": 139969883,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 3581,
+ "fuse_op_other_nanos": 123919406,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 31422710,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 44158376,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1199532741,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 31530872,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17951,
+ "fuse_read_lane_wait_nanos": 1714501,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 46503,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1853291,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20856,
+ "lookup_base_count": 23,
+ "lookup_count": 41056,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6923,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37638,
+ "path_resolution_count": 8142,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2582410
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-6"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 841228959,
+ "agentfs_batcher_commit_txns": 4797,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26215,
+ "attr_cache_misses": 30920,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32892,
+ "connection_wait_count": 32899,
+ "connection_wait_nanos": 11043198,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 9179,
+ "fuse_adapter_attr_misses": 5668,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5651,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 33762,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 552373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 14847,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12401,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 579599572,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 877760,
+ "fuse_op_getattr_count": 14847,
+ "fuse_op_getattr_nanos": 72995762,
+ "fuse_op_lookup_count": 12401,
+ "fuse_op_lookup_nanos": 140339347,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 123929454,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 33300787,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 44673885,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1199532741,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 31530872,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17966,
+ "fuse_read_lane_wait_nanos": 1717277,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 46857,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1853291,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20858,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7172,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2582410
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-7"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 841228959,
+ "agentfs_batcher_commit_txns": 4797,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26215,
+ "attr_cache_misses": 30920,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32895,
+ "connection_wait_count": 32902,
+ "connection_wait_nanos": 11049316,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 9179,
+ "fuse_adapter_attr_misses": 5668,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5651,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 33762,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 552373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 14847,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12401,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 579599572,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 877760,
+ "fuse_op_getattr_count": 14847,
+ "fuse_op_getattr_nanos": 72995762,
+ "fuse_op_lookup_count": 12401,
+ "fuse_op_lookup_nanos": 140339347,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 123929454,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 33300787,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 44673885,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1199532741,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 31530872,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17966,
+ "fuse_read_lane_wait_nanos": 1717277,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 46857,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1854144,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20858,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7172,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2740864
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "agentfs"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 841228959,
+ "agentfs_batcher_commit_txns": 4797,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26215,
+ "attr_cache_misses": 30920,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32895,
+ "connection_wait_count": 32902,
+ "connection_wait_nanos": 11049316,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 9179,
+ "fuse_adapter_attr_misses": 5668,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5651,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 33762,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 552373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 14847,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12401,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 579599572,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 877760,
+ "fuse_op_getattr_count": 14847,
+ "fuse_op_getattr_nanos": 72995762,
+ "fuse_op_lookup_count": 12401,
+ "fuse_op_lookup_nanos": 140339347,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 123929454,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 33300787,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 44673885,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1199532741,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 31530872,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17966,
+ "fuse_read_lane_wait_nanos": 1717277,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 46857,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1854144,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20858,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7172,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2740864
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "fuse_session"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 841228959,
+ "agentfs_batcher_commit_txns": 4797,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26215,
+ "attr_cache_misses": 30920,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32895,
+ "connection_wait_count": 32902,
+ "connection_wait_nanos": 11049316,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 9179,
+ "fuse_adapter_attr_misses": 5668,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5651,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 33762,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 552373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 14847,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12401,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 579599572,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 877760,
+ "fuse_op_getattr_count": 14847,
+ "fuse_op_getattr_nanos": 72995762,
+ "fuse_op_lookup_count": 12401,
+ "fuse_op_lookup_nanos": 140339347,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 123929454,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 33300787,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 44673885,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1199532741,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 31530872,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17966,
+ "fuse_read_lane_wait_nanos": 1717277,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 46857,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1854144,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20858,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7172,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2740864
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "run_parent"
+ }
+ ],
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "run",
+ "--session",
+ "git-workload-4d8592c65a644b99a57302f36fd3ddff",
+ "--no-default-allows",
+ "--",
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-pl9ksnf0/agentfs-base",
+ "duration_seconds": 4.414166821996332,
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 35,
+ "agentfs_batcher_commit_latency_ns_total": 829850190,
+ "agentfs_batcher_commit_txns": 4776,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4680,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4730,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9384,
+ "attr_cache_hits": 25922,
+ "attr_cache_misses": 29050,
+ "base_fast_inode_invalidations": 15027,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 968,
+ "connection_create_count": 2,
+ "connection_reuse_count": 31194,
+ "connection_wait_count": 31196,
+ "connection_wait_nanos": 10452744,
+ "dentry_cache_hits": 26031,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 92,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5283,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21782,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 39,
+ "fuse_dispatch_wait_count": 39,
+ "fuse_dispatch_wait_nanos": 418205,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52456532,
+ "fuse_flush_count": 4730,
+ "fuse_flush_ranges": 4730,
+ "fuse_getattr_count": 5026,
+ "fuse_ino_file_resolutions": 20,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11700,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 577281862,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 36,
+ "fuse_op_forget_nanos": 761283,
+ "fuse_op_getattr_count": 5026,
+ "fuse_op_getattr_nanos": 53165859,
+ "fuse_op_lookup_count": 11700,
+ "fuse_op_lookup_nanos": 135481527,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 784,
+ "fuse_op_other_nanos": 116756992,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 26555120,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 939247,
+ "fuse_op_setattr_count": 4748,
+ "fuse_op_setattr_nanos": 1181414602,
+ "fuse_op_write_count": 4820,
+ "fuse_op_write_nanos": 29006612,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16154,
+ "fuse_read_lane_wait_nanos": 1521801,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32005,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673753,
+ "fuse_write_count": 4820,
+ "fuse_write_lane_wait_count": 10203,
+ "fuse_write_lane_wait_nanos": 1784205,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19334,
+ "lookup_base_count": 23,
+ "lookup_count": 40292,
+ "lookup_delta_count": 7193,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6779,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14260,
+ "path_cache_hits": 26031,
+ "path_cache_misses": 13426,
+ "path_component_count": 32908,
+ "path_resolution_count": 7120,
+ "readdir_count": 1,
+ "readdir_plus_count": 11,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 1731390
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-1"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 833686067,
+ "agentfs_batcher_commit_txns": 4785,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4685,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9399,
+ "attr_cache_hits": 26190,
+ "attr_cache_misses": 30854,
+ "base_fast_inode_invalidations": 15078,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 983,
+ "connection_create_count": 7,
+ "connection_reuse_count": 31819,
+ "connection_wait_count": 31826,
+ "connection_wait_nanos": 10711904,
+ "dentry_cache_hits": 26104,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4670,
+ "fuse_adapter_attr_misses": 5657,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5295,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27153,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 470550,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10327,
+ "fuse_ino_file_resolutions": 23,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11749,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 578502015,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 45,
+ "fuse_op_forget_nanos": 822800,
+ "fuse_op_getattr_count": 10327,
+ "fuse_op_getattr_nanos": 69447226,
+ "fuse_op_lookup_count": 11749,
+ "fuse_op_lookup_nanos": 135995375,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 799,
+ "fuse_op_other_nanos": 119602512,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 27525290,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 1199042,
+ "fuse_op_setattr_count": 4762,
+ "fuse_op_setattr_nanos": 1185456297,
+ "fuse_op_write_count": 4829,
+ "fuse_op_write_nanos": 29208930,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16942,
+ "fuse_read_lane_wait_nanos": 1616199,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37414,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265146,
+ "fuse_write_count": 4829,
+ "fuse_write_lane_wait_count": 10245,
+ "fuse_write_lane_wait_nanos": 1822468,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20808,
+ "lookup_base_count": 23,
+ "lookup_count": 40456,
+ "lookup_delta_count": 7253,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6812,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14346,
+ "path_cache_hits": 26104,
+ "path_cache_misses": 13482,
+ "path_component_count": 33032,
+ "path_resolution_count": 7165,
+ "readdir_count": 1,
+ "readdir_plus_count": 13,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 1731390
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-2"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 840089879,
+ "agentfs_batcher_commit_txns": 4789,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26211,
+ "attr_cache_misses": 30894,
+ "base_fast_inode_invalidations": 15102,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32837,
+ "connection_wait_count": 32844,
+ "connection_wait_nanos": 11003138,
+ "dentry_cache_hits": 26124,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6331,
+ "fuse_adapter_attr_misses": 5667,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5297,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30520,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 552373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11998,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12042,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 579599572,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 877760,
+ "fuse_op_getattr_count": 11998,
+ "fuse_op_getattr_nanos": 71262778,
+ "fuse_op_lookup_count": 12042,
+ "fuse_op_lookup_nanos": 139794803,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 122929676,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 29564712,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 44158376,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1197302015,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 31143222,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17941,
+ "fuse_read_lane_wait_nanos": 1712199,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43551,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1852072,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20840,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7548,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6818,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26124,
+ "path_cache_misses": 14052,
+ "path_component_count": 37638,
+ "path_resolution_count": 8142,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 1731390
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-3"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 840089879,
+ "agentfs_batcher_commit_txns": 4789,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26212,
+ "attr_cache_misses": 30894,
+ "base_fast_inode_invalidations": 15102,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32845,
+ "connection_wait_count": 32852,
+ "connection_wait_nanos": 11014211,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6400,
+ "fuse_adapter_attr_misses": 5667,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5297,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30596,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 552373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 12067,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12043,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 579599572,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 877760,
+ "fuse_op_getattr_count": 12067,
+ "fuse_op_getattr_nanos": 71325287,
+ "fuse_op_lookup_count": 12043,
+ "fuse_op_lookup_nanos": 139838424,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 3561,
+ "fuse_op_other_nanos": 122929676,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 31422710,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 44158376,
+ "fuse_op_setattr_count": 4768,
+ "fuse_op_setattr_nanos": 1197302015,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 31143222,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17943,
+ "fuse_read_lane_wait_nanos": 1713269,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43627,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446604,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10259,
+ "fuse_write_lane_wait_nanos": 1852072,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20840,
+ "lookup_base_count": 23,
+ "lookup_count": 41056,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6818,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37638,
+ "path_resolution_count": 8142,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 1731390
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-4"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 841228959,
+ "agentfs_batcher_commit_txns": 4797,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26212,
+ "attr_cache_misses": 30918,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32877,
+ "connection_wait_count": 32884,
+ "connection_wait_nanos": 11027937,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6416,
+ "fuse_adapter_attr_misses": 5667,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5297,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30620,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 552373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12083,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12043,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 579599572,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 877760,
+ "fuse_op_getattr_count": 12083,
+ "fuse_op_getattr_nanos": 71349611,
+ "fuse_op_lookup_count": 12043,
+ "fuse_op_lookup_nanos": 139838424,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 3569,
+ "fuse_op_other_nanos": 123914832,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 31422710,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 44158376,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1199532741,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 31530872,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17951,
+ "fuse_read_lane_wait_nanos": 1714501,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43667,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1853291,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20856,
+ "lookup_base_count": 23,
+ "lookup_count": 41056,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6818,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37638,
+ "path_resolution_count": 8142,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2582410
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-5"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 841228959,
+ "agentfs_batcher_commit_txns": 4797,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26212,
+ "attr_cache_misses": 30918,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32877,
+ "connection_wait_count": 32884,
+ "connection_wait_nanos": 11027937,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 9135,
+ "fuse_adapter_attr_misses": 5667,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5402,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 33444,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 552373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 14802,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12148,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 579599572,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 877760,
+ "fuse_op_getattr_count": 14802,
+ "fuse_op_getattr_nanos": 72922350,
+ "fuse_op_lookup_count": 12148,
+ "fuse_op_lookup_nanos": 139969883,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 3581,
+ "fuse_op_other_nanos": 123919406,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 31422710,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 44158376,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1199532741,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 31530872,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17951,
+ "fuse_read_lane_wait_nanos": 1714501,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 46503,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1853291,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20856,
+ "lookup_base_count": 23,
+ "lookup_count": 41056,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6923,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14924,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37638,
+ "path_resolution_count": 8142,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2582410
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-6"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 841228959,
+ "agentfs_batcher_commit_txns": 4797,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26215,
+ "attr_cache_misses": 30920,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32892,
+ "connection_wait_count": 32899,
+ "connection_wait_nanos": 11043198,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 9179,
+ "fuse_adapter_attr_misses": 5668,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5651,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 33762,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 552373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 14847,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12401,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 579599572,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 877760,
+ "fuse_op_getattr_count": 14847,
+ "fuse_op_getattr_nanos": 72995762,
+ "fuse_op_lookup_count": 12401,
+ "fuse_op_lookup_nanos": 140339347,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 123929454,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 33300787,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 44673885,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1199532741,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 31530872,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17966,
+ "fuse_read_lane_wait_nanos": 1717277,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 46857,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10267,
+ "fuse_write_lane_wait_nanos": 1853291,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20858,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7172,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 2582410
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-7"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 841228959,
+ "agentfs_batcher_commit_txns": 4797,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26215,
+ "attr_cache_misses": 30920,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32895,
+ "connection_wait_count": 32902,
+ "connection_wait_nanos": 11049316,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 9179,
+ "fuse_adapter_attr_misses": 5668,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5651,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 33762,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 552373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 14847,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12401,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 579599572,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 877760,
+ "fuse_op_getattr_count": 14847,
+ "fuse_op_getattr_nanos": 72995762,
+ "fuse_op_lookup_count": 12401,
+ "fuse_op_lookup_nanos": 140339347,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 123929454,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 33300787,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 44673885,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1199532741,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 31530872,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17966,
+ "fuse_read_lane_wait_nanos": 1717277,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 46857,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1854144,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20858,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7172,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2740864
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "agentfs"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 841228959,
+ "agentfs_batcher_commit_txns": 4797,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26215,
+ "attr_cache_misses": 30920,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32895,
+ "connection_wait_count": 32902,
+ "connection_wait_nanos": 11049316,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 9179,
+ "fuse_adapter_attr_misses": 5668,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5651,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 33762,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 552373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 14847,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12401,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 579599572,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 877760,
+ "fuse_op_getattr_count": 14847,
+ "fuse_op_getattr_nanos": 72995762,
+ "fuse_op_lookup_count": 12401,
+ "fuse_op_lookup_nanos": 140339347,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 123929454,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 33300787,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 44673885,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1199532741,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 31530872,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17966,
+ "fuse_read_lane_wait_nanos": 1717277,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 46857,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1854144,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20858,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7172,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2740864
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "fuse_session"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 41,
+ "agentfs_batcher_commit_latency_ns_total": 841228959,
+ "agentfs_batcher_commit_txns": 4797,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 18,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1359872,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26215,
+ "attr_cache_misses": 30920,
+ "base_fast_inode_invalidations": 15118,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1003,
+ "connection_create_count": 7,
+ "connection_reuse_count": 32895,
+ "connection_wait_count": 32902,
+ "connection_wait_nanos": 11049316,
+ "dentry_cache_hits": 26129,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 9179,
+ "fuse_adapter_attr_misses": 5668,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5651,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 33762,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 8,
+ "fuse_dispatch_parallel_tasks": 52,
+ "fuse_dispatch_wait_count": 52,
+ "fuse_dispatch_wait_nanos": 552373,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 14847,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12401,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 579599572,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 1285,
+ "fuse_op_forget_count": 49,
+ "fuse_op_forget_nanos": 877760,
+ "fuse_op_getattr_count": 14847,
+ "fuse_op_getattr_nanos": 72995762,
+ "fuse_op_lookup_count": 12401,
+ "fuse_op_lookup_nanos": 140339347,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1039,
+ "fuse_op_other_count": 3617,
+ "fuse_op_other_nanos": 123929454,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 33300787,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 44673885,
+ "fuse_op_setattr_count": 4776,
+ "fuse_op_setattr_nanos": 1199532741,
+ "fuse_op_write_count": 4847,
+ "fuse_op_write_nanos": 31530872,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17966,
+ "fuse_read_lane_wait_nanos": 1717277,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 46857,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54453002,
+ "fuse_write_count": 4847,
+ "fuse_write_lane_wait_count": 10269,
+ "fuse_write_lane_wait_nanos": 1854144,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20858,
+ "lookup_base_count": 23,
+ "lookup_count": 41064,
+ "lookup_delta_count": 7553,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7172,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14926,
+ "path_cache_hits": 26129,
+ "path_cache_misses": 14054,
+ "path_component_count": 37680,
+ "path_resolution_count": 8152,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 2740864
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "run_parent"
+ }
+ ],
+ "returncode": 0,
+ "stderr_bytes": 40585,
+ "stderr_tail": "ueues\":4754,\"agentfs_batcher_pending_max_bytes\":1359872,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9411,\"attr_cache_hits\":26212,\"attr_cache_misses\":30918,\"base_fast_inode_invalidations\":15118,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":267,\"chunk_read_queries\":122,\"chunk_write_chunks\":1003,\"connection_create_count\":7,\"connection_reuse_count\":32877,\"connection_wait_count\":32884,\"connection_wait_nanos\":11027937,\"dentry_cache_hits\":26125,\"dentry_cache_misses\":14052,\"fuse_adapter_attr_hits\":9135,\"fuse_adapter_attr_misses\":5667,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6734,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5402,\"fuse_adapter_negative_misses\":6734,\"fuse_callback_count\":33444,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":8,\"fuse_dispatch_parallel_tasks\":52,\"fuse_dispatch_wait_count\":52,\"fuse_dispatch_wait_nanos\":552373,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":14802,\"fuse_ino_file_resolutions\":26,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12148,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":579599572,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":1285,\"fuse_op_forget_count\":49,\"fuse_op_forget_nanos\":877760,\"fuse_op_getattr_count\":14802,\"fuse_op_getattr_nanos\":72922350,\"fuse_op_lookup_count\":12148,\"fuse_op_lookup_nanos\":139969883,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1039,\"fuse_op_other_count\":3581,\"fuse_op_other_nanos\":123919406,\"fuse_op_read_count\":239,\"fuse_op_read_nanos\":31422710,\"fuse_op_readdirplus_count\":1407,\"fuse_op_readdirplus_nanos\":44158376,\"fuse_op_setattr_count\":4776,\"fuse_op_setattr_nanos\":1199532741,\"fuse_op_write_count\":4847,\"fuse_op_write_nanos\":31530872,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":239,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17951,\"fuse_read_lane_wait_nanos\":1714501,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1407,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":46503,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4847,\"fuse_write_lane_wait_count\":10267,\"fuse_write_lane_wait_nanos\":1853291,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20856,\"lookup_base_count\":23,\"lookup_count\":41056,\"lookup_delta_count\":7549,\"lookup_whiteout_count\":0,\"negative_cache_hits\":6923,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46085,\"negative_lookup_count\":14924,\"path_cache_hits\":26125,\"path_cache_misses\":14052,\"path_component_count\":37638,\"path_resolution_count\":8142,\"readdir_count\":1,\"readdir_plus_count\":701,\"wal_checkpoint_count\":11,\"wal_checkpoint_nanos\":2582410},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"phase-checkpoint-6\"}\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":841228959,\"agentfs_batcher_commit_txns\":4797,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4695,\"agentfs_batcher_drains_timer\":18,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1359872,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9411,\"attr_cache_hits\":26215,\"attr_cache_misses\":30920,\"base_fast_inode_invalidations\":15118,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1003,\"connection_create_count\":7,\"connection_reuse_count\":32892,\"connection_wait_count\":32899,\"connection_wait_nanos\":11043198,\"dentry_cache_hits\":26129,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":9179,\"fuse_adapter_attr_misses\":5668,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5651,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":33762,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":8,\"fuse_dispatch_parallel_tasks\":52,\"fuse_dispatch_wait_count\":52,\"fuse_dispatch_wait_nanos\":552373,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":14847,\"fuse_ino_file_resolutions\":27,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12401,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":579599572,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":1285,\"fuse_op_forget_count\":49,\"fuse_op_forget_nanos\":877760,\"fuse_op_getattr_count\":14847,\"fuse_op_getattr_nanos\":72995762,\"fuse_op_lookup_count\":12401,\"fuse_op_lookup_nanos\":140339347,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1039,\"fuse_op_other_count\":3617,\"fuse_op_other_nanos\":123929454,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":33300787,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":44673885,\"fuse_op_setattr_count\":4776,\"fuse_op_setattr_nanos\":1199532741,\"fuse_op_write_count\":4847,\"fuse_op_write_nanos\":31530872,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17966,\"fuse_read_lane_wait_nanos\":1717277,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":46857,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4847,\"fuse_write_lane_wait_count\":10267,\"fuse_write_lane_wait_nanos\":1853291,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20858,\"lookup_base_count\":23,\"lookup_count\":41064,\"lookup_delta_count\":7553,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7172,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14926,\"path_cache_hits\":26129,\"path_cache_misses\":14054,\"path_component_count\":37680,\"path_resolution_count\":8152,\"readdir_count\":1,\"readdir_plus_count\":710,\"wal_checkpoint_count\":11,\"wal_checkpoint_nanos\":2582410},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"phase-checkpoint-7\"}\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":841228959,\"agentfs_batcher_commit_txns\":4797,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4695,\"agentfs_batcher_drains_timer\":18,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1359872,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9411,\"attr_cache_hits\":26215,\"attr_cache_misses\":30920,\"base_fast_inode_invalidations\":15118,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1003,\"connection_create_count\":7,\"connection_reuse_count\":32895,\"connection_wait_count\":32902,\"connection_wait_nanos\":11049316,\"dentry_cache_hits\":26129,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":9179,\"fuse_adapter_attr_misses\":5668,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5651,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":33762,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":8,\"fuse_dispatch_parallel_tasks\":52,\"fuse_dispatch_wait_count\":52,\"fuse_dispatch_wait_nanos\":552373,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":14847,\"fuse_ino_file_resolutions\":27,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12401,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":579599572,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":1285,\"fuse_op_forget_count\":49,\"fuse_op_forget_nanos\":877760,\"fuse_op_getattr_count\":14847,\"fuse_op_getattr_nanos\":72995762,\"fuse_op_lookup_count\":12401,\"fuse_op_lookup_nanos\":140339347,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1039,\"fuse_op_other_count\":3617,\"fuse_op_other_nanos\":123929454,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":33300787,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":44673885,\"fuse_op_setattr_count\":4776,\"fuse_op_setattr_nanos\":1199532741,\"fuse_op_write_count\":4847,\"fuse_op_write_nanos\":31530872,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17966,\"fuse_read_lane_wait_nanos\":1717277,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":46857,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4847,\"fuse_write_lane_wait_count\":10269,\"fuse_write_lane_wait_nanos\":1854144,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20858,\"lookup_base_count\":23,\"lookup_count\":41064,\"lookup_delta_count\":7553,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7172,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14926,\"path_cache_hits\":26129,\"path_cache_misses\":14054,\"path_component_count\":37680,\"path_resolution_count\":8152,\"readdir_count\":1,\"readdir_plus_count\":710,\"wal_checkpoint_count\":13,\"wal_checkpoint_nanos\":2740864},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"agentfs\"}\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":841228959,\"agentfs_batcher_commit_txns\":4797,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4695,\"agentfs_batcher_drains_timer\":18,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1359872,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9411,\"attr_cache_hits\":26215,\"attr_cache_misses\":30920,\"base_fast_inode_invalidations\":15118,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1003,\"connection_create_count\":7,\"connection_reuse_count\":32895,\"connection_wait_count\":32902,\"connection_wait_nanos\":11049316,\"dentry_cache_hits\":26129,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":9179,\"fuse_adapter_attr_misses\":5668,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5651,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":33762,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":8,\"fuse_dispatch_parallel_tasks\":52,\"fuse_dispatch_wait_count\":52,\"fuse_dispatch_wait_nanos\":552373,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":14847,\"fuse_ino_file_resolutions\":27,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12401,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":579599572,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":1285,\"fuse_op_forget_count\":49,\"fuse_op_forget_nanos\":877760,\"fuse_op_getattr_count\":14847,\"fuse_op_getattr_nanos\":72995762,\"fuse_op_lookup_count\":12401,\"fuse_op_lookup_nanos\":140339347,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1039,\"fuse_op_other_count\":3617,\"fuse_op_other_nanos\":123929454,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":33300787,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":44673885,\"fuse_op_setattr_count\":4776,\"fuse_op_setattr_nanos\":1199532741,\"fuse_op_write_count\":4847,\"fuse_op_write_nanos\":31530872,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17966,\"fuse_read_lane_wait_nanos\":1717277,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":46857,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4847,\"fuse_write_lane_wait_count\":10269,\"fuse_write_lane_wait_nanos\":1854144,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20858,\"lookup_base_count\":23,\"lookup_count\":41064,\"lookup_delta_count\":7553,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7172,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14926,\"path_cache_hits\":26129,\"path_cache_misses\":14054,\"path_component_count\":37680,\"path_resolution_count\":8152,\"readdir_count\":1,\"readdir_plus_count\":710,\"wal_checkpoint_count\":13,\"wal_checkpoint_nanos\":2740864},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"fuse_session\"}\n\nSession: git-workload-4d8592c65a644b99a57302f36fd3ddff\n\nTo resume this session:\n agentfs run --session git-workload-4d8592c65a644b99a57302f36fd3ddff\n\nTo see what changed:\n agentfs diff git-workload-4d8592c65a644b99a57302f36fd3ddff\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":41,\"agentfs_batcher_commit_latency_ns_total\":841228959,\"agentfs_batcher_commit_txns\":4797,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4695,\"agentfs_batcher_drains_timer\":18,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1359872,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9411,\"attr_cache_hits\":26215,\"attr_cache_misses\":30920,\"base_fast_inode_invalidations\":15118,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1003,\"connection_create_count\":7,\"connection_reuse_count\":32895,\"connection_wait_count\":32902,\"connection_wait_nanos\":11049316,\"dentry_cache_hits\":26129,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":9179,\"fuse_adapter_attr_misses\":5668,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5651,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":33762,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":8,\"fuse_dispatch_parallel_tasks\":52,\"fuse_dispatch_wait_count\":52,\"fuse_dispatch_wait_nanos\":552373,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":14847,\"fuse_ino_file_resolutions\":27,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12401,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":579599572,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":1285,\"fuse_op_forget_count\":49,\"fuse_op_forget_nanos\":877760,\"fuse_op_getattr_count\":14847,\"fuse_op_getattr_nanos\":72995762,\"fuse_op_lookup_count\":12401,\"fuse_op_lookup_nanos\":140339347,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1039,\"fuse_op_other_count\":3617,\"fuse_op_other_nanos\":123929454,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":33300787,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":44673885,\"fuse_op_setattr_count\":4776,\"fuse_op_setattr_nanos\":1199532741,\"fuse_op_write_count\":4847,\"fuse_op_write_nanos\":31530872,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17966,\"fuse_read_lane_wait_nanos\":1717277,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":46857,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54453002,\"fuse_write_count\":4847,\"fuse_write_lane_wait_count\":10269,\"fuse_write_lane_wait_nanos\":1854144,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20858,\"lookup_base_count\":23,\"lookup_count\":41064,\"lookup_delta_count\":7553,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7172,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14926,\"path_cache_hits\":26129,\"path_cache_misses\":14054,\"path_component_count\":37680,\"path_resolution_count\":8152,\"readdir_count\":1,\"readdir_plus_count\":710,\"wal_checkpoint_count\":13,\"wal_checkpoint_nanos\":2740864},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"run_parent\"}\n",
+ "stdout_bytes": 18988,
+ "stdout_tail": "2026-07-03T11:39:26.374842Z INFO agentfs::fuser::session: resolved FUSE dispatch mode: parallel workers=7 queue_capacity=28\n2026-07-03T11:39:26.375121Z INFO agentfs::fuse: advertising FUSE_OVER_IO_URING\n2026-07-03T11:39:26.375284Z INFO agentfs::fuser::uring: starting fuse-over-io_uring queues nr_queues=14 depth=4\n2026-07-03T11:39:27.800251Z WARN agentfs::fuser::request: Request RequestId(24209): Failed to send reply: No such file or directory (os error 2)\n2026-07-03T11:39:28.800243Z WARN agentfs::fuser::request: Request RequestId(47729): Failed to send reply: No such file or directory (os error 2)\n{\"branch_status\": \"## agentfs-benchmark\\n\", \"diff\": {\"changed_file_count\": 8, \"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.09339736700349022, \"patch_bytes\": 3282, \"patch_sha256\": \"51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc\", \"runs\": {\"name_only\": {\"argv\": [\"git\", \"diff\", \"--name-only\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-pl9ksnf0/agentfs-base/work\", \"duration_seconds\": 0.03133171200170182, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 144, \"stdout_tail\": \"docs/CLA.md\\ndocs/agents_md.md\\ndocs/authentication.md\\ndocs/config.md\\ndocs/contributing.md\\ndocs/example-config.md\\ndocs/exec.md\\ndocs/execpolicy.md\\n\"}, \"patch\": {\"argv\": [\"git\", \"diff\", \"--\", \".\"], \"cwd\": \"/tmp/agentfs-git-workload-pl9ksnf0/agentfs-base/work\", \"duration_seconds\": 0.030068980006035417, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 3282, \"stdout_tail\": \"diff --git a/docs/CLA.md b/docs/CLA.md\\nindex 804f202..3495ac9 100644\\n--- a/docs/CLA.md\\n+++ b/docs/CLA.md\\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\\n This Agreement is governed by the laws of the **State of California**, USA,\\n excluding its conflict\\u2011of\\u2011laws rules. If any provision is held unenforceable,\\n the remaining provisions remain in force.\\n+\\n+AgentFS Git benchmark edit 00 for docs/CLA.md\\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\\nindex 3df0fac..b8b063d 100644\\n--- a/docs/agents_md.md\\n+++ b/docs/agents_md.md\\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\\n ## Hierarchical agents message\\n \\n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\\n+\\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\\ndiff --git a/docs/authentication.md b/docs/authentication.md\\nindex c307349..b3bc9dc 100644\\n--- a/docs/authentication.md\\n+++ b/docs/authentication.md\\n@@ -1,3 +1,5 @@\\n # Authentication\\n \\n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\\n+\\n+AgentFS Git benchmark edit 02 for docs/authentication.md\\ndiff --git a/docs/config.md b/docs/config.md\\nindex d35b0a8..030e278 100644\\n--- a/docs/config.md\\n+++ b/docs/config.md\\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\\n still allowing managed hooks from requirements and managed config layers. This\\n setting is only supported in `requirements.toml`; putting it in `config.toml`\\n does not enable managed-hooks-only mode.\\n+\\n+AgentFS Git benchmark edit 03 for docs/config.md\\ndiff --git a/docs/contributing.md b/docs/contributing.md\\nindex aeae1f1..b5a22ac 100644\\n--- a/docs/contributing.md\\n+++ b/docs/contributing.md\\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\\n ### Security & responsible AI\\n \\n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\\n+\\n+AgentFS Git benchmark edit 04 for docs/contributing.md\\ndiff --git a/docs/example-config.md b/docs/example-config.md\\nindex 84b1143..b09f835 100644\\n--- a/docs/example-config.md\\n+++ b/docs/example-config.md\\n@@ -1,3 +1,5 @@\\n # Sample configuration\\n \\n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\\n+\\n+AgentFS Git benchmark edit 05 for docs/example-config.md\\ndiff --git a/docs/exec.md b/docs/exec.md\\nindex 57e4323..a81da98 100644\\n--- a/docs/exec.md\\n+++ b/docs/exec.md\\n@@ -1,3 +1,5 @@\\n # Non-interactive mode\\n \\n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\\n+\\n+AgentFS Git benchmark edit 06 for docs/exec.md\\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\\nindex cafebb3..3b48afe 100644\\n--- a/docs/execpolicy.md\\n+++ b/docs/execpolicy.md\\n@@ -1,3 +1,5 @@\\n # Execution policy\\n \\n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\\n+\\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\\n\"}, \"stat\": {\"argv\": [\"git\", \"diff\", \"--stat\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-pl9ksnf0/agentfs-base/work\", \"duration_seconds\": 0.03194412399898283, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 283, \"stdout_tail\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}}, \"stat_stdout\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}, \"edits\": {\"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.0046512179978890345, \"edits\": [{\"appended_bytes\": 47, \"path\": \"docs/CLA.md\", \"size_after\": 2106, \"size_before\": 2059}, {\"appended_bytes\": 53, \"path\": \"docs/agents_md.md\", \"size_after\": 462, \"size_before\": 409}, {\"appended_bytes\": 58, \"path\": \"docs/authentication.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 50, \"path\": \"docs/config.md\", \"size_after\": 776, \"size_before\": 726}, {\"appended_bytes\": 56, \"path\": \"docs/contributing.md\", \"size_after\": 6380, \"size_before\": 6324}, {\"appended_bytes\": 58, \"path\": \"docs/example-config.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 48, \"path\": \"docs/exec.md\", \"size_after\": 194, \"size_before\": 146}, {\"appended_bytes\": 54, \"path\": \"docs/execpolicy.md\", \"size_after\": 192, \"size_before\": 138}]}, \"fsck\": {\"ok\": true, \"ran\": true, \"run\": {\"argv\": [\"git\", \"fsck\", \"--strict\"], \"cwd\": \"/tmp/agentfs-git-workload-pl9ksnf0/agentfs-base/work\", \"duration_seconds\": 0.19824458299262915, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}, \"head_commit\": \"7d47056ea42636271ac020b86347fbbef49490aa\", \"initial_status\": \"\", \"phase_runs\": {\"checkout\": {\"argv\": [\"git\", \"checkout\", \"-B\", \"agentfs-benchmark\"], \"cwd\": \"/tmp/agentfs-git-workload-pl9ksnf0/agentfs-base/work\", \"duration_seconds\": 0.06816758299828507, \"returncode\": 0, \"stderr_bytes\": 45, \"stderr_tail\": \"Switched to a new branch 'agentfs-benchmark'\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"clone\": {\"argv\": [\"git\", \"clone\", \"--local\", \"--no-hardlinks\", \"/tmp/agentfs-git-workload-pl9ksnf0/agentfs-base/mirror.git\", \"/tmp/agentfs-git-workload-pl9ksnf0/agentfs-base/work\"], \"cwd\": \"/tmp/agentfs-git-workload-pl9ksnf0/agentfs-base\", \"duration_seconds\": 3.0392134730063844, \"returncode\": 0, \"stderr_bytes\": 2406, \"stderr_tail\": \"Cloning into '/tmp/agentfs-git-workload-pl9ksnf0/agentfs-base/work'...\\nwarning: source repository is shallow, ignoring --local\\nwarning: --local is ignored\\nUpdating files: 35% (1627/4644)\\nUpdating files: 36% (1672/4644)\\nUpdating files: 37% (1719/4644)\\nUpdating files: 38% (1765/4644)\\nUpdating files: 39% (1812/4644)\\nUpdating files: 40% (1858/4644)\\nUpdating files: 41% (1905/4644)\\nUpdating files: 42% (1951/4644)\\nUpdating files: 43% (1997/4644)\\nUpdating files: 44% (2044/4644)\\nUpdating files: 45% (2090/4644)\\nUpdating files: 46% (2137/4644)\\nUpdating files: 47% (2183/4644)\\nUpdating files: 48% (2230/4644)\\nUpdating files: 49% (2276/4644)\\nUpdating files: 50% (2322/4644)\\nUpdating files: 51% (2369/4644)\\nUpdating files: 52% (2415/4644)\\nUpdating files: 53% (2462/4644)\\nUpdating files: 54% (2508/4644)\\nUpdating files: 55% (2555/4644)\\nUpdating files: 56% (2601/4644)\\nUpdating files: 57% (2648/4644)\\nUpdating files: 58% (2694/4644)\\nUpdating files: 59% (2740/4644)\\nUpdating files: 60% (2787/4644)\\nUpdating files: 61% (2833/4644)\\nUpdating files: 62% (2880/4644)\\nUpdating files: 63% (2926/4644)\\nUpdating files: 64% (2973/4644)\\nUpdating files: 65% (3019/4644)\\nUpdating files: 66% (3066/4644)\\nUpdating files: 67% (3112/4644)\\nUpdating files: 68% (3158/4644)\\nUpdating files: 69% (3205/4644)\\nUpdating files: 70% (3251/4644)\\nUpdating files: 71% (3298/4644)\\nUpdating files: 72% (3344/4644)\\nUpdating files: 73% (3391/4644)\\nUpdating files: 73% (3395/4644)\\nUpdating files: 74% (3437/4644)\\nUpdating files: 75% (3483/4644)\\nUpdating files: 76% (3530/4644)\\nUpdating files: 77% (3576/4644)\\nUpdating files: 78% (3623/4644)\\nUpdating files: 79% (3669/4644)\\nUpdating files: 80% (3716/4644)\\nUpdating files: 81% (3762/4644)\\nUpdating files: 82% (3809/4644)\\nUpdating files: 83% (3855/4644)\\nUpdating files: 84% (3901/4644)\\nUpdating files: 85% (3948/4644)\\nUpdating files: 86% (3994/4644)\\nUpdating files: 87% (4041/4644)\\nUpdating files: 88% (4087/4644)\\nUpdating files: 89% (4134/4644)\\nUpdating files: 90% (4180/4644)\\nUpdating files: 91% (4227/4644)\\nUpdating files: 92% (4273/4644)\\nUpdating files: 93% (4319/4644)\\nUpdating files: 94% (4366/4644)\\nUpdating files: 95% (4412/4644)\\nUpdating files: 96% (4459/4644)\\nUpdating files: 97% (4505/4644)\\nUpdating files: 98% (4552/4644)\\nUpdating files: 99% (4598/4644)\\nUpdating files: 100% (4644/4644)\\nUpdating files: 100% (4644/4644), done.\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"status\": {\"branch\": {\"argv\": [\"git\", \"status\", \"--short\", \"--branch\"], \"cwd\": \"/tmp/agentfs-git-workload-pl9ksnf0/agentfs-base/work\", \"duration_seconds\": 0.051957800998934545, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 21, \"stdout_tail\": \"## agentfs-benchmark\\n\"}, \"short\": {\"argv\": [\"git\", \"status\", \"--short\"], \"cwd\": \"/tmp/agentfs-git-workload-pl9ksnf0/agentfs-base/work\", \"duration_seconds\": 0.11781196799711324, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}}, \"phase_seconds\": {\"checkout\": 0.07058002799749374, \"clone\": 3.039248861998203, \"diff\": 0.09339736700349022, \"edit\": 0.0046512179978890345, \"fsck\": 0.19825839099939913, \"read_search\": 0.009133929008385167, \"status\": 0.16980370599776506}, \"profile_checkpoints\": [\"clone\", \"checkout\", \"status\", \"read_search\", \"edit\", \"diff\", \"fsck\"], \"read_search\": {\"bytes_read\": 117190, \"digest\": \"6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53\", \"files_scanned\": 64, \"files_total\": 4644, \"ls_files_run\": {\"argv\": [\"git\", \"ls-files\", \"-z\"], \"cwd\": \"/tmp/agentfs-git-workload-pl9ksnf0/agentfs-base/work\", \"duration_seconds\": 0.0061758600058965385, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 263077, \"stdout_tail\": \"i_codex/api.py\\u0000sdk/python/src/openai_codex/async_client.py\\u0000sdk/python/src/openai_codex/client.py\\u0000sdk/python/src/openai_codex/errors.py\\u0000sdk/python/src/openai_codex/generated/__init__.py\\u0000sdk/python/src/openai_codex/generated/notification_registry.py\\u0000sdk/python/src/openai_codex/generated/v2_all.py\\u0000sdk/python/src/openai_codex/models.py\\u0000sdk/python/src/openai_codex/py.typed\\u0000sdk/python/src/openai_codex/retry.py\\u0000sdk/python/src/openai_codex/types.py\\u0000sdk/python/tests/app_server_harness.py\\u0000sdk/python/tests/app_server_helpers.py\\u0000sdk/python/tests/conftest.py\\u0000sdk/python/tests/test_app_server_approvals.py\\u0000sdk/python/tests/test_app_server_inputs.py\\u0000sdk/python/tests/test_app_server_lifecycle.py\\u0000sdk/python/tests/test_app_server_login.py\\u0000sdk/python/tests/test_app_server_run.py\\u0000sdk/python/tests/test_app_server_streaming.py\\u0000sdk/python/tests/test_app_server_turn_controls.py\\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\\u0000sdk/python/tests/test_async_client_behavior.py\\u0000sdk/python/tests/test_client_rpc_methods.py\\u0000sdk/python/tests/test_contract_generation.py\\u0000sdk/python/tests/test_public_api_runtime_behavior.py\\u0000sdk/python/tests/test_public_api_signatures.py\\u0000sdk/python/tests/test_real_app_server_integration.py\\u0000sdk/python/uv.lock\\u0000sdk/typescript/.prettierignore\\u0000sdk/typescript/.prettierrc\\u0000sdk/typescript/README.md\\u0000sdk/typescript/eslint.config.js\\u0000sdk/typescript/jest.config.cjs\\u0000sdk/typescript/package.json\\u0000sdk/typescript/samples/basic_streaming.ts\\u0000sdk/typescript/samples/helpers.ts\\u0000sdk/typescript/samples/structured_output.ts\\u0000sdk/typescript/samples/structured_output_zod.ts\\u0000sdk/typescript/src/codex.ts\\u0000sdk/typescript/src/codexOptions.ts\\u0000sdk/typescript/src/events.ts\\u0000sdk/typescript/src/exec.ts\\u0000sdk/typescript/src/index.ts\\u0000sdk/typescript/src/items.ts\\u0000sdk/typescript/src/outputSchemaFile.ts\\u0000sdk/typescript/src/thread.ts\\u0000sdk/typescript/src/threadOptions.ts\\u0000sdk/typescript/src/turnOptions.ts\\u0000sdk/typescript/tests/abort.test.ts\\u0000sdk/typescript/tests/codexExecSpy.ts\\u0000sdk/typescript/tests/exec.test.ts\\u0000sdk/typescript/tests/responsesProxy.ts\\u0000sdk/typescript/tests/run.test.ts\\u0000sdk/typescript/tests/runStreamed.test.ts\\u0000sdk/typescript/tests/setupCodexHome.ts\\u0000sdk/typescript/tests/testCodex.ts\\u0000sdk/typescript/tsconfig.json\\u0000sdk/typescript/tsup.config.ts\\u0000third_party/v8/BUILD.bazel\\u0000third_party/v8/README.md\\u0000third_party/v8/libcxx.BUILD.bazel\\u0000third_party/v8/libcxx_config/BUILD.bazel\\u0000third_party/v8/libcxx_config/__assertion_handler\\u0000third_party/v8/libcxx_config/__config_site\\u0000third_party/v8/libcxxabi.BUILD.bazel\\u0000third_party/v8/llvm_libc.BUILD.bazel\\u0000third_party/v8/rusty_v8_147_4_0.sha256\\u0000third_party/v8/v8_crate.BUILD.bazel\\u0000third_party/wezterm/LICENSE\\u0000tools/argument-comment-lint/.cargo/config.toml\\u0000tools/argument-comment-lint/.gitignore\\u0000tools/argument-comment-lint/BUILD.bazel\\u0000tools/argument-comment-lint/Cargo.lock\\u0000tools/argument-comment-lint/Cargo.toml\\u0000tools/argument-comment-lint/README.md\\u0000tools/argument-comment-lint/argument-comment-lint\\u0000tools/argument-comment-lint/driver.rs\\u0000tools/argument-comment-lint/lint_aspect.bzl\\u0000tools/argument-comment-lint/list-bazel-targets.sh\\u0000tools/argument-comment-lint/run-prebuilt-linter.py\\u0000tools/argument-comment-lint/run.py\\u0000tools/argument-comment-lint/rust-toolchain\\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\\u0000tools/argument-comment-lint/src/comment_parser.rs\\u0000tools/argument-comment-lint/src/lib.rs\\u0000tools/argument-comment-lint/test_wrapper_common.py\\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\\u0000tools/argument-comment-lint/ui/comment_matches.rs\\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\\u0000tools/argument-comment-lint/wrapper_common.py\\u0000workspace_root_test_launcher.bat.tpl\\u0000workspace_root_test_launcher.sh.tpl\\u0000\"}, \"matches\": 0, \"selected_files\": [\".bazelignore\", \".bazelrc\", \".bazelversion\", \".codespellignore\", \".codespellrc\", \".codex/environments/environment.toml\", \".codex/skills/babysit-pr/SKILL.md\", \".codex/skills/babysit-pr/agents/openai.yaml\", \".codex/skills/babysit-pr/references/github-api-notes.md\", \".codex/skills/babysit-pr/references/heuristics.md\", \".codex/skills/babysit-pr/scripts/gh_pr_watch.py\", \".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py\", \".codex/skills/code-review-breaking-changes/SKILL.md\", \".codex/skills/code-review-change-size/SKILL.md\", \".codex/skills/code-review-context/SKILL.md\", \".codex/skills/code-review-testing/SKILL.md\", \".codex/skills/code-review/SKILL.md\", \".codex/skills/codex-bug/SKILL.md\", \".codex/skills/codex-issue-digest/SKILL.md\", \".codex/skills/codex-issue-digest/agents/openai.yaml\", \".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py\", \".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py\", \".codex/skills/codex-pr-body/SKILL.md\", \".codex/skills/remote-tests/SKILL.md\", \".codex/skills/test-tui/SKILL.md\", \".codex/skills/update-v8-version/SKILL.md\", \".codex/skills/update-v8-version/agents/openai.yaml\", \".devcontainer/Dockerfile\", \".devcontainer/Dockerfile.secure\", \".devcontainer/README.md\", \".devcontainer/codex-install/package.json\", \".devcontainer/codex-install/pnpm-lock.yaml\", \".devcontainer/codex-install/pnpm-workspace.yaml\", \".devcontainer/devcontainer.json\", \".devcontainer/devcontainer.secure.json\", \".devcontainer/init-firewall.sh\", \".devcontainer/post-start.sh\", \".devcontainer/post_install.py\", \".gitattributes\", \".github/CODEOWNERS\", \".github/ISSUE_TEMPLATE/1-codex-app.yml\", \".github/ISSUE_TEMPLATE/2-extension.yml\", \".github/ISSUE_TEMPLATE/3-cli.yml\", \".github/ISSUE_TEMPLATE/4-bug-report.yml\", \".github/ISSUE_TEMPLATE/5-feature-request.yml\", \".github/ISSUE_TEMPLATE/6-docs-issue.yml\", \".github/actions/linux-code-sign/action.yml\", \".github/actions/macos-code-sign/action.yml\", \".github/actions/macos-code-sign/codex.entitlements.plist\", \".github/actions/macos-code-sign/notary_helpers.sh\", \".github/actions/prepare-bazel-ci/action.yml\", \".github/actions/run-argument-comment-lint/action.yml\", \".github/actions/setup-bazel-ci/action.yml\", \".github/actions/setup-msvc-env/action.yml\", \".github/actions/setup-msvc-env/setup-msvc-env.ps1\", \".github/actions/setup-rusty-v8/action.yml\", \".github/actions/windows-code-sign/action.yml\", \".github/blob-size-allowlist.txt\", \".github/codex-cli-splash.png\", \".github/codex/home/config.toml\", \".github/codex/labels/codex-attempt.md\", \".github/codex/labels/codex-review.md\", \".github/codex/labels/codex-rust-review.md\", \".github/codex/labels/codex-triage.md\"], \"token\": \"AGENTFS_TOKEN\"}, \"total_seconds\": 4.286349337999127}\n",
+ "timed_out": false
+ },
+ "workload": {
+ "branch_status": "## agentfs-benchmark\n",
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.09339736700349022,
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc",
+ "runs": {
+ "name_only": {
+ "argv": [
+ "git",
+ "diff",
+ "--name-only",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-pl9ksnf0/agentfs-base/work",
+ "duration_seconds": 0.03133171200170182,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 144,
+ "stdout_tail": "docs/CLA.md\ndocs/agents_md.md\ndocs/authentication.md\ndocs/config.md\ndocs/contributing.md\ndocs/example-config.md\ndocs/exec.md\ndocs/execpolicy.md\n"
+ },
+ "patch": {
+ "argv": [
+ "git",
+ "diff",
+ "--",
+ "."
+ ],
+ "cwd": "/tmp/agentfs-git-workload-pl9ksnf0/agentfs-base/work",
+ "duration_seconds": 0.030068980006035417,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 3282,
+ "stdout_tail": "diff --git a/docs/CLA.md b/docs/CLA.md\nindex 804f202..3495ac9 100644\n--- a/docs/CLA.md\n+++ b/docs/CLA.md\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\n This Agreement is governed by the laws of the **State of California**, USA,\n excluding its conflict\u2011of\u2011laws rules. If any provision is held unenforceable,\n the remaining provisions remain in force.\n+\n+AgentFS Git benchmark edit 00 for docs/CLA.md\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\nindex 3df0fac..b8b063d 100644\n--- a/docs/agents_md.md\n+++ b/docs/agents_md.md\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\n ## Hierarchical agents message\n \n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\n+\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\ndiff --git a/docs/authentication.md b/docs/authentication.md\nindex c307349..b3bc9dc 100644\n--- a/docs/authentication.md\n+++ b/docs/authentication.md\n@@ -1,3 +1,5 @@\n # Authentication\n \n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\n+\n+AgentFS Git benchmark edit 02 for docs/authentication.md\ndiff --git a/docs/config.md b/docs/config.md\nindex d35b0a8..030e278 100644\n--- a/docs/config.md\n+++ b/docs/config.md\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\n still allowing managed hooks from requirements and managed config layers. This\n setting is only supported in `requirements.toml`; putting it in `config.toml`\n does not enable managed-hooks-only mode.\n+\n+AgentFS Git benchmark edit 03 for docs/config.md\ndiff --git a/docs/contributing.md b/docs/contributing.md\nindex aeae1f1..b5a22ac 100644\n--- a/docs/contributing.md\n+++ b/docs/contributing.md\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\n ### Security & responsible AI\n \n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\n+\n+AgentFS Git benchmark edit 04 for docs/contributing.md\ndiff --git a/docs/example-config.md b/docs/example-config.md\nindex 84b1143..b09f835 100644\n--- a/docs/example-config.md\n+++ b/docs/example-config.md\n@@ -1,3 +1,5 @@\n # Sample configuration\n \n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\n+\n+AgentFS Git benchmark edit 05 for docs/example-config.md\ndiff --git a/docs/exec.md b/docs/exec.md\nindex 57e4323..a81da98 100644\n--- a/docs/exec.md\n+++ b/docs/exec.md\n@@ -1,3 +1,5 @@\n # Non-interactive mode\n \n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\n+\n+AgentFS Git benchmark edit 06 for docs/exec.md\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\nindex cafebb3..3b48afe 100644\n--- a/docs/execpolicy.md\n+++ b/docs/execpolicy.md\n@@ -1,3 +1,5 @@\n # Execution policy\n \n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\n+\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\n"
+ },
+ "stat": {
+ "argv": [
+ "git",
+ "diff",
+ "--stat",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-pl9ksnf0/agentfs-base/work",
+ "duration_seconds": 0.03194412399898283,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 283,
+ "stdout_tail": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ }
+ },
+ "stat_stdout": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.0046512179978890345,
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true,
+ "run": {
+ "argv": [
+ "git",
+ "fsck",
+ "--strict"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-pl9ksnf0/agentfs-base/work",
+ "duration_seconds": 0.19824458299262915,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "phase_runs": {
+ "checkout": {
+ "argv": [
+ "git",
+ "checkout",
+ "-B",
+ "agentfs-benchmark"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-pl9ksnf0/agentfs-base/work",
+ "duration_seconds": 0.06816758299828507,
+ "returncode": 0,
+ "stderr_bytes": 45,
+ "stderr_tail": "Switched to a new branch 'agentfs-benchmark'\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "clone": {
+ "argv": [
+ "git",
+ "clone",
+ "--local",
+ "--no-hardlinks",
+ "/tmp/agentfs-git-workload-pl9ksnf0/agentfs-base/mirror.git",
+ "/tmp/agentfs-git-workload-pl9ksnf0/agentfs-base/work"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-pl9ksnf0/agentfs-base",
+ "duration_seconds": 3.0392134730063844,
+ "returncode": 0,
+ "stderr_bytes": 2406,
+ "stderr_tail": "Cloning into '/tmp/agentfs-git-workload-pl9ksnf0/agentfs-base/work'...\nwarning: source repository is shallow, ignoring --local\nwarning: --local is ignored\nUpdating files: 35% (1627/4644)\nUpdating files: 36% (1672/4644)\nUpdating files: 37% (1719/4644)\nUpdating files: 38% (1765/4644)\nUpdating files: 39% (1812/4644)\nUpdating files: 40% (1858/4644)\nUpdating files: 41% (1905/4644)\nUpdating files: 42% (1951/4644)\nUpdating files: 43% (1997/4644)\nUpdating files: 44% (2044/4644)\nUpdating files: 45% (2090/4644)\nUpdating files: 46% (2137/4644)\nUpdating files: 47% (2183/4644)\nUpdating files: 48% (2230/4644)\nUpdating files: 49% (2276/4644)\nUpdating files: 50% (2322/4644)\nUpdating files: 51% (2369/4644)\nUpdating files: 52% (2415/4644)\nUpdating files: 53% (2462/4644)\nUpdating files: 54% (2508/4644)\nUpdating files: 55% (2555/4644)\nUpdating files: 56% (2601/4644)\nUpdating files: 57% (2648/4644)\nUpdating files: 58% (2694/4644)\nUpdating files: 59% (2740/4644)\nUpdating files: 60% (2787/4644)\nUpdating files: 61% (2833/4644)\nUpdating files: 62% (2880/4644)\nUpdating files: 63% (2926/4644)\nUpdating files: 64% (2973/4644)\nUpdating files: 65% (3019/4644)\nUpdating files: 66% (3066/4644)\nUpdating files: 67% (3112/4644)\nUpdating files: 68% (3158/4644)\nUpdating files: 69% (3205/4644)\nUpdating files: 70% (3251/4644)\nUpdating files: 71% (3298/4644)\nUpdating files: 72% (3344/4644)\nUpdating files: 73% (3391/4644)\nUpdating files: 73% (3395/4644)\nUpdating files: 74% (3437/4644)\nUpdating files: 75% (3483/4644)\nUpdating files: 76% (3530/4644)\nUpdating files: 77% (3576/4644)\nUpdating files: 78% (3623/4644)\nUpdating files: 79% (3669/4644)\nUpdating files: 80% (3716/4644)\nUpdating files: 81% (3762/4644)\nUpdating files: 82% (3809/4644)\nUpdating files: 83% (3855/4644)\nUpdating files: 84% (3901/4644)\nUpdating files: 85% (3948/4644)\nUpdating files: 86% (3994/4644)\nUpdating files: 87% (4041/4644)\nUpdating files: 88% (4087/4644)\nUpdating files: 89% (4134/4644)\nUpdating files: 90% (4180/4644)\nUpdating files: 91% (4227/4644)\nUpdating files: 92% (4273/4644)\nUpdating files: 93% (4319/4644)\nUpdating files: 94% (4366/4644)\nUpdating files: 95% (4412/4644)\nUpdating files: 96% (4459/4644)\nUpdating files: 97% (4505/4644)\nUpdating files: 98% (4552/4644)\nUpdating files: 99% (4598/4644)\nUpdating files: 100% (4644/4644)\nUpdating files: 100% (4644/4644), done.\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "status": {
+ "branch": {
+ "argv": [
+ "git",
+ "status",
+ "--short",
+ "--branch"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-pl9ksnf0/agentfs-base/work",
+ "duration_seconds": 0.051957800998934545,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 21,
+ "stdout_tail": "## agentfs-benchmark\n"
+ },
+ "short": {
+ "argv": [
+ "git",
+ "status",
+ "--short"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-pl9ksnf0/agentfs-base/work",
+ "duration_seconds": 0.11781196799711324,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ }
+ },
+ "phase_seconds": {
+ "checkout": 0.07058002799749374,
+ "clone": 3.039248861998203,
+ "diff": 0.09339736700349022,
+ "edit": 0.0046512179978890345,
+ "fsck": 0.19825839099939913,
+ "read_search": 0.009133929008385167,
+ "status": 0.16980370599776506
+ },
+ "profile_checkpoints": [
+ "clone",
+ "checkout",
+ "status",
+ "read_search",
+ "edit",
+ "diff",
+ "fsck"
+ ],
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "ls_files_run": {
+ "argv": [
+ "git",
+ "ls-files",
+ "-z"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-pl9ksnf0/agentfs-base/work",
+ "duration_seconds": 0.0061758600058965385,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 263077,
+ "stdout_tail": "i_codex/api.py\u0000sdk/python/src/openai_codex/async_client.py\u0000sdk/python/src/openai_codex/client.py\u0000sdk/python/src/openai_codex/errors.py\u0000sdk/python/src/openai_codex/generated/__init__.py\u0000sdk/python/src/openai_codex/generated/notification_registry.py\u0000sdk/python/src/openai_codex/generated/v2_all.py\u0000sdk/python/src/openai_codex/models.py\u0000sdk/python/src/openai_codex/py.typed\u0000sdk/python/src/openai_codex/retry.py\u0000sdk/python/src/openai_codex/types.py\u0000sdk/python/tests/app_server_harness.py\u0000sdk/python/tests/app_server_helpers.py\u0000sdk/python/tests/conftest.py\u0000sdk/python/tests/test_app_server_approvals.py\u0000sdk/python/tests/test_app_server_inputs.py\u0000sdk/python/tests/test_app_server_lifecycle.py\u0000sdk/python/tests/test_app_server_login.py\u0000sdk/python/tests/test_app_server_run.py\u0000sdk/python/tests/test_app_server_streaming.py\u0000sdk/python/tests/test_app_server_turn_controls.py\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\u0000sdk/python/tests/test_async_client_behavior.py\u0000sdk/python/tests/test_client_rpc_methods.py\u0000sdk/python/tests/test_contract_generation.py\u0000sdk/python/tests/test_public_api_runtime_behavior.py\u0000sdk/python/tests/test_public_api_signatures.py\u0000sdk/python/tests/test_real_app_server_integration.py\u0000sdk/python/uv.lock\u0000sdk/typescript/.prettierignore\u0000sdk/typescript/.prettierrc\u0000sdk/typescript/README.md\u0000sdk/typescript/eslint.config.js\u0000sdk/typescript/jest.config.cjs\u0000sdk/typescript/package.json\u0000sdk/typescript/samples/basic_streaming.ts\u0000sdk/typescript/samples/helpers.ts\u0000sdk/typescript/samples/structured_output.ts\u0000sdk/typescript/samples/structured_output_zod.ts\u0000sdk/typescript/src/codex.ts\u0000sdk/typescript/src/codexOptions.ts\u0000sdk/typescript/src/events.ts\u0000sdk/typescript/src/exec.ts\u0000sdk/typescript/src/index.ts\u0000sdk/typescript/src/items.ts\u0000sdk/typescript/src/outputSchemaFile.ts\u0000sdk/typescript/src/thread.ts\u0000sdk/typescript/src/threadOptions.ts\u0000sdk/typescript/src/turnOptions.ts\u0000sdk/typescript/tests/abort.test.ts\u0000sdk/typescript/tests/codexExecSpy.ts\u0000sdk/typescript/tests/exec.test.ts\u0000sdk/typescript/tests/responsesProxy.ts\u0000sdk/typescript/tests/run.test.ts\u0000sdk/typescript/tests/runStreamed.test.ts\u0000sdk/typescript/tests/setupCodexHome.ts\u0000sdk/typescript/tests/testCodex.ts\u0000sdk/typescript/tsconfig.json\u0000sdk/typescript/tsup.config.ts\u0000third_party/v8/BUILD.bazel\u0000third_party/v8/README.md\u0000third_party/v8/libcxx.BUILD.bazel\u0000third_party/v8/libcxx_config/BUILD.bazel\u0000third_party/v8/libcxx_config/__assertion_handler\u0000third_party/v8/libcxx_config/__config_site\u0000third_party/v8/libcxxabi.BUILD.bazel\u0000third_party/v8/llvm_libc.BUILD.bazel\u0000third_party/v8/rusty_v8_147_4_0.sha256\u0000third_party/v8/v8_crate.BUILD.bazel\u0000third_party/wezterm/LICENSE\u0000tools/argument-comment-lint/.cargo/config.toml\u0000tools/argument-comment-lint/.gitignore\u0000tools/argument-comment-lint/BUILD.bazel\u0000tools/argument-comment-lint/Cargo.lock\u0000tools/argument-comment-lint/Cargo.toml\u0000tools/argument-comment-lint/README.md\u0000tools/argument-comment-lint/argument-comment-lint\u0000tools/argument-comment-lint/driver.rs\u0000tools/argument-comment-lint/lint_aspect.bzl\u0000tools/argument-comment-lint/list-bazel-targets.sh\u0000tools/argument-comment-lint/run-prebuilt-linter.py\u0000tools/argument-comment-lint/run.py\u0000tools/argument-comment-lint/rust-toolchain\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\u0000tools/argument-comment-lint/src/comment_parser.rs\u0000tools/argument-comment-lint/src/lib.rs\u0000tools/argument-comment-lint/test_wrapper_common.py\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\u0000tools/argument-comment-lint/ui/comment_matches.rs\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\u0000tools/argument-comment-lint/wrapper_common.py\u0000workspace_root_test_launcher.bat.tpl\u0000workspace_root_test_launcher.sh.tpl\u0000"
+ },
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ],
+ "token": "AGENTFS_TOKEN"
+ },
+ "total_seconds": 4.286349337999127
+ }
+ },
+ "base_tree": {
+ "after": {
+ "bytes": 9207621,
+ "directories": 10,
+ "files": 23,
+ "sha256": "ce4c65ffc1a49eced925eea30e9a7742b3115215fad4256bc0f6e3084aa5adc1",
+ "symlinks": 0
+ },
+ "before": {
+ "bytes": 9207621,
+ "directories": 10,
+ "files": 23,
+ "sha256": "ce4c65ffc1a49eced925eea30e9a7742b3115215fad4256bc0f6e3084aa5adc1",
+ "symlinks": 0
+ },
+ "unchanged": true
+ },
+ "benchmark": "phase7-git-workload",
+ "command": {
+ "agentfs_prefix": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "run",
+ "--session",
+ "git-workload-4d8592c65a644b99a57302f36fd3ddff",
+ "--no-default-allows",
+ "--"
+ ],
+ "argv": [
+ "/home/ain3sh/factory/vfs/scripts/validation/git-workload-benchmark.py",
+ "--output",
+ "/home/ain3sh/factory/vfs/.agents/benchmarks/restructure-baseline/medians.json.iterations/iter-03.json",
+ "--source",
+ ".agents/benchmarks/fixtures/codex",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8"
+ ],
+ "workload_argv": [
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ]
+ },
+ "correctness": {
+ "agentfs_backup_verify": true,
+ "agentfs_base_unchanged": true,
+ "agentfs_db_inspectable": true,
+ "agentfs_integrity_require_portable": true,
+ "agentfs_no_nonempty_sidecars": true,
+ "agentfs_portable": true,
+ "agentfs_returncode_zero": true,
+ "equivalence": {
+ "agentfs": {
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ]
+ }
+ },
+ "checked": true,
+ "equivalent": true,
+ "native": {
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ]
+ }
+ }
+ },
+ "native_returncode_zero": true,
+ "passed": true,
+ "performance_passed": false
+ },
+ "database": {
+ "after": {
+ "artifacts": [
+ {
+ "bytes": 57147392,
+ "path": "/tmp/agentfs-git-workload-pl9ksnf0/home/.agentfs/run/git-workload-4d8592c65a644b99a57302f36fd3ddff/delta.db"
+ }
+ ],
+ "path": "/tmp/agentfs-git-workload-pl9ksnf0/home/.agentfs/run/git-workload-4d8592c65a644b99a57302f36fd3ddff/delta.db",
+ "total_bytes": 57147392
+ },
+ "backup": {
+ "artifacts": {
+ "artifacts": [
+ {
+ "bytes": 57147392,
+ "path": "/tmp/agentfs-git-workload-pl9ksnf0/git-workload-backup.db"
+ }
+ ],
+ "path": "/tmp/agentfs-git-workload-pl9ksnf0/git-workload-backup.db",
+ "total_bytes": 57147392
+ },
+ "inspect": {
+ "fs_chunk_override_rows": 0,
+ "fs_config": {
+ "chunk_size": "65536",
+ "inline_threshold": "16384",
+ "schema_version": "0.5"
+ },
+ "fs_data_bytes": 41204221,
+ "fs_data_rows": 960,
+ "fs_inline_bytes": 11434794,
+ "fs_inode_rows": 5385,
+ "fs_origin_rows": 0,
+ "fs_partial_origin_rows": 0,
+ "fs_whiteout_rows": 0,
+ "inline_inode_rows": 4060,
+ "inspectable": true,
+ "portability_status": {
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true,
+ "stored_bytes": 52639015
+ }
+ },
+ "path": "/tmp/agentfs-git-workload-pl9ksnf0/git-workload-backup.db",
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "backup",
+ "/tmp/agentfs-git-workload-pl9ksnf0/home/.agentfs/run/git-workload-4d8592c65a644b99a57302f36fd3ddff/delta.db",
+ "/tmp/agentfs-git-workload-pl9ksnf0/git-workload-backup.db",
+ "--verify"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-pl9ksnf0",
+ "duration_seconds": 2.7827271150017623,
+ "profile_summaries": [],
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 241,
+ "stdout_tail": "Source: /tmp/agentfs-git-workload-pl9ksnf0/home/.agentfs/run/git-workload-4d8592c65a644b99a57302f36fd3ddff/delta.db\nBackup: /tmp/agentfs-git-workload-pl9ksnf0/git-workload-backup.db\nCheckpoint: complete\nCopy: complete\nVerification: complete\n",
+ "timed_out": false
+ }
+ },
+ "inspect_after": {
+ "fs_chunk_override_rows": 0,
+ "fs_config": {
+ "chunk_size": "65536",
+ "inline_threshold": "16384",
+ "schema_version": "0.5"
+ },
+ "fs_data_bytes": 41204221,
+ "fs_data_rows": 960,
+ "fs_inline_bytes": 11434794,
+ "fs_inode_rows": 5385,
+ "fs_origin_rows": 0,
+ "fs_partial_origin_rows": 0,
+ "fs_whiteout_rows": 0,
+ "inline_inode_rows": 4060,
+ "inspectable": true,
+ "portability_status": {
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true,
+ "stored_bytes": 52639015
+ }
+ },
+ "integrity": {
+ "result": {
+ "checks": [
+ {
+ "detail": "ok",
+ "name": "pragma.integrity_check",
+ "ok": true,
+ "violating_rows": null
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_config",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_inode",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_dentry",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_symlink",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.kv_store",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.tool_calls",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 0.5",
+ "name": "config.schema_version",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 65536",
+ "name": "config.chunk_size",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 16384",
+ "name": "config.inline_threshold",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.kind_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_has_no_chunks",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunked_has_no_inline_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_size_matches_blob",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_only_regular_files",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.non_regular_has_no_inline_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_reference_inodes",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_nonnegative_index",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunk_length_within_chunk_size",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_only_regular_files",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 1, expected 1",
+ "name": "namespace.root_inode",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_parent_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_parent_is_directory",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_target_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.non_root_inode_has_dentry",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_names_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.non_directory_nlink_matches_dentries",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.directory_nlink_positive",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "symlink.rows_reference_symlink_inodes",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "symlink.inodes_have_rows",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "portable: no partial-origin rows",
+ "name": "overlay.portability_status",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "portable requirement satisfied",
+ "name": "overlay.require_portable",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.origin_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_delta_inode_regular",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_sizes_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_paths_absolute",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_nonnegative_index",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_references_partial_origin",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_unique",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_index_in_range",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.whiteout_paths_absolute",
+ "ok": true,
+ "violating_rows": 0
+ }
+ ],
+ "database": "/tmp/agentfs-git-workload-pl9ksnf0/home/.agentfs/run/git-workload-4d8592c65a644b99a57302f36fd3ddff/delta.db",
+ "ok": true,
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true
+ },
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "integrity",
+ "/tmp/agentfs-git-workload-pl9ksnf0/home/.agentfs/run/git-workload-4d8592c65a644b99a57302f36fd3ddff/delta.db",
+ "--json",
+ "--require-portable"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-pl9ksnf0",
+ "duration_seconds": 2.6693981529970188,
+ "profile_summaries": [],
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 6395,
+ "stdout_tail": "{\n \"database\": \"/tmp/agentfs-git-workload-pl9ksnf0/home/.agentfs/run/git-workload-4d8592c65a644b99a57302f36fd3ddff/delta.db\",\n \"ok\": true,\n \"portable\": true,\n \"origin_backed\": false,\n \"partial_origin_rows\": 0,\n \"checks\": [\n {\n \"name\": \"pragma.integrity_check\",\n \"ok\": true,\n \"detail\": \"ok\",\n \"violating_rows\": null\n },\n {\n \"name\": \"schema.table.fs_config\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_inode\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_dentry\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_data\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_symlink\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.kv_store\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.tool_calls\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.schema_version\",\n \"ok\": true,\n \"detail\": \"found 0.5\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.chunk_size\",\n \"ok\": true,\n \"detail\": \"found 65536\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.inline_threshold\",\n \"ok\": true,\n \"detail\": \"found 16384\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.kind_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_has_no_chunks\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunked_has_no_inline_data\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_size_matches_blob\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_only_regular_files\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.non_regular_has_no_inline_data\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_reference_inodes\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_nonnegative_index\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunk_length_within_chunk_size\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_only_regular_files\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.root_inode\",\n \"ok\": true,\n \"detail\": \"found 1, expected 1\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_parent_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_parent_is_directory\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_target_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.non_root_inode_has_dentry\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_names_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.non_directory_nlink_matches_dentries\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.directory_nlink_positive\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"symlink.rows_reference_symlink_inodes\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"symlink.inodes_have_rows\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.portability_status\",\n \"ok\": true,\n \"detail\": \"portable: no partial-origin rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.require_portable\",\n \"ok\": true,\n \"detail\": \"portable requirement satisfied\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.origin_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_delta_inode_regular\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_sizes_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_paths_absolute\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_nonnegative_index\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_references_partial_origin\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_unique\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_index_in_range\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.whiteout_paths_absolute\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n }\n ]\n}\n",
+ "timed_out": false
+ }
+ },
+ "nonempty_sidecars": false
+ },
+ "environment": {
+ "AGENTFS_BIN": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "AGENTFS_PROFILE": "1"
+ },
+ "git_commit": "ae1e13fcb1c52d5c57be051610a04aa9a318f2a5",
+ "kept_temp": false,
+ "native": {
+ "run": {
+ "argv": [
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-pl9ksnf0/native",
+ "duration_seconds": 1.0636102249991382,
+ "profile_summaries": [],
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 15987,
+ "stdout_tail": "{\"branch_status\": \"## agentfs-benchmark\\n\", \"diff\": {\"changed_file_count\": 8, \"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.013877956007490866, \"patch_bytes\": 3282, \"patch_sha256\": \"51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc\", \"runs\": {\"name_only\": {\"argv\": [\"git\", \"diff\", \"--name-only\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-pl9ksnf0/native/work\", \"duration_seconds\": 0.004502324998611584, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 144, \"stdout_tail\": \"docs/CLA.md\\ndocs/agents_md.md\\ndocs/authentication.md\\ndocs/config.md\\ndocs/contributing.md\\ndocs/example-config.md\\ndocs/exec.md\\ndocs/execpolicy.md\\n\"}, \"patch\": {\"argv\": [\"git\", \"diff\", \"--\", \".\"], \"cwd\": \"/tmp/agentfs-git-workload-pl9ksnf0/native/work\", \"duration_seconds\": 0.004704930004663765, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 3282, \"stdout_tail\": \"diff --git a/docs/CLA.md b/docs/CLA.md\\nindex 804f202..3495ac9 100644\\n--- a/docs/CLA.md\\n+++ b/docs/CLA.md\\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\\n This Agreement is governed by the laws of the **State of California**, USA,\\n excluding its conflict\\u2011of\\u2011laws rules. If any provision is held unenforceable,\\n the remaining provisions remain in force.\\n+\\n+AgentFS Git benchmark edit 00 for docs/CLA.md\\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\\nindex 3df0fac..b8b063d 100644\\n--- a/docs/agents_md.md\\n+++ b/docs/agents_md.md\\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\\n ## Hierarchical agents message\\n \\n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\\n+\\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\\ndiff --git a/docs/authentication.md b/docs/authentication.md\\nindex c307349..b3bc9dc 100644\\n--- a/docs/authentication.md\\n+++ b/docs/authentication.md\\n@@ -1,3 +1,5 @@\\n # Authentication\\n \\n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\\n+\\n+AgentFS Git benchmark edit 02 for docs/authentication.md\\ndiff --git a/docs/config.md b/docs/config.md\\nindex d35b0a8..030e278 100644\\n--- a/docs/config.md\\n+++ b/docs/config.md\\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\\n still allowing managed hooks from requirements and managed config layers. This\\n setting is only supported in `requirements.toml`; putting it in `config.toml`\\n does not enable managed-hooks-only mode.\\n+\\n+AgentFS Git benchmark edit 03 for docs/config.md\\ndiff --git a/docs/contributing.md b/docs/contributing.md\\nindex aeae1f1..b5a22ac 100644\\n--- a/docs/contributing.md\\n+++ b/docs/contributing.md\\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\\n ### Security & responsible AI\\n \\n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\\n+\\n+AgentFS Git benchmark edit 04 for docs/contributing.md\\ndiff --git a/docs/example-config.md b/docs/example-config.md\\nindex 84b1143..b09f835 100644\\n--- a/docs/example-config.md\\n+++ b/docs/example-config.md\\n@@ -1,3 +1,5 @@\\n # Sample configuration\\n \\n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\\n+\\n+AgentFS Git benchmark edit 05 for docs/example-config.md\\ndiff --git a/docs/exec.md b/docs/exec.md\\nindex 57e4323..a81da98 100644\\n--- a/docs/exec.md\\n+++ b/docs/exec.md\\n@@ -1,3 +1,5 @@\\n # Non-interactive mode\\n \\n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\\n+\\n+AgentFS Git benchmark edit 06 for docs/exec.md\\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\\nindex cafebb3..3b48afe 100644\\n--- a/docs/execpolicy.md\\n+++ b/docs/execpolicy.md\\n@@ -1,3 +1,5 @@\\n # Execution policy\\n \\n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\\n+\\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\\n\"}, \"stat\": {\"argv\": [\"git\", \"diff\", \"--stat\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-pl9ksnf0/native/work\", \"duration_seconds\": 0.004625909001333639, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 283, \"stdout_tail\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}}, \"stat_stdout\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}, \"edits\": {\"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.000580564999836497, \"edits\": [{\"appended_bytes\": 47, \"path\": \"docs/CLA.md\", \"size_after\": 2106, \"size_before\": 2059}, {\"appended_bytes\": 53, \"path\": \"docs/agents_md.md\", \"size_after\": 462, \"size_before\": 409}, {\"appended_bytes\": 58, \"path\": \"docs/authentication.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 50, \"path\": \"docs/config.md\", \"size_after\": 776, \"size_before\": 726}, {\"appended_bytes\": 56, \"path\": \"docs/contributing.md\", \"size_after\": 6380, \"size_before\": 6324}, {\"appended_bytes\": 58, \"path\": \"docs/example-config.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 48, \"path\": \"docs/exec.md\", \"size_after\": 194, \"size_before\": 146}, {\"appended_bytes\": 54, \"path\": \"docs/execpolicy.md\", \"size_after\": 192, \"size_before\": 138}]}, \"fsck\": {\"ok\": true, \"ran\": true, \"run\": {\"argv\": [\"git\", \"fsck\", \"--strict\"], \"cwd\": \"/tmp/agentfs-git-workload-pl9ksnf0/native/work\", \"duration_seconds\": 0.22032717399997637, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}, \"head_commit\": \"7d47056ea42636271ac020b86347fbbef49490aa\", \"initial_status\": \"\", \"phase_runs\": {\"checkout\": {\"argv\": [\"git\", \"checkout\", \"-B\", \"agentfs-benchmark\"], \"cwd\": \"/tmp/agentfs-git-workload-pl9ksnf0/native/work\", \"duration_seconds\": 0.16584086000511888, \"returncode\": 0, \"stderr_bytes\": 45, \"stderr_tail\": \"Switched to a new branch 'agentfs-benchmark'\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"clone\": {\"argv\": [\"git\", \"clone\", \"--local\", \"--no-hardlinks\", \"/tmp/agentfs-git-workload-pl9ksnf0/native/mirror.git\", \"/tmp/agentfs-git-workload-pl9ksnf0/native/work\"], \"cwd\": \"/tmp/agentfs-git-workload-pl9ksnf0/native\", \"duration_seconds\": 0.36232351599028334, \"returncode\": 0, \"stderr_bytes\": 149, \"stderr_tail\": \"Cloning into '/tmp/agentfs-git-workload-pl9ksnf0/native/work'...\\nwarning: source repository is shallow, ignoring --local\\nwarning: --local is ignored\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"status\": {\"branch\": {\"argv\": [\"git\", \"status\", \"--short\", \"--branch\"], \"cwd\": \"/tmp/agentfs-git-workload-pl9ksnf0/native/work\", \"duration_seconds\": 0.12152848600817379, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 21, \"stdout_tail\": \"## agentfs-benchmark\\n\"}, \"short\": {\"argv\": [\"git\", \"status\", \"--short\"], \"cwd\": \"/tmp/agentfs-git-workload-pl9ksnf0/native/work\", \"duration_seconds\": 0.10965786900487728, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}}, \"phase_seconds\": {\"checkout\": 0.16831218400329817, \"clone\": 0.3623605160100851, \"diff\": 0.013877956007490866, \"edit\": 0.000580564999836497, \"fsck\": 0.220335984005942, \"read_search\": 0.006128829001681879, \"status\": 0.2312075390073005}, \"profile_checkpoints\": [\"clone\", \"checkout\", \"status\", \"read_search\", \"edit\", \"diff\", \"fsck\"], \"read_search\": {\"bytes_read\": 117190, \"digest\": \"6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53\", \"files_scanned\": 64, \"files_total\": 4644, \"ls_files_run\": {\"argv\": [\"git\", \"ls-files\", \"-z\"], \"cwd\": \"/tmp/agentfs-git-workload-pl9ksnf0/native/work\", \"duration_seconds\": 0.0037052320112707093, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 263077, \"stdout_tail\": \"i_codex/api.py\\u0000sdk/python/src/openai_codex/async_client.py\\u0000sdk/python/src/openai_codex/client.py\\u0000sdk/python/src/openai_codex/errors.py\\u0000sdk/python/src/openai_codex/generated/__init__.py\\u0000sdk/python/src/openai_codex/generated/notification_registry.py\\u0000sdk/python/src/openai_codex/generated/v2_all.py\\u0000sdk/python/src/openai_codex/models.py\\u0000sdk/python/src/openai_codex/py.typed\\u0000sdk/python/src/openai_codex/retry.py\\u0000sdk/python/src/openai_codex/types.py\\u0000sdk/python/tests/app_server_harness.py\\u0000sdk/python/tests/app_server_helpers.py\\u0000sdk/python/tests/conftest.py\\u0000sdk/python/tests/test_app_server_approvals.py\\u0000sdk/python/tests/test_app_server_inputs.py\\u0000sdk/python/tests/test_app_server_lifecycle.py\\u0000sdk/python/tests/test_app_server_login.py\\u0000sdk/python/tests/test_app_server_run.py\\u0000sdk/python/tests/test_app_server_streaming.py\\u0000sdk/python/tests/test_app_server_turn_controls.py\\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\\u0000sdk/python/tests/test_async_client_behavior.py\\u0000sdk/python/tests/test_client_rpc_methods.py\\u0000sdk/python/tests/test_contract_generation.py\\u0000sdk/python/tests/test_public_api_runtime_behavior.py\\u0000sdk/python/tests/test_public_api_signatures.py\\u0000sdk/python/tests/test_real_app_server_integration.py\\u0000sdk/python/uv.lock\\u0000sdk/typescript/.prettierignore\\u0000sdk/typescript/.prettierrc\\u0000sdk/typescript/README.md\\u0000sdk/typescript/eslint.config.js\\u0000sdk/typescript/jest.config.cjs\\u0000sdk/typescript/package.json\\u0000sdk/typescript/samples/basic_streaming.ts\\u0000sdk/typescript/samples/helpers.ts\\u0000sdk/typescript/samples/structured_output.ts\\u0000sdk/typescript/samples/structured_output_zod.ts\\u0000sdk/typescript/src/codex.ts\\u0000sdk/typescript/src/codexOptions.ts\\u0000sdk/typescript/src/events.ts\\u0000sdk/typescript/src/exec.ts\\u0000sdk/typescript/src/index.ts\\u0000sdk/typescript/src/items.ts\\u0000sdk/typescript/src/outputSchemaFile.ts\\u0000sdk/typescript/src/thread.ts\\u0000sdk/typescript/src/threadOptions.ts\\u0000sdk/typescript/src/turnOptions.ts\\u0000sdk/typescript/tests/abort.test.ts\\u0000sdk/typescript/tests/codexExecSpy.ts\\u0000sdk/typescript/tests/exec.test.ts\\u0000sdk/typescript/tests/responsesProxy.ts\\u0000sdk/typescript/tests/run.test.ts\\u0000sdk/typescript/tests/runStreamed.test.ts\\u0000sdk/typescript/tests/setupCodexHome.ts\\u0000sdk/typescript/tests/testCodex.ts\\u0000sdk/typescript/tsconfig.json\\u0000sdk/typescript/tsup.config.ts\\u0000third_party/v8/BUILD.bazel\\u0000third_party/v8/README.md\\u0000third_party/v8/libcxx.BUILD.bazel\\u0000third_party/v8/libcxx_config/BUILD.bazel\\u0000third_party/v8/libcxx_config/__assertion_handler\\u0000third_party/v8/libcxx_config/__config_site\\u0000third_party/v8/libcxxabi.BUILD.bazel\\u0000third_party/v8/llvm_libc.BUILD.bazel\\u0000third_party/v8/rusty_v8_147_4_0.sha256\\u0000third_party/v8/v8_crate.BUILD.bazel\\u0000third_party/wezterm/LICENSE\\u0000tools/argument-comment-lint/.cargo/config.toml\\u0000tools/argument-comment-lint/.gitignore\\u0000tools/argument-comment-lint/BUILD.bazel\\u0000tools/argument-comment-lint/Cargo.lock\\u0000tools/argument-comment-lint/Cargo.toml\\u0000tools/argument-comment-lint/README.md\\u0000tools/argument-comment-lint/argument-comment-lint\\u0000tools/argument-comment-lint/driver.rs\\u0000tools/argument-comment-lint/lint_aspect.bzl\\u0000tools/argument-comment-lint/list-bazel-targets.sh\\u0000tools/argument-comment-lint/run-prebuilt-linter.py\\u0000tools/argument-comment-lint/run.py\\u0000tools/argument-comment-lint/rust-toolchain\\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\\u0000tools/argument-comment-lint/src/comment_parser.rs\\u0000tools/argument-comment-lint/src/lib.rs\\u0000tools/argument-comment-lint/test_wrapper_common.py\\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\\u0000tools/argument-comment-lint/ui/comment_matches.rs\\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\\u0000tools/argument-comment-lint/wrapper_common.py\\u0000workspace_root_test_launcher.bat.tpl\\u0000workspace_root_test_launcher.sh.tpl\\u0000\"}, \"matches\": 0, \"selected_files\": [\".bazelignore\", \".bazelrc\", \".bazelversion\", \".codespellignore\", \".codespellrc\", \".codex/environments/environment.toml\", \".codex/skills/babysit-pr/SKILL.md\", \".codex/skills/babysit-pr/agents/openai.yaml\", \".codex/skills/babysit-pr/references/github-api-notes.md\", \".codex/skills/babysit-pr/references/heuristics.md\", \".codex/skills/babysit-pr/scripts/gh_pr_watch.py\", \".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py\", \".codex/skills/code-review-breaking-changes/SKILL.md\", \".codex/skills/code-review-change-size/SKILL.md\", \".codex/skills/code-review-context/SKILL.md\", \".codex/skills/code-review-testing/SKILL.md\", \".codex/skills/code-review/SKILL.md\", \".codex/skills/codex-bug/SKILL.md\", \".codex/skills/codex-issue-digest/SKILL.md\", \".codex/skills/codex-issue-digest/agents/openai.yaml\", \".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py\", \".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py\", \".codex/skills/codex-pr-body/SKILL.md\", \".codex/skills/remote-tests/SKILL.md\", \".codex/skills/test-tui/SKILL.md\", \".codex/skills/update-v8-version/SKILL.md\", \".codex/skills/update-v8-version/agents/openai.yaml\", \".devcontainer/Dockerfile\", \".devcontainer/Dockerfile.secure\", \".devcontainer/README.md\", \".devcontainer/codex-install/package.json\", \".devcontainer/codex-install/pnpm-lock.yaml\", \".devcontainer/codex-install/pnpm-workspace.yaml\", \".devcontainer/devcontainer.json\", \".devcontainer/devcontainer.secure.json\", \".devcontainer/init-firewall.sh\", \".devcontainer/post-start.sh\", \".devcontainer/post_install.py\", \".gitattributes\", \".github/CODEOWNERS\", \".github/ISSUE_TEMPLATE/1-codex-app.yml\", \".github/ISSUE_TEMPLATE/2-extension.yml\", \".github/ISSUE_TEMPLATE/3-cli.yml\", \".github/ISSUE_TEMPLATE/4-bug-report.yml\", \".github/ISSUE_TEMPLATE/5-feature-request.yml\", \".github/ISSUE_TEMPLATE/6-docs-issue.yml\", \".github/actions/linux-code-sign/action.yml\", \".github/actions/macos-code-sign/action.yml\", \".github/actions/macos-code-sign/codex.entitlements.plist\", \".github/actions/macos-code-sign/notary_helpers.sh\", \".github/actions/prepare-bazel-ci/action.yml\", \".github/actions/run-argument-comment-lint/action.yml\", \".github/actions/setup-bazel-ci/action.yml\", \".github/actions/setup-msvc-env/action.yml\", \".github/actions/setup-msvc-env/setup-msvc-env.ps1\", \".github/actions/setup-rusty-v8/action.yml\", \".github/actions/windows-code-sign/action.yml\", \".github/blob-size-allowlist.txt\", \".github/codex-cli-splash.png\", \".github/codex/home/config.toml\", \".github/codex/labels/codex-attempt.md\", \".github/codex/labels/codex-review.md\", \".github/codex/labels/codex-rust-review.md\", \".github/codex/labels/codex-triage.md\"], \"token\": \"AGENTFS_TOKEN\"}, \"total_seconds\": 1.0030864370055497}\n",
+ "timed_out": false
+ },
+ "workload": {
+ "branch_status": "## agentfs-benchmark\n",
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.013877956007490866,
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc",
+ "runs": {
+ "name_only": {
+ "argv": [
+ "git",
+ "diff",
+ "--name-only",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-pl9ksnf0/native/work",
+ "duration_seconds": 0.004502324998611584,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 144,
+ "stdout_tail": "docs/CLA.md\ndocs/agents_md.md\ndocs/authentication.md\ndocs/config.md\ndocs/contributing.md\ndocs/example-config.md\ndocs/exec.md\ndocs/execpolicy.md\n"
+ },
+ "patch": {
+ "argv": [
+ "git",
+ "diff",
+ "--",
+ "."
+ ],
+ "cwd": "/tmp/agentfs-git-workload-pl9ksnf0/native/work",
+ "duration_seconds": 0.004704930004663765,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 3282,
+ "stdout_tail": "diff --git a/docs/CLA.md b/docs/CLA.md\nindex 804f202..3495ac9 100644\n--- a/docs/CLA.md\n+++ b/docs/CLA.md\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\n This Agreement is governed by the laws of the **State of California**, USA,\n excluding its conflict\u2011of\u2011laws rules. If any provision is held unenforceable,\n the remaining provisions remain in force.\n+\n+AgentFS Git benchmark edit 00 for docs/CLA.md\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\nindex 3df0fac..b8b063d 100644\n--- a/docs/agents_md.md\n+++ b/docs/agents_md.md\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\n ## Hierarchical agents message\n \n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\n+\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\ndiff --git a/docs/authentication.md b/docs/authentication.md\nindex c307349..b3bc9dc 100644\n--- a/docs/authentication.md\n+++ b/docs/authentication.md\n@@ -1,3 +1,5 @@\n # Authentication\n \n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\n+\n+AgentFS Git benchmark edit 02 for docs/authentication.md\ndiff --git a/docs/config.md b/docs/config.md\nindex d35b0a8..030e278 100644\n--- a/docs/config.md\n+++ b/docs/config.md\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\n still allowing managed hooks from requirements and managed config layers. This\n setting is only supported in `requirements.toml`; putting it in `config.toml`\n does not enable managed-hooks-only mode.\n+\n+AgentFS Git benchmark edit 03 for docs/config.md\ndiff --git a/docs/contributing.md b/docs/contributing.md\nindex aeae1f1..b5a22ac 100644\n--- a/docs/contributing.md\n+++ b/docs/contributing.md\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\n ### Security & responsible AI\n \n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\n+\n+AgentFS Git benchmark edit 04 for docs/contributing.md\ndiff --git a/docs/example-config.md b/docs/example-config.md\nindex 84b1143..b09f835 100644\n--- a/docs/example-config.md\n+++ b/docs/example-config.md\n@@ -1,3 +1,5 @@\n # Sample configuration\n \n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\n+\n+AgentFS Git benchmark edit 05 for docs/example-config.md\ndiff --git a/docs/exec.md b/docs/exec.md\nindex 57e4323..a81da98 100644\n--- a/docs/exec.md\n+++ b/docs/exec.md\n@@ -1,3 +1,5 @@\n # Non-interactive mode\n \n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\n+\n+AgentFS Git benchmark edit 06 for docs/exec.md\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\nindex cafebb3..3b48afe 100644\n--- a/docs/execpolicy.md\n+++ b/docs/execpolicy.md\n@@ -1,3 +1,5 @@\n # Execution policy\n \n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\n+\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\n"
+ },
+ "stat": {
+ "argv": [
+ "git",
+ "diff",
+ "--stat",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-pl9ksnf0/native/work",
+ "duration_seconds": 0.004625909001333639,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 283,
+ "stdout_tail": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ }
+ },
+ "stat_stdout": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.000580564999836497,
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true,
+ "run": {
+ "argv": [
+ "git",
+ "fsck",
+ "--strict"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-pl9ksnf0/native/work",
+ "duration_seconds": 0.22032717399997637,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "phase_runs": {
+ "checkout": {
+ "argv": [
+ "git",
+ "checkout",
+ "-B",
+ "agentfs-benchmark"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-pl9ksnf0/native/work",
+ "duration_seconds": 0.16584086000511888,
+ "returncode": 0,
+ "stderr_bytes": 45,
+ "stderr_tail": "Switched to a new branch 'agentfs-benchmark'\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "clone": {
+ "argv": [
+ "git",
+ "clone",
+ "--local",
+ "--no-hardlinks",
+ "/tmp/agentfs-git-workload-pl9ksnf0/native/mirror.git",
+ "/tmp/agentfs-git-workload-pl9ksnf0/native/work"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-pl9ksnf0/native",
+ "duration_seconds": 0.36232351599028334,
+ "returncode": 0,
+ "stderr_bytes": 149,
+ "stderr_tail": "Cloning into '/tmp/agentfs-git-workload-pl9ksnf0/native/work'...\nwarning: source repository is shallow, ignoring --local\nwarning: --local is ignored\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "status": {
+ "branch": {
+ "argv": [
+ "git",
+ "status",
+ "--short",
+ "--branch"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-pl9ksnf0/native/work",
+ "duration_seconds": 0.12152848600817379,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 21,
+ "stdout_tail": "## agentfs-benchmark\n"
+ },
+ "short": {
+ "argv": [
+ "git",
+ "status",
+ "--short"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-pl9ksnf0/native/work",
+ "duration_seconds": 0.10965786900487728,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ }
+ },
+ "phase_seconds": {
+ "checkout": 0.16831218400329817,
+ "clone": 0.3623605160100851,
+ "diff": 0.013877956007490866,
+ "edit": 0.000580564999836497,
+ "fsck": 0.220335984005942,
+ "read_search": 0.006128829001681879,
+ "status": 0.2312075390073005
+ },
+ "profile_checkpoints": [
+ "clone",
+ "checkout",
+ "status",
+ "read_search",
+ "edit",
+ "diff",
+ "fsck"
+ ],
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "ls_files_run": {
+ "argv": [
+ "git",
+ "ls-files",
+ "-z"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-pl9ksnf0/native/work",
+ "duration_seconds": 0.0037052320112707093,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 263077,
+ "stdout_tail": "i_codex/api.py\u0000sdk/python/src/openai_codex/async_client.py\u0000sdk/python/src/openai_codex/client.py\u0000sdk/python/src/openai_codex/errors.py\u0000sdk/python/src/openai_codex/generated/__init__.py\u0000sdk/python/src/openai_codex/generated/notification_registry.py\u0000sdk/python/src/openai_codex/generated/v2_all.py\u0000sdk/python/src/openai_codex/models.py\u0000sdk/python/src/openai_codex/py.typed\u0000sdk/python/src/openai_codex/retry.py\u0000sdk/python/src/openai_codex/types.py\u0000sdk/python/tests/app_server_harness.py\u0000sdk/python/tests/app_server_helpers.py\u0000sdk/python/tests/conftest.py\u0000sdk/python/tests/test_app_server_approvals.py\u0000sdk/python/tests/test_app_server_inputs.py\u0000sdk/python/tests/test_app_server_lifecycle.py\u0000sdk/python/tests/test_app_server_login.py\u0000sdk/python/tests/test_app_server_run.py\u0000sdk/python/tests/test_app_server_streaming.py\u0000sdk/python/tests/test_app_server_turn_controls.py\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\u0000sdk/python/tests/test_async_client_behavior.py\u0000sdk/python/tests/test_client_rpc_methods.py\u0000sdk/python/tests/test_contract_generation.py\u0000sdk/python/tests/test_public_api_runtime_behavior.py\u0000sdk/python/tests/test_public_api_signatures.py\u0000sdk/python/tests/test_real_app_server_integration.py\u0000sdk/python/uv.lock\u0000sdk/typescript/.prettierignore\u0000sdk/typescript/.prettierrc\u0000sdk/typescript/README.md\u0000sdk/typescript/eslint.config.js\u0000sdk/typescript/jest.config.cjs\u0000sdk/typescript/package.json\u0000sdk/typescript/samples/basic_streaming.ts\u0000sdk/typescript/samples/helpers.ts\u0000sdk/typescript/samples/structured_output.ts\u0000sdk/typescript/samples/structured_output_zod.ts\u0000sdk/typescript/src/codex.ts\u0000sdk/typescript/src/codexOptions.ts\u0000sdk/typescript/src/events.ts\u0000sdk/typescript/src/exec.ts\u0000sdk/typescript/src/index.ts\u0000sdk/typescript/src/items.ts\u0000sdk/typescript/src/outputSchemaFile.ts\u0000sdk/typescript/src/thread.ts\u0000sdk/typescript/src/threadOptions.ts\u0000sdk/typescript/src/turnOptions.ts\u0000sdk/typescript/tests/abort.test.ts\u0000sdk/typescript/tests/codexExecSpy.ts\u0000sdk/typescript/tests/exec.test.ts\u0000sdk/typescript/tests/responsesProxy.ts\u0000sdk/typescript/tests/run.test.ts\u0000sdk/typescript/tests/runStreamed.test.ts\u0000sdk/typescript/tests/setupCodexHome.ts\u0000sdk/typescript/tests/testCodex.ts\u0000sdk/typescript/tsconfig.json\u0000sdk/typescript/tsup.config.ts\u0000third_party/v8/BUILD.bazel\u0000third_party/v8/README.md\u0000third_party/v8/libcxx.BUILD.bazel\u0000third_party/v8/libcxx_config/BUILD.bazel\u0000third_party/v8/libcxx_config/__assertion_handler\u0000third_party/v8/libcxx_config/__config_site\u0000third_party/v8/libcxxabi.BUILD.bazel\u0000third_party/v8/llvm_libc.BUILD.bazel\u0000third_party/v8/rusty_v8_147_4_0.sha256\u0000third_party/v8/v8_crate.BUILD.bazel\u0000third_party/wezterm/LICENSE\u0000tools/argument-comment-lint/.cargo/config.toml\u0000tools/argument-comment-lint/.gitignore\u0000tools/argument-comment-lint/BUILD.bazel\u0000tools/argument-comment-lint/Cargo.lock\u0000tools/argument-comment-lint/Cargo.toml\u0000tools/argument-comment-lint/README.md\u0000tools/argument-comment-lint/argument-comment-lint\u0000tools/argument-comment-lint/driver.rs\u0000tools/argument-comment-lint/lint_aspect.bzl\u0000tools/argument-comment-lint/list-bazel-targets.sh\u0000tools/argument-comment-lint/run-prebuilt-linter.py\u0000tools/argument-comment-lint/run.py\u0000tools/argument-comment-lint/rust-toolchain\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\u0000tools/argument-comment-lint/src/comment_parser.rs\u0000tools/argument-comment-lint/src/lib.rs\u0000tools/argument-comment-lint/test_wrapper_common.py\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\u0000tools/argument-comment-lint/ui/comment_matches.rs\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\u0000tools/argument-comment-lint/wrapper_common.py\u0000workspace_root_test_launcher.bat.tpl\u0000workspace_root_test_launcher.sh.tpl\u0000"
+ },
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ],
+ "token": "AGENTFS_TOKEN"
+ },
+ "total_seconds": 1.0030864370055497
+ }
+ },
+ "parameters": {
+ "edit_files": 8,
+ "fixture_dirs": 8,
+ "fixture_file_size_bytes": 1024,
+ "fixture_files": 96,
+ "read_bytes": 4096,
+ "read_files": 64,
+ "search_token": "AGENTFS_TOKEN",
+ "skip_fsck": false,
+ "timeout_seconds": 180.0
+ },
+ "schema_version": 1,
+ "source": {
+ "kind": "source",
+ "mirror_head": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "path": "/home/ain3sh/factory/vfs/.agents/benchmarks/fixtures/codex"
+ },
+ "summary": {
+ "agentfs_base_unchanged": true,
+ "agentfs_seconds": 4.286349337999127,
+ "all_equivalent": true,
+ "correctness_passed": true,
+ "native_seconds": 1.0030864370055497,
+ "passed": true,
+ "performance_passed": false,
+ "phase_ratios": {
+ "checkout": {
+ "agentfs_seconds": 0.07058002799749374,
+ "native_seconds": 0.16831218400329817,
+ "ratio": 0.4193399807355045
+ },
+ "clone": {
+ "agentfs_seconds": 3.039248861998203,
+ "native_seconds": 0.3623605160100851,
+ "ratio": 8.387362109600307
+ },
+ "diff": {
+ "agentfs_seconds": 0.09339736700349022,
+ "native_seconds": 0.013877956007490866,
+ "ratio": 6.729907988833325
+ },
+ "edit": {
+ "agentfs_seconds": 0.0046512179978890345,
+ "native_seconds": 0.000580564999836497,
+ "ratio": 8.011537035816739
+ },
+ "fsck": {
+ "agentfs_seconds": 0.19825839099939913,
+ "native_seconds": 0.220335984005942,
+ "ratio": 0.8998003294552763
+ },
+ "read_search": {
+ "agentfs_seconds": 0.009133929008385167,
+ "native_seconds": 0.006128829001681879,
+ "ratio": 1.490322051060427
+ },
+ "status": {
+ "agentfs_seconds": 0.16980370599776506,
+ "native_seconds": 0.2312075390073005,
+ "ratio": 0.7344211470215226
+ }
+ },
+ "ratio": 4.273160497309577,
+ "threshold_failures": [
+ {
+ "agentfs_seconds": 3.039248861998203,
+ "native_seconds": 0.3623605160100851,
+ "phase": "clone",
+ "ratio": 8.387362109600307
+ },
+ {
+ "agentfs_seconds": 0.09339736700349022,
+ "native_seconds": 0.013877956007490866,
+ "phase": "diff",
+ "ratio": 6.729907988833325
+ },
+ {
+ "agentfs_seconds": 0.0046512179978890345,
+ "native_seconds": 0.000580564999836497,
+ "phase": "edit",
+ "ratio": 8.011537035816739
+ }
+ ]
+ },
+ "temp_dir": "/tmp/agentfs-git-workload-pl9ksnf0"
+}
diff --git a/.agents/benchmarks/restructure-baseline/medians.json.iterations/iter-04.json b/.agents/benchmarks/restructure-baseline/medians.json.iterations/iter-04.json
new file mode 100644
index 00000000..94a5214c
--- /dev/null
+++ b/.agents/benchmarks/restructure-baseline/medians.json.iterations/iter-04.json
@@ -0,0 +1,6636 @@
+{
+ "agentfs": {
+ "bin": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "db_path": "/tmp/agentfs-git-workload-0w61kvk2/home/.agentfs/run/git-workload-b5988d96b4e44e47b6434b7eadaa47f7/delta.db",
+ "per_phase_counters": {
+ "checkpoint_count": 7,
+ "label_count": 7,
+ "labels_aligned": true,
+ "phases": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 34,
+ "agentfs_batcher_commit_latency_ns_total": 1060412259,
+ "agentfs_batcher_commit_txns": 4794,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4680,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4729,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9383,
+ "attr_cache_hits": 25921,
+ "attr_cache_misses": 29051,
+ "base_fast_inode_invalidations": 15028,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 968,
+ "connection_create_count": 2,
+ "connection_reuse_count": 31215,
+ "connection_wait_count": 31217,
+ "connection_wait_nanos": 14314611,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 87,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5403,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21898,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 38,
+ "fuse_dispatch_wait_count": 38,
+ "fuse_dispatch_wait_nanos": 312398,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52393244,
+ "fuse_flush_count": 4729,
+ "fuse_flush_ranges": 4729,
+ "fuse_getattr_count": 5021,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11820,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 747979498,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 34,
+ "fuse_op_forget_nanos": 1958355,
+ "fuse_op_getattr_count": 5021,
+ "fuse_op_getattr_nanos": 77611533,
+ "fuse_op_lookup_count": 11820,
+ "fuse_op_lookup_nanos": 177704881,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 785,
+ "fuse_op_other_nanos": 156788141,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 24037637,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 951849,
+ "fuse_op_setattr_count": 4747,
+ "fuse_op_setattr_nanos": 1486260631,
+ "fuse_op_write_count": 4821,
+ "fuse_op_write_nanos": 44453229,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16153,
+ "fuse_read_lane_wait_nanos": 3537678,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32120,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673732,
+ "fuse_write_count": 4821,
+ "fuse_write_lane_wait_count": 10202,
+ "fuse_write_lane_wait_nanos": 3282330,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19334,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6897,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14256,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 11,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2159922
+ },
+ "phase": "clone",
+ "seq": 1
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 2,
+ "agentfs_batcher_commit_latency_ns_total": 3692786,
+ "agentfs_batcher_commit_txns": 10,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 5,
+ "agentfs_batcher_drains_timer": 4,
+ "agentfs_batcher_enqueues": 11,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 16,
+ "attr_cache_hits": 229,
+ "attr_cache_misses": 1771,
+ "base_fast_inode_invalidations": 51,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 10,
+ "chunk_read_queries": 6,
+ "chunk_write_chunks": 16,
+ "connection_create_count": 7,
+ "connection_reuse_count": 626,
+ "connection_wait_count": 633,
+ "connection_wait_nanos": 349068,
+ "dentry_cache_hits": 73,
+ "dentry_cache_misses": 56,
+ "fuse_adapter_attr_hits": 4598,
+ "fuse_adapter_attr_misses": 686,
+ "fuse_adapter_entry_hits": 2,
+ "fuse_adapter_entry_misses": 35,
+ "fuse_adapter_inval_entry_notifications": 10,
+ "fuse_adapter_inval_inode_notifications": 28,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 13,
+ "fuse_adapter_negative_misses": 35,
+ "fuse_callback_count": 5355,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 5,
+ "fuse_dispatch_parallel_tasks": 9,
+ "fuse_dispatch_wait_count": 9,
+ "fuse_dispatch_wait_nanos": 62632,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 841032,
+ "fuse_flush_count": 11,
+ "fuse_flush_ranges": 11,
+ "fuse_getattr_count": 5284,
+ "fuse_ino_file_resolutions": 3,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 50,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 9,
+ "fuse_op_create_nanos": 2360977,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 9,
+ "fuse_op_forget_nanos": 48028,
+ "fuse_op_getattr_count": 5284,
+ "fuse_op_getattr_nanos": 24230900,
+ "fuse_op_lookup_count": 50,
+ "fuse_op_lookup_nanos": 629843,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 15,
+ "fuse_op_other_nanos": 2945248,
+ "fuse_op_read_count": 8,
+ "fuse_op_read_nanos": 1738500,
+ "fuse_op_readdirplus_count": 4,
+ "fuse_op_readdirplus_nanos": 125688,
+ "fuse_op_setattr_count": 14,
+ "fuse_op_setattr_nanos": 3766047,
+ "fuse_op_write_count": 9,
+ "fuse_op_write_nanos": 755071,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 8,
+ "fuse_read_lane_max_concurrent": 4,
+ "fuse_read_lane_wait_count": 751,
+ "fuse_read_lane_wait_nanos": 109844,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 4,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 5393,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 591393,
+ "fuse_write_count": 9,
+ "fuse_write_lane_wait_count": 42,
+ "fuse_write_lane_wait_nanos": 11698,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 1400,
+ "lookup_base_count": 0,
+ "lookup_count": 164,
+ "lookup_delta_count": 60,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 34,
+ "negative_cache_invalidations": 26,
+ "negative_cache_misses": 148,
+ "negative_lookup_count": 86,
+ "path_cache_hits": 73,
+ "path_cache_misses": 56,
+ "path_component_count": 124,
+ "path_resolution_count": 45,
+ "readdir_count": 0,
+ "readdir_plus_count": 2,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "checkout",
+ "seq": 2
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 4,
+ "agentfs_batcher_commit_latency_ns_total": 4046041,
+ "agentfs_batcher_commit_txns": 4,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 2,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 6,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 4,
+ "attr_cache_hits": 19,
+ "attr_cache_misses": 38,
+ "base_fast_inode_invalidations": 24,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 20,
+ "chunk_read_queries": 12,
+ "chunk_write_chunks": 20,
+ "connection_create_count": 0,
+ "connection_reuse_count": 1018,
+ "connection_wait_count": 1018,
+ "connection_wait_nanos": 312607,
+ "dentry_cache_hits": 20,
+ "dentry_cache_misses": 570,
+ "fuse_adapter_attr_hits": 1641,
+ "fuse_adapter_attr_misses": 8,
+ "fuse_adapter_entry_hits": 2,
+ "fuse_adapter_entry_misses": 289,
+ "fuse_adapter_inval_entry_notifications": 4,
+ "fuse_adapter_inval_inode_notifications": 8,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 3,
+ "fuse_adapter_negative_misses": 289,
+ "fuse_callback_count": 3346,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 3,
+ "fuse_dispatch_wait_count": 3,
+ "fuse_dispatch_wait_nanos": 38877,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 1181458,
+ "fuse_flush_count": 6,
+ "fuse_flush_ranges": 6,
+ "fuse_getattr_count": 1649,
+ "fuse_ino_file_resolutions": 2,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 294,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 2,
+ "fuse_op_create_nanos": 1125451,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 3,
+ "fuse_op_forget_nanos": 52156,
+ "fuse_op_getattr_count": 1649,
+ "fuse_op_getattr_nanos": 1588884,
+ "fuse_op_lookup_count": 294,
+ "fuse_op_lookup_nanos": 4375291,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 2762,
+ "fuse_op_other_nanos": 2468348,
+ "fuse_op_read_count": 12,
+ "fuse_op_read_nanos": 2382297,
+ "fuse_op_readdirplus_count": 1381,
+ "fuse_op_readdirplus_nanos": 45283486,
+ "fuse_op_setattr_count": 6,
+ "fuse_op_setattr_nanos": 6225363,
+ "fuse_op_write_count": 10,
+ "fuse_op_write_nanos": 1283055,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 12,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 997,
+ "fuse_read_lane_wait_nanos": 113007,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1381,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 6116,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 1181458,
+ "fuse_write_count": 10,
+ "fuse_write_lane_wait_count": 14,
+ "fuse_write_lane_wait_nanos": 25265,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 28,
+ "lookup_base_count": 0,
+ "lookup_count": 598,
+ "lookup_delta_count": 295,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7,
+ "negative_cache_invalidations": 4,
+ "negative_cache_misses": 873,
+ "negative_lookup_count": 578,
+ "path_cache_hits": 20,
+ "path_cache_misses": 570,
+ "path_component_count": 4606,
+ "path_resolution_count": 977,
+ "readdir_count": 0,
+ "readdir_plus_count": 688,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "status",
+ "seq": 3
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 1,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 10,
+ "chunk_read_queries": 6,
+ "chunk_write_chunks": 0,
+ "connection_create_count": 0,
+ "connection_reuse_count": 8,
+ "connection_wait_count": 8,
+ "connection_wait_nanos": 7066,
+ "dentry_cache_hits": 1,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 69,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 1,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 1,
+ "fuse_callback_count": 76,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 69,
+ "fuse_ino_file_resolutions": 1,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 1,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 69,
+ "fuse_op_getattr_nanos": 62761,
+ "fuse_op_lookup_count": 1,
+ "fuse_op_lookup_nanos": 26698,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 6,
+ "fuse_op_read_nanos": 1328672,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 6,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 2,
+ "fuse_read_lane_wait_nanos": 798,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 76,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 2,
+ "lookup_delta_count": 1,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 2,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 1,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "read_search",
+ "seq": 4
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 1398963,
+ "agentfs_batcher_commit_txns": 8,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 8,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 8,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 8,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 24,
+ "base_fast_inode_invalidations": 16,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create_count": 0,
+ "connection_reuse_count": 32,
+ "connection_wait_count": 32,
+ "connection_wait_nanos": 13475,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 16,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 24,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 6398,
+ "fuse_flush_count": 8,
+ "fuse_flush_ranges": 8,
+ "fuse_getattr_count": 16,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 16,
+ "fuse_op_getattr_nanos": 25569,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 8,
+ "fuse_op_other_nanos": 1606824,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_setattr_count": 8,
+ "fuse_op_setattr_nanos": 2470039,
+ "fuse_op_write_count": 8,
+ "fuse_op_write_nanos": 489724,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 8,
+ "fuse_read_lane_wait_nanos": 1341,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 40,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 6398,
+ "fuse_write_count": 8,
+ "fuse_write_lane_wait_count": 8,
+ "fuse_write_lane_wait_nanos": 1288,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 16,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 8,
+ "wal_checkpoint_nanos": 1460421
+ },
+ "phase": "edit",
+ "seq": 5
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create_count": 0,
+ "connection_reuse_count": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 919,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 13,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 932,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 919,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 13,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 919,
+ "fuse_op_getattr_nanos": 677100,
+ "fuse_op_lookup_count": 13,
+ "fuse_op_lookup_nanos": 13502,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 12,
+ "fuse_op_other_nanos": 6470,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 944,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 13,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "diff",
+ "seq": 6
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 3,
+ "attr_cache_misses": 2,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 1,
+ "chunk_read_queries": 1,
+ "chunk_write_chunks": 0,
+ "connection_create_count": 0,
+ "connection_reuse_count": 15,
+ "connection_wait_count": 15,
+ "connection_wait_nanos": 17686,
+ "dentry_cache_hits": 4,
+ "dentry_cache_misses": 2,
+ "fuse_adapter_attr_hits": 44,
+ "fuse_adapter_attr_misses": 1,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 4,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 238,
+ "fuse_adapter_negative_misses": 4,
+ "fuse_callback_count": 307,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 45,
+ "fuse_ino_file_resolutions": 1,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 242,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 45,
+ "fuse_op_getattr_nanos": 93926,
+ "fuse_op_lookup_count": 242,
+ "fuse_op_lookup_nanos": 323603,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 36,
+ "fuse_op_other_nanos": 15638,
+ "fuse_op_read_count": 2,
+ "fuse_op_read_nanos": 347036,
+ "fuse_op_readdirplus_count": 18,
+ "fuse_op_readdirplus_nanos": 811554,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 2,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 15,
+ "fuse_read_lane_wait_nanos": 4727,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 18,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 343,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 2,
+ "lookup_base_count": 0,
+ "lookup_count": 8,
+ "lookup_delta_count": 4,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 238,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 9,
+ "negative_lookup_count": 2,
+ "path_cache_hits": 4,
+ "path_cache_misses": 2,
+ "path_component_count": 42,
+ "path_resolution_count": 10,
+ "readdir_count": 0,
+ "readdir_plus_count": 9,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "fsck",
+ "seq": 7
+ }
+ ]
+ },
+ "profile_counters": {
+ "last_by_source": {
+ "agentfs": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 1069550049,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26173,
+ "attr_cache_misses": 30886,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1004,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32917,
+ "connection_wait_count": 32926,
+ "connection_wait_nanos": 15021421,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7374,
+ "fuse_adapter_attr_misses": 5629,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5670,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31938,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 413907,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13003,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12420,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 751465926,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 2058539,
+ "fuse_op_getattr_count": 13003,
+ "fuse_op_getattr_nanos": 104290673,
+ "fuse_op_lookup_count": 12420,
+ "fuse_op_lookup_nanos": 183073818,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 163830669,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 29834142,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 47172577,
+ "fuse_op_setattr_count": 4775,
+ "fuse_op_setattr_nanos": 1498722080,
+ "fuse_op_write_count": 4848,
+ "fuse_op_write_nanos": 46981079,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17926,
+ "fuse_read_lane_wait_nanos": 3767395,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45032,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452981,
+ "fuse_write_count": 4848,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 3321575,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20780,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7189,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 3820303
+ },
+ "fuse_session": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 1069550049,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26173,
+ "attr_cache_misses": 30886,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1004,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32917,
+ "connection_wait_count": 32926,
+ "connection_wait_nanos": 15021421,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7374,
+ "fuse_adapter_attr_misses": 5629,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5670,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31938,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 413907,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13003,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12420,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 751465926,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 2058539,
+ "fuse_op_getattr_count": 13003,
+ "fuse_op_getattr_nanos": 104290673,
+ "fuse_op_lookup_count": 12420,
+ "fuse_op_lookup_nanos": 183073818,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 163830669,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 29834142,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 47172577,
+ "fuse_op_setattr_count": 4775,
+ "fuse_op_setattr_nanos": 1498722080,
+ "fuse_op_write_count": 4848,
+ "fuse_op_write_nanos": 46981079,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17926,
+ "fuse_read_lane_wait_nanos": 3767395,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45032,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452981,
+ "fuse_write_count": 4848,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 3321575,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20780,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7189,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 3820303
+ },
+ "phase-checkpoint-1": {
+ "agentfs_batcher_coalesced_ranges": 34,
+ "agentfs_batcher_commit_latency_ns_total": 1060412259,
+ "agentfs_batcher_commit_txns": 4794,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4680,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4729,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9383,
+ "attr_cache_hits": 25921,
+ "attr_cache_misses": 29051,
+ "base_fast_inode_invalidations": 15028,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 968,
+ "connection_create_count": 2,
+ "connection_reuse_count": 31215,
+ "connection_wait_count": 31217,
+ "connection_wait_nanos": 14314611,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 87,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5403,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21898,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 38,
+ "fuse_dispatch_wait_count": 38,
+ "fuse_dispatch_wait_nanos": 312398,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52393244,
+ "fuse_flush_count": 4729,
+ "fuse_flush_ranges": 4729,
+ "fuse_getattr_count": 5021,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11820,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 747979498,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 34,
+ "fuse_op_forget_nanos": 1958355,
+ "fuse_op_getattr_count": 5021,
+ "fuse_op_getattr_nanos": 77611533,
+ "fuse_op_lookup_count": 11820,
+ "fuse_op_lookup_nanos": 177704881,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 785,
+ "fuse_op_other_nanos": 156788141,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 24037637,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 951849,
+ "fuse_op_setattr_count": 4747,
+ "fuse_op_setattr_nanos": 1486260631,
+ "fuse_op_write_count": 4821,
+ "fuse_op_write_nanos": 44453229,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16153,
+ "fuse_read_lane_wait_nanos": 3537678,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32120,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673732,
+ "fuse_write_count": 4821,
+ "fuse_write_lane_wait_count": 10202,
+ "fuse_write_lane_wait_nanos": 3282330,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19334,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6897,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14256,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 11,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2159922
+ },
+ "phase-checkpoint-2": {
+ "agentfs_batcher_coalesced_ranges": 36,
+ "agentfs_batcher_commit_latency_ns_total": 1064105045,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4685,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9399,
+ "attr_cache_hits": 26150,
+ "attr_cache_misses": 30822,
+ "base_fast_inode_invalidations": 15079,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 984,
+ "connection_create_count": 9,
+ "connection_reuse_count": 31841,
+ "connection_wait_count": 31850,
+ "connection_wait_nanos": 14663679,
+ "dentry_cache_hits": 26105,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4685,
+ "fuse_adapter_attr_misses": 5620,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5416,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27253,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 375030,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10305,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11870,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 750340475,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 2006383,
+ "fuse_op_getattr_count": 10305,
+ "fuse_op_getattr_nanos": 101842433,
+ "fuse_op_lookup_count": 11870,
+ "fuse_op_lookup_nanos": 178334724,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 800,
+ "fuse_op_other_nanos": 159733389,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 25776137,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 1077537,
+ "fuse_op_setattr_count": 4761,
+ "fuse_op_setattr_nanos": 1490026678,
+ "fuse_op_write_count": 4830,
+ "fuse_op_write_nanos": 45208300,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16904,
+ "fuse_read_lane_wait_nanos": 3647522,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37513,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265125,
+ "fuse_write_count": 4830,
+ "fuse_write_lane_wait_count": 10244,
+ "fuse_write_lane_wait_nanos": 3294028,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20734,
+ "lookup_base_count": 23,
+ "lookup_count": 40452,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6931,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14342,
+ "path_cache_hits": 26105,
+ "path_cache_misses": 13482,
+ "path_component_count": 33026,
+ "path_resolution_count": 7163,
+ "readdir_count": 1,
+ "readdir_plus_count": 13,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2159922
+ },
+ "phase-checkpoint-3": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 1068151086,
+ "agentfs_batcher_commit_txns": 4808,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26169,
+ "attr_cache_misses": 30860,
+ "base_fast_inode_invalidations": 15103,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1004,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32859,
+ "connection_wait_count": 32868,
+ "connection_wait_nanos": 14976286,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6326,
+ "fuse_adapter_attr_misses": 5628,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5419,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30599,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 413907,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11954,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12164,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 751465926,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 2058539,
+ "fuse_op_getattr_count": 11954,
+ "fuse_op_getattr_nanos": 103431317,
+ "fuse_op_lookup_count": 12164,
+ "fuse_op_lookup_nanos": 182710015,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 3562,
+ "fuse_op_other_nanos": 162201737,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 28158434,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 46361023,
+ "fuse_op_setattr_count": 4767,
+ "fuse_op_setattr_nanos": 1496252041,
+ "fuse_op_write_count": 4840,
+ "fuse_op_write_nanos": 46491355,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17901,
+ "fuse_read_lane_wait_nanos": 3760529,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43629,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446583,
+ "fuse_write_count": 4840,
+ "fuse_write_lane_wait_count": 10258,
+ "fuse_write_lane_wait_nanos": 3319293,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20762,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6938,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2159922
+ },
+ "phase-checkpoint-4": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 1068151086,
+ "agentfs_batcher_commit_txns": 4808,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26170,
+ "attr_cache_misses": 30860,
+ "base_fast_inode_invalidations": 15103,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1004,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32867,
+ "connection_wait_count": 32876,
+ "connection_wait_nanos": 14983352,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6395,
+ "fuse_adapter_attr_misses": 5628,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5419,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30675,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 413907,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 12023,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12165,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 751465926,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 2058539,
+ "fuse_op_getattr_count": 12023,
+ "fuse_op_getattr_nanos": 103494078,
+ "fuse_op_lookup_count": 12165,
+ "fuse_op_lookup_nanos": 182736713,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 3562,
+ "fuse_op_other_nanos": 162201737,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 29487106,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 46361023,
+ "fuse_op_setattr_count": 4767,
+ "fuse_op_setattr_nanos": 1496252041,
+ "fuse_op_write_count": 4840,
+ "fuse_op_write_nanos": 46491355,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17903,
+ "fuse_read_lane_wait_nanos": 3761327,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43705,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446583,
+ "fuse_write_count": 4840,
+ "fuse_write_lane_wait_count": 10258,
+ "fuse_write_lane_wait_nanos": 3319293,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20762,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6938,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2159922
+ },
+ "phase-checkpoint-5": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 1069550049,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26170,
+ "attr_cache_misses": 30884,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1004,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32899,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 14996827,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6411,
+ "fuse_adapter_attr_misses": 5628,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5419,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30699,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 413907,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12039,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12165,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 751465926,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 2058539,
+ "fuse_op_getattr_count": 12039,
+ "fuse_op_getattr_nanos": 103519647,
+ "fuse_op_lookup_count": 12165,
+ "fuse_op_lookup_nanos": 182736713,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 3570,
+ "fuse_op_other_nanos": 163808561,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 29487106,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 46361023,
+ "fuse_op_setattr_count": 4775,
+ "fuse_op_setattr_nanos": 1498722080,
+ "fuse_op_write_count": 4848,
+ "fuse_op_write_nanos": 46981079,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17911,
+ "fuse_read_lane_wait_nanos": 3762668,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43745,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452981,
+ "fuse_write_count": 4848,
+ "fuse_write_lane_wait_count": 10266,
+ "fuse_write_lane_wait_nanos": 3320581,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20778,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6938,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 3620343
+ },
+ "phase-checkpoint-6": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 1069550049,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26170,
+ "attr_cache_misses": 30884,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1004,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32899,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 14996827,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7330,
+ "fuse_adapter_attr_misses": 5628,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5432,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 31631,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 413907,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12958,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12178,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 751465926,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 2058539,
+ "fuse_op_getattr_count": 12958,
+ "fuse_op_getattr_nanos": 104196747,
+ "fuse_op_lookup_count": 12178,
+ "fuse_op_lookup_nanos": 182750215,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 3582,
+ "fuse_op_other_nanos": 163815031,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 29487106,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 46361023,
+ "fuse_op_setattr_count": 4775,
+ "fuse_op_setattr_nanos": 1498722080,
+ "fuse_op_write_count": 4848,
+ "fuse_op_write_nanos": 46981079,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17911,
+ "fuse_read_lane_wait_nanos": 3762668,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44689,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452981,
+ "fuse_write_count": 4848,
+ "fuse_write_lane_wait_count": 10266,
+ "fuse_write_lane_wait_nanos": 3320581,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20778,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6951,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 3620343
+ },
+ "phase-checkpoint-7": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 1069550049,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26173,
+ "attr_cache_misses": 30886,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1004,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32914,
+ "connection_wait_count": 32923,
+ "connection_wait_nanos": 15014513,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7374,
+ "fuse_adapter_attr_misses": 5629,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5670,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31938,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 413907,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13003,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12420,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 751465926,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 2058539,
+ "fuse_op_getattr_count": 13003,
+ "fuse_op_getattr_nanos": 104290673,
+ "fuse_op_lookup_count": 12420,
+ "fuse_op_lookup_nanos": 183073818,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 163830669,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 29834142,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 47172577,
+ "fuse_op_setattr_count": 4775,
+ "fuse_op_setattr_nanos": 1498722080,
+ "fuse_op_write_count": 4848,
+ "fuse_op_write_nanos": 46981079,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17926,
+ "fuse_read_lane_wait_nanos": 3767395,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45032,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452981,
+ "fuse_write_count": 4848,
+ "fuse_write_lane_wait_count": 10266,
+ "fuse_write_lane_wait_nanos": 3320581,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20780,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7189,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 3620343
+ },
+ "run_parent": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 1069550049,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26173,
+ "attr_cache_misses": 30886,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1004,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32917,
+ "connection_wait_count": 32926,
+ "connection_wait_nanos": 15021421,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7374,
+ "fuse_adapter_attr_misses": 5629,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5670,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31938,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 413907,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13003,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12420,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 751465926,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 2058539,
+ "fuse_op_getattr_count": 13003,
+ "fuse_op_getattr_nanos": 104290673,
+ "fuse_op_lookup_count": 12420,
+ "fuse_op_lookup_nanos": 183073818,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 163830669,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 29834142,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 47172577,
+ "fuse_op_setattr_count": 4775,
+ "fuse_op_setattr_nanos": 1498722080,
+ "fuse_op_write_count": 4848,
+ "fuse_op_write_nanos": 46981079,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17926,
+ "fuse_read_lane_wait_nanos": 3767395,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45032,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452981,
+ "fuse_write_count": 4848,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 3321575,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20780,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7189,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 3820303
+ }
+ },
+ "max_counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 1069550049,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26173,
+ "attr_cache_misses": 30886,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1004,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32917,
+ "connection_wait_count": 32926,
+ "connection_wait_nanos": 15021421,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7374,
+ "fuse_adapter_attr_misses": 5629,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5670,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31938,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 413907,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13003,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12420,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 751465926,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 2058539,
+ "fuse_op_getattr_count": 13003,
+ "fuse_op_getattr_nanos": 104290673,
+ "fuse_op_lookup_count": 12420,
+ "fuse_op_lookup_nanos": 183073818,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 163830669,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 29834142,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 47172577,
+ "fuse_op_setattr_count": 4775,
+ "fuse_op_setattr_nanos": 1498722080,
+ "fuse_op_write_count": 4848,
+ "fuse_op_write_nanos": 46981079,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17926,
+ "fuse_read_lane_wait_nanos": 3767395,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45032,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452981,
+ "fuse_write_count": 4848,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 3321575,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20780,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7189,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 3820303
+ },
+ "summary_count": 10
+ },
+ "profile_enabled": true,
+ "profile_summary_count": 10,
+ "session": "git-workload-b5988d96b4e44e47b6434b7eadaa47f7"
+ },
+ "agentfs_overlay": {
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 34,
+ "agentfs_batcher_commit_latency_ns_total": 1060412259,
+ "agentfs_batcher_commit_txns": 4794,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4680,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4729,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9383,
+ "attr_cache_hits": 25921,
+ "attr_cache_misses": 29051,
+ "base_fast_inode_invalidations": 15028,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 968,
+ "connection_create_count": 2,
+ "connection_reuse_count": 31215,
+ "connection_wait_count": 31217,
+ "connection_wait_nanos": 14314611,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 87,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5403,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21898,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 38,
+ "fuse_dispatch_wait_count": 38,
+ "fuse_dispatch_wait_nanos": 312398,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52393244,
+ "fuse_flush_count": 4729,
+ "fuse_flush_ranges": 4729,
+ "fuse_getattr_count": 5021,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11820,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 747979498,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 34,
+ "fuse_op_forget_nanos": 1958355,
+ "fuse_op_getattr_count": 5021,
+ "fuse_op_getattr_nanos": 77611533,
+ "fuse_op_lookup_count": 11820,
+ "fuse_op_lookup_nanos": 177704881,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 785,
+ "fuse_op_other_nanos": 156788141,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 24037637,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 951849,
+ "fuse_op_setattr_count": 4747,
+ "fuse_op_setattr_nanos": 1486260631,
+ "fuse_op_write_count": 4821,
+ "fuse_op_write_nanos": 44453229,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16153,
+ "fuse_read_lane_wait_nanos": 3537678,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32120,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673732,
+ "fuse_write_count": 4821,
+ "fuse_write_lane_wait_count": 10202,
+ "fuse_write_lane_wait_nanos": 3282330,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19334,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6897,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14256,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 11,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2159922
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-1"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 36,
+ "agentfs_batcher_commit_latency_ns_total": 1064105045,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4685,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9399,
+ "attr_cache_hits": 26150,
+ "attr_cache_misses": 30822,
+ "base_fast_inode_invalidations": 15079,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 984,
+ "connection_create_count": 9,
+ "connection_reuse_count": 31841,
+ "connection_wait_count": 31850,
+ "connection_wait_nanos": 14663679,
+ "dentry_cache_hits": 26105,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4685,
+ "fuse_adapter_attr_misses": 5620,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5416,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27253,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 375030,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10305,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11870,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 750340475,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 2006383,
+ "fuse_op_getattr_count": 10305,
+ "fuse_op_getattr_nanos": 101842433,
+ "fuse_op_lookup_count": 11870,
+ "fuse_op_lookup_nanos": 178334724,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 800,
+ "fuse_op_other_nanos": 159733389,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 25776137,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 1077537,
+ "fuse_op_setattr_count": 4761,
+ "fuse_op_setattr_nanos": 1490026678,
+ "fuse_op_write_count": 4830,
+ "fuse_op_write_nanos": 45208300,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16904,
+ "fuse_read_lane_wait_nanos": 3647522,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37513,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265125,
+ "fuse_write_count": 4830,
+ "fuse_write_lane_wait_count": 10244,
+ "fuse_write_lane_wait_nanos": 3294028,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20734,
+ "lookup_base_count": 23,
+ "lookup_count": 40452,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6931,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14342,
+ "path_cache_hits": 26105,
+ "path_cache_misses": 13482,
+ "path_component_count": 33026,
+ "path_resolution_count": 7163,
+ "readdir_count": 1,
+ "readdir_plus_count": 13,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2159922
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-2"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 1068151086,
+ "agentfs_batcher_commit_txns": 4808,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26169,
+ "attr_cache_misses": 30860,
+ "base_fast_inode_invalidations": 15103,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1004,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32859,
+ "connection_wait_count": 32868,
+ "connection_wait_nanos": 14976286,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6326,
+ "fuse_adapter_attr_misses": 5628,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5419,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30599,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 413907,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11954,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12164,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 751465926,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 2058539,
+ "fuse_op_getattr_count": 11954,
+ "fuse_op_getattr_nanos": 103431317,
+ "fuse_op_lookup_count": 12164,
+ "fuse_op_lookup_nanos": 182710015,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 3562,
+ "fuse_op_other_nanos": 162201737,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 28158434,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 46361023,
+ "fuse_op_setattr_count": 4767,
+ "fuse_op_setattr_nanos": 1496252041,
+ "fuse_op_write_count": 4840,
+ "fuse_op_write_nanos": 46491355,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17901,
+ "fuse_read_lane_wait_nanos": 3760529,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43629,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446583,
+ "fuse_write_count": 4840,
+ "fuse_write_lane_wait_count": 10258,
+ "fuse_write_lane_wait_nanos": 3319293,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20762,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6938,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2159922
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-3"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 1068151086,
+ "agentfs_batcher_commit_txns": 4808,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26170,
+ "attr_cache_misses": 30860,
+ "base_fast_inode_invalidations": 15103,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1004,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32867,
+ "connection_wait_count": 32876,
+ "connection_wait_nanos": 14983352,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6395,
+ "fuse_adapter_attr_misses": 5628,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5419,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30675,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 413907,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 12023,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12165,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 751465926,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 2058539,
+ "fuse_op_getattr_count": 12023,
+ "fuse_op_getattr_nanos": 103494078,
+ "fuse_op_lookup_count": 12165,
+ "fuse_op_lookup_nanos": 182736713,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 3562,
+ "fuse_op_other_nanos": 162201737,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 29487106,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 46361023,
+ "fuse_op_setattr_count": 4767,
+ "fuse_op_setattr_nanos": 1496252041,
+ "fuse_op_write_count": 4840,
+ "fuse_op_write_nanos": 46491355,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17903,
+ "fuse_read_lane_wait_nanos": 3761327,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43705,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446583,
+ "fuse_write_count": 4840,
+ "fuse_write_lane_wait_count": 10258,
+ "fuse_write_lane_wait_nanos": 3319293,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20762,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6938,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2159922
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-4"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 1069550049,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26170,
+ "attr_cache_misses": 30884,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1004,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32899,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 14996827,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6411,
+ "fuse_adapter_attr_misses": 5628,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5419,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30699,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 413907,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12039,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12165,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 751465926,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 2058539,
+ "fuse_op_getattr_count": 12039,
+ "fuse_op_getattr_nanos": 103519647,
+ "fuse_op_lookup_count": 12165,
+ "fuse_op_lookup_nanos": 182736713,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 3570,
+ "fuse_op_other_nanos": 163808561,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 29487106,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 46361023,
+ "fuse_op_setattr_count": 4775,
+ "fuse_op_setattr_nanos": 1498722080,
+ "fuse_op_write_count": 4848,
+ "fuse_op_write_nanos": 46981079,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17911,
+ "fuse_read_lane_wait_nanos": 3762668,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43745,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452981,
+ "fuse_write_count": 4848,
+ "fuse_write_lane_wait_count": 10266,
+ "fuse_write_lane_wait_nanos": 3320581,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20778,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6938,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 3620343
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-5"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 1069550049,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26170,
+ "attr_cache_misses": 30884,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1004,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32899,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 14996827,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7330,
+ "fuse_adapter_attr_misses": 5628,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5432,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 31631,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 413907,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12958,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12178,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 751465926,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 2058539,
+ "fuse_op_getattr_count": 12958,
+ "fuse_op_getattr_nanos": 104196747,
+ "fuse_op_lookup_count": 12178,
+ "fuse_op_lookup_nanos": 182750215,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 3582,
+ "fuse_op_other_nanos": 163815031,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 29487106,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 46361023,
+ "fuse_op_setattr_count": 4775,
+ "fuse_op_setattr_nanos": 1498722080,
+ "fuse_op_write_count": 4848,
+ "fuse_op_write_nanos": 46981079,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17911,
+ "fuse_read_lane_wait_nanos": 3762668,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44689,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452981,
+ "fuse_write_count": 4848,
+ "fuse_write_lane_wait_count": 10266,
+ "fuse_write_lane_wait_nanos": 3320581,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20778,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6951,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 3620343
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-6"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 1069550049,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26173,
+ "attr_cache_misses": 30886,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1004,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32914,
+ "connection_wait_count": 32923,
+ "connection_wait_nanos": 15014513,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7374,
+ "fuse_adapter_attr_misses": 5629,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5670,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31938,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 413907,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13003,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12420,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 751465926,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 2058539,
+ "fuse_op_getattr_count": 13003,
+ "fuse_op_getattr_nanos": 104290673,
+ "fuse_op_lookup_count": 12420,
+ "fuse_op_lookup_nanos": 183073818,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 163830669,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 29834142,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 47172577,
+ "fuse_op_setattr_count": 4775,
+ "fuse_op_setattr_nanos": 1498722080,
+ "fuse_op_write_count": 4848,
+ "fuse_op_write_nanos": 46981079,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17926,
+ "fuse_read_lane_wait_nanos": 3767395,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45032,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452981,
+ "fuse_write_count": 4848,
+ "fuse_write_lane_wait_count": 10266,
+ "fuse_write_lane_wait_nanos": 3320581,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20780,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7189,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 3620343
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-7"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 1069550049,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26173,
+ "attr_cache_misses": 30886,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1004,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32917,
+ "connection_wait_count": 32926,
+ "connection_wait_nanos": 15021421,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7374,
+ "fuse_adapter_attr_misses": 5629,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5670,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31938,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 413907,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13003,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12420,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 751465926,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 2058539,
+ "fuse_op_getattr_count": 13003,
+ "fuse_op_getattr_nanos": 104290673,
+ "fuse_op_lookup_count": 12420,
+ "fuse_op_lookup_nanos": 183073818,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 163830669,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 29834142,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 47172577,
+ "fuse_op_setattr_count": 4775,
+ "fuse_op_setattr_nanos": 1498722080,
+ "fuse_op_write_count": 4848,
+ "fuse_op_write_nanos": 46981079,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17926,
+ "fuse_read_lane_wait_nanos": 3767395,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45032,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452981,
+ "fuse_write_count": 4848,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 3321575,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20780,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7189,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 3820303
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "agentfs"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 1069550049,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26173,
+ "attr_cache_misses": 30886,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1004,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32917,
+ "connection_wait_count": 32926,
+ "connection_wait_nanos": 15021421,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7374,
+ "fuse_adapter_attr_misses": 5629,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5670,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31938,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 413907,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13003,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12420,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 751465926,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 2058539,
+ "fuse_op_getattr_count": 13003,
+ "fuse_op_getattr_nanos": 104290673,
+ "fuse_op_lookup_count": 12420,
+ "fuse_op_lookup_nanos": 183073818,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 163830669,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 29834142,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 47172577,
+ "fuse_op_setattr_count": 4775,
+ "fuse_op_setattr_nanos": 1498722080,
+ "fuse_op_write_count": 4848,
+ "fuse_op_write_nanos": 46981079,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17926,
+ "fuse_read_lane_wait_nanos": 3767395,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45032,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452981,
+ "fuse_write_count": 4848,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 3321575,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20780,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7189,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 3820303
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "fuse_session"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 1069550049,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26173,
+ "attr_cache_misses": 30886,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1004,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32917,
+ "connection_wait_count": 32926,
+ "connection_wait_nanos": 15021421,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7374,
+ "fuse_adapter_attr_misses": 5629,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5670,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31938,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 413907,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13003,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12420,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 751465926,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 2058539,
+ "fuse_op_getattr_count": 13003,
+ "fuse_op_getattr_nanos": 104290673,
+ "fuse_op_lookup_count": 12420,
+ "fuse_op_lookup_nanos": 183073818,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 163830669,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 29834142,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 47172577,
+ "fuse_op_setattr_count": 4775,
+ "fuse_op_setattr_nanos": 1498722080,
+ "fuse_op_write_count": 4848,
+ "fuse_op_write_nanos": 46981079,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17926,
+ "fuse_read_lane_wait_nanos": 3767395,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45032,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452981,
+ "fuse_write_count": 4848,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 3321575,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20780,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7189,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 3820303
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "run_parent"
+ }
+ ],
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "run",
+ "--session",
+ "git-workload-b5988d96b4e44e47b6434b7eadaa47f7",
+ "--no-default-allows",
+ "--",
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-0w61kvk2/agentfs-base",
+ "duration_seconds": 5.065666067006532,
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 34,
+ "agentfs_batcher_commit_latency_ns_total": 1060412259,
+ "agentfs_batcher_commit_txns": 4794,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4680,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4729,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9383,
+ "attr_cache_hits": 25921,
+ "attr_cache_misses": 29051,
+ "base_fast_inode_invalidations": 15028,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 968,
+ "connection_create_count": 2,
+ "connection_reuse_count": 31215,
+ "connection_wait_count": 31217,
+ "connection_wait_nanos": 14314611,
+ "dentry_cache_hits": 26032,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 87,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5403,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21898,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 38,
+ "fuse_dispatch_wait_count": 38,
+ "fuse_dispatch_wait_nanos": 312398,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52393244,
+ "fuse_flush_count": 4729,
+ "fuse_flush_ranges": 4729,
+ "fuse_getattr_count": 5021,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11820,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 747979498,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 34,
+ "fuse_op_forget_nanos": 1958355,
+ "fuse_op_getattr_count": 5021,
+ "fuse_op_getattr_nanos": 77611533,
+ "fuse_op_lookup_count": 11820,
+ "fuse_op_lookup_nanos": 177704881,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 785,
+ "fuse_op_other_nanos": 156788141,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 24037637,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 951849,
+ "fuse_op_setattr_count": 4747,
+ "fuse_op_setattr_nanos": 1486260631,
+ "fuse_op_write_count": 4821,
+ "fuse_op_write_nanos": 44453229,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16153,
+ "fuse_read_lane_wait_nanos": 3537678,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32120,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673732,
+ "fuse_write_count": 4821,
+ "fuse_write_lane_wait_count": 10202,
+ "fuse_write_lane_wait_nanos": 3282330,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19334,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6897,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14256,
+ "path_cache_hits": 26032,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 11,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2159922
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-1"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 36,
+ "agentfs_batcher_commit_latency_ns_total": 1064105045,
+ "agentfs_batcher_commit_txns": 4804,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4685,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4740,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9399,
+ "attr_cache_hits": 26150,
+ "attr_cache_misses": 30822,
+ "base_fast_inode_invalidations": 15079,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 984,
+ "connection_create_count": 9,
+ "connection_reuse_count": 31841,
+ "connection_wait_count": 31850,
+ "connection_wait_nanos": 14663679,
+ "dentry_cache_hits": 26105,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4685,
+ "fuse_adapter_attr_misses": 5620,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5416,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27253,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 47,
+ "fuse_dispatch_wait_count": 47,
+ "fuse_dispatch_wait_nanos": 375030,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4740,
+ "fuse_flush_ranges": 4740,
+ "fuse_getattr_count": 10305,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11870,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 750340475,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 43,
+ "fuse_op_forget_nanos": 2006383,
+ "fuse_op_getattr_count": 10305,
+ "fuse_op_getattr_nanos": 101842433,
+ "fuse_op_lookup_count": 11870,
+ "fuse_op_lookup_nanos": 178334724,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 800,
+ "fuse_op_other_nanos": 159733389,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 25776137,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 1077537,
+ "fuse_op_setattr_count": 4761,
+ "fuse_op_setattr_nanos": 1490026678,
+ "fuse_op_write_count": 4830,
+ "fuse_op_write_nanos": 45208300,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 16904,
+ "fuse_read_lane_wait_nanos": 3647522,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37513,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265125,
+ "fuse_write_count": 4830,
+ "fuse_write_lane_wait_count": 10244,
+ "fuse_write_lane_wait_nanos": 3294028,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20734,
+ "lookup_base_count": 23,
+ "lookup_count": 40452,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6931,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14342,
+ "path_cache_hits": 26105,
+ "path_cache_misses": 13482,
+ "path_component_count": 33026,
+ "path_resolution_count": 7163,
+ "readdir_count": 1,
+ "readdir_plus_count": 13,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2159922
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-2"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 1068151086,
+ "agentfs_batcher_commit_txns": 4808,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26169,
+ "attr_cache_misses": 30860,
+ "base_fast_inode_invalidations": 15103,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 257,
+ "chunk_read_queries": 116,
+ "chunk_write_chunks": 1004,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32859,
+ "connection_wait_count": 32868,
+ "connection_wait_nanos": 14976286,
+ "dentry_cache_hits": 26125,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6326,
+ "fuse_adapter_attr_misses": 5628,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6733,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5419,
+ "fuse_adapter_negative_misses": 6733,
+ "fuse_callback_count": 30599,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 413907,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 11954,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12164,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 751465926,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 2058539,
+ "fuse_op_getattr_count": 11954,
+ "fuse_op_getattr_nanos": 103431317,
+ "fuse_op_lookup_count": 12164,
+ "fuse_op_lookup_nanos": 182710015,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 3562,
+ "fuse_op_other_nanos": 162201737,
+ "fuse_op_read_count": 233,
+ "fuse_op_read_nanos": 28158434,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 46361023,
+ "fuse_op_setattr_count": 4767,
+ "fuse_op_setattr_nanos": 1496252041,
+ "fuse_op_write_count": 4840,
+ "fuse_op_write_nanos": 46491355,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 233,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17901,
+ "fuse_read_lane_wait_nanos": 3760529,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43629,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446583,
+ "fuse_write_count": 4840,
+ "fuse_write_lane_wait_count": 10258,
+ "fuse_write_lane_wait_nanos": 3319293,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20762,
+ "lookup_base_count": 23,
+ "lookup_count": 41050,
+ "lookup_delta_count": 7546,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6938,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46083,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26125,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2159922
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-3"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 1068151086,
+ "agentfs_batcher_commit_txns": 4808,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4746,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9403,
+ "attr_cache_hits": 26170,
+ "attr_cache_misses": 30860,
+ "base_fast_inode_invalidations": 15103,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1004,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32867,
+ "connection_wait_count": 32876,
+ "connection_wait_nanos": 14983352,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6395,
+ "fuse_adapter_attr_misses": 5628,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5419,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30675,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 413907,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54415734,
+ "fuse_flush_count": 4746,
+ "fuse_flush_ranges": 4746,
+ "fuse_getattr_count": 12023,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12165,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 751465926,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 2058539,
+ "fuse_op_getattr_count": 12023,
+ "fuse_op_getattr_nanos": 103494078,
+ "fuse_op_lookup_count": 12165,
+ "fuse_op_lookup_nanos": 182736713,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 3562,
+ "fuse_op_other_nanos": 162201737,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 29487106,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 46361023,
+ "fuse_op_setattr_count": 4767,
+ "fuse_op_setattr_nanos": 1496252041,
+ "fuse_op_write_count": 4840,
+ "fuse_op_write_nanos": 46491355,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17903,
+ "fuse_read_lane_wait_nanos": 3761327,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43705,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54446583,
+ "fuse_write_count": 4840,
+ "fuse_write_lane_wait_count": 10258,
+ "fuse_write_lane_wait_nanos": 3319293,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20762,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6938,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 2159922
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-4"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 1069550049,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26170,
+ "attr_cache_misses": 30884,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1004,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32899,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 14996827,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 6411,
+ "fuse_adapter_attr_misses": 5628,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5419,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 30699,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 413907,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12039,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12165,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 751465926,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 2058539,
+ "fuse_op_getattr_count": 12039,
+ "fuse_op_getattr_nanos": 103519647,
+ "fuse_op_lookup_count": 12165,
+ "fuse_op_lookup_nanos": 182736713,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 3570,
+ "fuse_op_other_nanos": 163808561,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 29487106,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 46361023,
+ "fuse_op_setattr_count": 4775,
+ "fuse_op_setattr_nanos": 1498722080,
+ "fuse_op_write_count": 4848,
+ "fuse_op_write_nanos": 46981079,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17911,
+ "fuse_read_lane_wait_nanos": 3762668,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 43745,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452981,
+ "fuse_write_count": 4848,
+ "fuse_write_lane_wait_count": 10266,
+ "fuse_write_lane_wait_nanos": 3320581,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20778,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6938,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 3620343
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-5"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 1069550049,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26170,
+ "attr_cache_misses": 30884,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 267,
+ "chunk_read_queries": 122,
+ "chunk_write_chunks": 1004,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32899,
+ "connection_wait_count": 32908,
+ "connection_wait_nanos": 14996827,
+ "dentry_cache_hits": 26126,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7330,
+ "fuse_adapter_attr_misses": 5628,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6734,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5432,
+ "fuse_adapter_negative_misses": 6734,
+ "fuse_callback_count": 31631,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 413907,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 12958,
+ "fuse_ino_file_resolutions": 27,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12178,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 751465926,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 2058539,
+ "fuse_op_getattr_count": 12958,
+ "fuse_op_getattr_nanos": 104196747,
+ "fuse_op_lookup_count": 12178,
+ "fuse_op_lookup_nanos": 182750215,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 3582,
+ "fuse_op_other_nanos": 163815031,
+ "fuse_op_read_count": 239,
+ "fuse_op_read_nanos": 29487106,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 46361023,
+ "fuse_op_setattr_count": 4775,
+ "fuse_op_setattr_nanos": 1498722080,
+ "fuse_op_write_count": 4848,
+ "fuse_op_write_nanos": 46981079,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 239,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17911,
+ "fuse_read_lane_wait_nanos": 3762668,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44689,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452981,
+ "fuse_write_count": 4848,
+ "fuse_write_lane_wait_count": 10266,
+ "fuse_write_lane_wait_nanos": 3320581,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20778,
+ "lookup_base_count": 23,
+ "lookup_count": 41052,
+ "lookup_delta_count": 7547,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6951,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46085,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26126,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 3620343
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-6"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 1069550049,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26173,
+ "attr_cache_misses": 30886,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1004,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32914,
+ "connection_wait_count": 32923,
+ "connection_wait_nanos": 15014513,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7374,
+ "fuse_adapter_attr_misses": 5629,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5670,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31938,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 413907,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13003,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12420,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 751465926,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 2058539,
+ "fuse_op_getattr_count": 13003,
+ "fuse_op_getattr_nanos": 104290673,
+ "fuse_op_lookup_count": 12420,
+ "fuse_op_lookup_nanos": 183073818,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 163830669,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 29834142,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 47172577,
+ "fuse_op_setattr_count": 4775,
+ "fuse_op_setattr_nanos": 1498722080,
+ "fuse_op_write_count": 4848,
+ "fuse_op_write_nanos": 46981079,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17926,
+ "fuse_read_lane_wait_nanos": 3767395,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45032,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452981,
+ "fuse_write_count": 4848,
+ "fuse_write_lane_wait_count": 10266,
+ "fuse_write_lane_wait_nanos": 3320581,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20780,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7189,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 3620343
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-7"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 1069550049,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26173,
+ "attr_cache_misses": 30886,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1004,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32917,
+ "connection_wait_count": 32926,
+ "connection_wait_nanos": 15021421,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7374,
+ "fuse_adapter_attr_misses": 5629,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5670,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31938,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 413907,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13003,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12420,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 751465926,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 2058539,
+ "fuse_op_getattr_count": 13003,
+ "fuse_op_getattr_nanos": 104290673,
+ "fuse_op_lookup_count": 12420,
+ "fuse_op_lookup_nanos": 183073818,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 163830669,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 29834142,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 47172577,
+ "fuse_op_setattr_count": 4775,
+ "fuse_op_setattr_nanos": 1498722080,
+ "fuse_op_write_count": 4848,
+ "fuse_op_write_nanos": 46981079,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17926,
+ "fuse_read_lane_wait_nanos": 3767395,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45032,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452981,
+ "fuse_write_count": 4848,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 3321575,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20780,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7189,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 3820303
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "agentfs"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 1069550049,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26173,
+ "attr_cache_misses": 30886,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1004,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32917,
+ "connection_wait_count": 32926,
+ "connection_wait_nanos": 15021421,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7374,
+ "fuse_adapter_attr_misses": 5629,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5670,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31938,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 413907,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13003,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12420,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 751465926,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 2058539,
+ "fuse_op_getattr_count": 13003,
+ "fuse_op_getattr_nanos": 104290673,
+ "fuse_op_lookup_count": 12420,
+ "fuse_op_lookup_nanos": 183073818,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 163830669,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 29834142,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 47172577,
+ "fuse_op_setattr_count": 4775,
+ "fuse_op_setattr_nanos": 1498722080,
+ "fuse_op_write_count": 4848,
+ "fuse_op_write_nanos": 46981079,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17926,
+ "fuse_read_lane_wait_nanos": 3767395,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45032,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452981,
+ "fuse_write_count": 4848,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 3321575,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20780,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7189,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 3820303
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "fuse_session"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 40,
+ "agentfs_batcher_commit_latency_ns_total": 1069550049,
+ "agentfs_batcher_commit_txns": 4816,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 19,
+ "agentfs_batcher_enqueues": 4754,
+ "agentfs_batcher_pending_max_bytes": 1343488,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9411,
+ "attr_cache_hits": 26173,
+ "attr_cache_misses": 30886,
+ "base_fast_inode_invalidations": 15119,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 268,
+ "chunk_read_queries": 123,
+ "chunk_write_chunks": 1004,
+ "connection_create_count": 9,
+ "connection_reuse_count": 32917,
+ "connection_wait_count": 32926,
+ "connection_wait_nanos": 15021421,
+ "dentry_cache_hits": 26130,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7374,
+ "fuse_adapter_attr_misses": 5629,
+ "fuse_adapter_entry_hits": 12,
+ "fuse_adapter_entry_misses": 6738,
+ "fuse_adapter_inval_entry_notifications": 60,
+ "fuse_adapter_inval_inode_notifications": 5508,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5670,
+ "fuse_adapter_negative_misses": 6738,
+ "fuse_callback_count": 31938,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 413907,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 54422132,
+ "fuse_flush_count": 4754,
+ "fuse_flush_ranges": 4754,
+ "fuse_getattr_count": 13003,
+ "fuse_ino_file_resolutions": 28,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12420,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 751465926,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 819,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 2058539,
+ "fuse_op_getattr_count": 13003,
+ "fuse_op_getattr_nanos": 104290673,
+ "fuse_op_lookup_count": 12420,
+ "fuse_op_lookup_nanos": 183073818,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 1108,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 163830669,
+ "fuse_op_read_count": 241,
+ "fuse_op_read_nanos": 29834142,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 47172577,
+ "fuse_op_setattr_count": 4775,
+ "fuse_op_setattr_nanos": 1498722080,
+ "fuse_op_write_count": 4848,
+ "fuse_op_write_nanos": 46981079,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 241,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 17926,
+ "fuse_read_lane_wait_nanos": 3767395,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 45032,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 54452981,
+ "fuse_write_count": 4848,
+ "fuse_write_lane_wait_count": 10268,
+ "fuse_write_lane_wait_nanos": 3321575,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20780,
+ "lookup_base_count": 23,
+ "lookup_count": 41060,
+ "lookup_delta_count": 7551,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7189,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46094,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26130,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 3820303
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "run_parent"
+ }
+ ],
+ "returncode": 0,
+ "stderr_bytes": 40604,
+ "stderr_tail": "54,\"agentfs_batcher_pending_max_bytes\":1343488,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9411,\"attr_cache_hits\":26170,\"attr_cache_misses\":30884,\"base_fast_inode_invalidations\":15119,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":267,\"chunk_read_queries\":122,\"chunk_write_chunks\":1004,\"connection_create_count\":9,\"connection_reuse_count\":32899,\"connection_wait_count\":32908,\"connection_wait_nanos\":14996827,\"dentry_cache_hits\":26126,\"dentry_cache_misses\":14052,\"fuse_adapter_attr_hits\":7330,\"fuse_adapter_attr_misses\":5628,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6734,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5432,\"fuse_adapter_negative_misses\":6734,\"fuse_callback_count\":31631,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":50,\"fuse_dispatch_wait_count\":50,\"fuse_dispatch_wait_nanos\":413907,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":12958,\"fuse_ino_file_resolutions\":27,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12178,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":751465926,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":819,\"fuse_op_forget_count\":46,\"fuse_op_forget_nanos\":2058539,\"fuse_op_getattr_count\":12958,\"fuse_op_getattr_nanos\":104196747,\"fuse_op_lookup_count\":12178,\"fuse_op_lookup_nanos\":182750215,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1108,\"fuse_op_other_count\":3582,\"fuse_op_other_nanos\":163815031,\"fuse_op_read_count\":239,\"fuse_op_read_nanos\":29487106,\"fuse_op_readdirplus_count\":1407,\"fuse_op_readdirplus_nanos\":46361023,\"fuse_op_setattr_count\":4775,\"fuse_op_setattr_nanos\":1498722080,\"fuse_op_write_count\":4848,\"fuse_op_write_nanos\":46981079,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":239,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17911,\"fuse_read_lane_wait_nanos\":3762668,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1407,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":44689,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54452981,\"fuse_write_count\":4848,\"fuse_write_lane_wait_count\":10266,\"fuse_write_lane_wait_nanos\":3320581,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20778,\"lookup_base_count\":23,\"lookup_count\":41052,\"lookup_delta_count\":7547,\"lookup_whiteout_count\":0,\"negative_cache_hits\":6951,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46085,\"negative_lookup_count\":14920,\"path_cache_hits\":26126,\"path_cache_misses\":14052,\"path_component_count\":37632,\"path_resolution_count\":8140,\"readdir_count\":1,\"readdir_plus_count\":701,\"wal_checkpoint_count\":11,\"wal_checkpoint_nanos\":3620343},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"phase-checkpoint-6\"}\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":40,\"agentfs_batcher_commit_latency_ns_total\":1069550049,\"agentfs_batcher_commit_txns\":4816,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4695,\"agentfs_batcher_drains_timer\":19,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1343488,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9411,\"attr_cache_hits\":26173,\"attr_cache_misses\":30886,\"base_fast_inode_invalidations\":15119,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1004,\"connection_create_count\":9,\"connection_reuse_count\":32914,\"connection_wait_count\":32923,\"connection_wait_nanos\":15014513,\"dentry_cache_hits\":26130,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":7374,\"fuse_adapter_attr_misses\":5629,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5670,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":31938,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":50,\"fuse_dispatch_wait_count\":50,\"fuse_dispatch_wait_nanos\":413907,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13003,\"fuse_ino_file_resolutions\":28,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12420,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":751465926,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":819,\"fuse_op_forget_count\":46,\"fuse_op_forget_nanos\":2058539,\"fuse_op_getattr_count\":13003,\"fuse_op_getattr_nanos\":104290673,\"fuse_op_lookup_count\":12420,\"fuse_op_lookup_nanos\":183073818,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1108,\"fuse_op_other_count\":3618,\"fuse_op_other_nanos\":163830669,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":29834142,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":47172577,\"fuse_op_setattr_count\":4775,\"fuse_op_setattr_nanos\":1498722080,\"fuse_op_write_count\":4848,\"fuse_op_write_nanos\":46981079,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17926,\"fuse_read_lane_wait_nanos\":3767395,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":45032,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54452981,\"fuse_write_count\":4848,\"fuse_write_lane_wait_count\":10266,\"fuse_write_lane_wait_nanos\":3320581,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20780,\"lookup_base_count\":23,\"lookup_count\":41060,\"lookup_delta_count\":7551,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7189,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14922,\"path_cache_hits\":26130,\"path_cache_misses\":14054,\"path_component_count\":37674,\"path_resolution_count\":8150,\"readdir_count\":1,\"readdir_plus_count\":710,\"wal_checkpoint_count\":11,\"wal_checkpoint_nanos\":3620343},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"phase-checkpoint-7\"}\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":40,\"agentfs_batcher_commit_latency_ns_total\":1069550049,\"agentfs_batcher_commit_txns\":4816,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4695,\"agentfs_batcher_drains_timer\":19,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1343488,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9411,\"attr_cache_hits\":26173,\"attr_cache_misses\":30886,\"base_fast_inode_invalidations\":15119,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1004,\"connection_create_count\":9,\"connection_reuse_count\":32917,\"connection_wait_count\":32926,\"connection_wait_nanos\":15021421,\"dentry_cache_hits\":26130,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":7374,\"fuse_adapter_attr_misses\":5629,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5670,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":31938,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":50,\"fuse_dispatch_wait_count\":50,\"fuse_dispatch_wait_nanos\":413907,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13003,\"fuse_ino_file_resolutions\":28,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12420,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":751465926,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":819,\"fuse_op_forget_count\":46,\"fuse_op_forget_nanos\":2058539,\"fuse_op_getattr_count\":13003,\"fuse_op_getattr_nanos\":104290673,\"fuse_op_lookup_count\":12420,\"fuse_op_lookup_nanos\":183073818,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1108,\"fuse_op_other_count\":3618,\"fuse_op_other_nanos\":163830669,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":29834142,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":47172577,\"fuse_op_setattr_count\":4775,\"fuse_op_setattr_nanos\":1498722080,\"fuse_op_write_count\":4848,\"fuse_op_write_nanos\":46981079,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17926,\"fuse_read_lane_wait_nanos\":3767395,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":45032,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54452981,\"fuse_write_count\":4848,\"fuse_write_lane_wait_count\":10268,\"fuse_write_lane_wait_nanos\":3321575,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20780,\"lookup_base_count\":23,\"lookup_count\":41060,\"lookup_delta_count\":7551,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7189,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14922,\"path_cache_hits\":26130,\"path_cache_misses\":14054,\"path_component_count\":37674,\"path_resolution_count\":8150,\"readdir_count\":1,\"readdir_plus_count\":710,\"wal_checkpoint_count\":13,\"wal_checkpoint_nanos\":3820303},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"agentfs\"}\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":40,\"agentfs_batcher_commit_latency_ns_total\":1069550049,\"agentfs_batcher_commit_txns\":4816,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4695,\"agentfs_batcher_drains_timer\":19,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1343488,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9411,\"attr_cache_hits\":26173,\"attr_cache_misses\":30886,\"base_fast_inode_invalidations\":15119,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1004,\"connection_create_count\":9,\"connection_reuse_count\":32917,\"connection_wait_count\":32926,\"connection_wait_nanos\":15021421,\"dentry_cache_hits\":26130,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":7374,\"fuse_adapter_attr_misses\":5629,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5670,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":31938,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":50,\"fuse_dispatch_wait_count\":50,\"fuse_dispatch_wait_nanos\":413907,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13003,\"fuse_ino_file_resolutions\":28,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12420,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":751465926,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":819,\"fuse_op_forget_count\":46,\"fuse_op_forget_nanos\":2058539,\"fuse_op_getattr_count\":13003,\"fuse_op_getattr_nanos\":104290673,\"fuse_op_lookup_count\":12420,\"fuse_op_lookup_nanos\":183073818,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1108,\"fuse_op_other_count\":3618,\"fuse_op_other_nanos\":163830669,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":29834142,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":47172577,\"fuse_op_setattr_count\":4775,\"fuse_op_setattr_nanos\":1498722080,\"fuse_op_write_count\":4848,\"fuse_op_write_nanos\":46981079,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17926,\"fuse_read_lane_wait_nanos\":3767395,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":45032,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54452981,\"fuse_write_count\":4848,\"fuse_write_lane_wait_count\":10268,\"fuse_write_lane_wait_nanos\":3321575,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20780,\"lookup_base_count\":23,\"lookup_count\":41060,\"lookup_delta_count\":7551,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7189,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14922,\"path_cache_hits\":26130,\"path_cache_misses\":14054,\"path_component_count\":37674,\"path_resolution_count\":8150,\"readdir_count\":1,\"readdir_plus_count\":710,\"wal_checkpoint_count\":13,\"wal_checkpoint_nanos\":3820303},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"fuse_session\"}\n\nSession: git-workload-b5988d96b4e44e47b6434b7eadaa47f7\n\nTo resume this session:\n agentfs run --session git-workload-b5988d96b4e44e47b6434b7eadaa47f7\n\nTo see what changed:\n agentfs diff git-workload-b5988d96b4e44e47b6434b7eadaa47f7\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":40,\"agentfs_batcher_commit_latency_ns_total\":1069550049,\"agentfs_batcher_commit_txns\":4816,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4695,\"agentfs_batcher_drains_timer\":19,\"agentfs_batcher_enqueues\":4754,\"agentfs_batcher_pending_max_bytes\":1343488,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9411,\"attr_cache_hits\":26173,\"attr_cache_misses\":30886,\"base_fast_inode_invalidations\":15119,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":268,\"chunk_read_queries\":123,\"chunk_write_chunks\":1004,\"connection_create_count\":9,\"connection_reuse_count\":32917,\"connection_wait_count\":32926,\"connection_wait_nanos\":15021421,\"dentry_cache_hits\":26130,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":7374,\"fuse_adapter_attr_misses\":5629,\"fuse_adapter_entry_hits\":12,\"fuse_adapter_entry_misses\":6738,\"fuse_adapter_inval_entry_notifications\":60,\"fuse_adapter_inval_inode_notifications\":5508,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5670,\"fuse_adapter_negative_misses\":6738,\"fuse_callback_count\":31938,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":50,\"fuse_dispatch_wait_count\":50,\"fuse_dispatch_wait_nanos\":413907,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":54422132,\"fuse_flush_count\":4754,\"fuse_flush_ranges\":4754,\"fuse_getattr_count\":13003,\"fuse_ino_file_resolutions\":28,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12420,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":751465926,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":819,\"fuse_op_forget_count\":46,\"fuse_op_forget_nanos\":2058539,\"fuse_op_getattr_count\":13003,\"fuse_op_getattr_nanos\":104290673,\"fuse_op_lookup_count\":12420,\"fuse_op_lookup_nanos\":183073818,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":1108,\"fuse_op_other_count\":3618,\"fuse_op_other_nanos\":163830669,\"fuse_op_read_count\":241,\"fuse_op_read_nanos\":29834142,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":47172577,\"fuse_op_setattr_count\":4775,\"fuse_op_setattr_nanos\":1498722080,\"fuse_op_write_count\":4848,\"fuse_op_write_nanos\":46981079,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":241,\"fuse_read_lane_max_concurrent\":5,\"fuse_read_lane_wait_count\":17926,\"fuse_read_lane_wait_nanos\":3767395,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":45032,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":54452981,\"fuse_write_count\":4848,\"fuse_write_lane_wait_count\":10268,\"fuse_write_lane_wait_nanos\":3321575,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20780,\"lookup_base_count\":23,\"lookup_count\":41060,\"lookup_delta_count\":7551,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7189,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46094,\"negative_lookup_count\":14922,\"path_cache_hits\":26130,\"path_cache_misses\":14054,\"path_component_count\":37674,\"path_resolution_count\":8150,\"readdir_count\":1,\"readdir_plus_count\":710,\"wal_checkpoint_count\":13,\"wal_checkpoint_nanos\":3820303},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"run_parent\"}\n",
+ "stdout_bytes": 19368,
+ "stdout_tail": "2026-07-03T11:39:37.783661Z INFO agentfs::fuser::session: resolved FUSE dispatch mode: parallel workers=7 queue_capacity=28\n2026-07-03T11:39:37.783896Z INFO agentfs::fuse: advertising FUSE_OVER_IO_URING\n2026-07-03T11:39:37.784141Z INFO agentfs::fuser::uring: starting fuse-over-io_uring queues nr_queues=14 depth=4\n2026-07-03T11:39:39.165357Z WARN agentfs::fuser::request: Request RequestId(20345): Failed to send reply: No such file or directory (os error 2)\n2026-07-03T11:39:40.165378Z WARN agentfs::fuser::request: Request RequestId(37581): Failed to send reply: No such file or directory (os error 2)\n2026-07-03T11:39:41.165361Z WARN agentfs::fuser::request: Request RequestId(55747): Failed to send reply: No such file or directory (os error 2)\n{\"branch_status\": \"## agentfs-benchmark\\n\", \"diff\": {\"changed_file_count\": 8, \"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.0205535150016658, \"patch_bytes\": 3282, \"patch_sha256\": \"51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc\", \"runs\": {\"name_only\": {\"argv\": [\"git\", \"diff\", \"--name-only\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-0w61kvk2/agentfs-base/work\", \"duration_seconds\": 0.009685308003099635, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 144, \"stdout_tail\": \"docs/CLA.md\\ndocs/agents_md.md\\ndocs/authentication.md\\ndocs/config.md\\ndocs/contributing.md\\ndocs/example-config.md\\ndocs/exec.md\\ndocs/execpolicy.md\\n\"}, \"patch\": {\"argv\": [\"git\", \"diff\", \"--\", \".\"], \"cwd\": \"/tmp/agentfs-git-workload-0w61kvk2/agentfs-base/work\", \"duration_seconds\": 0.005176992999622598, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 3282, \"stdout_tail\": \"diff --git a/docs/CLA.md b/docs/CLA.md\\nindex 804f202..3495ac9 100644\\n--- a/docs/CLA.md\\n+++ b/docs/CLA.md\\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\\n This Agreement is governed by the laws of the **State of California**, USA,\\n excluding its conflict\\u2011of\\u2011laws rules. If any provision is held unenforceable,\\n the remaining provisions remain in force.\\n+\\n+AgentFS Git benchmark edit 00 for docs/CLA.md\\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\\nindex 3df0fac..b8b063d 100644\\n--- a/docs/agents_md.md\\n+++ b/docs/agents_md.md\\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\\n ## Hierarchical agents message\\n \\n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\\n+\\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\\ndiff --git a/docs/authentication.md b/docs/authentication.md\\nindex c307349..b3bc9dc 100644\\n--- a/docs/authentication.md\\n+++ b/docs/authentication.md\\n@@ -1,3 +1,5 @@\\n # Authentication\\n \\n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\\n+\\n+AgentFS Git benchmark edit 02 for docs/authentication.md\\ndiff --git a/docs/config.md b/docs/config.md\\nindex d35b0a8..030e278 100644\\n--- a/docs/config.md\\n+++ b/docs/config.md\\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\\n still allowing managed hooks from requirements and managed config layers. This\\n setting is only supported in `requirements.toml`; putting it in `config.toml`\\n does not enable managed-hooks-only mode.\\n+\\n+AgentFS Git benchmark edit 03 for docs/config.md\\ndiff --git a/docs/contributing.md b/docs/contributing.md\\nindex aeae1f1..b5a22ac 100644\\n--- a/docs/contributing.md\\n+++ b/docs/contributing.md\\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\\n ### Security & responsible AI\\n \\n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\\n+\\n+AgentFS Git benchmark edit 04 for docs/contributing.md\\ndiff --git a/docs/example-config.md b/docs/example-config.md\\nindex 84b1143..b09f835 100644\\n--- a/docs/example-config.md\\n+++ b/docs/example-config.md\\n@@ -1,3 +1,5 @@\\n # Sample configuration\\n \\n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\\n+\\n+AgentFS Git benchmark edit 05 for docs/example-config.md\\ndiff --git a/docs/exec.md b/docs/exec.md\\nindex 57e4323..a81da98 100644\\n--- a/docs/exec.md\\n+++ b/docs/exec.md\\n@@ -1,3 +1,5 @@\\n # Non-interactive mode\\n \\n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\\n+\\n+AgentFS Git benchmark edit 06 for docs/exec.md\\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\\nindex cafebb3..3b48afe 100644\\n--- a/docs/execpolicy.md\\n+++ b/docs/execpolicy.md\\n@@ -1,3 +1,5 @@\\n # Execution policy\\n \\n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\\n+\\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\\n\"}, \"stat\": {\"argv\": [\"git\", \"diff\", \"--stat\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-0w61kvk2/agentfs-base/work\", \"duration_seconds\": 0.005619338000542484, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 283, \"stdout_tail\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}}, \"stat_stdout\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}, \"edits\": {\"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.006582002999493852, \"edits\": [{\"appended_bytes\": 47, \"path\": \"docs/CLA.md\", \"size_after\": 2106, \"size_before\": 2059}, {\"appended_bytes\": 53, \"path\": \"docs/agents_md.md\", \"size_after\": 462, \"size_before\": 409}, {\"appended_bytes\": 58, \"path\": \"docs/authentication.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 50, \"path\": \"docs/config.md\", \"size_after\": 776, \"size_before\": 726}, {\"appended_bytes\": 56, \"path\": \"docs/contributing.md\", \"size_after\": 6380, \"size_before\": 6324}, {\"appended_bytes\": 58, \"path\": \"docs/example-config.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 48, \"path\": \"docs/exec.md\", \"size_after\": 194, \"size_before\": 146}, {\"appended_bytes\": 54, \"path\": \"docs/execpolicy.md\", \"size_after\": 192, \"size_before\": 138}]}, \"fsck\": {\"ok\": true, \"ran\": true, \"run\": {\"argv\": [\"git\", \"fsck\", \"--strict\"], \"cwd\": \"/tmp/agentfs-git-workload-0w61kvk2/agentfs-base/work\", \"duration_seconds\": 0.22152803500648588, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}, \"head_commit\": \"7d47056ea42636271ac020b86347fbbef49490aa\", \"initial_status\": \"\", \"phase_runs\": {\"checkout\": {\"argv\": [\"git\", \"checkout\", \"-B\", \"agentfs-benchmark\"], \"cwd\": \"/tmp/agentfs-git-workload-0w61kvk2/agentfs-base/work\", \"duration_seconds\": 0.07085387800179888, \"returncode\": 0, \"stderr_bytes\": 45, \"stderr_tail\": \"Switched to a new branch 'agentfs-benchmark'\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"clone\": {\"argv\": [\"git\", \"clone\", \"--local\", \"--no-hardlinks\", \"/tmp/agentfs-git-workload-0w61kvk2/agentfs-base/mirror.git\", \"/tmp/agentfs-git-workload-0w61kvk2/agentfs-base/work\"], \"cwd\": \"/tmp/agentfs-git-workload-0w61kvk2/agentfs-base\", \"duration_seconds\": 3.7440430769929662, \"returncode\": 0, \"stderr_bytes\": 2637, \"stderr_tail\": \"Cloning into '/tmp/agentfs-git-workload-0w61kvk2/agentfs-base/work'...\\nwarning: source repository is shallow, ignoring --local\\nwarning: --local is ignored\\nUpdating files: 29% (1349/4644)\\nUpdating files: 30% (1394/4644)\\nUpdating files: 31% (1440/4644)\\nUpdating files: 32% (1487/4644)\\nUpdating files: 33% (1533/4644)\\nUpdating files: 34% (1579/4644)\\nUpdating files: 35% (1626/4644)\\nUpdating files: 36% (1672/4644)\\nUpdating files: 37% (1719/4644)\\nUpdating files: 38% (1765/4644)\\nUpdating files: 39% (1812/4644)\\nUpdating files: 40% (1858/4644)\\nUpdating files: 41% (1905/4644)\\nUpdating files: 42% (1951/4644)\\nUpdating files: 43% (1997/4644)\\nUpdating files: 44% (2044/4644)\\nUpdating files: 45% (2090/4644)\\nUpdating files: 46% (2137/4644)\\nUpdating files: 47% (2183/4644)\\nUpdating files: 48% (2230/4644)\\nUpdating files: 49% (2276/4644)\\nUpdating files: 50% (2322/4644)\\nUpdating files: 51% (2369/4644)\\nUpdating files: 52% (2415/4644)\\nUpdating files: 53% (2462/4644)\\nUpdating files: 54% (2508/4644)\\nUpdating files: 55% (2555/4644)\\nUpdating files: 56% (2601/4644)\\nUpdating files: 56% (2627/4644)\\nUpdating files: 57% (2648/4644)\\nUpdating files: 58% (2694/4644)\\nUpdating files: 59% (2740/4644)\\nUpdating files: 60% (2787/4644)\\nUpdating files: 61% (2833/4644)\\nUpdating files: 62% (2880/4644)\\nUpdating files: 63% (2926/4644)\\nUpdating files: 64% (2973/4644)\\nUpdating files: 65% (3019/4644)\\nUpdating files: 66% (3066/4644)\\nUpdating files: 67% (3112/4644)\\nUpdating files: 68% (3158/4644)\\nUpdating files: 69% (3205/4644)\\nUpdating files: 70% (3251/4644)\\nUpdating files: 71% (3298/4644)\\nUpdating files: 72% (3344/4644)\\nUpdating files: 73% (3391/4644)\\nUpdating files: 74% (3437/4644)\\nUpdating files: 75% (3483/4644)\\nUpdating files: 76% (3530/4644)\\nUpdating files: 77% (3576/4644)\\nUpdating files: 78% (3623/4644)\\nUpdating files: 79% (3669/4644)\\nUpdating files: 80% (3716/4644)\\nUpdating files: 81% (3762/4644)\\nUpdating files: 82% (3809/4644)\\nUpdating files: 83% (3855/4644)\\nUpdating files: 84% (3901/4644)\\nUpdating files: 85% (3948/4644)\\nUpdating files: 86% (3994/4644)\\nUpdating files: 86% (4025/4644)\\nUpdating files: 87% (4041/4644)\\nUpdating files: 88% (4087/4644)\\nUpdating files: 89% (4134/4644)\\nUpdating files: 90% (4180/4644)\\nUpdating files: 91% (4227/4644)\\nUpdating files: 92% (4273/4644)\\nUpdating files: 93% (4319/4644)\\nUpdating files: 94% (4366/4644)\\nUpdating files: 95% (4412/4644)\\nUpdating files: 96% (4459/4644)\\nUpdating files: 97% (4505/4644)\\nUpdating files: 98% (4552/4644)\\nUpdating files: 99% (4598/4644)\\nUpdating files: 100% (4644/4644)\\nUpdating files: 100% (4644/4644), done.\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"status\": {\"branch\": {\"argv\": [\"git\", \"status\", \"--short\", \"--branch\"], \"cwd\": \"/tmp/agentfs-git-workload-0w61kvk2/agentfs-base/work\", \"duration_seconds\": 0.05488121300004423, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 21, \"stdout_tail\": \"## agentfs-benchmark\\n\"}, \"short\": {\"argv\": [\"git\", \"status\", \"--short\"], \"cwd\": \"/tmp/agentfs-git-workload-0w61kvk2/agentfs-base/work\", \"duration_seconds\": 0.12047394999535754, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}}, \"phase_seconds\": {\"checkout\": 0.07353177799086552, \"clone\": 3.744095923990244, \"diff\": 0.0205535150016658, \"edit\": 0.006582002999493852, \"fsck\": 0.2215479599981336, \"read_search\": 0.012863876996561885, \"status\": 0.17539117000706028}, \"profile_checkpoints\": [\"clone\", \"checkout\", \"status\", \"read_search\", \"edit\", \"diff\", \"fsck\"], \"read_search\": {\"bytes_read\": 117190, \"digest\": \"6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53\", \"files_scanned\": 64, \"files_total\": 4644, \"ls_files_run\": {\"argv\": [\"git\", \"ls-files\", \"-z\"], \"cwd\": \"/tmp/agentfs-git-workload-0w61kvk2/agentfs-base/work\", \"duration_seconds\": 0.006875639999634586, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 263077, \"stdout_tail\": \"i_codex/api.py\\u0000sdk/python/src/openai_codex/async_client.py\\u0000sdk/python/src/openai_codex/client.py\\u0000sdk/python/src/openai_codex/errors.py\\u0000sdk/python/src/openai_codex/generated/__init__.py\\u0000sdk/python/src/openai_codex/generated/notification_registry.py\\u0000sdk/python/src/openai_codex/generated/v2_all.py\\u0000sdk/python/src/openai_codex/models.py\\u0000sdk/python/src/openai_codex/py.typed\\u0000sdk/python/src/openai_codex/retry.py\\u0000sdk/python/src/openai_codex/types.py\\u0000sdk/python/tests/app_server_harness.py\\u0000sdk/python/tests/app_server_helpers.py\\u0000sdk/python/tests/conftest.py\\u0000sdk/python/tests/test_app_server_approvals.py\\u0000sdk/python/tests/test_app_server_inputs.py\\u0000sdk/python/tests/test_app_server_lifecycle.py\\u0000sdk/python/tests/test_app_server_login.py\\u0000sdk/python/tests/test_app_server_run.py\\u0000sdk/python/tests/test_app_server_streaming.py\\u0000sdk/python/tests/test_app_server_turn_controls.py\\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\\u0000sdk/python/tests/test_async_client_behavior.py\\u0000sdk/python/tests/test_client_rpc_methods.py\\u0000sdk/python/tests/test_contract_generation.py\\u0000sdk/python/tests/test_public_api_runtime_behavior.py\\u0000sdk/python/tests/test_public_api_signatures.py\\u0000sdk/python/tests/test_real_app_server_integration.py\\u0000sdk/python/uv.lock\\u0000sdk/typescript/.prettierignore\\u0000sdk/typescript/.prettierrc\\u0000sdk/typescript/README.md\\u0000sdk/typescript/eslint.config.js\\u0000sdk/typescript/jest.config.cjs\\u0000sdk/typescript/package.json\\u0000sdk/typescript/samples/basic_streaming.ts\\u0000sdk/typescript/samples/helpers.ts\\u0000sdk/typescript/samples/structured_output.ts\\u0000sdk/typescript/samples/structured_output_zod.ts\\u0000sdk/typescript/src/codex.ts\\u0000sdk/typescript/src/codexOptions.ts\\u0000sdk/typescript/src/events.ts\\u0000sdk/typescript/src/exec.ts\\u0000sdk/typescript/src/index.ts\\u0000sdk/typescript/src/items.ts\\u0000sdk/typescript/src/outputSchemaFile.ts\\u0000sdk/typescript/src/thread.ts\\u0000sdk/typescript/src/threadOptions.ts\\u0000sdk/typescript/src/turnOptions.ts\\u0000sdk/typescript/tests/abort.test.ts\\u0000sdk/typescript/tests/codexExecSpy.ts\\u0000sdk/typescript/tests/exec.test.ts\\u0000sdk/typescript/tests/responsesProxy.ts\\u0000sdk/typescript/tests/run.test.ts\\u0000sdk/typescript/tests/runStreamed.test.ts\\u0000sdk/typescript/tests/setupCodexHome.ts\\u0000sdk/typescript/tests/testCodex.ts\\u0000sdk/typescript/tsconfig.json\\u0000sdk/typescript/tsup.config.ts\\u0000third_party/v8/BUILD.bazel\\u0000third_party/v8/README.md\\u0000third_party/v8/libcxx.BUILD.bazel\\u0000third_party/v8/libcxx_config/BUILD.bazel\\u0000third_party/v8/libcxx_config/__assertion_handler\\u0000third_party/v8/libcxx_config/__config_site\\u0000third_party/v8/libcxxabi.BUILD.bazel\\u0000third_party/v8/llvm_libc.BUILD.bazel\\u0000third_party/v8/rusty_v8_147_4_0.sha256\\u0000third_party/v8/v8_crate.BUILD.bazel\\u0000third_party/wezterm/LICENSE\\u0000tools/argument-comment-lint/.cargo/config.toml\\u0000tools/argument-comment-lint/.gitignore\\u0000tools/argument-comment-lint/BUILD.bazel\\u0000tools/argument-comment-lint/Cargo.lock\\u0000tools/argument-comment-lint/Cargo.toml\\u0000tools/argument-comment-lint/README.md\\u0000tools/argument-comment-lint/argument-comment-lint\\u0000tools/argument-comment-lint/driver.rs\\u0000tools/argument-comment-lint/lint_aspect.bzl\\u0000tools/argument-comment-lint/list-bazel-targets.sh\\u0000tools/argument-comment-lint/run-prebuilt-linter.py\\u0000tools/argument-comment-lint/run.py\\u0000tools/argument-comment-lint/rust-toolchain\\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\\u0000tools/argument-comment-lint/src/comment_parser.rs\\u0000tools/argument-comment-lint/src/lib.rs\\u0000tools/argument-comment-lint/test_wrapper_common.py\\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\\u0000tools/argument-comment-lint/ui/comment_matches.rs\\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\\u0000tools/argument-comment-lint/wrapper_common.py\\u0000workspace_root_test_launcher.bat.tpl\\u0000workspace_root_test_launcher.sh.tpl\\u0000\"}, \"matches\": 0, \"selected_files\": [\".bazelignore\", \".bazelrc\", \".bazelversion\", \".codespellignore\", \".codespellrc\", \".codex/environments/environment.toml\", \".codex/skills/babysit-pr/SKILL.md\", \".codex/skills/babysit-pr/agents/openai.yaml\", \".codex/skills/babysit-pr/references/github-api-notes.md\", \".codex/skills/babysit-pr/references/heuristics.md\", \".codex/skills/babysit-pr/scripts/gh_pr_watch.py\", \".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py\", \".codex/skills/code-review-breaking-changes/SKILL.md\", \".codex/skills/code-review-change-size/SKILL.md\", \".codex/skills/code-review-context/SKILL.md\", \".codex/skills/code-review-testing/SKILL.md\", \".codex/skills/code-review/SKILL.md\", \".codex/skills/codex-bug/SKILL.md\", \".codex/skills/codex-issue-digest/SKILL.md\", \".codex/skills/codex-issue-digest/agents/openai.yaml\", \".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py\", \".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py\", \".codex/skills/codex-pr-body/SKILL.md\", \".codex/skills/remote-tests/SKILL.md\", \".codex/skills/test-tui/SKILL.md\", \".codex/skills/update-v8-version/SKILL.md\", \".codex/skills/update-v8-version/agents/openai.yaml\", \".devcontainer/Dockerfile\", \".devcontainer/Dockerfile.secure\", \".devcontainer/README.md\", \".devcontainer/codex-install/package.json\", \".devcontainer/codex-install/pnpm-lock.yaml\", \".devcontainer/codex-install/pnpm-workspace.yaml\", \".devcontainer/devcontainer.json\", \".devcontainer/devcontainer.secure.json\", \".devcontainer/init-firewall.sh\", \".devcontainer/post-start.sh\", \".devcontainer/post_install.py\", \".gitattributes\", \".github/CODEOWNERS\", \".github/ISSUE_TEMPLATE/1-codex-app.yml\", \".github/ISSUE_TEMPLATE/2-extension.yml\", \".github/ISSUE_TEMPLATE/3-cli.yml\", \".github/ISSUE_TEMPLATE/4-bug-report.yml\", \".github/ISSUE_TEMPLATE/5-feature-request.yml\", \".github/ISSUE_TEMPLATE/6-docs-issue.yml\", \".github/actions/linux-code-sign/action.yml\", \".github/actions/macos-code-sign/action.yml\", \".github/actions/macos-code-sign/codex.entitlements.plist\", \".github/actions/macos-code-sign/notary_helpers.sh\", \".github/actions/prepare-bazel-ci/action.yml\", \".github/actions/run-argument-comment-lint/action.yml\", \".github/actions/setup-bazel-ci/action.yml\", \".github/actions/setup-msvc-env/action.yml\", \".github/actions/setup-msvc-env/setup-msvc-env.ps1\", \".github/actions/setup-rusty-v8/action.yml\", \".github/actions/windows-code-sign/action.yml\", \".github/blob-size-allowlist.txt\", \".github/codex-cli-splash.png\", \".github/codex/home/config.toml\", \".github/codex/labels/codex-attempt.md\", \".github/codex/labels/codex-review.md\", \".github/codex/labels/codex-rust-review.md\", \".github/codex/labels/codex-triage.md\"], \"token\": \"AGENTFS_TOKEN\"}, \"total_seconds\": 4.9555087110056775}\n",
+ "timed_out": false
+ },
+ "workload": {
+ "branch_status": "## agentfs-benchmark\n",
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.0205535150016658,
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc",
+ "runs": {
+ "name_only": {
+ "argv": [
+ "git",
+ "diff",
+ "--name-only",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-0w61kvk2/agentfs-base/work",
+ "duration_seconds": 0.009685308003099635,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 144,
+ "stdout_tail": "docs/CLA.md\ndocs/agents_md.md\ndocs/authentication.md\ndocs/config.md\ndocs/contributing.md\ndocs/example-config.md\ndocs/exec.md\ndocs/execpolicy.md\n"
+ },
+ "patch": {
+ "argv": [
+ "git",
+ "diff",
+ "--",
+ "."
+ ],
+ "cwd": "/tmp/agentfs-git-workload-0w61kvk2/agentfs-base/work",
+ "duration_seconds": 0.005176992999622598,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 3282,
+ "stdout_tail": "diff --git a/docs/CLA.md b/docs/CLA.md\nindex 804f202..3495ac9 100644\n--- a/docs/CLA.md\n+++ b/docs/CLA.md\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\n This Agreement is governed by the laws of the **State of California**, USA,\n excluding its conflict\u2011of\u2011laws rules. If any provision is held unenforceable,\n the remaining provisions remain in force.\n+\n+AgentFS Git benchmark edit 00 for docs/CLA.md\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\nindex 3df0fac..b8b063d 100644\n--- a/docs/agents_md.md\n+++ b/docs/agents_md.md\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\n ## Hierarchical agents message\n \n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\n+\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\ndiff --git a/docs/authentication.md b/docs/authentication.md\nindex c307349..b3bc9dc 100644\n--- a/docs/authentication.md\n+++ b/docs/authentication.md\n@@ -1,3 +1,5 @@\n # Authentication\n \n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\n+\n+AgentFS Git benchmark edit 02 for docs/authentication.md\ndiff --git a/docs/config.md b/docs/config.md\nindex d35b0a8..030e278 100644\n--- a/docs/config.md\n+++ b/docs/config.md\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\n still allowing managed hooks from requirements and managed config layers. This\n setting is only supported in `requirements.toml`; putting it in `config.toml`\n does not enable managed-hooks-only mode.\n+\n+AgentFS Git benchmark edit 03 for docs/config.md\ndiff --git a/docs/contributing.md b/docs/contributing.md\nindex aeae1f1..b5a22ac 100644\n--- a/docs/contributing.md\n+++ b/docs/contributing.md\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\n ### Security & responsible AI\n \n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\n+\n+AgentFS Git benchmark edit 04 for docs/contributing.md\ndiff --git a/docs/example-config.md b/docs/example-config.md\nindex 84b1143..b09f835 100644\n--- a/docs/example-config.md\n+++ b/docs/example-config.md\n@@ -1,3 +1,5 @@\n # Sample configuration\n \n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\n+\n+AgentFS Git benchmark edit 05 for docs/example-config.md\ndiff --git a/docs/exec.md b/docs/exec.md\nindex 57e4323..a81da98 100644\n--- a/docs/exec.md\n+++ b/docs/exec.md\n@@ -1,3 +1,5 @@\n # Non-interactive mode\n \n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\n+\n+AgentFS Git benchmark edit 06 for docs/exec.md\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\nindex cafebb3..3b48afe 100644\n--- a/docs/execpolicy.md\n+++ b/docs/execpolicy.md\n@@ -1,3 +1,5 @@\n # Execution policy\n \n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\n+\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\n"
+ },
+ "stat": {
+ "argv": [
+ "git",
+ "diff",
+ "--stat",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-0w61kvk2/agentfs-base/work",
+ "duration_seconds": 0.005619338000542484,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 283,
+ "stdout_tail": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ }
+ },
+ "stat_stdout": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.006582002999493852,
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true,
+ "run": {
+ "argv": [
+ "git",
+ "fsck",
+ "--strict"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-0w61kvk2/agentfs-base/work",
+ "duration_seconds": 0.22152803500648588,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "phase_runs": {
+ "checkout": {
+ "argv": [
+ "git",
+ "checkout",
+ "-B",
+ "agentfs-benchmark"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-0w61kvk2/agentfs-base/work",
+ "duration_seconds": 0.07085387800179888,
+ "returncode": 0,
+ "stderr_bytes": 45,
+ "stderr_tail": "Switched to a new branch 'agentfs-benchmark'\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "clone": {
+ "argv": [
+ "git",
+ "clone",
+ "--local",
+ "--no-hardlinks",
+ "/tmp/agentfs-git-workload-0w61kvk2/agentfs-base/mirror.git",
+ "/tmp/agentfs-git-workload-0w61kvk2/agentfs-base/work"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-0w61kvk2/agentfs-base",
+ "duration_seconds": 3.7440430769929662,
+ "returncode": 0,
+ "stderr_bytes": 2637,
+ "stderr_tail": "Cloning into '/tmp/agentfs-git-workload-0w61kvk2/agentfs-base/work'...\nwarning: source repository is shallow, ignoring --local\nwarning: --local is ignored\nUpdating files: 29% (1349/4644)\nUpdating files: 30% (1394/4644)\nUpdating files: 31% (1440/4644)\nUpdating files: 32% (1487/4644)\nUpdating files: 33% (1533/4644)\nUpdating files: 34% (1579/4644)\nUpdating files: 35% (1626/4644)\nUpdating files: 36% (1672/4644)\nUpdating files: 37% (1719/4644)\nUpdating files: 38% (1765/4644)\nUpdating files: 39% (1812/4644)\nUpdating files: 40% (1858/4644)\nUpdating files: 41% (1905/4644)\nUpdating files: 42% (1951/4644)\nUpdating files: 43% (1997/4644)\nUpdating files: 44% (2044/4644)\nUpdating files: 45% (2090/4644)\nUpdating files: 46% (2137/4644)\nUpdating files: 47% (2183/4644)\nUpdating files: 48% (2230/4644)\nUpdating files: 49% (2276/4644)\nUpdating files: 50% (2322/4644)\nUpdating files: 51% (2369/4644)\nUpdating files: 52% (2415/4644)\nUpdating files: 53% (2462/4644)\nUpdating files: 54% (2508/4644)\nUpdating files: 55% (2555/4644)\nUpdating files: 56% (2601/4644)\nUpdating files: 56% (2627/4644)\nUpdating files: 57% (2648/4644)\nUpdating files: 58% (2694/4644)\nUpdating files: 59% (2740/4644)\nUpdating files: 60% (2787/4644)\nUpdating files: 61% (2833/4644)\nUpdating files: 62% (2880/4644)\nUpdating files: 63% (2926/4644)\nUpdating files: 64% (2973/4644)\nUpdating files: 65% (3019/4644)\nUpdating files: 66% (3066/4644)\nUpdating files: 67% (3112/4644)\nUpdating files: 68% (3158/4644)\nUpdating files: 69% (3205/4644)\nUpdating files: 70% (3251/4644)\nUpdating files: 71% (3298/4644)\nUpdating files: 72% (3344/4644)\nUpdating files: 73% (3391/4644)\nUpdating files: 74% (3437/4644)\nUpdating files: 75% (3483/4644)\nUpdating files: 76% (3530/4644)\nUpdating files: 77% (3576/4644)\nUpdating files: 78% (3623/4644)\nUpdating files: 79% (3669/4644)\nUpdating files: 80% (3716/4644)\nUpdating files: 81% (3762/4644)\nUpdating files: 82% (3809/4644)\nUpdating files: 83% (3855/4644)\nUpdating files: 84% (3901/4644)\nUpdating files: 85% (3948/4644)\nUpdating files: 86% (3994/4644)\nUpdating files: 86% (4025/4644)\nUpdating files: 87% (4041/4644)\nUpdating files: 88% (4087/4644)\nUpdating files: 89% (4134/4644)\nUpdating files: 90% (4180/4644)\nUpdating files: 91% (4227/4644)\nUpdating files: 92% (4273/4644)\nUpdating files: 93% (4319/4644)\nUpdating files: 94% (4366/4644)\nUpdating files: 95% (4412/4644)\nUpdating files: 96% (4459/4644)\nUpdating files: 97% (4505/4644)\nUpdating files: 98% (4552/4644)\nUpdating files: 99% (4598/4644)\nUpdating files: 100% (4644/4644)\nUpdating files: 100% (4644/4644), done.\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "status": {
+ "branch": {
+ "argv": [
+ "git",
+ "status",
+ "--short",
+ "--branch"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-0w61kvk2/agentfs-base/work",
+ "duration_seconds": 0.05488121300004423,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 21,
+ "stdout_tail": "## agentfs-benchmark\n"
+ },
+ "short": {
+ "argv": [
+ "git",
+ "status",
+ "--short"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-0w61kvk2/agentfs-base/work",
+ "duration_seconds": 0.12047394999535754,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ }
+ },
+ "phase_seconds": {
+ "checkout": 0.07353177799086552,
+ "clone": 3.744095923990244,
+ "diff": 0.0205535150016658,
+ "edit": 0.006582002999493852,
+ "fsck": 0.2215479599981336,
+ "read_search": 0.012863876996561885,
+ "status": 0.17539117000706028
+ },
+ "profile_checkpoints": [
+ "clone",
+ "checkout",
+ "status",
+ "read_search",
+ "edit",
+ "diff",
+ "fsck"
+ ],
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "ls_files_run": {
+ "argv": [
+ "git",
+ "ls-files",
+ "-z"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-0w61kvk2/agentfs-base/work",
+ "duration_seconds": 0.006875639999634586,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 263077,
+ "stdout_tail": "i_codex/api.py\u0000sdk/python/src/openai_codex/async_client.py\u0000sdk/python/src/openai_codex/client.py\u0000sdk/python/src/openai_codex/errors.py\u0000sdk/python/src/openai_codex/generated/__init__.py\u0000sdk/python/src/openai_codex/generated/notification_registry.py\u0000sdk/python/src/openai_codex/generated/v2_all.py\u0000sdk/python/src/openai_codex/models.py\u0000sdk/python/src/openai_codex/py.typed\u0000sdk/python/src/openai_codex/retry.py\u0000sdk/python/src/openai_codex/types.py\u0000sdk/python/tests/app_server_harness.py\u0000sdk/python/tests/app_server_helpers.py\u0000sdk/python/tests/conftest.py\u0000sdk/python/tests/test_app_server_approvals.py\u0000sdk/python/tests/test_app_server_inputs.py\u0000sdk/python/tests/test_app_server_lifecycle.py\u0000sdk/python/tests/test_app_server_login.py\u0000sdk/python/tests/test_app_server_run.py\u0000sdk/python/tests/test_app_server_streaming.py\u0000sdk/python/tests/test_app_server_turn_controls.py\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\u0000sdk/python/tests/test_async_client_behavior.py\u0000sdk/python/tests/test_client_rpc_methods.py\u0000sdk/python/tests/test_contract_generation.py\u0000sdk/python/tests/test_public_api_runtime_behavior.py\u0000sdk/python/tests/test_public_api_signatures.py\u0000sdk/python/tests/test_real_app_server_integration.py\u0000sdk/python/uv.lock\u0000sdk/typescript/.prettierignore\u0000sdk/typescript/.prettierrc\u0000sdk/typescript/README.md\u0000sdk/typescript/eslint.config.js\u0000sdk/typescript/jest.config.cjs\u0000sdk/typescript/package.json\u0000sdk/typescript/samples/basic_streaming.ts\u0000sdk/typescript/samples/helpers.ts\u0000sdk/typescript/samples/structured_output.ts\u0000sdk/typescript/samples/structured_output_zod.ts\u0000sdk/typescript/src/codex.ts\u0000sdk/typescript/src/codexOptions.ts\u0000sdk/typescript/src/events.ts\u0000sdk/typescript/src/exec.ts\u0000sdk/typescript/src/index.ts\u0000sdk/typescript/src/items.ts\u0000sdk/typescript/src/outputSchemaFile.ts\u0000sdk/typescript/src/thread.ts\u0000sdk/typescript/src/threadOptions.ts\u0000sdk/typescript/src/turnOptions.ts\u0000sdk/typescript/tests/abort.test.ts\u0000sdk/typescript/tests/codexExecSpy.ts\u0000sdk/typescript/tests/exec.test.ts\u0000sdk/typescript/tests/responsesProxy.ts\u0000sdk/typescript/tests/run.test.ts\u0000sdk/typescript/tests/runStreamed.test.ts\u0000sdk/typescript/tests/setupCodexHome.ts\u0000sdk/typescript/tests/testCodex.ts\u0000sdk/typescript/tsconfig.json\u0000sdk/typescript/tsup.config.ts\u0000third_party/v8/BUILD.bazel\u0000third_party/v8/README.md\u0000third_party/v8/libcxx.BUILD.bazel\u0000third_party/v8/libcxx_config/BUILD.bazel\u0000third_party/v8/libcxx_config/__assertion_handler\u0000third_party/v8/libcxx_config/__config_site\u0000third_party/v8/libcxxabi.BUILD.bazel\u0000third_party/v8/llvm_libc.BUILD.bazel\u0000third_party/v8/rusty_v8_147_4_0.sha256\u0000third_party/v8/v8_crate.BUILD.bazel\u0000third_party/wezterm/LICENSE\u0000tools/argument-comment-lint/.cargo/config.toml\u0000tools/argument-comment-lint/.gitignore\u0000tools/argument-comment-lint/BUILD.bazel\u0000tools/argument-comment-lint/Cargo.lock\u0000tools/argument-comment-lint/Cargo.toml\u0000tools/argument-comment-lint/README.md\u0000tools/argument-comment-lint/argument-comment-lint\u0000tools/argument-comment-lint/driver.rs\u0000tools/argument-comment-lint/lint_aspect.bzl\u0000tools/argument-comment-lint/list-bazel-targets.sh\u0000tools/argument-comment-lint/run-prebuilt-linter.py\u0000tools/argument-comment-lint/run.py\u0000tools/argument-comment-lint/rust-toolchain\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\u0000tools/argument-comment-lint/src/comment_parser.rs\u0000tools/argument-comment-lint/src/lib.rs\u0000tools/argument-comment-lint/test_wrapper_common.py\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\u0000tools/argument-comment-lint/ui/comment_matches.rs\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\u0000tools/argument-comment-lint/wrapper_common.py\u0000workspace_root_test_launcher.bat.tpl\u0000workspace_root_test_launcher.sh.tpl\u0000"
+ },
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ],
+ "token": "AGENTFS_TOKEN"
+ },
+ "total_seconds": 4.9555087110056775
+ }
+ },
+ "base_tree": {
+ "after": {
+ "bytes": 9207621,
+ "directories": 10,
+ "files": 23,
+ "sha256": "6fdb821191321fa3b555a47864b806a160e9ed966f33c59a896495aeb60ec6d3",
+ "symlinks": 0
+ },
+ "before": {
+ "bytes": 9207621,
+ "directories": 10,
+ "files": 23,
+ "sha256": "6fdb821191321fa3b555a47864b806a160e9ed966f33c59a896495aeb60ec6d3",
+ "symlinks": 0
+ },
+ "unchanged": true
+ },
+ "benchmark": "phase7-git-workload",
+ "command": {
+ "agentfs_prefix": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "run",
+ "--session",
+ "git-workload-b5988d96b4e44e47b6434b7eadaa47f7",
+ "--no-default-allows",
+ "--"
+ ],
+ "argv": [
+ "/home/ain3sh/factory/vfs/scripts/validation/git-workload-benchmark.py",
+ "--output",
+ "/home/ain3sh/factory/vfs/.agents/benchmarks/restructure-baseline/medians.json.iterations/iter-04.json",
+ "--source",
+ ".agents/benchmarks/fixtures/codex",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8"
+ ],
+ "workload_argv": [
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ]
+ },
+ "correctness": {
+ "agentfs_backup_verify": true,
+ "agentfs_base_unchanged": true,
+ "agentfs_db_inspectable": true,
+ "agentfs_integrity_require_portable": true,
+ "agentfs_no_nonempty_sidecars": true,
+ "agentfs_portable": true,
+ "agentfs_returncode_zero": true,
+ "equivalence": {
+ "agentfs": {
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ]
+ }
+ },
+ "checked": true,
+ "equivalent": true,
+ "native": {
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ]
+ }
+ }
+ },
+ "native_returncode_zero": true,
+ "passed": true,
+ "performance_passed": false
+ },
+ "database": {
+ "after": {
+ "artifacts": [
+ {
+ "bytes": 57147392,
+ "path": "/tmp/agentfs-git-workload-0w61kvk2/home/.agentfs/run/git-workload-b5988d96b4e44e47b6434b7eadaa47f7/delta.db"
+ }
+ ],
+ "path": "/tmp/agentfs-git-workload-0w61kvk2/home/.agentfs/run/git-workload-b5988d96b4e44e47b6434b7eadaa47f7/delta.db",
+ "total_bytes": 57147392
+ },
+ "backup": {
+ "artifacts": {
+ "artifacts": [
+ {
+ "bytes": 57147392,
+ "path": "/tmp/agentfs-git-workload-0w61kvk2/git-workload-backup.db"
+ }
+ ],
+ "path": "/tmp/agentfs-git-workload-0w61kvk2/git-workload-backup.db",
+ "total_bytes": 57147392
+ },
+ "inspect": {
+ "fs_chunk_override_rows": 0,
+ "fs_config": {
+ "chunk_size": "65536",
+ "inline_threshold": "16384",
+ "schema_version": "0.5"
+ },
+ "fs_data_bytes": 41204221,
+ "fs_data_rows": 960,
+ "fs_inline_bytes": 11434794,
+ "fs_inode_rows": 5385,
+ "fs_origin_rows": 0,
+ "fs_partial_origin_rows": 0,
+ "fs_whiteout_rows": 0,
+ "inline_inode_rows": 4060,
+ "inspectable": true,
+ "portability_status": {
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true,
+ "stored_bytes": 52639015
+ }
+ },
+ "path": "/tmp/agentfs-git-workload-0w61kvk2/git-workload-backup.db",
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "backup",
+ "/tmp/agentfs-git-workload-0w61kvk2/home/.agentfs/run/git-workload-b5988d96b4e44e47b6434b7eadaa47f7/delta.db",
+ "/tmp/agentfs-git-workload-0w61kvk2/git-workload-backup.db",
+ "--verify"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-0w61kvk2",
+ "duration_seconds": 2.811011388010229,
+ "profile_summaries": [],
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 241,
+ "stdout_tail": "Source: /tmp/agentfs-git-workload-0w61kvk2/home/.agentfs/run/git-workload-b5988d96b4e44e47b6434b7eadaa47f7/delta.db\nBackup: /tmp/agentfs-git-workload-0w61kvk2/git-workload-backup.db\nCheckpoint: complete\nCopy: complete\nVerification: complete\n",
+ "timed_out": false
+ }
+ },
+ "inspect_after": {
+ "fs_chunk_override_rows": 0,
+ "fs_config": {
+ "chunk_size": "65536",
+ "inline_threshold": "16384",
+ "schema_version": "0.5"
+ },
+ "fs_data_bytes": 41204221,
+ "fs_data_rows": 960,
+ "fs_inline_bytes": 11434794,
+ "fs_inode_rows": 5385,
+ "fs_origin_rows": 0,
+ "fs_partial_origin_rows": 0,
+ "fs_whiteout_rows": 0,
+ "inline_inode_rows": 4060,
+ "inspectable": true,
+ "portability_status": {
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true,
+ "stored_bytes": 52639015
+ }
+ },
+ "integrity": {
+ "result": {
+ "checks": [
+ {
+ "detail": "ok",
+ "name": "pragma.integrity_check",
+ "ok": true,
+ "violating_rows": null
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_config",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_inode",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_dentry",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_symlink",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.kv_store",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.tool_calls",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 0.5",
+ "name": "config.schema_version",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 65536",
+ "name": "config.chunk_size",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 16384",
+ "name": "config.inline_threshold",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.kind_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_has_no_chunks",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunked_has_no_inline_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_size_matches_blob",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_only_regular_files",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.non_regular_has_no_inline_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_reference_inodes",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_nonnegative_index",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunk_length_within_chunk_size",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_only_regular_files",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 1, expected 1",
+ "name": "namespace.root_inode",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_parent_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_parent_is_directory",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_target_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.non_root_inode_has_dentry",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_names_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.non_directory_nlink_matches_dentries",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.directory_nlink_positive",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "symlink.rows_reference_symlink_inodes",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "symlink.inodes_have_rows",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "portable: no partial-origin rows",
+ "name": "overlay.portability_status",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "portable requirement satisfied",
+ "name": "overlay.require_portable",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.origin_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_delta_inode_regular",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_sizes_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_paths_absolute",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_nonnegative_index",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_references_partial_origin",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_unique",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_index_in_range",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.whiteout_paths_absolute",
+ "ok": true,
+ "violating_rows": 0
+ }
+ ],
+ "database": "/tmp/agentfs-git-workload-0w61kvk2/home/.agentfs/run/git-workload-b5988d96b4e44e47b6434b7eadaa47f7/delta.db",
+ "ok": true,
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true
+ },
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "integrity",
+ "/tmp/agentfs-git-workload-0w61kvk2/home/.agentfs/run/git-workload-b5988d96b4e44e47b6434b7eadaa47f7/delta.db",
+ "--json",
+ "--require-portable"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-0w61kvk2",
+ "duration_seconds": 2.842987666997942,
+ "profile_summaries": [],
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 6395,
+ "stdout_tail": "{\n \"database\": \"/tmp/agentfs-git-workload-0w61kvk2/home/.agentfs/run/git-workload-b5988d96b4e44e47b6434b7eadaa47f7/delta.db\",\n \"ok\": true,\n \"portable\": true,\n \"origin_backed\": false,\n \"partial_origin_rows\": 0,\n \"checks\": [\n {\n \"name\": \"pragma.integrity_check\",\n \"ok\": true,\n \"detail\": \"ok\",\n \"violating_rows\": null\n },\n {\n \"name\": \"schema.table.fs_config\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_inode\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_dentry\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_data\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_symlink\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.kv_store\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.tool_calls\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.schema_version\",\n \"ok\": true,\n \"detail\": \"found 0.5\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.chunk_size\",\n \"ok\": true,\n \"detail\": \"found 65536\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.inline_threshold\",\n \"ok\": true,\n \"detail\": \"found 16384\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.kind_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_has_no_chunks\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunked_has_no_inline_data\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_size_matches_blob\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_only_regular_files\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.non_regular_has_no_inline_data\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_reference_inodes\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_nonnegative_index\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunk_length_within_chunk_size\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_only_regular_files\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.root_inode\",\n \"ok\": true,\n \"detail\": \"found 1, expected 1\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_parent_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_parent_is_directory\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_target_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.non_root_inode_has_dentry\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_names_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.non_directory_nlink_matches_dentries\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.directory_nlink_positive\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"symlink.rows_reference_symlink_inodes\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"symlink.inodes_have_rows\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.portability_status\",\n \"ok\": true,\n \"detail\": \"portable: no partial-origin rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.require_portable\",\n \"ok\": true,\n \"detail\": \"portable requirement satisfied\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.origin_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_delta_inode_regular\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_sizes_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_paths_absolute\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_nonnegative_index\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_references_partial_origin\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_unique\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_index_in_range\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.whiteout_paths_absolute\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n }\n ]\n}\n",
+ "timed_out": false
+ }
+ },
+ "nonempty_sidecars": false
+ },
+ "environment": {
+ "AGENTFS_BIN": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "AGENTFS_PROFILE": "1"
+ },
+ "git_commit": "ae1e13fcb1c52d5c57be051610a04aa9a318f2a5",
+ "kept_temp": false,
+ "native": {
+ "run": {
+ "argv": [
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-0w61kvk2/native",
+ "duration_seconds": 1.1284674539929256,
+ "profile_summaries": [],
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 15982,
+ "stdout_tail": "{\"branch_status\": \"## agentfs-benchmark\\n\", \"diff\": {\"changed_file_count\": 8, \"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.21794543499709107, \"patch_bytes\": 3282, \"patch_sha256\": \"51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc\", \"runs\": {\"name_only\": {\"argv\": [\"git\", \"diff\", \"--name-only\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-0w61kvk2/native/work\", \"duration_seconds\": 0.08042926600319333, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 144, \"stdout_tail\": \"docs/CLA.md\\ndocs/agents_md.md\\ndocs/authentication.md\\ndocs/config.md\\ndocs/contributing.md\\ndocs/example-config.md\\ndocs/exec.md\\ndocs/execpolicy.md\\n\"}, \"patch\": {\"argv\": [\"git\", \"diff\", \"--\", \".\"], \"cwd\": \"/tmp/agentfs-git-workload-0w61kvk2/native/work\", \"duration_seconds\": 0.065394956007367, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 3282, \"stdout_tail\": \"diff --git a/docs/CLA.md b/docs/CLA.md\\nindex 804f202..3495ac9 100644\\n--- a/docs/CLA.md\\n+++ b/docs/CLA.md\\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\\n This Agreement is governed by the laws of the **State of California**, USA,\\n excluding its conflict\\u2011of\\u2011laws rules. If any provision is held unenforceable,\\n the remaining provisions remain in force.\\n+\\n+AgentFS Git benchmark edit 00 for docs/CLA.md\\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\\nindex 3df0fac..b8b063d 100644\\n--- a/docs/agents_md.md\\n+++ b/docs/agents_md.md\\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\\n ## Hierarchical agents message\\n \\n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\\n+\\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\\ndiff --git a/docs/authentication.md b/docs/authentication.md\\nindex c307349..b3bc9dc 100644\\n--- a/docs/authentication.md\\n+++ b/docs/authentication.md\\n@@ -1,3 +1,5 @@\\n # Authentication\\n \\n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\\n+\\n+AgentFS Git benchmark edit 02 for docs/authentication.md\\ndiff --git a/docs/config.md b/docs/config.md\\nindex d35b0a8..030e278 100644\\n--- a/docs/config.md\\n+++ b/docs/config.md\\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\\n still allowing managed hooks from requirements and managed config layers. This\\n setting is only supported in `requirements.toml`; putting it in `config.toml`\\n does not enable managed-hooks-only mode.\\n+\\n+AgentFS Git benchmark edit 03 for docs/config.md\\ndiff --git a/docs/contributing.md b/docs/contributing.md\\nindex aeae1f1..b5a22ac 100644\\n--- a/docs/contributing.md\\n+++ b/docs/contributing.md\\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\\n ### Security & responsible AI\\n \\n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\\n+\\n+AgentFS Git benchmark edit 04 for docs/contributing.md\\ndiff --git a/docs/example-config.md b/docs/example-config.md\\nindex 84b1143..b09f835 100644\\n--- a/docs/example-config.md\\n+++ b/docs/example-config.md\\n@@ -1,3 +1,5 @@\\n # Sample configuration\\n \\n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\\n+\\n+AgentFS Git benchmark edit 05 for docs/example-config.md\\ndiff --git a/docs/exec.md b/docs/exec.md\\nindex 57e4323..a81da98 100644\\n--- a/docs/exec.md\\n+++ b/docs/exec.md\\n@@ -1,3 +1,5 @@\\n # Non-interactive mode\\n \\n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\\n+\\n+AgentFS Git benchmark edit 06 for docs/exec.md\\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\\nindex cafebb3..3b48afe 100644\\n--- a/docs/execpolicy.md\\n+++ b/docs/execpolicy.md\\n@@ -1,3 +1,5 @@\\n # Execution policy\\n \\n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\\n+\\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\\n\"}, \"stat\": {\"argv\": [\"git\", \"diff\", \"--stat\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-0w61kvk2/native/work\", \"duration_seconds\": 0.07207178299722727, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 283, \"stdout_tail\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}}, \"stat_stdout\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}, \"edits\": {\"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.0005188820068724453, \"edits\": [{\"appended_bytes\": 47, \"path\": \"docs/CLA.md\", \"size_after\": 2106, \"size_before\": 2059}, {\"appended_bytes\": 53, \"path\": \"docs/agents_md.md\", \"size_after\": 462, \"size_before\": 409}, {\"appended_bytes\": 58, \"path\": \"docs/authentication.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 50, \"path\": \"docs/config.md\", \"size_after\": 776, \"size_before\": 726}, {\"appended_bytes\": 56, \"path\": \"docs/contributing.md\", \"size_after\": 6380, \"size_before\": 6324}, {\"appended_bytes\": 58, \"path\": \"docs/example-config.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 48, \"path\": \"docs/exec.md\", \"size_after\": 194, \"size_before\": 146}, {\"appended_bytes\": 54, \"path\": \"docs/execpolicy.md\", \"size_after\": 192, \"size_before\": 138}]}, \"fsck\": {\"ok\": true, \"ran\": true, \"run\": {\"argv\": [\"git\", \"fsck\", \"--strict\"], \"cwd\": \"/tmp/agentfs-git-workload-0w61kvk2/native/work\", \"duration_seconds\": 0.2014643669972429, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}, \"head_commit\": \"7d47056ea42636271ac020b86347fbbef49490aa\", \"initial_status\": \"\", \"phase_runs\": {\"checkout\": {\"argv\": [\"git\", \"checkout\", \"-B\", \"agentfs-benchmark\"], \"cwd\": \"/tmp/agentfs-git-workload-0w61kvk2/native/work\", \"duration_seconds\": 0.1352031429996714, \"returncode\": 0, \"stderr_bytes\": 45, \"stderr_tail\": \"Switched to a new branch 'agentfs-benchmark'\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"clone\": {\"argv\": [\"git\", \"clone\", \"--local\", \"--no-hardlinks\", \"/tmp/agentfs-git-workload-0w61kvk2/native/mirror.git\", \"/tmp/agentfs-git-workload-0w61kvk2/native/work\"], \"cwd\": \"/tmp/agentfs-git-workload-0w61kvk2/native\", \"duration_seconds\": 0.34667103600804694, \"returncode\": 0, \"stderr_bytes\": 149, \"stderr_tail\": \"Cloning into '/tmp/agentfs-git-workload-0w61kvk2/native/work'...\\nwarning: source repository is shallow, ignoring --local\\nwarning: --local is ignored\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"status\": {\"branch\": {\"argv\": [\"git\", \"status\", \"--short\", \"--branch\"], \"cwd\": \"/tmp/agentfs-git-workload-0w61kvk2/native/work\", \"duration_seconds\": 0.0702247260051081, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 21, \"stdout_tail\": \"## agentfs-benchmark\\n\"}, \"short\": {\"argv\": [\"git\", \"status\", \"--short\"], \"cwd\": \"/tmp/agentfs-git-workload-0w61kvk2/native/work\", \"duration_seconds\": 0.06235981899953913, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}}, \"phase_seconds\": {\"checkout\": 0.13785997001104988, \"clone\": 0.3467116099927807, \"diff\": 0.21794543499709107, \"edit\": 0.0005188820068724453, \"fsck\": 0.20147872300003655, \"read_search\": 0.005937191002885811, \"status\": 0.13260494700807612}, \"profile_checkpoints\": [\"clone\", \"checkout\", \"status\", \"read_search\", \"edit\", \"diff\", \"fsck\"], \"read_search\": {\"bytes_read\": 117190, \"digest\": \"6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53\", \"files_scanned\": 64, \"files_total\": 4644, \"ls_files_run\": {\"argv\": [\"git\", \"ls-files\", \"-z\"], \"cwd\": \"/tmp/agentfs-git-workload-0w61kvk2/native/work\", \"duration_seconds\": 0.0035224039893364534, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 263077, \"stdout_tail\": \"i_codex/api.py\\u0000sdk/python/src/openai_codex/async_client.py\\u0000sdk/python/src/openai_codex/client.py\\u0000sdk/python/src/openai_codex/errors.py\\u0000sdk/python/src/openai_codex/generated/__init__.py\\u0000sdk/python/src/openai_codex/generated/notification_registry.py\\u0000sdk/python/src/openai_codex/generated/v2_all.py\\u0000sdk/python/src/openai_codex/models.py\\u0000sdk/python/src/openai_codex/py.typed\\u0000sdk/python/src/openai_codex/retry.py\\u0000sdk/python/src/openai_codex/types.py\\u0000sdk/python/tests/app_server_harness.py\\u0000sdk/python/tests/app_server_helpers.py\\u0000sdk/python/tests/conftest.py\\u0000sdk/python/tests/test_app_server_approvals.py\\u0000sdk/python/tests/test_app_server_inputs.py\\u0000sdk/python/tests/test_app_server_lifecycle.py\\u0000sdk/python/tests/test_app_server_login.py\\u0000sdk/python/tests/test_app_server_run.py\\u0000sdk/python/tests/test_app_server_streaming.py\\u0000sdk/python/tests/test_app_server_turn_controls.py\\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\\u0000sdk/python/tests/test_async_client_behavior.py\\u0000sdk/python/tests/test_client_rpc_methods.py\\u0000sdk/python/tests/test_contract_generation.py\\u0000sdk/python/tests/test_public_api_runtime_behavior.py\\u0000sdk/python/tests/test_public_api_signatures.py\\u0000sdk/python/tests/test_real_app_server_integration.py\\u0000sdk/python/uv.lock\\u0000sdk/typescript/.prettierignore\\u0000sdk/typescript/.prettierrc\\u0000sdk/typescript/README.md\\u0000sdk/typescript/eslint.config.js\\u0000sdk/typescript/jest.config.cjs\\u0000sdk/typescript/package.json\\u0000sdk/typescript/samples/basic_streaming.ts\\u0000sdk/typescript/samples/helpers.ts\\u0000sdk/typescript/samples/structured_output.ts\\u0000sdk/typescript/samples/structured_output_zod.ts\\u0000sdk/typescript/src/codex.ts\\u0000sdk/typescript/src/codexOptions.ts\\u0000sdk/typescript/src/events.ts\\u0000sdk/typescript/src/exec.ts\\u0000sdk/typescript/src/index.ts\\u0000sdk/typescript/src/items.ts\\u0000sdk/typescript/src/outputSchemaFile.ts\\u0000sdk/typescript/src/thread.ts\\u0000sdk/typescript/src/threadOptions.ts\\u0000sdk/typescript/src/turnOptions.ts\\u0000sdk/typescript/tests/abort.test.ts\\u0000sdk/typescript/tests/codexExecSpy.ts\\u0000sdk/typescript/tests/exec.test.ts\\u0000sdk/typescript/tests/responsesProxy.ts\\u0000sdk/typescript/tests/run.test.ts\\u0000sdk/typescript/tests/runStreamed.test.ts\\u0000sdk/typescript/tests/setupCodexHome.ts\\u0000sdk/typescript/tests/testCodex.ts\\u0000sdk/typescript/tsconfig.json\\u0000sdk/typescript/tsup.config.ts\\u0000third_party/v8/BUILD.bazel\\u0000third_party/v8/README.md\\u0000third_party/v8/libcxx.BUILD.bazel\\u0000third_party/v8/libcxx_config/BUILD.bazel\\u0000third_party/v8/libcxx_config/__assertion_handler\\u0000third_party/v8/libcxx_config/__config_site\\u0000third_party/v8/libcxxabi.BUILD.bazel\\u0000third_party/v8/llvm_libc.BUILD.bazel\\u0000third_party/v8/rusty_v8_147_4_0.sha256\\u0000third_party/v8/v8_crate.BUILD.bazel\\u0000third_party/wezterm/LICENSE\\u0000tools/argument-comment-lint/.cargo/config.toml\\u0000tools/argument-comment-lint/.gitignore\\u0000tools/argument-comment-lint/BUILD.bazel\\u0000tools/argument-comment-lint/Cargo.lock\\u0000tools/argument-comment-lint/Cargo.toml\\u0000tools/argument-comment-lint/README.md\\u0000tools/argument-comment-lint/argument-comment-lint\\u0000tools/argument-comment-lint/driver.rs\\u0000tools/argument-comment-lint/lint_aspect.bzl\\u0000tools/argument-comment-lint/list-bazel-targets.sh\\u0000tools/argument-comment-lint/run-prebuilt-linter.py\\u0000tools/argument-comment-lint/run.py\\u0000tools/argument-comment-lint/rust-toolchain\\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\\u0000tools/argument-comment-lint/src/comment_parser.rs\\u0000tools/argument-comment-lint/src/lib.rs\\u0000tools/argument-comment-lint/test_wrapper_common.py\\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\\u0000tools/argument-comment-lint/ui/comment_matches.rs\\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\\u0000tools/argument-comment-lint/wrapper_common.py\\u0000workspace_root_test_launcher.bat.tpl\\u0000workspace_root_test_launcher.sh.tpl\\u0000\"}, \"matches\": 0, \"selected_files\": [\".bazelignore\", \".bazelrc\", \".bazelversion\", \".codespellignore\", \".codespellrc\", \".codex/environments/environment.toml\", \".codex/skills/babysit-pr/SKILL.md\", \".codex/skills/babysit-pr/agents/openai.yaml\", \".codex/skills/babysit-pr/references/github-api-notes.md\", \".codex/skills/babysit-pr/references/heuristics.md\", \".codex/skills/babysit-pr/scripts/gh_pr_watch.py\", \".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py\", \".codex/skills/code-review-breaking-changes/SKILL.md\", \".codex/skills/code-review-change-size/SKILL.md\", \".codex/skills/code-review-context/SKILL.md\", \".codex/skills/code-review-testing/SKILL.md\", \".codex/skills/code-review/SKILL.md\", \".codex/skills/codex-bug/SKILL.md\", \".codex/skills/codex-issue-digest/SKILL.md\", \".codex/skills/codex-issue-digest/agents/openai.yaml\", \".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py\", \".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py\", \".codex/skills/codex-pr-body/SKILL.md\", \".codex/skills/remote-tests/SKILL.md\", \".codex/skills/test-tui/SKILL.md\", \".codex/skills/update-v8-version/SKILL.md\", \".codex/skills/update-v8-version/agents/openai.yaml\", \".devcontainer/Dockerfile\", \".devcontainer/Dockerfile.secure\", \".devcontainer/README.md\", \".devcontainer/codex-install/package.json\", \".devcontainer/codex-install/pnpm-lock.yaml\", \".devcontainer/codex-install/pnpm-workspace.yaml\", \".devcontainer/devcontainer.json\", \".devcontainer/devcontainer.secure.json\", \".devcontainer/init-firewall.sh\", \".devcontainer/post-start.sh\", \".devcontainer/post_install.py\", \".gitattributes\", \".github/CODEOWNERS\", \".github/ISSUE_TEMPLATE/1-codex-app.yml\", \".github/ISSUE_TEMPLATE/2-extension.yml\", \".github/ISSUE_TEMPLATE/3-cli.yml\", \".github/ISSUE_TEMPLATE/4-bug-report.yml\", \".github/ISSUE_TEMPLATE/5-feature-request.yml\", \".github/ISSUE_TEMPLATE/6-docs-issue.yml\", \".github/actions/linux-code-sign/action.yml\", \".github/actions/macos-code-sign/action.yml\", \".github/actions/macos-code-sign/codex.entitlements.plist\", \".github/actions/macos-code-sign/notary_helpers.sh\", \".github/actions/prepare-bazel-ci/action.yml\", \".github/actions/run-argument-comment-lint/action.yml\", \".github/actions/setup-bazel-ci/action.yml\", \".github/actions/setup-msvc-env/action.yml\", \".github/actions/setup-msvc-env/setup-msvc-env.ps1\", \".github/actions/setup-rusty-v8/action.yml\", \".github/actions/windows-code-sign/action.yml\", \".github/blob-size-allowlist.txt\", \".github/codex-cli-splash.png\", \".github/codex/home/config.toml\", \".github/codex/labels/codex-attempt.md\", \".github/codex/labels/codex-review.md\", \".github/codex/labels/codex-rust-review.md\", \".github/codex/labels/codex-triage.md\"], \"token\": \"AGENTFS_TOKEN\"}, \"total_seconds\": 1.0432535720028682}\n",
+ "timed_out": false
+ },
+ "workload": {
+ "branch_status": "## agentfs-benchmark\n",
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.21794543499709107,
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc",
+ "runs": {
+ "name_only": {
+ "argv": [
+ "git",
+ "diff",
+ "--name-only",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-0w61kvk2/native/work",
+ "duration_seconds": 0.08042926600319333,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 144,
+ "stdout_tail": "docs/CLA.md\ndocs/agents_md.md\ndocs/authentication.md\ndocs/config.md\ndocs/contributing.md\ndocs/example-config.md\ndocs/exec.md\ndocs/execpolicy.md\n"
+ },
+ "patch": {
+ "argv": [
+ "git",
+ "diff",
+ "--",
+ "."
+ ],
+ "cwd": "/tmp/agentfs-git-workload-0w61kvk2/native/work",
+ "duration_seconds": 0.065394956007367,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 3282,
+ "stdout_tail": "diff --git a/docs/CLA.md b/docs/CLA.md\nindex 804f202..3495ac9 100644\n--- a/docs/CLA.md\n+++ b/docs/CLA.md\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\n This Agreement is governed by the laws of the **State of California**, USA,\n excluding its conflict\u2011of\u2011laws rules. If any provision is held unenforceable,\n the remaining provisions remain in force.\n+\n+AgentFS Git benchmark edit 00 for docs/CLA.md\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\nindex 3df0fac..b8b063d 100644\n--- a/docs/agents_md.md\n+++ b/docs/agents_md.md\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\n ## Hierarchical agents message\n \n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\n+\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\ndiff --git a/docs/authentication.md b/docs/authentication.md\nindex c307349..b3bc9dc 100644\n--- a/docs/authentication.md\n+++ b/docs/authentication.md\n@@ -1,3 +1,5 @@\n # Authentication\n \n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\n+\n+AgentFS Git benchmark edit 02 for docs/authentication.md\ndiff --git a/docs/config.md b/docs/config.md\nindex d35b0a8..030e278 100644\n--- a/docs/config.md\n+++ b/docs/config.md\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\n still allowing managed hooks from requirements and managed config layers. This\n setting is only supported in `requirements.toml`; putting it in `config.toml`\n does not enable managed-hooks-only mode.\n+\n+AgentFS Git benchmark edit 03 for docs/config.md\ndiff --git a/docs/contributing.md b/docs/contributing.md\nindex aeae1f1..b5a22ac 100644\n--- a/docs/contributing.md\n+++ b/docs/contributing.md\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\n ### Security & responsible AI\n \n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\n+\n+AgentFS Git benchmark edit 04 for docs/contributing.md\ndiff --git a/docs/example-config.md b/docs/example-config.md\nindex 84b1143..b09f835 100644\n--- a/docs/example-config.md\n+++ b/docs/example-config.md\n@@ -1,3 +1,5 @@\n # Sample configuration\n \n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\n+\n+AgentFS Git benchmark edit 05 for docs/example-config.md\ndiff --git a/docs/exec.md b/docs/exec.md\nindex 57e4323..a81da98 100644\n--- a/docs/exec.md\n+++ b/docs/exec.md\n@@ -1,3 +1,5 @@\n # Non-interactive mode\n \n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\n+\n+AgentFS Git benchmark edit 06 for docs/exec.md\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\nindex cafebb3..3b48afe 100644\n--- a/docs/execpolicy.md\n+++ b/docs/execpolicy.md\n@@ -1,3 +1,5 @@\n # Execution policy\n \n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\n+\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\n"
+ },
+ "stat": {
+ "argv": [
+ "git",
+ "diff",
+ "--stat",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-0w61kvk2/native/work",
+ "duration_seconds": 0.07207178299722727,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 283,
+ "stdout_tail": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ }
+ },
+ "stat_stdout": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.0005188820068724453,
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true,
+ "run": {
+ "argv": [
+ "git",
+ "fsck",
+ "--strict"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-0w61kvk2/native/work",
+ "duration_seconds": 0.2014643669972429,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "phase_runs": {
+ "checkout": {
+ "argv": [
+ "git",
+ "checkout",
+ "-B",
+ "agentfs-benchmark"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-0w61kvk2/native/work",
+ "duration_seconds": 0.1352031429996714,
+ "returncode": 0,
+ "stderr_bytes": 45,
+ "stderr_tail": "Switched to a new branch 'agentfs-benchmark'\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "clone": {
+ "argv": [
+ "git",
+ "clone",
+ "--local",
+ "--no-hardlinks",
+ "/tmp/agentfs-git-workload-0w61kvk2/native/mirror.git",
+ "/tmp/agentfs-git-workload-0w61kvk2/native/work"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-0w61kvk2/native",
+ "duration_seconds": 0.34667103600804694,
+ "returncode": 0,
+ "stderr_bytes": 149,
+ "stderr_tail": "Cloning into '/tmp/agentfs-git-workload-0w61kvk2/native/work'...\nwarning: source repository is shallow, ignoring --local\nwarning: --local is ignored\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "status": {
+ "branch": {
+ "argv": [
+ "git",
+ "status",
+ "--short",
+ "--branch"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-0w61kvk2/native/work",
+ "duration_seconds": 0.0702247260051081,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 21,
+ "stdout_tail": "## agentfs-benchmark\n"
+ },
+ "short": {
+ "argv": [
+ "git",
+ "status",
+ "--short"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-0w61kvk2/native/work",
+ "duration_seconds": 0.06235981899953913,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ }
+ },
+ "phase_seconds": {
+ "checkout": 0.13785997001104988,
+ "clone": 0.3467116099927807,
+ "diff": 0.21794543499709107,
+ "edit": 0.0005188820068724453,
+ "fsck": 0.20147872300003655,
+ "read_search": 0.005937191002885811,
+ "status": 0.13260494700807612
+ },
+ "profile_checkpoints": [
+ "clone",
+ "checkout",
+ "status",
+ "read_search",
+ "edit",
+ "diff",
+ "fsck"
+ ],
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "ls_files_run": {
+ "argv": [
+ "git",
+ "ls-files",
+ "-z"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-0w61kvk2/native/work",
+ "duration_seconds": 0.0035224039893364534,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 263077,
+ "stdout_tail": "i_codex/api.py\u0000sdk/python/src/openai_codex/async_client.py\u0000sdk/python/src/openai_codex/client.py\u0000sdk/python/src/openai_codex/errors.py\u0000sdk/python/src/openai_codex/generated/__init__.py\u0000sdk/python/src/openai_codex/generated/notification_registry.py\u0000sdk/python/src/openai_codex/generated/v2_all.py\u0000sdk/python/src/openai_codex/models.py\u0000sdk/python/src/openai_codex/py.typed\u0000sdk/python/src/openai_codex/retry.py\u0000sdk/python/src/openai_codex/types.py\u0000sdk/python/tests/app_server_harness.py\u0000sdk/python/tests/app_server_helpers.py\u0000sdk/python/tests/conftest.py\u0000sdk/python/tests/test_app_server_approvals.py\u0000sdk/python/tests/test_app_server_inputs.py\u0000sdk/python/tests/test_app_server_lifecycle.py\u0000sdk/python/tests/test_app_server_login.py\u0000sdk/python/tests/test_app_server_run.py\u0000sdk/python/tests/test_app_server_streaming.py\u0000sdk/python/tests/test_app_server_turn_controls.py\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\u0000sdk/python/tests/test_async_client_behavior.py\u0000sdk/python/tests/test_client_rpc_methods.py\u0000sdk/python/tests/test_contract_generation.py\u0000sdk/python/tests/test_public_api_runtime_behavior.py\u0000sdk/python/tests/test_public_api_signatures.py\u0000sdk/python/tests/test_real_app_server_integration.py\u0000sdk/python/uv.lock\u0000sdk/typescript/.prettierignore\u0000sdk/typescript/.prettierrc\u0000sdk/typescript/README.md\u0000sdk/typescript/eslint.config.js\u0000sdk/typescript/jest.config.cjs\u0000sdk/typescript/package.json\u0000sdk/typescript/samples/basic_streaming.ts\u0000sdk/typescript/samples/helpers.ts\u0000sdk/typescript/samples/structured_output.ts\u0000sdk/typescript/samples/structured_output_zod.ts\u0000sdk/typescript/src/codex.ts\u0000sdk/typescript/src/codexOptions.ts\u0000sdk/typescript/src/events.ts\u0000sdk/typescript/src/exec.ts\u0000sdk/typescript/src/index.ts\u0000sdk/typescript/src/items.ts\u0000sdk/typescript/src/outputSchemaFile.ts\u0000sdk/typescript/src/thread.ts\u0000sdk/typescript/src/threadOptions.ts\u0000sdk/typescript/src/turnOptions.ts\u0000sdk/typescript/tests/abort.test.ts\u0000sdk/typescript/tests/codexExecSpy.ts\u0000sdk/typescript/tests/exec.test.ts\u0000sdk/typescript/tests/responsesProxy.ts\u0000sdk/typescript/tests/run.test.ts\u0000sdk/typescript/tests/runStreamed.test.ts\u0000sdk/typescript/tests/setupCodexHome.ts\u0000sdk/typescript/tests/testCodex.ts\u0000sdk/typescript/tsconfig.json\u0000sdk/typescript/tsup.config.ts\u0000third_party/v8/BUILD.bazel\u0000third_party/v8/README.md\u0000third_party/v8/libcxx.BUILD.bazel\u0000third_party/v8/libcxx_config/BUILD.bazel\u0000third_party/v8/libcxx_config/__assertion_handler\u0000third_party/v8/libcxx_config/__config_site\u0000third_party/v8/libcxxabi.BUILD.bazel\u0000third_party/v8/llvm_libc.BUILD.bazel\u0000third_party/v8/rusty_v8_147_4_0.sha256\u0000third_party/v8/v8_crate.BUILD.bazel\u0000third_party/wezterm/LICENSE\u0000tools/argument-comment-lint/.cargo/config.toml\u0000tools/argument-comment-lint/.gitignore\u0000tools/argument-comment-lint/BUILD.bazel\u0000tools/argument-comment-lint/Cargo.lock\u0000tools/argument-comment-lint/Cargo.toml\u0000tools/argument-comment-lint/README.md\u0000tools/argument-comment-lint/argument-comment-lint\u0000tools/argument-comment-lint/driver.rs\u0000tools/argument-comment-lint/lint_aspect.bzl\u0000tools/argument-comment-lint/list-bazel-targets.sh\u0000tools/argument-comment-lint/run-prebuilt-linter.py\u0000tools/argument-comment-lint/run.py\u0000tools/argument-comment-lint/rust-toolchain\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\u0000tools/argument-comment-lint/src/comment_parser.rs\u0000tools/argument-comment-lint/src/lib.rs\u0000tools/argument-comment-lint/test_wrapper_common.py\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\u0000tools/argument-comment-lint/ui/comment_matches.rs\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\u0000tools/argument-comment-lint/wrapper_common.py\u0000workspace_root_test_launcher.bat.tpl\u0000workspace_root_test_launcher.sh.tpl\u0000"
+ },
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ],
+ "token": "AGENTFS_TOKEN"
+ },
+ "total_seconds": 1.0432535720028682
+ }
+ },
+ "parameters": {
+ "edit_files": 8,
+ "fixture_dirs": 8,
+ "fixture_file_size_bytes": 1024,
+ "fixture_files": 96,
+ "read_bytes": 4096,
+ "read_files": 64,
+ "search_token": "AGENTFS_TOKEN",
+ "skip_fsck": false,
+ "timeout_seconds": 180.0
+ },
+ "schema_version": 1,
+ "source": {
+ "kind": "source",
+ "mirror_head": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "path": "/home/ain3sh/factory/vfs/.agents/benchmarks/fixtures/codex"
+ },
+ "summary": {
+ "agentfs_base_unchanged": true,
+ "agentfs_seconds": 4.9555087110056775,
+ "all_equivalent": true,
+ "correctness_passed": true,
+ "native_seconds": 1.0432535720028682,
+ "passed": true,
+ "performance_passed": false,
+ "phase_ratios": {
+ "checkout": {
+ "agentfs_seconds": 0.07353177799086552,
+ "native_seconds": 0.13785997001104988,
+ "ratio": 0.5333801972027974
+ },
+ "clone": {
+ "agentfs_seconds": 3.744095923990244,
+ "native_seconds": 0.3467116099927807,
+ "ratio": 10.798876691980993
+ },
+ "diff": {
+ "agentfs_seconds": 0.0205535150016658,
+ "native_seconds": 0.21794543499709107,
+ "ratio": 0.0943057834725473
+ },
+ "edit": {
+ "agentfs_seconds": 0.006582002999493852,
+ "native_seconds": 0.0005188820068724453,
+ "ratio": 12.684970595081513
+ },
+ "fsck": {
+ "agentfs_seconds": 0.2215479599981336,
+ "native_seconds": 0.20147872300003655,
+ "ratio": 1.0996097091507444
+ },
+ "read_search": {
+ "agentfs_seconds": 0.012863876996561885,
+ "native_seconds": 0.005937191002885811,
+ "ratio": 2.1666604612028335
+ },
+ "status": {
+ "agentfs_seconds": 0.17539117000706028,
+ "native_seconds": 0.13260494700807612,
+ "ratio": 1.3226593273053253
+ }
+ },
+ "ratio": 4.750051995021641,
+ "threshold_failures": [
+ {
+ "agentfs_seconds": 3.744095923990244,
+ "native_seconds": 0.3467116099927807,
+ "phase": "clone",
+ "ratio": 10.798876691980993
+ },
+ {
+ "agentfs_seconds": 0.006582002999493852,
+ "native_seconds": 0.0005188820068724453,
+ "phase": "edit",
+ "ratio": 12.684970595081513
+ },
+ {
+ "agentfs_seconds": 0.012863876996561885,
+ "native_seconds": 0.005937191002885811,
+ "phase": "read_search",
+ "ratio": 2.1666604612028335
+ }
+ ]
+ },
+ "temp_dir": "/tmp/agentfs-git-workload-0w61kvk2"
+}
diff --git a/.agents/benchmarks/restructure-baseline/medians.json.iterations/warmup-00.json b/.agents/benchmarks/restructure-baseline/medians.json.iterations/warmup-00.json
new file mode 100644
index 00000000..8ae7c7e2
--- /dev/null
+++ b/.agents/benchmarks/restructure-baseline/medians.json.iterations/warmup-00.json
@@ -0,0 +1,6630 @@
+{
+ "agentfs": {
+ "bin": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "db_path": "/tmp/agentfs-git-workload-9hklcrln/home/.agentfs/run/git-workload-e13728a82daa4c4a90c2edf69ec5b3f4/delta.db",
+ "per_phase_counters": {
+ "checkpoint_count": 7,
+ "label_count": 7,
+ "labels_aligned": true,
+ "phases": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 936722602,
+ "agentfs_batcher_commit_txns": 4792,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4732,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25920,
+ "attr_cache_misses": 29058,
+ "base_fast_inode_invalidations": 15031,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 970,
+ "connection_create_count": 2,
+ "connection_reuse_count": 31218,
+ "connection_wait_count": 31220,
+ "connection_wait_nanos": 12113271,
+ "dentry_cache_hits": 26033,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 89,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5335,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21833,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 39,
+ "fuse_dispatch_wait_count": 39,
+ "fuse_dispatch_wait_nanos": 266801,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52539545,
+ "fuse_flush_count": 4732,
+ "fuse_flush_ranges": 4732,
+ "fuse_getattr_count": 5023,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11752,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 660874071,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 35,
+ "fuse_op_forget_nanos": 333374,
+ "fuse_op_getattr_count": 5023,
+ "fuse_op_getattr_nanos": 61383450,
+ "fuse_op_lookup_count": 11752,
+ "fuse_op_lookup_nanos": 155973636,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 785,
+ "fuse_op_other_nanos": 140982740,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 27814717,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 1501529,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1324298124,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 31025840,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16155,
+ "fuse_read_lane_wait_nanos": 1765820,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32057,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673690,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10204,
+ "fuse_write_lane_wait_nanos": 1681382,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19338,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6829,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14256,
+ "path_cache_hits": 26033,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 11,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 495649
+ },
+ "phase": "clone",
+ "seq": 1
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 2,
+ "agentfs_batcher_commit_latency_ns_total": 3894289,
+ "agentfs_batcher_commit_txns": 9,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 5,
+ "agentfs_batcher_drains_timer": 2,
+ "agentfs_batcher_enqueues": 9,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 14,
+ "attr_cache_hits": 196,
+ "attr_cache_misses": 1727,
+ "base_fast_inode_invalidations": 51,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 10,
+ "chunk_read_queries": 6,
+ "chunk_write_chunks": 12,
+ "connection_create_count": 8,
+ "connection_reuse_count": 621,
+ "connection_wait_count": 629,
+ "connection_wait_nanos": 274424,
+ "dentry_cache_hits": 73,
+ "dentry_cache_misses": 56,
+ "fuse_adapter_attr_hits": 4620,
+ "fuse_adapter_attr_misses": 649,
+ "fuse_adapter_entry_hits": 2,
+ "fuse_adapter_entry_misses": 35,
+ "fuse_adapter_inval_entry_notifications": 10,
+ "fuse_adapter_inval_inode_notifications": 28,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 22,
+ "fuse_adapter_negative_misses": 35,
+ "fuse_callback_count": 5349,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 5,
+ "fuse_dispatch_parallel_tasks": 9,
+ "fuse_dispatch_wait_count": 9,
+ "fuse_dispatch_wait_nanos": 61316,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 694731,
+ "fuse_flush_count": 9,
+ "fuse_flush_ranges": 9,
+ "fuse_getattr_count": 5269,
+ "fuse_ino_file_resolutions": 3,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 59,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 9,
+ "fuse_op_create_nanos": 1621614,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 9,
+ "fuse_op_forget_nanos": 58290,
+ "fuse_op_getattr_count": 5269,
+ "fuse_op_getattr_nanos": 38476409,
+ "fuse_op_lookup_count": 59,
+ "fuse_op_lookup_nanos": 866372,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 15,
+ "fuse_op_other_nanos": 4427275,
+ "fuse_op_read_count": 8,
+ "fuse_op_read_nanos": 1018117,
+ "fuse_op_readdirplus_count": 4,
+ "fuse_op_readdirplus_nanos": 137010,
+ "fuse_op_setattr_count": 14,
+ "fuse_op_setattr_nanos": 3853759,
+ "fuse_op_write_count": 9,
+ "fuse_op_write_nanos": 192075,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 8,
+ "fuse_read_lane_max_concurrent": 5,
+ "fuse_read_lane_wait_count": 714,
+ "fuse_read_lane_wait_nanos": 99519,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 4,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 5387,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 591393,
+ "fuse_write_count": 9,
+ "fuse_write_lane_wait_count": 42,
+ "fuse_write_lane_wait_nanos": 34199,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 1326,
+ "lookup_base_count": 0,
+ "lookup_count": 164,
+ "lookup_delta_count": 60,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 43,
+ "negative_cache_invalidations": 26,
+ "negative_cache_misses": 148,
+ "negative_lookup_count": 86,
+ "path_cache_hits": 73,
+ "path_cache_misses": 56,
+ "path_component_count": 124,
+ "path_resolution_count": 45,
+ "readdir_count": 0,
+ "readdir_plus_count": 2,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "checkout",
+ "seq": 2
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 644901,
+ "agentfs_batcher_commit_txns": 2,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 2,
+ "attr_cache_hits": 14,
+ "attr_cache_misses": 21,
+ "base_fast_inode_invalidations": 8,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 10,
+ "chunk_read_queries": 6,
+ "chunk_write_chunks": 0,
+ "connection_create_count": 0,
+ "connection_reuse_count": 999,
+ "connection_wait_count": 999,
+ "connection_wait_nanos": 386936,
+ "dentry_cache_hits": 13,
+ "dentry_cache_misses": 570,
+ "fuse_adapter_attr_hits": 2321,
+ "fuse_adapter_attr_misses": 7,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 288,
+ "fuse_adapter_inval_entry_notifications": 2,
+ "fuse_adapter_inval_inode_notifications": 6,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 288,
+ "fuse_callback_count": 4003,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 2,
+ "fuse_dispatch_wait_count": 2,
+ "fuse_dispatch_wait_nanos": 100881,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 2328,
+ "fuse_ino_file_resolutions": 1,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 288,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 2,
+ "fuse_op_create_nanos": 1288916,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 2,
+ "fuse_op_forget_nanos": 36968,
+ "fuse_op_getattr_count": 2328,
+ "fuse_op_getattr_nanos": 2913323,
+ "fuse_op_lookup_count": 288,
+ "fuse_op_lookup_nanos": 5365656,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 2762,
+ "fuse_op_other_nanos": 2593189,
+ "fuse_op_read_count": 6,
+ "fuse_op_read_nanos": 1247062,
+ "fuse_op_readdirplus_count": 1381,
+ "fuse_op_readdirplus_nanos": 57519180,
+ "fuse_op_setattr_count": 2,
+ "fuse_op_setattr_nanos": 949408,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 6,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 988,
+ "fuse_read_lane_wait_nanos": 122009,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1381,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 6769,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 8,
+ "fuse_write_lane_wait_nanos": 3866,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 18,
+ "lookup_base_count": 0,
+ "lookup_count": 594,
+ "lookup_delta_count": 294,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 4,
+ "negative_cache_invalidations": 4,
+ "negative_cache_misses": 869,
+ "negative_lookup_count": 578,
+ "path_cache_hits": 13,
+ "path_cache_misses": 570,
+ "path_component_count": 4606,
+ "path_resolution_count": 977,
+ "readdir_count": 0,
+ "readdir_plus_count": 688,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "status",
+ "seq": 3
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create_count": 0,
+ "connection_reuse_count": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 69,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 69,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 69,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 69,
+ "fuse_op_getattr_nanos": 136225,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 0,
+ "fuse_op_other_nanos": 0,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 69,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "read_search",
+ "seq": 4
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 1263057,
+ "agentfs_batcher_commit_txns": 8,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 8,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 8,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 8,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 24,
+ "base_fast_inode_invalidations": 16,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create_count": 0,
+ "connection_reuse_count": 32,
+ "connection_wait_count": 32,
+ "connection_wait_nanos": 22353,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 8,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 0,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 16,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 6398,
+ "fuse_flush_count": 8,
+ "fuse_flush_ranges": 8,
+ "fuse_getattr_count": 8,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 0,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 8,
+ "fuse_op_getattr_nanos": 10076,
+ "fuse_op_lookup_count": 0,
+ "fuse_op_lookup_nanos": 0,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 8,
+ "fuse_op_other_nanos": 846735,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_setattr_count": 8,
+ "fuse_op_setattr_nanos": 2194904,
+ "fuse_op_write_count": 8,
+ "fuse_op_write_nanos": 664499,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 8,
+ "fuse_read_lane_wait_nanos": 1167,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 32,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 6398,
+ "fuse_write_count": 8,
+ "fuse_write_lane_wait_count": 8,
+ "fuse_write_lane_wait_nanos": 1634,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 16,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 0,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 8,
+ "wal_checkpoint_nanos": 718662
+ },
+ "phase": "edit",
+ "seq": 5
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 0,
+ "attr_cache_misses": 0,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 0,
+ "chunk_read_queries": 0,
+ "chunk_write_chunks": 0,
+ "connection_create_count": 0,
+ "connection_reuse_count": 0,
+ "connection_wait_count": 0,
+ "connection_wait_nanos": 0,
+ "dentry_cache_hits": 0,
+ "dentry_cache_misses": 0,
+ "fuse_adapter_attr_hits": 57,
+ "fuse_adapter_attr_misses": 0,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 0,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 11,
+ "fuse_adapter_negative_misses": 0,
+ "fuse_callback_count": 68,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 57,
+ "fuse_ino_file_resolutions": 0,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 11,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 57,
+ "fuse_op_getattr_nanos": 98047,
+ "fuse_op_lookup_count": 11,
+ "fuse_op_lookup_nanos": 15208,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 12,
+ "fuse_op_other_nanos": 9273,
+ "fuse_op_read_count": 0,
+ "fuse_op_read_nanos": 0,
+ "fuse_op_readdirplus_count": 0,
+ "fuse_op_readdirplus_nanos": 0,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 0,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 0,
+ "fuse_read_lane_wait_nanos": 0,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 0,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 80,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 0,
+ "lookup_base_count": 0,
+ "lookup_count": 0,
+ "lookup_delta_count": 0,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 11,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 0,
+ "negative_lookup_count": 0,
+ "path_cache_hits": 0,
+ "path_cache_misses": 0,
+ "path_component_count": 0,
+ "path_resolution_count": 0,
+ "readdir_count": 0,
+ "readdir_plus_count": 0,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "diff",
+ "seq": 6
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 0,
+ "agentfs_batcher_commit_latency_ns_total": 0,
+ "agentfs_batcher_commit_txns": 0,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 0,
+ "agentfs_batcher_drains_timer": 0,
+ "agentfs_batcher_enqueues": 0,
+ "agentfs_batcher_pending_max_bytes": 0,
+ "agentfs_batcher_txn_inodes_max": 0,
+ "agentfs_batcher_txn_inodes_total": 0,
+ "attr_cache_hits": 3,
+ "attr_cache_misses": 2,
+ "base_fast_inode_invalidations": 0,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 1,
+ "chunk_read_queries": 1,
+ "chunk_write_chunks": 0,
+ "connection_create_count": 0,
+ "connection_reuse_count": 15,
+ "connection_wait_count": 15,
+ "connection_wait_nanos": 22809,
+ "dentry_cache_hits": 4,
+ "dentry_cache_misses": 2,
+ "fuse_adapter_attr_hits": 44,
+ "fuse_adapter_attr_misses": 1,
+ "fuse_adapter_entry_hits": 0,
+ "fuse_adapter_entry_misses": 4,
+ "fuse_adapter_inval_entry_notifications": 0,
+ "fuse_adapter_inval_inode_notifications": 0,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 215,
+ "fuse_adapter_negative_misses": 4,
+ "fuse_callback_count": 284,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 0,
+ "fuse_dispatch_parallel_tasks": 0,
+ "fuse_dispatch_wait_count": 0,
+ "fuse_dispatch_wait_nanos": 0,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 0,
+ "fuse_flush_count": 0,
+ "fuse_flush_ranges": 0,
+ "fuse_getattr_count": 45,
+ "fuse_ino_file_resolutions": 1,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 0,
+ "fuse_lookup_count": 219,
+ "fuse_noflush_enosys_replies": 0,
+ "fuse_noopen_enosys_replies": 0,
+ "fuse_op_create_count": 0,
+ "fuse_op_create_nanos": 0,
+ "fuse_op_flush_count": 0,
+ "fuse_op_flush_nanos": 0,
+ "fuse_op_forget_count": 0,
+ "fuse_op_forget_nanos": 0,
+ "fuse_op_getattr_count": 45,
+ "fuse_op_getattr_nanos": 104377,
+ "fuse_op_lookup_count": 219,
+ "fuse_op_lookup_nanos": 311933,
+ "fuse_op_open_count": 0,
+ "fuse_op_open_nanos": 0,
+ "fuse_op_other_count": 36,
+ "fuse_op_other_nanos": 17082,
+ "fuse_op_read_count": 2,
+ "fuse_op_read_nanos": 706163,
+ "fuse_op_readdirplus_count": 18,
+ "fuse_op_readdirplus_nanos": 893609,
+ "fuse_op_setattr_count": 0,
+ "fuse_op_setattr_nanos": 0,
+ "fuse_op_write_count": 0,
+ "fuse_op_write_nanos": 0,
+ "fuse_open_count": 0,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 2,
+ "fuse_read_lane_max_concurrent": 0,
+ "fuse_read_lane_wait_count": 15,
+ "fuse_read_lane_wait_nanos": 4748,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 18,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 0,
+ "fuse_readdirplus_do_requested": 0,
+ "fuse_readdirplus_mode": 0,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 0,
+ "fuse_ttl_entry_ms": 0,
+ "fuse_ttl_neg_ms": 0,
+ "fuse_uring_requests": 320,
+ "fuse_worker_queue_depth_peak": 0,
+ "fuse_workers_configured": 0,
+ "fuse_write_bytes": 0,
+ "fuse_write_count": 0,
+ "fuse_write_lane_wait_count": 0,
+ "fuse_write_lane_wait_nanos": 0,
+ "fuse_writeback_cache_enabled": 0,
+ "getattr_count": 2,
+ "lookup_base_count": 0,
+ "lookup_count": 8,
+ "lookup_delta_count": 4,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 215,
+ "negative_cache_invalidations": 0,
+ "negative_cache_misses": 9,
+ "negative_lookup_count": 2,
+ "path_cache_hits": 4,
+ "path_cache_misses": 2,
+ "path_component_count": 42,
+ "path_resolution_count": 10,
+ "readdir_count": 0,
+ "readdir_plus_count": 9,
+ "wal_checkpoint_count": 0,
+ "wal_checkpoint_nanos": 0
+ },
+ "phase": "fsck",
+ "seq": 7
+ }
+ ]
+ },
+ "profile_counters": {
+ "last_by_source": {
+ "agentfs": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 942524849,
+ "agentfs_batcher_commit_txns": 4811,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4749,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9409,
+ "attr_cache_hits": 26133,
+ "attr_cache_misses": 30832,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 248,
+ "chunk_read_queries": 111,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 32888,
+ "connection_wait_count": 32898,
+ "connection_wait_nanos": 12825640,
+ "dentry_cache_hits": 26123,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7208,
+ "fuse_adapter_attr_misses": 5591,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6736,
+ "fuse_adapter_inval_entry_notifications": 58,
+ "fuse_adapter_inval_inode_notifications": 5506,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5583,
+ "fuse_adapter_negative_misses": 6736,
+ "fuse_callback_count": 31622,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 428998,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53240674,
+ "fuse_flush_count": 4749,
+ "fuse_flush_ranges": 4749,
+ "fuse_getattr_count": 12799,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12329,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 663784601,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 428632,
+ "fuse_op_getattr_count": 12799,
+ "fuse_op_getattr_nanos": 103121907,
+ "fuse_op_lookup_count": 12329,
+ "fuse_op_lookup_nanos": 162532805,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 148876294,
+ "fuse_op_read_count": 229,
+ "fuse_op_read_nanos": 30786059,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 60051328,
+ "fuse_op_setattr_count": 4773,
+ "fuse_op_setattr_nanos": 1331296195,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 31882414,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 229,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17880,
+ "fuse_read_lane_wait_nanos": 1993263,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44714,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53271481,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10264,
+ "fuse_write_lane_wait_nanos": 1721880,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20700,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7102,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46088,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26123,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 1346034
+ },
+ "fuse_session": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 942524849,
+ "agentfs_batcher_commit_txns": 4811,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4749,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9409,
+ "attr_cache_hits": 26133,
+ "attr_cache_misses": 30832,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 248,
+ "chunk_read_queries": 111,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 32888,
+ "connection_wait_count": 32898,
+ "connection_wait_nanos": 12825640,
+ "dentry_cache_hits": 26123,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7208,
+ "fuse_adapter_attr_misses": 5591,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6736,
+ "fuse_adapter_inval_entry_notifications": 58,
+ "fuse_adapter_inval_inode_notifications": 5506,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5583,
+ "fuse_adapter_negative_misses": 6736,
+ "fuse_callback_count": 31622,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 428998,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53240674,
+ "fuse_flush_count": 4749,
+ "fuse_flush_ranges": 4749,
+ "fuse_getattr_count": 12799,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12329,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 663784601,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 428632,
+ "fuse_op_getattr_count": 12799,
+ "fuse_op_getattr_nanos": 103121907,
+ "fuse_op_lookup_count": 12329,
+ "fuse_op_lookup_nanos": 162532805,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 148876294,
+ "fuse_op_read_count": 229,
+ "fuse_op_read_nanos": 30786059,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 60051328,
+ "fuse_op_setattr_count": 4773,
+ "fuse_op_setattr_nanos": 1331296195,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 31882414,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 229,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17880,
+ "fuse_read_lane_wait_nanos": 1993263,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44714,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53271481,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10264,
+ "fuse_write_lane_wait_nanos": 1721880,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20700,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7102,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46088,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26123,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 1346034
+ },
+ "phase-checkpoint-1": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 936722602,
+ "agentfs_batcher_commit_txns": 4792,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4732,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25920,
+ "attr_cache_misses": 29058,
+ "base_fast_inode_invalidations": 15031,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 970,
+ "connection_create_count": 2,
+ "connection_reuse_count": 31218,
+ "connection_wait_count": 31220,
+ "connection_wait_nanos": 12113271,
+ "dentry_cache_hits": 26033,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 89,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5335,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21833,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 39,
+ "fuse_dispatch_wait_count": 39,
+ "fuse_dispatch_wait_nanos": 266801,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52539545,
+ "fuse_flush_count": 4732,
+ "fuse_flush_ranges": 4732,
+ "fuse_getattr_count": 5023,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11752,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 660874071,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 35,
+ "fuse_op_forget_nanos": 333374,
+ "fuse_op_getattr_count": 5023,
+ "fuse_op_getattr_nanos": 61383450,
+ "fuse_op_lookup_count": 11752,
+ "fuse_op_lookup_nanos": 155973636,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 785,
+ "fuse_op_other_nanos": 140982740,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 27814717,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 1501529,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1324298124,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 31025840,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16155,
+ "fuse_read_lane_wait_nanos": 1765820,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32057,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673690,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10204,
+ "fuse_write_lane_wait_nanos": 1681382,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19338,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6829,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14256,
+ "path_cache_hits": 26033,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 11,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 495649
+ },
+ "phase-checkpoint-2": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 940616891,
+ "agentfs_batcher_commit_txns": 4801,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4741,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9399,
+ "attr_cache_hits": 26116,
+ "attr_cache_misses": 30785,
+ "base_fast_inode_invalidations": 15082,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 31839,
+ "connection_wait_count": 31849,
+ "connection_wait_nanos": 12387695,
+ "dentry_cache_hits": 26106,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4709,
+ "fuse_adapter_attr_misses": 5583,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5357,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27182,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 328117,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4741,
+ "fuse_flush_ranges": 4741,
+ "fuse_getattr_count": 10292,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11811,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 662495685,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 391664,
+ "fuse_op_getattr_count": 10292,
+ "fuse_op_getattr_nanos": 99859859,
+ "fuse_op_lookup_count": 11811,
+ "fuse_op_lookup_nanos": 156840008,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 800,
+ "fuse_op_other_nanos": 145410015,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 28832834,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 1638539,
+ "fuse_op_setattr_count": 4763,
+ "fuse_op_setattr_nanos": 1328151883,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 31217915,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 16869,
+ "fuse_read_lane_wait_nanos": 1865339,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37444,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265083,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10246,
+ "fuse_write_lane_wait_nanos": 1715581,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20664,
+ "lookup_base_count": 23,
+ "lookup_count": 40452,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6872,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14342,
+ "path_cache_hits": 26106,
+ "path_cache_misses": 13482,
+ "path_component_count": 33026,
+ "path_resolution_count": 7163,
+ "readdir_count": 1,
+ "readdir_plus_count": 13,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 495649
+ },
+ "phase-checkpoint-3": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 941261792,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4741,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9401,
+ "attr_cache_hits": 26130,
+ "attr_cache_misses": 30806,
+ "base_fast_inode_invalidations": 15090,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 247,
+ "chunk_read_queries": 110,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 32838,
+ "connection_wait_count": 32848,
+ "connection_wait_nanos": 12774631,
+ "dentry_cache_hits": 26119,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7030,
+ "fuse_adapter_attr_misses": 5590,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6732,
+ "fuse_adapter_inval_entry_notifications": 58,
+ "fuse_adapter_inval_inode_notifications": 5506,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5357,
+ "fuse_adapter_negative_misses": 6732,
+ "fuse_callback_count": 31185,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 428998,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4741,
+ "fuse_flush_ranges": 4741,
+ "fuse_getattr_count": 12620,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12099,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 663784601,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 428632,
+ "fuse_op_getattr_count": 12620,
+ "fuse_op_getattr_nanos": 102773182,
+ "fuse_op_lookup_count": 12099,
+ "fuse_op_lookup_nanos": 162205664,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 3562,
+ "fuse_op_other_nanos": 148003204,
+ "fuse_op_read_count": 227,
+ "fuse_op_read_nanos": 30079896,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 59157719,
+ "fuse_op_setattr_count": 4765,
+ "fuse_op_setattr_nanos": 1329101291,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 31217915,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 227,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17857,
+ "fuse_read_lane_wait_nanos": 1987348,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44213,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265083,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10254,
+ "fuse_write_lane_wait_nanos": 1719447,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20682,
+ "lookup_base_count": 23,
+ "lookup_count": 41046,
+ "lookup_delta_count": 7545,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6876,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46079,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26119,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 495649
+ },
+ "phase-checkpoint-4": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 941261792,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4741,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9401,
+ "attr_cache_hits": 26130,
+ "attr_cache_misses": 30806,
+ "base_fast_inode_invalidations": 15090,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 247,
+ "chunk_read_queries": 110,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 32838,
+ "connection_wait_count": 32848,
+ "connection_wait_nanos": 12774631,
+ "dentry_cache_hits": 26119,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7099,
+ "fuse_adapter_attr_misses": 5590,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6732,
+ "fuse_adapter_inval_entry_notifications": 58,
+ "fuse_adapter_inval_inode_notifications": 5506,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5357,
+ "fuse_adapter_negative_misses": 6732,
+ "fuse_callback_count": 31254,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 428998,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4741,
+ "fuse_flush_ranges": 4741,
+ "fuse_getattr_count": 12689,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12099,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 663784601,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 428632,
+ "fuse_op_getattr_count": 12689,
+ "fuse_op_getattr_nanos": 102909407,
+ "fuse_op_lookup_count": 12099,
+ "fuse_op_lookup_nanos": 162205664,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 3562,
+ "fuse_op_other_nanos": 148003204,
+ "fuse_op_read_count": 227,
+ "fuse_op_read_nanos": 30079896,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 59157719,
+ "fuse_op_setattr_count": 4765,
+ "fuse_op_setattr_nanos": 1329101291,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 31217915,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 227,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17857,
+ "fuse_read_lane_wait_nanos": 1987348,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44282,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265083,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10254,
+ "fuse_write_lane_wait_nanos": 1719447,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20682,
+ "lookup_base_count": 23,
+ "lookup_count": 41046,
+ "lookup_delta_count": 7545,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6876,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46079,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26119,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 495649
+ },
+ "phase-checkpoint-5": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 942524849,
+ "agentfs_batcher_commit_txns": 4811,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4749,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9409,
+ "attr_cache_hits": 26130,
+ "attr_cache_misses": 30830,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 247,
+ "chunk_read_queries": 110,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 32870,
+ "connection_wait_count": 32880,
+ "connection_wait_nanos": 12796984,
+ "dentry_cache_hits": 26119,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7107,
+ "fuse_adapter_attr_misses": 5590,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6732,
+ "fuse_adapter_inval_entry_notifications": 58,
+ "fuse_adapter_inval_inode_notifications": 5506,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5357,
+ "fuse_adapter_negative_misses": 6732,
+ "fuse_callback_count": 31270,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 428998,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53240674,
+ "fuse_flush_count": 4749,
+ "fuse_flush_ranges": 4749,
+ "fuse_getattr_count": 12697,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12099,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 663784601,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 428632,
+ "fuse_op_getattr_count": 12697,
+ "fuse_op_getattr_nanos": 102919483,
+ "fuse_op_lookup_count": 12099,
+ "fuse_op_lookup_nanos": 162205664,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 3570,
+ "fuse_op_other_nanos": 148849939,
+ "fuse_op_read_count": 227,
+ "fuse_op_read_nanos": 30079896,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 59157719,
+ "fuse_op_setattr_count": 4773,
+ "fuse_op_setattr_nanos": 1331296195,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 31882414,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 227,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17865,
+ "fuse_read_lane_wait_nanos": 1988515,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44314,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53271481,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10262,
+ "fuse_write_lane_wait_nanos": 1721081,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20698,
+ "lookup_base_count": 23,
+ "lookup_count": 41046,
+ "lookup_delta_count": 7545,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6876,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46079,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26119,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 1214311
+ },
+ "phase-checkpoint-6": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 942524849,
+ "agentfs_batcher_commit_txns": 4811,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4749,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9409,
+ "attr_cache_hits": 26130,
+ "attr_cache_misses": 30830,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 247,
+ "chunk_read_queries": 110,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 32870,
+ "connection_wait_count": 32880,
+ "connection_wait_nanos": 12796984,
+ "dentry_cache_hits": 26119,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7164,
+ "fuse_adapter_attr_misses": 5590,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6732,
+ "fuse_adapter_inval_entry_notifications": 58,
+ "fuse_adapter_inval_inode_notifications": 5506,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5368,
+ "fuse_adapter_negative_misses": 6732,
+ "fuse_callback_count": 31338,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 428998,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53240674,
+ "fuse_flush_count": 4749,
+ "fuse_flush_ranges": 4749,
+ "fuse_getattr_count": 12754,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12110,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 663784601,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 428632,
+ "fuse_op_getattr_count": 12754,
+ "fuse_op_getattr_nanos": 103017530,
+ "fuse_op_lookup_count": 12110,
+ "fuse_op_lookup_nanos": 162220872,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 3582,
+ "fuse_op_other_nanos": 148859212,
+ "fuse_op_read_count": 227,
+ "fuse_op_read_nanos": 30079896,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 59157719,
+ "fuse_op_setattr_count": 4773,
+ "fuse_op_setattr_nanos": 1331296195,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 31882414,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 227,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17865,
+ "fuse_read_lane_wait_nanos": 1988515,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44394,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53271481,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10262,
+ "fuse_write_lane_wait_nanos": 1721081,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20698,
+ "lookup_base_count": 23,
+ "lookup_count": 41046,
+ "lookup_delta_count": 7545,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6887,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46079,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26119,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 1214311
+ },
+ "phase-checkpoint-7": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 942524849,
+ "agentfs_batcher_commit_txns": 4811,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4749,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9409,
+ "attr_cache_hits": 26133,
+ "attr_cache_misses": 30832,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 248,
+ "chunk_read_queries": 111,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 32885,
+ "connection_wait_count": 32895,
+ "connection_wait_nanos": 12819793,
+ "dentry_cache_hits": 26123,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7208,
+ "fuse_adapter_attr_misses": 5591,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6736,
+ "fuse_adapter_inval_entry_notifications": 58,
+ "fuse_adapter_inval_inode_notifications": 5506,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5583,
+ "fuse_adapter_negative_misses": 6736,
+ "fuse_callback_count": 31622,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 428998,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53240674,
+ "fuse_flush_count": 4749,
+ "fuse_flush_ranges": 4749,
+ "fuse_getattr_count": 12799,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12329,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 663784601,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 428632,
+ "fuse_op_getattr_count": 12799,
+ "fuse_op_getattr_nanos": 103121907,
+ "fuse_op_lookup_count": 12329,
+ "fuse_op_lookup_nanos": 162532805,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 148876294,
+ "fuse_op_read_count": 229,
+ "fuse_op_read_nanos": 30786059,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 60051328,
+ "fuse_op_setattr_count": 4773,
+ "fuse_op_setattr_nanos": 1331296195,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 31882414,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 229,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17880,
+ "fuse_read_lane_wait_nanos": 1993263,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44714,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53271481,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10262,
+ "fuse_write_lane_wait_nanos": 1721081,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20700,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7102,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46088,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26123,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 1214311
+ },
+ "run_parent": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 942524849,
+ "agentfs_batcher_commit_txns": 4811,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4749,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9409,
+ "attr_cache_hits": 26133,
+ "attr_cache_misses": 30832,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 248,
+ "chunk_read_queries": 111,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 32888,
+ "connection_wait_count": 32898,
+ "connection_wait_nanos": 12825640,
+ "dentry_cache_hits": 26123,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7208,
+ "fuse_adapter_attr_misses": 5591,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6736,
+ "fuse_adapter_inval_entry_notifications": 58,
+ "fuse_adapter_inval_inode_notifications": 5506,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5583,
+ "fuse_adapter_negative_misses": 6736,
+ "fuse_callback_count": 31622,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 428998,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53240674,
+ "fuse_flush_count": 4749,
+ "fuse_flush_ranges": 4749,
+ "fuse_getattr_count": 12799,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12329,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 663784601,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 428632,
+ "fuse_op_getattr_count": 12799,
+ "fuse_op_getattr_nanos": 103121907,
+ "fuse_op_lookup_count": 12329,
+ "fuse_op_lookup_nanos": 162532805,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 148876294,
+ "fuse_op_read_count": 229,
+ "fuse_op_read_nanos": 30786059,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 60051328,
+ "fuse_op_setattr_count": 4773,
+ "fuse_op_setattr_nanos": 1331296195,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 31882414,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 229,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17880,
+ "fuse_read_lane_wait_nanos": 1993263,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44714,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53271481,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10264,
+ "fuse_write_lane_wait_nanos": 1721880,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20700,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7102,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46088,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26123,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 1346034
+ }
+ },
+ "max_counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 942524849,
+ "agentfs_batcher_commit_txns": 4811,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4749,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9409,
+ "attr_cache_hits": 26133,
+ "attr_cache_misses": 30832,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 248,
+ "chunk_read_queries": 111,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 32888,
+ "connection_wait_count": 32898,
+ "connection_wait_nanos": 12825640,
+ "dentry_cache_hits": 26123,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7208,
+ "fuse_adapter_attr_misses": 5591,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6736,
+ "fuse_adapter_inval_entry_notifications": 58,
+ "fuse_adapter_inval_inode_notifications": 5506,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5583,
+ "fuse_adapter_negative_misses": 6736,
+ "fuse_callback_count": 31622,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 428998,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53240674,
+ "fuse_flush_count": 4749,
+ "fuse_flush_ranges": 4749,
+ "fuse_getattr_count": 12799,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12329,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 663784601,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 428632,
+ "fuse_op_getattr_count": 12799,
+ "fuse_op_getattr_nanos": 103121907,
+ "fuse_op_lookup_count": 12329,
+ "fuse_op_lookup_nanos": 162532805,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 148876294,
+ "fuse_op_read_count": 229,
+ "fuse_op_read_nanos": 30786059,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 60051328,
+ "fuse_op_setattr_count": 4773,
+ "fuse_op_setattr_nanos": 1331296195,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 31882414,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 229,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17880,
+ "fuse_read_lane_wait_nanos": 1993263,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44714,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53271481,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10264,
+ "fuse_write_lane_wait_nanos": 1721880,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20700,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7102,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46088,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26123,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 1346034
+ },
+ "summary_count": 10
+ },
+ "profile_enabled": true,
+ "profile_summary_count": 10,
+ "session": "git-workload-e13728a82daa4c4a90c2edf69ec5b3f4"
+ },
+ "agentfs_overlay": {
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 936722602,
+ "agentfs_batcher_commit_txns": 4792,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4732,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25920,
+ "attr_cache_misses": 29058,
+ "base_fast_inode_invalidations": 15031,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 970,
+ "connection_create_count": 2,
+ "connection_reuse_count": 31218,
+ "connection_wait_count": 31220,
+ "connection_wait_nanos": 12113271,
+ "dentry_cache_hits": 26033,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 89,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5335,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21833,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 39,
+ "fuse_dispatch_wait_count": 39,
+ "fuse_dispatch_wait_nanos": 266801,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52539545,
+ "fuse_flush_count": 4732,
+ "fuse_flush_ranges": 4732,
+ "fuse_getattr_count": 5023,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11752,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 660874071,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 35,
+ "fuse_op_forget_nanos": 333374,
+ "fuse_op_getattr_count": 5023,
+ "fuse_op_getattr_nanos": 61383450,
+ "fuse_op_lookup_count": 11752,
+ "fuse_op_lookup_nanos": 155973636,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 785,
+ "fuse_op_other_nanos": 140982740,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 27814717,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 1501529,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1324298124,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 31025840,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16155,
+ "fuse_read_lane_wait_nanos": 1765820,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32057,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673690,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10204,
+ "fuse_write_lane_wait_nanos": 1681382,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19338,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6829,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14256,
+ "path_cache_hits": 26033,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 11,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 495649
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-1"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 940616891,
+ "agentfs_batcher_commit_txns": 4801,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4741,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9399,
+ "attr_cache_hits": 26116,
+ "attr_cache_misses": 30785,
+ "base_fast_inode_invalidations": 15082,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 31839,
+ "connection_wait_count": 31849,
+ "connection_wait_nanos": 12387695,
+ "dentry_cache_hits": 26106,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4709,
+ "fuse_adapter_attr_misses": 5583,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5357,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27182,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 328117,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4741,
+ "fuse_flush_ranges": 4741,
+ "fuse_getattr_count": 10292,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11811,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 662495685,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 391664,
+ "fuse_op_getattr_count": 10292,
+ "fuse_op_getattr_nanos": 99859859,
+ "fuse_op_lookup_count": 11811,
+ "fuse_op_lookup_nanos": 156840008,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 800,
+ "fuse_op_other_nanos": 145410015,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 28832834,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 1638539,
+ "fuse_op_setattr_count": 4763,
+ "fuse_op_setattr_nanos": 1328151883,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 31217915,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 16869,
+ "fuse_read_lane_wait_nanos": 1865339,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37444,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265083,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10246,
+ "fuse_write_lane_wait_nanos": 1715581,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20664,
+ "lookup_base_count": 23,
+ "lookup_count": 40452,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6872,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14342,
+ "path_cache_hits": 26106,
+ "path_cache_misses": 13482,
+ "path_component_count": 33026,
+ "path_resolution_count": 7163,
+ "readdir_count": 1,
+ "readdir_plus_count": 13,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 495649
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-2"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 941261792,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4741,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9401,
+ "attr_cache_hits": 26130,
+ "attr_cache_misses": 30806,
+ "base_fast_inode_invalidations": 15090,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 247,
+ "chunk_read_queries": 110,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 32838,
+ "connection_wait_count": 32848,
+ "connection_wait_nanos": 12774631,
+ "dentry_cache_hits": 26119,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7030,
+ "fuse_adapter_attr_misses": 5590,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6732,
+ "fuse_adapter_inval_entry_notifications": 58,
+ "fuse_adapter_inval_inode_notifications": 5506,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5357,
+ "fuse_adapter_negative_misses": 6732,
+ "fuse_callback_count": 31185,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 428998,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4741,
+ "fuse_flush_ranges": 4741,
+ "fuse_getattr_count": 12620,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12099,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 663784601,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 428632,
+ "fuse_op_getattr_count": 12620,
+ "fuse_op_getattr_nanos": 102773182,
+ "fuse_op_lookup_count": 12099,
+ "fuse_op_lookup_nanos": 162205664,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 3562,
+ "fuse_op_other_nanos": 148003204,
+ "fuse_op_read_count": 227,
+ "fuse_op_read_nanos": 30079896,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 59157719,
+ "fuse_op_setattr_count": 4765,
+ "fuse_op_setattr_nanos": 1329101291,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 31217915,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 227,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17857,
+ "fuse_read_lane_wait_nanos": 1987348,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44213,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265083,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10254,
+ "fuse_write_lane_wait_nanos": 1719447,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20682,
+ "lookup_base_count": 23,
+ "lookup_count": 41046,
+ "lookup_delta_count": 7545,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6876,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46079,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26119,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 495649
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-3"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 941261792,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4741,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9401,
+ "attr_cache_hits": 26130,
+ "attr_cache_misses": 30806,
+ "base_fast_inode_invalidations": 15090,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 247,
+ "chunk_read_queries": 110,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 32838,
+ "connection_wait_count": 32848,
+ "connection_wait_nanos": 12774631,
+ "dentry_cache_hits": 26119,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7099,
+ "fuse_adapter_attr_misses": 5590,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6732,
+ "fuse_adapter_inval_entry_notifications": 58,
+ "fuse_adapter_inval_inode_notifications": 5506,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5357,
+ "fuse_adapter_negative_misses": 6732,
+ "fuse_callback_count": 31254,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 428998,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4741,
+ "fuse_flush_ranges": 4741,
+ "fuse_getattr_count": 12689,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12099,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 663784601,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 428632,
+ "fuse_op_getattr_count": 12689,
+ "fuse_op_getattr_nanos": 102909407,
+ "fuse_op_lookup_count": 12099,
+ "fuse_op_lookup_nanos": 162205664,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 3562,
+ "fuse_op_other_nanos": 148003204,
+ "fuse_op_read_count": 227,
+ "fuse_op_read_nanos": 30079896,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 59157719,
+ "fuse_op_setattr_count": 4765,
+ "fuse_op_setattr_nanos": 1329101291,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 31217915,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 227,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17857,
+ "fuse_read_lane_wait_nanos": 1987348,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44282,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265083,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10254,
+ "fuse_write_lane_wait_nanos": 1719447,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20682,
+ "lookup_base_count": 23,
+ "lookup_count": 41046,
+ "lookup_delta_count": 7545,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6876,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46079,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26119,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 495649
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-4"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 942524849,
+ "agentfs_batcher_commit_txns": 4811,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4749,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9409,
+ "attr_cache_hits": 26130,
+ "attr_cache_misses": 30830,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 247,
+ "chunk_read_queries": 110,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 32870,
+ "connection_wait_count": 32880,
+ "connection_wait_nanos": 12796984,
+ "dentry_cache_hits": 26119,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7107,
+ "fuse_adapter_attr_misses": 5590,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6732,
+ "fuse_adapter_inval_entry_notifications": 58,
+ "fuse_adapter_inval_inode_notifications": 5506,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5357,
+ "fuse_adapter_negative_misses": 6732,
+ "fuse_callback_count": 31270,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 428998,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53240674,
+ "fuse_flush_count": 4749,
+ "fuse_flush_ranges": 4749,
+ "fuse_getattr_count": 12697,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12099,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 663784601,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 428632,
+ "fuse_op_getattr_count": 12697,
+ "fuse_op_getattr_nanos": 102919483,
+ "fuse_op_lookup_count": 12099,
+ "fuse_op_lookup_nanos": 162205664,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 3570,
+ "fuse_op_other_nanos": 148849939,
+ "fuse_op_read_count": 227,
+ "fuse_op_read_nanos": 30079896,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 59157719,
+ "fuse_op_setattr_count": 4773,
+ "fuse_op_setattr_nanos": 1331296195,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 31882414,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 227,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17865,
+ "fuse_read_lane_wait_nanos": 1988515,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44314,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53271481,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10262,
+ "fuse_write_lane_wait_nanos": 1721081,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20698,
+ "lookup_base_count": 23,
+ "lookup_count": 41046,
+ "lookup_delta_count": 7545,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6876,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46079,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26119,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 1214311
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-5"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 942524849,
+ "agentfs_batcher_commit_txns": 4811,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4749,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9409,
+ "attr_cache_hits": 26130,
+ "attr_cache_misses": 30830,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 247,
+ "chunk_read_queries": 110,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 32870,
+ "connection_wait_count": 32880,
+ "connection_wait_nanos": 12796984,
+ "dentry_cache_hits": 26119,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7164,
+ "fuse_adapter_attr_misses": 5590,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6732,
+ "fuse_adapter_inval_entry_notifications": 58,
+ "fuse_adapter_inval_inode_notifications": 5506,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5368,
+ "fuse_adapter_negative_misses": 6732,
+ "fuse_callback_count": 31338,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 428998,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53240674,
+ "fuse_flush_count": 4749,
+ "fuse_flush_ranges": 4749,
+ "fuse_getattr_count": 12754,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12110,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 663784601,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 428632,
+ "fuse_op_getattr_count": 12754,
+ "fuse_op_getattr_nanos": 103017530,
+ "fuse_op_lookup_count": 12110,
+ "fuse_op_lookup_nanos": 162220872,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 3582,
+ "fuse_op_other_nanos": 148859212,
+ "fuse_op_read_count": 227,
+ "fuse_op_read_nanos": 30079896,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 59157719,
+ "fuse_op_setattr_count": 4773,
+ "fuse_op_setattr_nanos": 1331296195,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 31882414,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 227,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17865,
+ "fuse_read_lane_wait_nanos": 1988515,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44394,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53271481,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10262,
+ "fuse_write_lane_wait_nanos": 1721081,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20698,
+ "lookup_base_count": 23,
+ "lookup_count": 41046,
+ "lookup_delta_count": 7545,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6887,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46079,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26119,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 1214311
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-6"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 942524849,
+ "agentfs_batcher_commit_txns": 4811,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4749,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9409,
+ "attr_cache_hits": 26133,
+ "attr_cache_misses": 30832,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 248,
+ "chunk_read_queries": 111,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 32885,
+ "connection_wait_count": 32895,
+ "connection_wait_nanos": 12819793,
+ "dentry_cache_hits": 26123,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7208,
+ "fuse_adapter_attr_misses": 5591,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6736,
+ "fuse_adapter_inval_entry_notifications": 58,
+ "fuse_adapter_inval_inode_notifications": 5506,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5583,
+ "fuse_adapter_negative_misses": 6736,
+ "fuse_callback_count": 31622,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 428998,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53240674,
+ "fuse_flush_count": 4749,
+ "fuse_flush_ranges": 4749,
+ "fuse_getattr_count": 12799,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12329,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 663784601,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 428632,
+ "fuse_op_getattr_count": 12799,
+ "fuse_op_getattr_nanos": 103121907,
+ "fuse_op_lookup_count": 12329,
+ "fuse_op_lookup_nanos": 162532805,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 148876294,
+ "fuse_op_read_count": 229,
+ "fuse_op_read_nanos": 30786059,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 60051328,
+ "fuse_op_setattr_count": 4773,
+ "fuse_op_setattr_nanos": 1331296195,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 31882414,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 229,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17880,
+ "fuse_read_lane_wait_nanos": 1993263,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44714,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53271481,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10262,
+ "fuse_write_lane_wait_nanos": 1721081,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20700,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7102,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46088,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26123,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 1214311
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-7"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 942524849,
+ "agentfs_batcher_commit_txns": 4811,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4749,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9409,
+ "attr_cache_hits": 26133,
+ "attr_cache_misses": 30832,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 248,
+ "chunk_read_queries": 111,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 32888,
+ "connection_wait_count": 32898,
+ "connection_wait_nanos": 12825640,
+ "dentry_cache_hits": 26123,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7208,
+ "fuse_adapter_attr_misses": 5591,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6736,
+ "fuse_adapter_inval_entry_notifications": 58,
+ "fuse_adapter_inval_inode_notifications": 5506,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5583,
+ "fuse_adapter_negative_misses": 6736,
+ "fuse_callback_count": 31622,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 428998,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53240674,
+ "fuse_flush_count": 4749,
+ "fuse_flush_ranges": 4749,
+ "fuse_getattr_count": 12799,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12329,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 663784601,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 428632,
+ "fuse_op_getattr_count": 12799,
+ "fuse_op_getattr_nanos": 103121907,
+ "fuse_op_lookup_count": 12329,
+ "fuse_op_lookup_nanos": 162532805,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 148876294,
+ "fuse_op_read_count": 229,
+ "fuse_op_read_nanos": 30786059,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 60051328,
+ "fuse_op_setattr_count": 4773,
+ "fuse_op_setattr_nanos": 1331296195,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 31882414,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 229,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17880,
+ "fuse_read_lane_wait_nanos": 1993263,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44714,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53271481,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10264,
+ "fuse_write_lane_wait_nanos": 1721880,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20700,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7102,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46088,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26123,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 1346034
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "agentfs"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 942524849,
+ "agentfs_batcher_commit_txns": 4811,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4749,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9409,
+ "attr_cache_hits": 26133,
+ "attr_cache_misses": 30832,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 248,
+ "chunk_read_queries": 111,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 32888,
+ "connection_wait_count": 32898,
+ "connection_wait_nanos": 12825640,
+ "dentry_cache_hits": 26123,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7208,
+ "fuse_adapter_attr_misses": 5591,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6736,
+ "fuse_adapter_inval_entry_notifications": 58,
+ "fuse_adapter_inval_inode_notifications": 5506,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5583,
+ "fuse_adapter_negative_misses": 6736,
+ "fuse_callback_count": 31622,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 428998,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53240674,
+ "fuse_flush_count": 4749,
+ "fuse_flush_ranges": 4749,
+ "fuse_getattr_count": 12799,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12329,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 663784601,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 428632,
+ "fuse_op_getattr_count": 12799,
+ "fuse_op_getattr_nanos": 103121907,
+ "fuse_op_lookup_count": 12329,
+ "fuse_op_lookup_nanos": 162532805,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 148876294,
+ "fuse_op_read_count": 229,
+ "fuse_op_read_nanos": 30786059,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 60051328,
+ "fuse_op_setattr_count": 4773,
+ "fuse_op_setattr_nanos": 1331296195,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 31882414,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 229,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17880,
+ "fuse_read_lane_wait_nanos": 1993263,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44714,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53271481,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10264,
+ "fuse_write_lane_wait_nanos": 1721880,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20700,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7102,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46088,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26123,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 1346034
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "fuse_session"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 942524849,
+ "agentfs_batcher_commit_txns": 4811,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4749,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9409,
+ "attr_cache_hits": 26133,
+ "attr_cache_misses": 30832,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 248,
+ "chunk_read_queries": 111,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 32888,
+ "connection_wait_count": 32898,
+ "connection_wait_nanos": 12825640,
+ "dentry_cache_hits": 26123,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7208,
+ "fuse_adapter_attr_misses": 5591,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6736,
+ "fuse_adapter_inval_entry_notifications": 58,
+ "fuse_adapter_inval_inode_notifications": 5506,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5583,
+ "fuse_adapter_negative_misses": 6736,
+ "fuse_callback_count": 31622,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 428998,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53240674,
+ "fuse_flush_count": 4749,
+ "fuse_flush_ranges": 4749,
+ "fuse_getattr_count": 12799,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12329,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 663784601,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 428632,
+ "fuse_op_getattr_count": 12799,
+ "fuse_op_getattr_nanos": 103121907,
+ "fuse_op_lookup_count": 12329,
+ "fuse_op_lookup_nanos": 162532805,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 148876294,
+ "fuse_op_read_count": 229,
+ "fuse_op_read_nanos": 30786059,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 60051328,
+ "fuse_op_setattr_count": 4773,
+ "fuse_op_setattr_nanos": 1331296195,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 31882414,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 229,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17880,
+ "fuse_read_lane_wait_nanos": 1993263,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44714,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53271481,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10264,
+ "fuse_write_lane_wait_nanos": 1721880,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20700,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7102,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46088,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26123,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 1346034
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "run_parent"
+ }
+ ],
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "run",
+ "--session",
+ "git-workload-e13728a82daa4c4a90c2edf69ec5b3f4",
+ "--no-default-allows",
+ "--",
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-9hklcrln/agentfs-base",
+ "duration_seconds": 4.7149352690030355,
+ "profile_summaries": [
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 37,
+ "agentfs_batcher_commit_latency_ns_total": 936722602,
+ "agentfs_batcher_commit_txns": 4792,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4682,
+ "agentfs_batcher_drains_timer": 13,
+ "agentfs_batcher_enqueues": 4732,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9385,
+ "attr_cache_hits": 25920,
+ "attr_cache_misses": 29058,
+ "base_fast_inode_invalidations": 15031,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 227,
+ "chunk_read_queries": 98,
+ "chunk_write_chunks": 970,
+ "connection_create_count": 2,
+ "connection_reuse_count": 31218,
+ "connection_wait_count": 31220,
+ "connection_wait_nanos": 12113271,
+ "dentry_cache_hits": 26033,
+ "dentry_cache_misses": 13426,
+ "fuse_adapter_attr_hits": 89,
+ "fuse_adapter_attr_misses": 4934,
+ "fuse_adapter_entry_hits": 8,
+ "fuse_adapter_entry_misses": 6409,
+ "fuse_adapter_inval_entry_notifications": 46,
+ "fuse_adapter_inval_inode_notifications": 5472,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5335,
+ "fuse_adapter_negative_misses": 6409,
+ "fuse_callback_count": 21833,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 2,
+ "fuse_dispatch_parallel_tasks": 39,
+ "fuse_dispatch_wait_count": 39,
+ "fuse_dispatch_wait_nanos": 266801,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 52539545,
+ "fuse_flush_count": 4732,
+ "fuse_flush_ranges": 4732,
+ "fuse_getattr_count": 5023,
+ "fuse_ino_file_resolutions": 21,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11752,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4692,
+ "fuse_op_create_nanos": 660874071,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 35,
+ "fuse_op_forget_nanos": 333374,
+ "fuse_op_getattr_count": 5023,
+ "fuse_op_getattr_nanos": 61383450,
+ "fuse_op_lookup_count": 11752,
+ "fuse_op_lookup_nanos": 155973636,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 785,
+ "fuse_op_other_nanos": 140982740,
+ "fuse_op_read_count": 213,
+ "fuse_op_read_nanos": 27814717,
+ "fuse_op_readdirplus_count": 22,
+ "fuse_op_readdirplus_nanos": 1501529,
+ "fuse_op_setattr_count": 4749,
+ "fuse_op_setattr_nanos": 1324298124,
+ "fuse_op_write_count": 4822,
+ "fuse_op_write_nanos": 31025840,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 213,
+ "fuse_read_lane_max_concurrent": 1,
+ "fuse_read_lane_wait_count": 16155,
+ "fuse_read_lane_wait_nanos": 1765820,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 22,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 32057,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 52673690,
+ "fuse_write_count": 4822,
+ "fuse_write_lane_wait_count": 10204,
+ "fuse_write_lane_wait_nanos": 1681382,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 19338,
+ "lookup_base_count": 23,
+ "lookup_count": 40288,
+ "lookup_delta_count": 7191,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6829,
+ "negative_cache_invalidations": 10816,
+ "negative_cache_misses": 45062,
+ "negative_lookup_count": 14256,
+ "path_cache_hits": 26033,
+ "path_cache_misses": 13426,
+ "path_component_count": 32902,
+ "path_resolution_count": 7118,
+ "readdir_count": 1,
+ "readdir_plus_count": 11,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 495649
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-1"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 940616891,
+ "agentfs_batcher_commit_txns": 4801,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4741,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9399,
+ "attr_cache_hits": 26116,
+ "attr_cache_misses": 30785,
+ "base_fast_inode_invalidations": 15082,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 237,
+ "chunk_read_queries": 104,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 31839,
+ "connection_wait_count": 31849,
+ "connection_wait_nanos": 12387695,
+ "dentry_cache_hits": 26106,
+ "dentry_cache_misses": 13482,
+ "fuse_adapter_attr_hits": 4709,
+ "fuse_adapter_attr_misses": 5583,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6444,
+ "fuse_adapter_inval_entry_notifications": 56,
+ "fuse_adapter_inval_inode_notifications": 5500,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5357,
+ "fuse_adapter_negative_misses": 6444,
+ "fuse_callback_count": 27182,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 48,
+ "fuse_dispatch_wait_count": 48,
+ "fuse_dispatch_wait_nanos": 328117,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4741,
+ "fuse_flush_ranges": 4741,
+ "fuse_getattr_count": 10292,
+ "fuse_ino_file_resolutions": 24,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 11811,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4701,
+ "fuse_op_create_nanos": 662495685,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 44,
+ "fuse_op_forget_nanos": 391664,
+ "fuse_op_getattr_count": 10292,
+ "fuse_op_getattr_nanos": 99859859,
+ "fuse_op_lookup_count": 11811,
+ "fuse_op_lookup_nanos": 156840008,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 800,
+ "fuse_op_other_nanos": 145410015,
+ "fuse_op_read_count": 221,
+ "fuse_op_read_nanos": 28832834,
+ "fuse_op_readdirplus_count": 26,
+ "fuse_op_readdirplus_nanos": 1638539,
+ "fuse_op_setattr_count": 4763,
+ "fuse_op_setattr_nanos": 1328151883,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 31217915,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 221,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 16869,
+ "fuse_read_lane_wait_nanos": 1865339,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 26,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 37444,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265083,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10246,
+ "fuse_write_lane_wait_nanos": 1715581,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20664,
+ "lookup_base_count": 23,
+ "lookup_count": 40452,
+ "lookup_delta_count": 7251,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6872,
+ "negative_cache_invalidations": 10842,
+ "negative_cache_misses": 45210,
+ "negative_lookup_count": 14342,
+ "path_cache_hits": 26106,
+ "path_cache_misses": 13482,
+ "path_component_count": 33026,
+ "path_resolution_count": 7163,
+ "readdir_count": 1,
+ "readdir_plus_count": 13,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 495649
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-2"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 941261792,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4741,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9401,
+ "attr_cache_hits": 26130,
+ "attr_cache_misses": 30806,
+ "base_fast_inode_invalidations": 15090,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 247,
+ "chunk_read_queries": 110,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 32838,
+ "connection_wait_count": 32848,
+ "connection_wait_nanos": 12774631,
+ "dentry_cache_hits": 26119,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7030,
+ "fuse_adapter_attr_misses": 5590,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6732,
+ "fuse_adapter_inval_entry_notifications": 58,
+ "fuse_adapter_inval_inode_notifications": 5506,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5357,
+ "fuse_adapter_negative_misses": 6732,
+ "fuse_callback_count": 31185,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 428998,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4741,
+ "fuse_flush_ranges": 4741,
+ "fuse_getattr_count": 12620,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12099,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 663784601,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 428632,
+ "fuse_op_getattr_count": 12620,
+ "fuse_op_getattr_nanos": 102773182,
+ "fuse_op_lookup_count": 12099,
+ "fuse_op_lookup_nanos": 162205664,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 3562,
+ "fuse_op_other_nanos": 148003204,
+ "fuse_op_read_count": 227,
+ "fuse_op_read_nanos": 30079896,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 59157719,
+ "fuse_op_setattr_count": 4765,
+ "fuse_op_setattr_nanos": 1329101291,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 31217915,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 227,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17857,
+ "fuse_read_lane_wait_nanos": 1987348,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44213,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265083,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10254,
+ "fuse_write_lane_wait_nanos": 1719447,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20682,
+ "lookup_base_count": 23,
+ "lookup_count": 41046,
+ "lookup_delta_count": 7545,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6876,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46079,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26119,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 495649
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-3"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 941261792,
+ "agentfs_batcher_commit_txns": 4803,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4687,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4741,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9401,
+ "attr_cache_hits": 26130,
+ "attr_cache_misses": 30806,
+ "base_fast_inode_invalidations": 15090,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 247,
+ "chunk_read_queries": 110,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 32838,
+ "connection_wait_count": 32848,
+ "connection_wait_nanos": 12774631,
+ "dentry_cache_hits": 26119,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7099,
+ "fuse_adapter_attr_misses": 5590,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6732,
+ "fuse_adapter_inval_entry_notifications": 58,
+ "fuse_adapter_inval_inode_notifications": 5506,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5357,
+ "fuse_adapter_negative_misses": 6732,
+ "fuse_callback_count": 31254,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 428998,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53234276,
+ "fuse_flush_count": 4741,
+ "fuse_flush_ranges": 4741,
+ "fuse_getattr_count": 12689,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12099,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 663784601,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 428632,
+ "fuse_op_getattr_count": 12689,
+ "fuse_op_getattr_nanos": 102909407,
+ "fuse_op_lookup_count": 12099,
+ "fuse_op_lookup_nanos": 162205664,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 3562,
+ "fuse_op_other_nanos": 148003204,
+ "fuse_op_read_count": 227,
+ "fuse_op_read_nanos": 30079896,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 59157719,
+ "fuse_op_setattr_count": 4765,
+ "fuse_op_setattr_nanos": 1329101291,
+ "fuse_op_write_count": 4831,
+ "fuse_op_write_nanos": 31217915,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 227,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17857,
+ "fuse_read_lane_wait_nanos": 1987348,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44282,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53265083,
+ "fuse_write_count": 4831,
+ "fuse_write_lane_wait_count": 10254,
+ "fuse_write_lane_wait_nanos": 1719447,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20682,
+ "lookup_base_count": 23,
+ "lookup_count": 41046,
+ "lookup_delta_count": 7545,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6876,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46079,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26119,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 3,
+ "wal_checkpoint_nanos": 495649
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-4"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 942524849,
+ "agentfs_batcher_commit_txns": 4811,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4749,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9409,
+ "attr_cache_hits": 26130,
+ "attr_cache_misses": 30830,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 247,
+ "chunk_read_queries": 110,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 32870,
+ "connection_wait_count": 32880,
+ "connection_wait_nanos": 12796984,
+ "dentry_cache_hits": 26119,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7107,
+ "fuse_adapter_attr_misses": 5590,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6732,
+ "fuse_adapter_inval_entry_notifications": 58,
+ "fuse_adapter_inval_inode_notifications": 5506,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5357,
+ "fuse_adapter_negative_misses": 6732,
+ "fuse_callback_count": 31270,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 428998,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53240674,
+ "fuse_flush_count": 4749,
+ "fuse_flush_ranges": 4749,
+ "fuse_getattr_count": 12697,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12099,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 663784601,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 428632,
+ "fuse_op_getattr_count": 12697,
+ "fuse_op_getattr_nanos": 102919483,
+ "fuse_op_lookup_count": 12099,
+ "fuse_op_lookup_nanos": 162205664,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 3570,
+ "fuse_op_other_nanos": 148849939,
+ "fuse_op_read_count": 227,
+ "fuse_op_read_nanos": 30079896,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 59157719,
+ "fuse_op_setattr_count": 4773,
+ "fuse_op_setattr_nanos": 1331296195,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 31882414,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 227,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17865,
+ "fuse_read_lane_wait_nanos": 1988515,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44314,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53271481,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10262,
+ "fuse_write_lane_wait_nanos": 1721081,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20698,
+ "lookup_base_count": 23,
+ "lookup_count": 41046,
+ "lookup_delta_count": 7545,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6876,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46079,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26119,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 1214311
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-5"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 942524849,
+ "agentfs_batcher_commit_txns": 4811,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4749,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9409,
+ "attr_cache_hits": 26130,
+ "attr_cache_misses": 30830,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 247,
+ "chunk_read_queries": 110,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 32870,
+ "connection_wait_count": 32880,
+ "connection_wait_nanos": 12796984,
+ "dentry_cache_hits": 26119,
+ "dentry_cache_misses": 14052,
+ "fuse_adapter_attr_hits": 7164,
+ "fuse_adapter_attr_misses": 5590,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6732,
+ "fuse_adapter_inval_entry_notifications": 58,
+ "fuse_adapter_inval_inode_notifications": 5506,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5368,
+ "fuse_adapter_negative_misses": 6732,
+ "fuse_callback_count": 31338,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 428998,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53240674,
+ "fuse_flush_count": 4749,
+ "fuse_flush_ranges": 4749,
+ "fuse_getattr_count": 12754,
+ "fuse_ino_file_resolutions": 25,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12110,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 663784601,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 428632,
+ "fuse_op_getattr_count": 12754,
+ "fuse_op_getattr_nanos": 103017530,
+ "fuse_op_lookup_count": 12110,
+ "fuse_op_lookup_nanos": 162220872,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 3582,
+ "fuse_op_other_nanos": 148859212,
+ "fuse_op_read_count": 227,
+ "fuse_op_read_nanos": 30079896,
+ "fuse_op_readdirplus_count": 1407,
+ "fuse_op_readdirplus_nanos": 59157719,
+ "fuse_op_setattr_count": 4773,
+ "fuse_op_setattr_nanos": 1331296195,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 31882414,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 227,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17865,
+ "fuse_read_lane_wait_nanos": 1988515,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1407,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44394,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53271481,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10262,
+ "fuse_write_lane_wait_nanos": 1721081,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20698,
+ "lookup_base_count": 23,
+ "lookup_count": 41046,
+ "lookup_delta_count": 7545,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 6887,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46079,
+ "negative_lookup_count": 14920,
+ "path_cache_hits": 26119,
+ "path_cache_misses": 14052,
+ "path_component_count": 37632,
+ "path_resolution_count": 8140,
+ "readdir_count": 1,
+ "readdir_plus_count": 701,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 1214311
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-6"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 942524849,
+ "agentfs_batcher_commit_txns": 4811,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4749,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9409,
+ "attr_cache_hits": 26133,
+ "attr_cache_misses": 30832,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 248,
+ "chunk_read_queries": 111,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 32885,
+ "connection_wait_count": 32895,
+ "connection_wait_nanos": 12819793,
+ "dentry_cache_hits": 26123,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7208,
+ "fuse_adapter_attr_misses": 5591,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6736,
+ "fuse_adapter_inval_entry_notifications": 58,
+ "fuse_adapter_inval_inode_notifications": 5506,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5583,
+ "fuse_adapter_negative_misses": 6736,
+ "fuse_callback_count": 31622,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 428998,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53240674,
+ "fuse_flush_count": 4749,
+ "fuse_flush_ranges": 4749,
+ "fuse_getattr_count": 12799,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12329,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 663784601,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 428632,
+ "fuse_op_getattr_count": 12799,
+ "fuse_op_getattr_nanos": 103121907,
+ "fuse_op_lookup_count": 12329,
+ "fuse_op_lookup_nanos": 162532805,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 148876294,
+ "fuse_op_read_count": 229,
+ "fuse_op_read_nanos": 30786059,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 60051328,
+ "fuse_op_setattr_count": 4773,
+ "fuse_op_setattr_nanos": 1331296195,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 31882414,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 229,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17880,
+ "fuse_read_lane_wait_nanos": 1993263,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44714,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53271481,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10262,
+ "fuse_write_lane_wait_nanos": 1721081,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20700,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7102,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46088,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26123,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 11,
+ "wal_checkpoint_nanos": 1214311
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "phase-checkpoint-7"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 942524849,
+ "agentfs_batcher_commit_txns": 4811,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4749,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9409,
+ "attr_cache_hits": 26133,
+ "attr_cache_misses": 30832,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 248,
+ "chunk_read_queries": 111,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 32888,
+ "connection_wait_count": 32898,
+ "connection_wait_nanos": 12825640,
+ "dentry_cache_hits": 26123,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7208,
+ "fuse_adapter_attr_misses": 5591,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6736,
+ "fuse_adapter_inval_entry_notifications": 58,
+ "fuse_adapter_inval_inode_notifications": 5506,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5583,
+ "fuse_adapter_negative_misses": 6736,
+ "fuse_callback_count": 31622,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 428998,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53240674,
+ "fuse_flush_count": 4749,
+ "fuse_flush_ranges": 4749,
+ "fuse_getattr_count": 12799,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12329,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 663784601,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 428632,
+ "fuse_op_getattr_count": 12799,
+ "fuse_op_getattr_nanos": 103121907,
+ "fuse_op_lookup_count": 12329,
+ "fuse_op_lookup_nanos": 162532805,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 148876294,
+ "fuse_op_read_count": 229,
+ "fuse_op_read_nanos": 30786059,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 60051328,
+ "fuse_op_setattr_count": 4773,
+ "fuse_op_setattr_nanos": 1331296195,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 31882414,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 229,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17880,
+ "fuse_read_lane_wait_nanos": 1993263,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44714,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53271481,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10264,
+ "fuse_write_lane_wait_nanos": 1721880,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20700,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7102,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46088,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26123,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 1346034
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "agentfs"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 942524849,
+ "agentfs_batcher_commit_txns": 4811,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4749,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9409,
+ "attr_cache_hits": 26133,
+ "attr_cache_misses": 30832,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 248,
+ "chunk_read_queries": 111,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 32888,
+ "connection_wait_count": 32898,
+ "connection_wait_nanos": 12825640,
+ "dentry_cache_hits": 26123,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7208,
+ "fuse_adapter_attr_misses": 5591,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6736,
+ "fuse_adapter_inval_entry_notifications": 58,
+ "fuse_adapter_inval_inode_notifications": 5506,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5583,
+ "fuse_adapter_negative_misses": 6736,
+ "fuse_callback_count": 31622,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 428998,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53240674,
+ "fuse_flush_count": 4749,
+ "fuse_flush_ranges": 4749,
+ "fuse_getattr_count": 12799,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12329,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 663784601,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 428632,
+ "fuse_op_getattr_count": 12799,
+ "fuse_op_getattr_nanos": 103121907,
+ "fuse_op_lookup_count": 12329,
+ "fuse_op_lookup_nanos": 162532805,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 148876294,
+ "fuse_op_read_count": 229,
+ "fuse_op_read_nanos": 30786059,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 60051328,
+ "fuse_op_setattr_count": 4773,
+ "fuse_op_setattr_nanos": 1331296195,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 31882414,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 229,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17880,
+ "fuse_read_lane_wait_nanos": 1993263,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44714,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53271481,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10264,
+ "fuse_write_lane_wait_nanos": 1721880,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20700,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7102,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46088,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26123,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 1346034
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "fuse_session"
+ },
+ {
+ "counters": {
+ "agentfs_batcher_coalesced_ranges": 39,
+ "agentfs_batcher_commit_latency_ns_total": 942524849,
+ "agentfs_batcher_commit_txns": 4811,
+ "agentfs_batcher_drains_bytes": 0,
+ "agentfs_batcher_drains_explicit": 4695,
+ "agentfs_batcher_drains_timer": 15,
+ "agentfs_batcher_enqueues": 4749,
+ "agentfs_batcher_pending_max_bytes": 1442885,
+ "agentfs_batcher_txn_inodes_max": 4,
+ "agentfs_batcher_txn_inodes_total": 9409,
+ "attr_cache_hits": 26133,
+ "attr_cache_misses": 30832,
+ "base_fast_inode_invalidations": 15106,
+ "base_fast_open_eligible": 0,
+ "base_fast_open_keep_cache": 0,
+ "base_fast_open_passthrough_attempted": 0,
+ "base_fast_open_passthrough_fallback": 0,
+ "base_fast_open_passthrough_succeeded": 0,
+ "base_fast_open_rejected": 0,
+ "base_fast_stale_rejections": 0,
+ "chunk_read_chunks": 248,
+ "chunk_read_queries": 111,
+ "chunk_write_chunks": 982,
+ "connection_create_count": 10,
+ "connection_reuse_count": 32888,
+ "connection_wait_count": 32898,
+ "connection_wait_nanos": 12825640,
+ "dentry_cache_hits": 26123,
+ "dentry_cache_misses": 14054,
+ "fuse_adapter_attr_hits": 7208,
+ "fuse_adapter_attr_misses": 5591,
+ "fuse_adapter_entry_hits": 10,
+ "fuse_adapter_entry_misses": 6736,
+ "fuse_adapter_inval_entry_notifications": 58,
+ "fuse_adapter_inval_inode_notifications": 5506,
+ "fuse_adapter_lock_wait_count": 0,
+ "fuse_adapter_lock_wait_nanos": 0,
+ "fuse_adapter_negative_hits": 5583,
+ "fuse_adapter_negative_misses": 6736,
+ "fuse_callback_count": 31622,
+ "fuse_dispatch_inline_fallback": 0,
+ "fuse_dispatch_max_concurrent": 7,
+ "fuse_dispatch_parallel_tasks": 50,
+ "fuse_dispatch_wait_count": 50,
+ "fuse_dispatch_wait_nanos": 428998,
+ "fuse_exclusive_fallback_count": 0,
+ "fuse_flush_bytes": 53240674,
+ "fuse_flush_count": 4749,
+ "fuse_flush_ranges": 4749,
+ "fuse_getattr_count": 12799,
+ "fuse_ino_file_resolutions": 26,
+ "fuse_ino_file_upgrades": 0,
+ "fuse_keepcache_eligibility_drops": 0,
+ "fuse_keepcache_enabled": 1,
+ "fuse_lookup_count": 12329,
+ "fuse_noflush_enosys_replies": 1,
+ "fuse_noopen_enosys_replies": 1,
+ "fuse_op_create_count": 4703,
+ "fuse_op_create_nanos": 663784601,
+ "fuse_op_flush_count": 1,
+ "fuse_op_flush_nanos": 898,
+ "fuse_op_forget_count": 46,
+ "fuse_op_forget_nanos": 428632,
+ "fuse_op_getattr_count": 12799,
+ "fuse_op_getattr_nanos": 103121907,
+ "fuse_op_lookup_count": 12329,
+ "fuse_op_lookup_nanos": 162532805,
+ "fuse_op_open_count": 1,
+ "fuse_op_open_nanos": 932,
+ "fuse_op_other_count": 3618,
+ "fuse_op_other_nanos": 148876294,
+ "fuse_op_read_count": 229,
+ "fuse_op_read_nanos": 30786059,
+ "fuse_op_readdirplus_count": 1425,
+ "fuse_op_readdirplus_nanos": 60051328,
+ "fuse_op_setattr_count": 4773,
+ "fuse_op_setattr_nanos": 1331296195,
+ "fuse_op_write_count": 4839,
+ "fuse_op_write_nanos": 31882414,
+ "fuse_open_count": 1,
+ "fuse_pending_tail_drains": 0,
+ "fuse_read_count": 229,
+ "fuse_read_lane_max_concurrent": 6,
+ "fuse_read_lane_wait_count": 17880,
+ "fuse_read_lane_wait_nanos": 1993263,
+ "fuse_readdir_count": 0,
+ "fuse_readdir_plus_count": 1425,
+ "fuse_readdirplus_auto_enabled": 0,
+ "fuse_readdirplus_auto_requested": 0,
+ "fuse_readdirplus_do_enabled": 1,
+ "fuse_readdirplus_do_requested": 1,
+ "fuse_readdirplus_mode": 2,
+ "fuse_readdirplus_unsupported": 0,
+ "fuse_release_count": 0,
+ "fuse_sync_inval_entry_err": 0,
+ "fuse_sync_inval_entry_ok": 0,
+ "fuse_sync_inval_inode_err": 0,
+ "fuse_sync_inval_inode_ok": 0,
+ "fuse_sync_inval_latency_ns_total": 0,
+ "fuse_ttl_attr_ms": 10000,
+ "fuse_ttl_entry_ms": 10000,
+ "fuse_ttl_neg_ms": 1000,
+ "fuse_uring_requests": 44714,
+ "fuse_worker_queue_depth_peak": 2,
+ "fuse_workers_configured": 7,
+ "fuse_write_bytes": 53271481,
+ "fuse_write_count": 4839,
+ "fuse_write_lane_wait_count": 10264,
+ "fuse_write_lane_wait_nanos": 1721880,
+ "fuse_writeback_cache_enabled": 1,
+ "getattr_count": 20700,
+ "lookup_base_count": 23,
+ "lookup_count": 41054,
+ "lookup_delta_count": 7549,
+ "lookup_whiteout_count": 0,
+ "negative_cache_hits": 7102,
+ "negative_cache_invalidations": 10846,
+ "negative_cache_misses": 46088,
+ "negative_lookup_count": 14922,
+ "path_cache_hits": 26123,
+ "path_cache_misses": 14054,
+ "path_component_count": 37674,
+ "path_resolution_count": 8150,
+ "readdir_count": 1,
+ "readdir_plus_count": 710,
+ "wal_checkpoint_count": 13,
+ "wal_checkpoint_nanos": 1346034
+ },
+ "event": "agentfs_profile_summary",
+ "fallback_read_path": "hostfs",
+ "passthrough_supported": false,
+ "source": "run_parent"
+ }
+ ],
+ "returncode": 0,
+ "stderr_bytes": 40571,
+ "stderr_tail": "r_enqueues\":4749,\"agentfs_batcher_pending_max_bytes\":1442885,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9409,\"attr_cache_hits\":26130,\"attr_cache_misses\":30830,\"base_fast_inode_invalidations\":15106,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":247,\"chunk_read_queries\":110,\"chunk_write_chunks\":982,\"connection_create_count\":10,\"connection_reuse_count\":32870,\"connection_wait_count\":32880,\"connection_wait_nanos\":12796984,\"dentry_cache_hits\":26119,\"dentry_cache_misses\":14052,\"fuse_adapter_attr_hits\":7164,\"fuse_adapter_attr_misses\":5590,\"fuse_adapter_entry_hits\":10,\"fuse_adapter_entry_misses\":6732,\"fuse_adapter_inval_entry_notifications\":58,\"fuse_adapter_inval_inode_notifications\":5506,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5368,\"fuse_adapter_negative_misses\":6732,\"fuse_callback_count\":31338,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":50,\"fuse_dispatch_wait_count\":50,\"fuse_dispatch_wait_nanos\":428998,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":53240674,\"fuse_flush_count\":4749,\"fuse_flush_ranges\":4749,\"fuse_getattr_count\":12754,\"fuse_ino_file_resolutions\":25,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12110,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":663784601,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":898,\"fuse_op_forget_count\":46,\"fuse_op_forget_nanos\":428632,\"fuse_op_getattr_count\":12754,\"fuse_op_getattr_nanos\":103017530,\"fuse_op_lookup_count\":12110,\"fuse_op_lookup_nanos\":162220872,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":932,\"fuse_op_other_count\":3582,\"fuse_op_other_nanos\":148859212,\"fuse_op_read_count\":227,\"fuse_op_read_nanos\":30079896,\"fuse_op_readdirplus_count\":1407,\"fuse_op_readdirplus_nanos\":59157719,\"fuse_op_setattr_count\":4773,\"fuse_op_setattr_nanos\":1331296195,\"fuse_op_write_count\":4839,\"fuse_op_write_nanos\":31882414,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":227,\"fuse_read_lane_max_concurrent\":6,\"fuse_read_lane_wait_count\":17865,\"fuse_read_lane_wait_nanos\":1988515,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1407,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":44394,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":53271481,\"fuse_write_count\":4839,\"fuse_write_lane_wait_count\":10262,\"fuse_write_lane_wait_nanos\":1721081,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20698,\"lookup_base_count\":23,\"lookup_count\":41046,\"lookup_delta_count\":7545,\"lookup_whiteout_count\":0,\"negative_cache_hits\":6887,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46079,\"negative_lookup_count\":14920,\"path_cache_hits\":26119,\"path_cache_misses\":14052,\"path_component_count\":37632,\"path_resolution_count\":8140,\"readdir_count\":1,\"readdir_plus_count\":701,\"wal_checkpoint_count\":11,\"wal_checkpoint_nanos\":1214311},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"phase-checkpoint-6\"}\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":39,\"agentfs_batcher_commit_latency_ns_total\":942524849,\"agentfs_batcher_commit_txns\":4811,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4695,\"agentfs_batcher_drains_timer\":15,\"agentfs_batcher_enqueues\":4749,\"agentfs_batcher_pending_max_bytes\":1442885,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9409,\"attr_cache_hits\":26133,\"attr_cache_misses\":30832,\"base_fast_inode_invalidations\":15106,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":248,\"chunk_read_queries\":111,\"chunk_write_chunks\":982,\"connection_create_count\":10,\"connection_reuse_count\":32885,\"connection_wait_count\":32895,\"connection_wait_nanos\":12819793,\"dentry_cache_hits\":26123,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":7208,\"fuse_adapter_attr_misses\":5591,\"fuse_adapter_entry_hits\":10,\"fuse_adapter_entry_misses\":6736,\"fuse_adapter_inval_entry_notifications\":58,\"fuse_adapter_inval_inode_notifications\":5506,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5583,\"fuse_adapter_negative_misses\":6736,\"fuse_callback_count\":31622,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":50,\"fuse_dispatch_wait_count\":50,\"fuse_dispatch_wait_nanos\":428998,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":53240674,\"fuse_flush_count\":4749,\"fuse_flush_ranges\":4749,\"fuse_getattr_count\":12799,\"fuse_ino_file_resolutions\":26,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12329,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":663784601,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":898,\"fuse_op_forget_count\":46,\"fuse_op_forget_nanos\":428632,\"fuse_op_getattr_count\":12799,\"fuse_op_getattr_nanos\":103121907,\"fuse_op_lookup_count\":12329,\"fuse_op_lookup_nanos\":162532805,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":932,\"fuse_op_other_count\":3618,\"fuse_op_other_nanos\":148876294,\"fuse_op_read_count\":229,\"fuse_op_read_nanos\":30786059,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":60051328,\"fuse_op_setattr_count\":4773,\"fuse_op_setattr_nanos\":1331296195,\"fuse_op_write_count\":4839,\"fuse_op_write_nanos\":31882414,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":229,\"fuse_read_lane_max_concurrent\":6,\"fuse_read_lane_wait_count\":17880,\"fuse_read_lane_wait_nanos\":1993263,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":44714,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":53271481,\"fuse_write_count\":4839,\"fuse_write_lane_wait_count\":10262,\"fuse_write_lane_wait_nanos\":1721081,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20700,\"lookup_base_count\":23,\"lookup_count\":41054,\"lookup_delta_count\":7549,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7102,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46088,\"negative_lookup_count\":14922,\"path_cache_hits\":26123,\"path_cache_misses\":14054,\"path_component_count\":37674,\"path_resolution_count\":8150,\"readdir_count\":1,\"readdir_plus_count\":710,\"wal_checkpoint_count\":11,\"wal_checkpoint_nanos\":1214311},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"phase-checkpoint-7\"}\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":39,\"agentfs_batcher_commit_latency_ns_total\":942524849,\"agentfs_batcher_commit_txns\":4811,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4695,\"agentfs_batcher_drains_timer\":15,\"agentfs_batcher_enqueues\":4749,\"agentfs_batcher_pending_max_bytes\":1442885,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9409,\"attr_cache_hits\":26133,\"attr_cache_misses\":30832,\"base_fast_inode_invalidations\":15106,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":248,\"chunk_read_queries\":111,\"chunk_write_chunks\":982,\"connection_create_count\":10,\"connection_reuse_count\":32888,\"connection_wait_count\":32898,\"connection_wait_nanos\":12825640,\"dentry_cache_hits\":26123,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":7208,\"fuse_adapter_attr_misses\":5591,\"fuse_adapter_entry_hits\":10,\"fuse_adapter_entry_misses\":6736,\"fuse_adapter_inval_entry_notifications\":58,\"fuse_adapter_inval_inode_notifications\":5506,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5583,\"fuse_adapter_negative_misses\":6736,\"fuse_callback_count\":31622,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":50,\"fuse_dispatch_wait_count\":50,\"fuse_dispatch_wait_nanos\":428998,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":53240674,\"fuse_flush_count\":4749,\"fuse_flush_ranges\":4749,\"fuse_getattr_count\":12799,\"fuse_ino_file_resolutions\":26,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12329,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":663784601,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":898,\"fuse_op_forget_count\":46,\"fuse_op_forget_nanos\":428632,\"fuse_op_getattr_count\":12799,\"fuse_op_getattr_nanos\":103121907,\"fuse_op_lookup_count\":12329,\"fuse_op_lookup_nanos\":162532805,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":932,\"fuse_op_other_count\":3618,\"fuse_op_other_nanos\":148876294,\"fuse_op_read_count\":229,\"fuse_op_read_nanos\":30786059,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":60051328,\"fuse_op_setattr_count\":4773,\"fuse_op_setattr_nanos\":1331296195,\"fuse_op_write_count\":4839,\"fuse_op_write_nanos\":31882414,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":229,\"fuse_read_lane_max_concurrent\":6,\"fuse_read_lane_wait_count\":17880,\"fuse_read_lane_wait_nanos\":1993263,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":44714,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":53271481,\"fuse_write_count\":4839,\"fuse_write_lane_wait_count\":10264,\"fuse_write_lane_wait_nanos\":1721880,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20700,\"lookup_base_count\":23,\"lookup_count\":41054,\"lookup_delta_count\":7549,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7102,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46088,\"negative_lookup_count\":14922,\"path_cache_hits\":26123,\"path_cache_misses\":14054,\"path_component_count\":37674,\"path_resolution_count\":8150,\"readdir_count\":1,\"readdir_plus_count\":710,\"wal_checkpoint_count\":13,\"wal_checkpoint_nanos\":1346034},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"agentfs\"}\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":39,\"agentfs_batcher_commit_latency_ns_total\":942524849,\"agentfs_batcher_commit_txns\":4811,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4695,\"agentfs_batcher_drains_timer\":15,\"agentfs_batcher_enqueues\":4749,\"agentfs_batcher_pending_max_bytes\":1442885,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9409,\"attr_cache_hits\":26133,\"attr_cache_misses\":30832,\"base_fast_inode_invalidations\":15106,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":248,\"chunk_read_queries\":111,\"chunk_write_chunks\":982,\"connection_create_count\":10,\"connection_reuse_count\":32888,\"connection_wait_count\":32898,\"connection_wait_nanos\":12825640,\"dentry_cache_hits\":26123,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":7208,\"fuse_adapter_attr_misses\":5591,\"fuse_adapter_entry_hits\":10,\"fuse_adapter_entry_misses\":6736,\"fuse_adapter_inval_entry_notifications\":58,\"fuse_adapter_inval_inode_notifications\":5506,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5583,\"fuse_adapter_negative_misses\":6736,\"fuse_callback_count\":31622,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":50,\"fuse_dispatch_wait_count\":50,\"fuse_dispatch_wait_nanos\":428998,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":53240674,\"fuse_flush_count\":4749,\"fuse_flush_ranges\":4749,\"fuse_getattr_count\":12799,\"fuse_ino_file_resolutions\":26,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12329,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":663784601,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":898,\"fuse_op_forget_count\":46,\"fuse_op_forget_nanos\":428632,\"fuse_op_getattr_count\":12799,\"fuse_op_getattr_nanos\":103121907,\"fuse_op_lookup_count\":12329,\"fuse_op_lookup_nanos\":162532805,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":932,\"fuse_op_other_count\":3618,\"fuse_op_other_nanos\":148876294,\"fuse_op_read_count\":229,\"fuse_op_read_nanos\":30786059,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":60051328,\"fuse_op_setattr_count\":4773,\"fuse_op_setattr_nanos\":1331296195,\"fuse_op_write_count\":4839,\"fuse_op_write_nanos\":31882414,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":229,\"fuse_read_lane_max_concurrent\":6,\"fuse_read_lane_wait_count\":17880,\"fuse_read_lane_wait_nanos\":1993263,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":44714,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":53271481,\"fuse_write_count\":4839,\"fuse_write_lane_wait_count\":10264,\"fuse_write_lane_wait_nanos\":1721880,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20700,\"lookup_base_count\":23,\"lookup_count\":41054,\"lookup_delta_count\":7549,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7102,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46088,\"negative_lookup_count\":14922,\"path_cache_hits\":26123,\"path_cache_misses\":14054,\"path_component_count\":37674,\"path_resolution_count\":8150,\"readdir_count\":1,\"readdir_plus_count\":710,\"wal_checkpoint_count\":13,\"wal_checkpoint_nanos\":1346034},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"fuse_session\"}\n\nSession: git-workload-e13728a82daa4c4a90c2edf69ec5b3f4\n\nTo resume this session:\n agentfs run --session git-workload-e13728a82daa4c4a90c2edf69ec5b3f4\n\nTo see what changed:\n agentfs diff git-workload-e13728a82daa4c4a90c2edf69ec5b3f4\n{\"counters\":{\"agentfs_batcher_coalesced_ranges\":39,\"agentfs_batcher_commit_latency_ns_total\":942524849,\"agentfs_batcher_commit_txns\":4811,\"agentfs_batcher_drains_bytes\":0,\"agentfs_batcher_drains_explicit\":4695,\"agentfs_batcher_drains_timer\":15,\"agentfs_batcher_enqueues\":4749,\"agentfs_batcher_pending_max_bytes\":1442885,\"agentfs_batcher_txn_inodes_max\":4,\"agentfs_batcher_txn_inodes_total\":9409,\"attr_cache_hits\":26133,\"attr_cache_misses\":30832,\"base_fast_inode_invalidations\":15106,\"base_fast_open_eligible\":0,\"base_fast_open_keep_cache\":0,\"base_fast_open_passthrough_attempted\":0,\"base_fast_open_passthrough_fallback\":0,\"base_fast_open_passthrough_succeeded\":0,\"base_fast_open_rejected\":0,\"base_fast_stale_rejections\":0,\"chunk_read_chunks\":248,\"chunk_read_queries\":111,\"chunk_write_chunks\":982,\"connection_create_count\":10,\"connection_reuse_count\":32888,\"connection_wait_count\":32898,\"connection_wait_nanos\":12825640,\"dentry_cache_hits\":26123,\"dentry_cache_misses\":14054,\"fuse_adapter_attr_hits\":7208,\"fuse_adapter_attr_misses\":5591,\"fuse_adapter_entry_hits\":10,\"fuse_adapter_entry_misses\":6736,\"fuse_adapter_inval_entry_notifications\":58,\"fuse_adapter_inval_inode_notifications\":5506,\"fuse_adapter_lock_wait_count\":0,\"fuse_adapter_lock_wait_nanos\":0,\"fuse_adapter_negative_hits\":5583,\"fuse_adapter_negative_misses\":6736,\"fuse_callback_count\":31622,\"fuse_dispatch_inline_fallback\":0,\"fuse_dispatch_max_concurrent\":7,\"fuse_dispatch_parallel_tasks\":50,\"fuse_dispatch_wait_count\":50,\"fuse_dispatch_wait_nanos\":428998,\"fuse_exclusive_fallback_count\":0,\"fuse_flush_bytes\":53240674,\"fuse_flush_count\":4749,\"fuse_flush_ranges\":4749,\"fuse_getattr_count\":12799,\"fuse_ino_file_resolutions\":26,\"fuse_ino_file_upgrades\":0,\"fuse_keepcache_eligibility_drops\":0,\"fuse_keepcache_enabled\":1,\"fuse_lookup_count\":12329,\"fuse_noflush_enosys_replies\":1,\"fuse_noopen_enosys_replies\":1,\"fuse_op_create_count\":4703,\"fuse_op_create_nanos\":663784601,\"fuse_op_flush_count\":1,\"fuse_op_flush_nanos\":898,\"fuse_op_forget_count\":46,\"fuse_op_forget_nanos\":428632,\"fuse_op_getattr_count\":12799,\"fuse_op_getattr_nanos\":103121907,\"fuse_op_lookup_count\":12329,\"fuse_op_lookup_nanos\":162532805,\"fuse_op_open_count\":1,\"fuse_op_open_nanos\":932,\"fuse_op_other_count\":3618,\"fuse_op_other_nanos\":148876294,\"fuse_op_read_count\":229,\"fuse_op_read_nanos\":30786059,\"fuse_op_readdirplus_count\":1425,\"fuse_op_readdirplus_nanos\":60051328,\"fuse_op_setattr_count\":4773,\"fuse_op_setattr_nanos\":1331296195,\"fuse_op_write_count\":4839,\"fuse_op_write_nanos\":31882414,\"fuse_open_count\":1,\"fuse_pending_tail_drains\":0,\"fuse_read_count\":229,\"fuse_read_lane_max_concurrent\":6,\"fuse_read_lane_wait_count\":17880,\"fuse_read_lane_wait_nanos\":1993263,\"fuse_readdir_count\":0,\"fuse_readdir_plus_count\":1425,\"fuse_readdirplus_auto_enabled\":0,\"fuse_readdirplus_auto_requested\":0,\"fuse_readdirplus_do_enabled\":1,\"fuse_readdirplus_do_requested\":1,\"fuse_readdirplus_mode\":2,\"fuse_readdirplus_unsupported\":0,\"fuse_release_count\":0,\"fuse_sync_inval_entry_err\":0,\"fuse_sync_inval_entry_ok\":0,\"fuse_sync_inval_inode_err\":0,\"fuse_sync_inval_inode_ok\":0,\"fuse_sync_inval_latency_ns_total\":0,\"fuse_ttl_attr_ms\":10000,\"fuse_ttl_entry_ms\":10000,\"fuse_ttl_neg_ms\":1000,\"fuse_uring_requests\":44714,\"fuse_worker_queue_depth_peak\":2,\"fuse_workers_configured\":7,\"fuse_write_bytes\":53271481,\"fuse_write_count\":4839,\"fuse_write_lane_wait_count\":10264,\"fuse_write_lane_wait_nanos\":1721880,\"fuse_writeback_cache_enabled\":1,\"getattr_count\":20700,\"lookup_base_count\":23,\"lookup_count\":41054,\"lookup_delta_count\":7549,\"lookup_whiteout_count\":0,\"negative_cache_hits\":7102,\"negative_cache_invalidations\":10846,\"negative_cache_misses\":46088,\"negative_lookup_count\":14922,\"path_cache_hits\":26123,\"path_cache_misses\":14054,\"path_component_count\":37674,\"path_resolution_count\":8150,\"readdir_count\":1,\"readdir_plus_count\":710,\"wal_checkpoint_count\":13,\"wal_checkpoint_nanos\":1346034},\"event\":\"agentfs_profile_summary\",\"fallback_read_path\":\"hostfs\",\"passthrough_supported\":false,\"source\":\"run_parent\"}\n",
+ "stdout_bytes": 19305,
+ "stdout_tail": "2026-07-03T11:38:41.505747Z INFO agentfs::fuser::session: resolved FUSE dispatch mode: parallel workers=7 queue_capacity=28\n2026-07-03T11:38:41.506007Z INFO agentfs::fuse: advertising FUSE_OVER_IO_URING\n2026-07-03T11:38:41.506222Z INFO agentfs::fuser::uring: starting fuse-over-io_uring queues nr_queues=14 depth=4\n2026-07-03T11:38:42.891344Z WARN agentfs::fuser::request: Request RequestId(22063): Failed to send reply: No such file or directory (os error 2)\n2026-07-03T11:38:43.891050Z WARN agentfs::fuser::request: Request RequestId(41239): Failed to send reply: No such file or directory (os error 2)\n2026-07-03T11:38:44.891046Z WARN agentfs::fuser::request: Request RequestId(62137): Failed to send reply: No such file or directory (os error 2)\n{\"branch_status\": \"## agentfs-benchmark\\n\", \"diff\": {\"changed_file_count\": 8, \"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.019882690990925767, \"patch_bytes\": 3282, \"patch_sha256\": \"51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc\", \"runs\": {\"name_only\": {\"argv\": [\"git\", \"diff\", \"--name-only\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-9hklcrln/agentfs-base/work\", \"duration_seconds\": 0.005993513012072071, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 144, \"stdout_tail\": \"docs/CLA.md\\ndocs/agents_md.md\\ndocs/authentication.md\\ndocs/config.md\\ndocs/contributing.md\\ndocs/example-config.md\\ndocs/exec.md\\ndocs/execpolicy.md\\n\"}, \"patch\": {\"argv\": [\"git\", \"diff\", \"--\", \".\"], \"cwd\": \"/tmp/agentfs-git-workload-9hklcrln/agentfs-base/work\", \"duration_seconds\": 0.006131766000180505, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 3282, \"stdout_tail\": \"diff --git a/docs/CLA.md b/docs/CLA.md\\nindex 804f202..3495ac9 100644\\n--- a/docs/CLA.md\\n+++ b/docs/CLA.md\\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\\n This Agreement is governed by the laws of the **State of California**, USA,\\n excluding its conflict\\u2011of\\u2011laws rules. If any provision is held unenforceable,\\n the remaining provisions remain in force.\\n+\\n+AgentFS Git benchmark edit 00 for docs/CLA.md\\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\\nindex 3df0fac..b8b063d 100644\\n--- a/docs/agents_md.md\\n+++ b/docs/agents_md.md\\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\\n ## Hierarchical agents message\\n \\n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\\n+\\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\\ndiff --git a/docs/authentication.md b/docs/authentication.md\\nindex c307349..b3bc9dc 100644\\n--- a/docs/authentication.md\\n+++ b/docs/authentication.md\\n@@ -1,3 +1,5 @@\\n # Authentication\\n \\n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\\n+\\n+AgentFS Git benchmark edit 02 for docs/authentication.md\\ndiff --git a/docs/config.md b/docs/config.md\\nindex d35b0a8..030e278 100644\\n--- a/docs/config.md\\n+++ b/docs/config.md\\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\\n still allowing managed hooks from requirements and managed config layers. This\\n setting is only supported in `requirements.toml`; putting it in `config.toml`\\n does not enable managed-hooks-only mode.\\n+\\n+AgentFS Git benchmark edit 03 for docs/config.md\\ndiff --git a/docs/contributing.md b/docs/contributing.md\\nindex aeae1f1..b5a22ac 100644\\n--- a/docs/contributing.md\\n+++ b/docs/contributing.md\\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\\n ### Security & responsible AI\\n \\n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\\n+\\n+AgentFS Git benchmark edit 04 for docs/contributing.md\\ndiff --git a/docs/example-config.md b/docs/example-config.md\\nindex 84b1143..b09f835 100644\\n--- a/docs/example-config.md\\n+++ b/docs/example-config.md\\n@@ -1,3 +1,5 @@\\n # Sample configuration\\n \\n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\\n+\\n+AgentFS Git benchmark edit 05 for docs/example-config.md\\ndiff --git a/docs/exec.md b/docs/exec.md\\nindex 57e4323..a81da98 100644\\n--- a/docs/exec.md\\n+++ b/docs/exec.md\\n@@ -1,3 +1,5 @@\\n # Non-interactive mode\\n \\n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\\n+\\n+AgentFS Git benchmark edit 06 for docs/exec.md\\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\\nindex cafebb3..3b48afe 100644\\n--- a/docs/execpolicy.md\\n+++ b/docs/execpolicy.md\\n@@ -1,3 +1,5 @@\\n # Execution policy\\n \\n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\\n+\\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\\n\"}, \"stat\": {\"argv\": [\"git\", \"diff\", \"--stat\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-9hklcrln/agentfs-base/work\", \"duration_seconds\": 0.007708599005127326, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 283, \"stdout_tail\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}}, \"stat_stdout\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}, \"edits\": {\"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.005307429004460573, \"edits\": [{\"appended_bytes\": 47, \"path\": \"docs/CLA.md\", \"size_after\": 2106, \"size_before\": 2059}, {\"appended_bytes\": 53, \"path\": \"docs/agents_md.md\", \"size_after\": 462, \"size_before\": 409}, {\"appended_bytes\": 58, \"path\": \"docs/authentication.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 50, \"path\": \"docs/config.md\", \"size_after\": 776, \"size_before\": 726}, {\"appended_bytes\": 56, \"path\": \"docs/contributing.md\", \"size_after\": 6380, \"size_before\": 6324}, {\"appended_bytes\": 58, \"path\": \"docs/example-config.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 48, \"path\": \"docs/exec.md\", \"size_after\": 194, \"size_before\": 146}, {\"appended_bytes\": 54, \"path\": \"docs/execpolicy.md\", \"size_after\": 192, \"size_before\": 138}]}, \"fsck\": {\"ok\": true, \"ran\": true, \"run\": {\"argv\": [\"git\", \"fsck\", \"--strict\"], \"cwd\": \"/tmp/agentfs-git-workload-9hklcrln/agentfs-base/work\", \"duration_seconds\": 0.22109708399511874, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}, \"head_commit\": \"7d47056ea42636271ac020b86347fbbef49490aa\", \"initial_status\": \"\", \"phase_runs\": {\"checkout\": {\"argv\": [\"git\", \"checkout\", \"-B\", \"agentfs-benchmark\"], \"cwd\": \"/tmp/agentfs-git-workload-9hklcrln/agentfs-base/work\", \"duration_seconds\": 0.07473899800970685, \"returncode\": 0, \"stderr_bytes\": 45, \"stderr_tail\": \"Switched to a new branch 'agentfs-benchmark'\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"clone\": {\"argv\": [\"git\", \"clone\", \"--local\", \"--no-hardlinks\", \"/tmp/agentfs-git-workload-9hklcrln/agentfs-base/mirror.git\", \"/tmp/agentfs-git-workload-9hklcrln/agentfs-base/work\"], \"cwd\": \"/tmp/agentfs-git-workload-9hklcrln/agentfs-base\", \"duration_seconds\": 3.4367760949971853, \"returncode\": 0, \"stderr_bytes\": 2571, \"stderr_tail\": \"Cloning into '/tmp/agentfs-git-workload-9hklcrln/agentfs-base/work'...\\nwarning: source repository is shallow, ignoring --local\\nwarning: --local is ignored\\nUpdating files: 31% (1473/4644)\\nUpdating files: 32% (1487/4644)\\nUpdating files: 33% (1533/4644)\\nUpdating files: 34% (1579/4644)\\nUpdating files: 35% (1626/4644)\\nUpdating files: 36% (1672/4644)\\nUpdating files: 37% (1719/4644)\\nUpdating files: 38% (1765/4644)\\nUpdating files: 39% (1812/4644)\\nUpdating files: 40% (1858/4644)\\nUpdating files: 41% (1905/4644)\\nUpdating files: 42% (1951/4644)\\nUpdating files: 43% (1997/4644)\\nUpdating files: 44% (2044/4644)\\nUpdating files: 45% (2090/4644)\\nUpdating files: 46% (2137/4644)\\nUpdating files: 47% (2183/4644)\\nUpdating files: 48% (2230/4644)\\nUpdating files: 49% (2276/4644)\\nUpdating files: 50% (2322/4644)\\nUpdating files: 51% (2369/4644)\\nUpdating files: 52% (2415/4644)\\nUpdating files: 53% (2462/4644)\\nUpdating files: 54% (2508/4644)\\nUpdating files: 55% (2555/4644)\\nUpdating files: 56% (2601/4644)\\nUpdating files: 57% (2648/4644)\\nUpdating files: 58% (2694/4644)\\nUpdating files: 59% (2740/4644)\\nUpdating files: 60% (2787/4644)\\nUpdating files: 61% (2833/4644)\\nUpdating files: 62% (2880/4644)\\nUpdating files: 62% (2887/4644)\\nUpdating files: 63% (2926/4644)\\nUpdating files: 64% (2973/4644)\\nUpdating files: 65% (3019/4644)\\nUpdating files: 66% (3066/4644)\\nUpdating files: 67% (3112/4644)\\nUpdating files: 68% (3158/4644)\\nUpdating files: 69% (3205/4644)\\nUpdating files: 70% (3251/4644)\\nUpdating files: 71% (3298/4644)\\nUpdating files: 72% (3344/4644)\\nUpdating files: 73% (3391/4644)\\nUpdating files: 74% (3437/4644)\\nUpdating files: 75% (3483/4644)\\nUpdating files: 76% (3530/4644)\\nUpdating files: 77% (3576/4644)\\nUpdating files: 78% (3623/4644)\\nUpdating files: 79% (3669/4644)\\nUpdating files: 80% (3716/4644)\\nUpdating files: 81% (3762/4644)\\nUpdating files: 82% (3809/4644)\\nUpdating files: 83% (3855/4644)\\nUpdating files: 84% (3901/4644)\\nUpdating files: 85% (3948/4644)\\nUpdating files: 86% (3994/4644)\\nUpdating files: 87% (4041/4644)\\nUpdating files: 88% (4087/4644)\\nUpdating files: 89% (4134/4644)\\nUpdating files: 90% (4180/4644)\\nUpdating files: 91% (4227/4644)\\nUpdating files: 92% (4273/4644)\\nUpdating files: 93% (4319/4644)\\nUpdating files: 94% (4366/4644)\\nUpdating files: 95% (4412/4644)\\nUpdating files: 96% (4459/4644)\\nUpdating files: 96% (4500/4644)\\nUpdating files: 97% (4505/4644)\\nUpdating files: 98% (4552/4644)\\nUpdating files: 99% (4598/4644)\\nUpdating files: 100% (4644/4644)\\nUpdating files: 100% (4644/4644), done.\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"status\": {\"branch\": {\"argv\": [\"git\", \"status\", \"--short\", \"--branch\"], \"cwd\": \"/tmp/agentfs-git-workload-9hklcrln/agentfs-base/work\", \"duration_seconds\": 0.017935351002961397, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 21, \"stdout_tail\": \"## agentfs-benchmark\\n\"}, \"short\": {\"argv\": [\"git\", \"status\", \"--short\"], \"cwd\": \"/tmp/agentfs-git-workload-9hklcrln/agentfs-base/work\", \"duration_seconds\": 0.11070463199575897, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}}, \"phase_seconds\": {\"checkout\": 0.07745447699562646, \"clone\": 3.4368674799916334, \"diff\": 0.019882690990925767, \"edit\": 0.005307429004460573, \"fsck\": 0.22111140200286172, \"read_search\": 0.009250258008250967, \"status\": 0.1286685150116682}, \"profile_checkpoints\": [\"clone\", \"checkout\", \"status\", \"read_search\", \"edit\", \"diff\", \"fsck\"], \"read_search\": {\"bytes_read\": 117190, \"digest\": \"6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53\", \"files_scanned\": 64, \"files_total\": 4644, \"ls_files_run\": {\"argv\": [\"git\", \"ls-files\", \"-z\"], \"cwd\": \"/tmp/agentfs-git-workload-9hklcrln/agentfs-base/work\", \"duration_seconds\": 0.005406737007433549, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 263077, \"stdout_tail\": \"i_codex/api.py\\u0000sdk/python/src/openai_codex/async_client.py\\u0000sdk/python/src/openai_codex/client.py\\u0000sdk/python/src/openai_codex/errors.py\\u0000sdk/python/src/openai_codex/generated/__init__.py\\u0000sdk/python/src/openai_codex/generated/notification_registry.py\\u0000sdk/python/src/openai_codex/generated/v2_all.py\\u0000sdk/python/src/openai_codex/models.py\\u0000sdk/python/src/openai_codex/py.typed\\u0000sdk/python/src/openai_codex/retry.py\\u0000sdk/python/src/openai_codex/types.py\\u0000sdk/python/tests/app_server_harness.py\\u0000sdk/python/tests/app_server_helpers.py\\u0000sdk/python/tests/conftest.py\\u0000sdk/python/tests/test_app_server_approvals.py\\u0000sdk/python/tests/test_app_server_inputs.py\\u0000sdk/python/tests/test_app_server_lifecycle.py\\u0000sdk/python/tests/test_app_server_login.py\\u0000sdk/python/tests/test_app_server_run.py\\u0000sdk/python/tests/test_app_server_streaming.py\\u0000sdk/python/tests/test_app_server_turn_controls.py\\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\\u0000sdk/python/tests/test_async_client_behavior.py\\u0000sdk/python/tests/test_client_rpc_methods.py\\u0000sdk/python/tests/test_contract_generation.py\\u0000sdk/python/tests/test_public_api_runtime_behavior.py\\u0000sdk/python/tests/test_public_api_signatures.py\\u0000sdk/python/tests/test_real_app_server_integration.py\\u0000sdk/python/uv.lock\\u0000sdk/typescript/.prettierignore\\u0000sdk/typescript/.prettierrc\\u0000sdk/typescript/README.md\\u0000sdk/typescript/eslint.config.js\\u0000sdk/typescript/jest.config.cjs\\u0000sdk/typescript/package.json\\u0000sdk/typescript/samples/basic_streaming.ts\\u0000sdk/typescript/samples/helpers.ts\\u0000sdk/typescript/samples/structured_output.ts\\u0000sdk/typescript/samples/structured_output_zod.ts\\u0000sdk/typescript/src/codex.ts\\u0000sdk/typescript/src/codexOptions.ts\\u0000sdk/typescript/src/events.ts\\u0000sdk/typescript/src/exec.ts\\u0000sdk/typescript/src/index.ts\\u0000sdk/typescript/src/items.ts\\u0000sdk/typescript/src/outputSchemaFile.ts\\u0000sdk/typescript/src/thread.ts\\u0000sdk/typescript/src/threadOptions.ts\\u0000sdk/typescript/src/turnOptions.ts\\u0000sdk/typescript/tests/abort.test.ts\\u0000sdk/typescript/tests/codexExecSpy.ts\\u0000sdk/typescript/tests/exec.test.ts\\u0000sdk/typescript/tests/responsesProxy.ts\\u0000sdk/typescript/tests/run.test.ts\\u0000sdk/typescript/tests/runStreamed.test.ts\\u0000sdk/typescript/tests/setupCodexHome.ts\\u0000sdk/typescript/tests/testCodex.ts\\u0000sdk/typescript/tsconfig.json\\u0000sdk/typescript/tsup.config.ts\\u0000third_party/v8/BUILD.bazel\\u0000third_party/v8/README.md\\u0000third_party/v8/libcxx.BUILD.bazel\\u0000third_party/v8/libcxx_config/BUILD.bazel\\u0000third_party/v8/libcxx_config/__assertion_handler\\u0000third_party/v8/libcxx_config/__config_site\\u0000third_party/v8/libcxxabi.BUILD.bazel\\u0000third_party/v8/llvm_libc.BUILD.bazel\\u0000third_party/v8/rusty_v8_147_4_0.sha256\\u0000third_party/v8/v8_crate.BUILD.bazel\\u0000third_party/wezterm/LICENSE\\u0000tools/argument-comment-lint/.cargo/config.toml\\u0000tools/argument-comment-lint/.gitignore\\u0000tools/argument-comment-lint/BUILD.bazel\\u0000tools/argument-comment-lint/Cargo.lock\\u0000tools/argument-comment-lint/Cargo.toml\\u0000tools/argument-comment-lint/README.md\\u0000tools/argument-comment-lint/argument-comment-lint\\u0000tools/argument-comment-lint/driver.rs\\u0000tools/argument-comment-lint/lint_aspect.bzl\\u0000tools/argument-comment-lint/list-bazel-targets.sh\\u0000tools/argument-comment-lint/run-prebuilt-linter.py\\u0000tools/argument-comment-lint/run.py\\u0000tools/argument-comment-lint/rust-toolchain\\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\\u0000tools/argument-comment-lint/src/comment_parser.rs\\u0000tools/argument-comment-lint/src/lib.rs\\u0000tools/argument-comment-lint/test_wrapper_common.py\\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\\u0000tools/argument-comment-lint/ui/comment_matches.rs\\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\\u0000tools/argument-comment-lint/wrapper_common.py\\u0000workspace_root_test_launcher.bat.tpl\\u0000workspace_root_test_launcher.sh.tpl\\u0000\"}, \"matches\": 0, \"selected_files\": [\".bazelignore\", \".bazelrc\", \".bazelversion\", \".codespellignore\", \".codespellrc\", \".codex/environments/environment.toml\", \".codex/skills/babysit-pr/SKILL.md\", \".codex/skills/babysit-pr/agents/openai.yaml\", \".codex/skills/babysit-pr/references/github-api-notes.md\", \".codex/skills/babysit-pr/references/heuristics.md\", \".codex/skills/babysit-pr/scripts/gh_pr_watch.py\", \".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py\", \".codex/skills/code-review-breaking-changes/SKILL.md\", \".codex/skills/code-review-change-size/SKILL.md\", \".codex/skills/code-review-context/SKILL.md\", \".codex/skills/code-review-testing/SKILL.md\", \".codex/skills/code-review/SKILL.md\", \".codex/skills/codex-bug/SKILL.md\", \".codex/skills/codex-issue-digest/SKILL.md\", \".codex/skills/codex-issue-digest/agents/openai.yaml\", \".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py\", \".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py\", \".codex/skills/codex-pr-body/SKILL.md\", \".codex/skills/remote-tests/SKILL.md\", \".codex/skills/test-tui/SKILL.md\", \".codex/skills/update-v8-version/SKILL.md\", \".codex/skills/update-v8-version/agents/openai.yaml\", \".devcontainer/Dockerfile\", \".devcontainer/Dockerfile.secure\", \".devcontainer/README.md\", \".devcontainer/codex-install/package.json\", \".devcontainer/codex-install/pnpm-lock.yaml\", \".devcontainer/codex-install/pnpm-workspace.yaml\", \".devcontainer/devcontainer.json\", \".devcontainer/devcontainer.secure.json\", \".devcontainer/init-firewall.sh\", \".devcontainer/post-start.sh\", \".devcontainer/post_install.py\", \".gitattributes\", \".github/CODEOWNERS\", \".github/ISSUE_TEMPLATE/1-codex-app.yml\", \".github/ISSUE_TEMPLATE/2-extension.yml\", \".github/ISSUE_TEMPLATE/3-cli.yml\", \".github/ISSUE_TEMPLATE/4-bug-report.yml\", \".github/ISSUE_TEMPLATE/5-feature-request.yml\", \".github/ISSUE_TEMPLATE/6-docs-issue.yml\", \".github/actions/linux-code-sign/action.yml\", \".github/actions/macos-code-sign/action.yml\", \".github/actions/macos-code-sign/codex.entitlements.plist\", \".github/actions/macos-code-sign/notary_helpers.sh\", \".github/actions/prepare-bazel-ci/action.yml\", \".github/actions/run-argument-comment-lint/action.yml\", \".github/actions/setup-bazel-ci/action.yml\", \".github/actions/setup-msvc-env/action.yml\", \".github/actions/setup-msvc-env/setup-msvc-env.ps1\", \".github/actions/setup-rusty-v8/action.yml\", \".github/actions/windows-code-sign/action.yml\", \".github/blob-size-allowlist.txt\", \".github/codex-cli-splash.png\", \".github/codex/home/config.toml\", \".github/codex/labels/codex-attempt.md\", \".github/codex/labels/codex-review.md\", \".github/codex/labels/codex-rust-review.md\", \".github/codex/labels/codex-triage.md\"], \"token\": \"AGENTFS_TOKEN\"}, \"total_seconds\": 4.599304073009989}\n",
+ "timed_out": false
+ },
+ "workload": {
+ "branch_status": "## agentfs-benchmark\n",
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.019882690990925767,
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc",
+ "runs": {
+ "name_only": {
+ "argv": [
+ "git",
+ "diff",
+ "--name-only",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-9hklcrln/agentfs-base/work",
+ "duration_seconds": 0.005993513012072071,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 144,
+ "stdout_tail": "docs/CLA.md\ndocs/agents_md.md\ndocs/authentication.md\ndocs/config.md\ndocs/contributing.md\ndocs/example-config.md\ndocs/exec.md\ndocs/execpolicy.md\n"
+ },
+ "patch": {
+ "argv": [
+ "git",
+ "diff",
+ "--",
+ "."
+ ],
+ "cwd": "/tmp/agentfs-git-workload-9hklcrln/agentfs-base/work",
+ "duration_seconds": 0.006131766000180505,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 3282,
+ "stdout_tail": "diff --git a/docs/CLA.md b/docs/CLA.md\nindex 804f202..3495ac9 100644\n--- a/docs/CLA.md\n+++ b/docs/CLA.md\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\n This Agreement is governed by the laws of the **State of California**, USA,\n excluding its conflict\u2011of\u2011laws rules. If any provision is held unenforceable,\n the remaining provisions remain in force.\n+\n+AgentFS Git benchmark edit 00 for docs/CLA.md\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\nindex 3df0fac..b8b063d 100644\n--- a/docs/agents_md.md\n+++ b/docs/agents_md.md\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\n ## Hierarchical agents message\n \n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\n+\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\ndiff --git a/docs/authentication.md b/docs/authentication.md\nindex c307349..b3bc9dc 100644\n--- a/docs/authentication.md\n+++ b/docs/authentication.md\n@@ -1,3 +1,5 @@\n # Authentication\n \n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\n+\n+AgentFS Git benchmark edit 02 for docs/authentication.md\ndiff --git a/docs/config.md b/docs/config.md\nindex d35b0a8..030e278 100644\n--- a/docs/config.md\n+++ b/docs/config.md\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\n still allowing managed hooks from requirements and managed config layers. This\n setting is only supported in `requirements.toml`; putting it in `config.toml`\n does not enable managed-hooks-only mode.\n+\n+AgentFS Git benchmark edit 03 for docs/config.md\ndiff --git a/docs/contributing.md b/docs/contributing.md\nindex aeae1f1..b5a22ac 100644\n--- a/docs/contributing.md\n+++ b/docs/contributing.md\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\n ### Security & responsible AI\n \n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\n+\n+AgentFS Git benchmark edit 04 for docs/contributing.md\ndiff --git a/docs/example-config.md b/docs/example-config.md\nindex 84b1143..b09f835 100644\n--- a/docs/example-config.md\n+++ b/docs/example-config.md\n@@ -1,3 +1,5 @@\n # Sample configuration\n \n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\n+\n+AgentFS Git benchmark edit 05 for docs/example-config.md\ndiff --git a/docs/exec.md b/docs/exec.md\nindex 57e4323..a81da98 100644\n--- a/docs/exec.md\n+++ b/docs/exec.md\n@@ -1,3 +1,5 @@\n # Non-interactive mode\n \n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\n+\n+AgentFS Git benchmark edit 06 for docs/exec.md\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\nindex cafebb3..3b48afe 100644\n--- a/docs/execpolicy.md\n+++ b/docs/execpolicy.md\n@@ -1,3 +1,5 @@\n # Execution policy\n \n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\n+\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\n"
+ },
+ "stat": {
+ "argv": [
+ "git",
+ "diff",
+ "--stat",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-9hklcrln/agentfs-base/work",
+ "duration_seconds": 0.007708599005127326,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 283,
+ "stdout_tail": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ }
+ },
+ "stat_stdout": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.005307429004460573,
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true,
+ "run": {
+ "argv": [
+ "git",
+ "fsck",
+ "--strict"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-9hklcrln/agentfs-base/work",
+ "duration_seconds": 0.22109708399511874,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "phase_runs": {
+ "checkout": {
+ "argv": [
+ "git",
+ "checkout",
+ "-B",
+ "agentfs-benchmark"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-9hklcrln/agentfs-base/work",
+ "duration_seconds": 0.07473899800970685,
+ "returncode": 0,
+ "stderr_bytes": 45,
+ "stderr_tail": "Switched to a new branch 'agentfs-benchmark'\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "clone": {
+ "argv": [
+ "git",
+ "clone",
+ "--local",
+ "--no-hardlinks",
+ "/tmp/agentfs-git-workload-9hklcrln/agentfs-base/mirror.git",
+ "/tmp/agentfs-git-workload-9hklcrln/agentfs-base/work"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-9hklcrln/agentfs-base",
+ "duration_seconds": 3.4367760949971853,
+ "returncode": 0,
+ "stderr_bytes": 2571,
+ "stderr_tail": "Cloning into '/tmp/agentfs-git-workload-9hklcrln/agentfs-base/work'...\nwarning: source repository is shallow, ignoring --local\nwarning: --local is ignored\nUpdating files: 31% (1473/4644)\nUpdating files: 32% (1487/4644)\nUpdating files: 33% (1533/4644)\nUpdating files: 34% (1579/4644)\nUpdating files: 35% (1626/4644)\nUpdating files: 36% (1672/4644)\nUpdating files: 37% (1719/4644)\nUpdating files: 38% (1765/4644)\nUpdating files: 39% (1812/4644)\nUpdating files: 40% (1858/4644)\nUpdating files: 41% (1905/4644)\nUpdating files: 42% (1951/4644)\nUpdating files: 43% (1997/4644)\nUpdating files: 44% (2044/4644)\nUpdating files: 45% (2090/4644)\nUpdating files: 46% (2137/4644)\nUpdating files: 47% (2183/4644)\nUpdating files: 48% (2230/4644)\nUpdating files: 49% (2276/4644)\nUpdating files: 50% (2322/4644)\nUpdating files: 51% (2369/4644)\nUpdating files: 52% (2415/4644)\nUpdating files: 53% (2462/4644)\nUpdating files: 54% (2508/4644)\nUpdating files: 55% (2555/4644)\nUpdating files: 56% (2601/4644)\nUpdating files: 57% (2648/4644)\nUpdating files: 58% (2694/4644)\nUpdating files: 59% (2740/4644)\nUpdating files: 60% (2787/4644)\nUpdating files: 61% (2833/4644)\nUpdating files: 62% (2880/4644)\nUpdating files: 62% (2887/4644)\nUpdating files: 63% (2926/4644)\nUpdating files: 64% (2973/4644)\nUpdating files: 65% (3019/4644)\nUpdating files: 66% (3066/4644)\nUpdating files: 67% (3112/4644)\nUpdating files: 68% (3158/4644)\nUpdating files: 69% (3205/4644)\nUpdating files: 70% (3251/4644)\nUpdating files: 71% (3298/4644)\nUpdating files: 72% (3344/4644)\nUpdating files: 73% (3391/4644)\nUpdating files: 74% (3437/4644)\nUpdating files: 75% (3483/4644)\nUpdating files: 76% (3530/4644)\nUpdating files: 77% (3576/4644)\nUpdating files: 78% (3623/4644)\nUpdating files: 79% (3669/4644)\nUpdating files: 80% (3716/4644)\nUpdating files: 81% (3762/4644)\nUpdating files: 82% (3809/4644)\nUpdating files: 83% (3855/4644)\nUpdating files: 84% (3901/4644)\nUpdating files: 85% (3948/4644)\nUpdating files: 86% (3994/4644)\nUpdating files: 87% (4041/4644)\nUpdating files: 88% (4087/4644)\nUpdating files: 89% (4134/4644)\nUpdating files: 90% (4180/4644)\nUpdating files: 91% (4227/4644)\nUpdating files: 92% (4273/4644)\nUpdating files: 93% (4319/4644)\nUpdating files: 94% (4366/4644)\nUpdating files: 95% (4412/4644)\nUpdating files: 96% (4459/4644)\nUpdating files: 96% (4500/4644)\nUpdating files: 97% (4505/4644)\nUpdating files: 98% (4552/4644)\nUpdating files: 99% (4598/4644)\nUpdating files: 100% (4644/4644)\nUpdating files: 100% (4644/4644), done.\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "status": {
+ "branch": {
+ "argv": [
+ "git",
+ "status",
+ "--short",
+ "--branch"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-9hklcrln/agentfs-base/work",
+ "duration_seconds": 0.017935351002961397,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 21,
+ "stdout_tail": "## agentfs-benchmark\n"
+ },
+ "short": {
+ "argv": [
+ "git",
+ "status",
+ "--short"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-9hklcrln/agentfs-base/work",
+ "duration_seconds": 0.11070463199575897,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ }
+ },
+ "phase_seconds": {
+ "checkout": 0.07745447699562646,
+ "clone": 3.4368674799916334,
+ "diff": 0.019882690990925767,
+ "edit": 0.005307429004460573,
+ "fsck": 0.22111140200286172,
+ "read_search": 0.009250258008250967,
+ "status": 0.1286685150116682
+ },
+ "profile_checkpoints": [
+ "clone",
+ "checkout",
+ "status",
+ "read_search",
+ "edit",
+ "diff",
+ "fsck"
+ ],
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "ls_files_run": {
+ "argv": [
+ "git",
+ "ls-files",
+ "-z"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-9hklcrln/agentfs-base/work",
+ "duration_seconds": 0.005406737007433549,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 263077,
+ "stdout_tail": "i_codex/api.py\u0000sdk/python/src/openai_codex/async_client.py\u0000sdk/python/src/openai_codex/client.py\u0000sdk/python/src/openai_codex/errors.py\u0000sdk/python/src/openai_codex/generated/__init__.py\u0000sdk/python/src/openai_codex/generated/notification_registry.py\u0000sdk/python/src/openai_codex/generated/v2_all.py\u0000sdk/python/src/openai_codex/models.py\u0000sdk/python/src/openai_codex/py.typed\u0000sdk/python/src/openai_codex/retry.py\u0000sdk/python/src/openai_codex/types.py\u0000sdk/python/tests/app_server_harness.py\u0000sdk/python/tests/app_server_helpers.py\u0000sdk/python/tests/conftest.py\u0000sdk/python/tests/test_app_server_approvals.py\u0000sdk/python/tests/test_app_server_inputs.py\u0000sdk/python/tests/test_app_server_lifecycle.py\u0000sdk/python/tests/test_app_server_login.py\u0000sdk/python/tests/test_app_server_run.py\u0000sdk/python/tests/test_app_server_streaming.py\u0000sdk/python/tests/test_app_server_turn_controls.py\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\u0000sdk/python/tests/test_async_client_behavior.py\u0000sdk/python/tests/test_client_rpc_methods.py\u0000sdk/python/tests/test_contract_generation.py\u0000sdk/python/tests/test_public_api_runtime_behavior.py\u0000sdk/python/tests/test_public_api_signatures.py\u0000sdk/python/tests/test_real_app_server_integration.py\u0000sdk/python/uv.lock\u0000sdk/typescript/.prettierignore\u0000sdk/typescript/.prettierrc\u0000sdk/typescript/README.md\u0000sdk/typescript/eslint.config.js\u0000sdk/typescript/jest.config.cjs\u0000sdk/typescript/package.json\u0000sdk/typescript/samples/basic_streaming.ts\u0000sdk/typescript/samples/helpers.ts\u0000sdk/typescript/samples/structured_output.ts\u0000sdk/typescript/samples/structured_output_zod.ts\u0000sdk/typescript/src/codex.ts\u0000sdk/typescript/src/codexOptions.ts\u0000sdk/typescript/src/events.ts\u0000sdk/typescript/src/exec.ts\u0000sdk/typescript/src/index.ts\u0000sdk/typescript/src/items.ts\u0000sdk/typescript/src/outputSchemaFile.ts\u0000sdk/typescript/src/thread.ts\u0000sdk/typescript/src/threadOptions.ts\u0000sdk/typescript/src/turnOptions.ts\u0000sdk/typescript/tests/abort.test.ts\u0000sdk/typescript/tests/codexExecSpy.ts\u0000sdk/typescript/tests/exec.test.ts\u0000sdk/typescript/tests/responsesProxy.ts\u0000sdk/typescript/tests/run.test.ts\u0000sdk/typescript/tests/runStreamed.test.ts\u0000sdk/typescript/tests/setupCodexHome.ts\u0000sdk/typescript/tests/testCodex.ts\u0000sdk/typescript/tsconfig.json\u0000sdk/typescript/tsup.config.ts\u0000third_party/v8/BUILD.bazel\u0000third_party/v8/README.md\u0000third_party/v8/libcxx.BUILD.bazel\u0000third_party/v8/libcxx_config/BUILD.bazel\u0000third_party/v8/libcxx_config/__assertion_handler\u0000third_party/v8/libcxx_config/__config_site\u0000third_party/v8/libcxxabi.BUILD.bazel\u0000third_party/v8/llvm_libc.BUILD.bazel\u0000third_party/v8/rusty_v8_147_4_0.sha256\u0000third_party/v8/v8_crate.BUILD.bazel\u0000third_party/wezterm/LICENSE\u0000tools/argument-comment-lint/.cargo/config.toml\u0000tools/argument-comment-lint/.gitignore\u0000tools/argument-comment-lint/BUILD.bazel\u0000tools/argument-comment-lint/Cargo.lock\u0000tools/argument-comment-lint/Cargo.toml\u0000tools/argument-comment-lint/README.md\u0000tools/argument-comment-lint/argument-comment-lint\u0000tools/argument-comment-lint/driver.rs\u0000tools/argument-comment-lint/lint_aspect.bzl\u0000tools/argument-comment-lint/list-bazel-targets.sh\u0000tools/argument-comment-lint/run-prebuilt-linter.py\u0000tools/argument-comment-lint/run.py\u0000tools/argument-comment-lint/rust-toolchain\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\u0000tools/argument-comment-lint/src/comment_parser.rs\u0000tools/argument-comment-lint/src/lib.rs\u0000tools/argument-comment-lint/test_wrapper_common.py\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\u0000tools/argument-comment-lint/ui/comment_matches.rs\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\u0000tools/argument-comment-lint/wrapper_common.py\u0000workspace_root_test_launcher.bat.tpl\u0000workspace_root_test_launcher.sh.tpl\u0000"
+ },
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ],
+ "token": "AGENTFS_TOKEN"
+ },
+ "total_seconds": 4.599304073009989
+ }
+ },
+ "base_tree": {
+ "after": {
+ "bytes": 9207621,
+ "directories": 10,
+ "files": 23,
+ "sha256": "222d8f6d80407304aaadf2f7f9b4544c86a0efec6d8864515a5f5c0f59dc8195",
+ "symlinks": 0
+ },
+ "before": {
+ "bytes": 9207621,
+ "directories": 10,
+ "files": 23,
+ "sha256": "222d8f6d80407304aaadf2f7f9b4544c86a0efec6d8864515a5f5c0f59dc8195",
+ "symlinks": 0
+ },
+ "unchanged": true
+ },
+ "benchmark": "phase7-git-workload",
+ "command": {
+ "agentfs_prefix": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "run",
+ "--session",
+ "git-workload-e13728a82daa4c4a90c2edf69ec5b3f4",
+ "--no-default-allows",
+ "--"
+ ],
+ "argv": [
+ "/home/ain3sh/factory/vfs/scripts/validation/git-workload-benchmark.py",
+ "--output",
+ "/home/ain3sh/factory/vfs/.agents/benchmarks/restructure-baseline/medians.json.iterations/warmup-00.json",
+ "--source",
+ ".agents/benchmarks/fixtures/codex",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8"
+ ],
+ "workload_argv": [
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ]
+ },
+ "correctness": {
+ "agentfs_backup_verify": true,
+ "agentfs_base_unchanged": true,
+ "agentfs_db_inspectable": true,
+ "agentfs_integrity_require_portable": true,
+ "agentfs_no_nonempty_sidecars": true,
+ "agentfs_portable": true,
+ "agentfs_returncode_zero": true,
+ "equivalence": {
+ "agentfs": {
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ]
+ }
+ },
+ "checked": true,
+ "equivalent": true,
+ "native": {
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ]
+ }
+ }
+ },
+ "native_returncode_zero": true,
+ "passed": true,
+ "performance_passed": false
+ },
+ "database": {
+ "after": {
+ "artifacts": [
+ {
+ "bytes": 56549376,
+ "path": "/tmp/agentfs-git-workload-9hklcrln/home/.agentfs/run/git-workload-e13728a82daa4c4a90c2edf69ec5b3f4/delta.db"
+ }
+ ],
+ "path": "/tmp/agentfs-git-workload-9hklcrln/home/.agentfs/run/git-workload-e13728a82daa4c4a90c2edf69ec5b3f4/delta.db",
+ "total_bytes": 56549376
+ },
+ "backup": {
+ "artifacts": {
+ "artifacts": [
+ {
+ "bytes": 56549376,
+ "path": "/tmp/agentfs-git-workload-9hklcrln/git-workload-backup.db"
+ }
+ ],
+ "path": "/tmp/agentfs-git-workload-9hklcrln/git-workload-backup.db",
+ "total_bytes": 56549376
+ },
+ "inspect": {
+ "fs_chunk_override_rows": 0,
+ "fs_config": {
+ "chunk_size": "65536",
+ "inline_threshold": "16384",
+ "schema_version": "0.5"
+ },
+ "fs_data_bytes": 41204221,
+ "fs_data_rows": 960,
+ "fs_inline_bytes": 11434794,
+ "fs_inode_rows": 5385,
+ "fs_origin_rows": 0,
+ "fs_partial_origin_rows": 0,
+ "fs_whiteout_rows": 0,
+ "inline_inode_rows": 4060,
+ "inspectable": true,
+ "portability_status": {
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true,
+ "stored_bytes": 52639015
+ }
+ },
+ "path": "/tmp/agentfs-git-workload-9hklcrln/git-workload-backup.db",
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "backup",
+ "/tmp/agentfs-git-workload-9hklcrln/home/.agentfs/run/git-workload-e13728a82daa4c4a90c2edf69ec5b3f4/delta.db",
+ "/tmp/agentfs-git-workload-9hklcrln/git-workload-backup.db",
+ "--verify"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-9hklcrln",
+ "duration_seconds": 2.6490465759998187,
+ "profile_summaries": [],
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 241,
+ "stdout_tail": "Source: /tmp/agentfs-git-workload-9hklcrln/home/.agentfs/run/git-workload-e13728a82daa4c4a90c2edf69ec5b3f4/delta.db\nBackup: /tmp/agentfs-git-workload-9hklcrln/git-workload-backup.db\nCheckpoint: complete\nCopy: complete\nVerification: complete\n",
+ "timed_out": false
+ }
+ },
+ "inspect_after": {
+ "fs_chunk_override_rows": 0,
+ "fs_config": {
+ "chunk_size": "65536",
+ "inline_threshold": "16384",
+ "schema_version": "0.5"
+ },
+ "fs_data_bytes": 41204221,
+ "fs_data_rows": 960,
+ "fs_inline_bytes": 11434794,
+ "fs_inode_rows": 5385,
+ "fs_origin_rows": 0,
+ "fs_partial_origin_rows": 0,
+ "fs_whiteout_rows": 0,
+ "inline_inode_rows": 4060,
+ "inspectable": true,
+ "portability_status": {
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true,
+ "stored_bytes": 52639015
+ }
+ },
+ "integrity": {
+ "result": {
+ "checks": [
+ {
+ "detail": "ok",
+ "name": "pragma.integrity_check",
+ "ok": true,
+ "violating_rows": null
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_config",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_inode",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_dentry",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.fs_symlink",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.kv_store",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "present",
+ "name": "schema.table.tool_calls",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 0.5",
+ "name": "config.schema_version",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 65536",
+ "name": "config.chunk_size",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 16384",
+ "name": "config.inline_threshold",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.kind_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_has_no_chunks",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunked_has_no_inline_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_size_matches_blob",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.inline_only_regular_files",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.non_regular_has_no_inline_data",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_reference_inodes",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_nonnegative_index",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunk_length_within_chunk_size",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "storage.chunks_only_regular_files",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "found 1, expected 1",
+ "name": "namespace.root_inode",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_parent_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_parent_is_directory",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_target_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.non_root_inode_has_dentry",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.dentry_names_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.non_directory_nlink_matches_dentries",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "namespace.directory_nlink_positive",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "symlink.rows_reference_symlink_inodes",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "symlink.inodes_have_rows",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "portable: no partial-origin rows",
+ "name": "overlay.portability_status",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "portable requirement satisfied",
+ "name": "overlay.require_portable",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.origin_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_delta_inode_regular",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_sizes_valid",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.partial_origin_paths_absolute",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_delta_inode_exists",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_nonnegative_index",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_references_partial_origin",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_unique",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.chunk_override_index_in_range",
+ "ok": true,
+ "violating_rows": 0
+ },
+ {
+ "detail": "0 violating rows",
+ "name": "overlay.whiteout_paths_absolute",
+ "ok": true,
+ "violating_rows": 0
+ }
+ ],
+ "database": "/tmp/agentfs-git-workload-9hklcrln/home/.agentfs/run/git-workload-e13728a82daa4c4a90c2edf69ec5b3f4/delta.db",
+ "ok": true,
+ "origin_backed": false,
+ "partial_origin_rows": 0,
+ "portable": true
+ },
+ "run": {
+ "argv": [
+ "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "integrity",
+ "/tmp/agentfs-git-workload-9hklcrln/home/.agentfs/run/git-workload-e13728a82daa4c4a90c2edf69ec5b3f4/delta.db",
+ "--json",
+ "--require-portable"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-9hklcrln",
+ "duration_seconds": 2.598406466000597,
+ "profile_summaries": [],
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 6395,
+ "stdout_tail": "{\n \"database\": \"/tmp/agentfs-git-workload-9hklcrln/home/.agentfs/run/git-workload-e13728a82daa4c4a90c2edf69ec5b3f4/delta.db\",\n \"ok\": true,\n \"portable\": true,\n \"origin_backed\": false,\n \"partial_origin_rows\": 0,\n \"checks\": [\n {\n \"name\": \"pragma.integrity_check\",\n \"ok\": true,\n \"detail\": \"ok\",\n \"violating_rows\": null\n },\n {\n \"name\": \"schema.table.fs_config\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_inode\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_dentry\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_data\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.fs_symlink\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.kv_store\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"schema.table.tool_calls\",\n \"ok\": true,\n \"detail\": \"present\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.schema_version\",\n \"ok\": true,\n \"detail\": \"found 0.5\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.chunk_size\",\n \"ok\": true,\n \"detail\": \"found 65536\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"config.inline_threshold\",\n \"ok\": true,\n \"detail\": \"found 16384\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.kind_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_has_no_chunks\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunked_has_no_inline_data\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_size_matches_blob\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.inline_only_regular_files\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.non_regular_has_no_inline_data\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_reference_inodes\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_nonnegative_index\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunk_length_within_chunk_size\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"storage.chunks_only_regular_files\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.root_inode\",\n \"ok\": true,\n \"detail\": \"found 1, expected 1\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_parent_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_parent_is_directory\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_target_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.non_root_inode_has_dentry\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.dentry_names_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.non_directory_nlink_matches_dentries\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"namespace.directory_nlink_positive\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"symlink.rows_reference_symlink_inodes\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"symlink.inodes_have_rows\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.portability_status\",\n \"ok\": true,\n \"detail\": \"portable: no partial-origin rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.require_portable\",\n \"ok\": true,\n \"detail\": \"portable requirement satisfied\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.origin_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_delta_inode_regular\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_sizes_valid\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.partial_origin_paths_absolute\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_delta_inode_exists\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_nonnegative_index\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_references_partial_origin\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_unique\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.chunk_override_index_in_range\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n },\n {\n \"name\": \"overlay.whiteout_paths_absolute\",\n \"ok\": true,\n \"detail\": \"0 violating rows\",\n \"violating_rows\": 0\n }\n ]\n}\n",
+ "timed_out": false
+ }
+ },
+ "nonempty_sidecars": false
+ },
+ "environment": {
+ "AGENTFS_BIN": "/home/ain3sh/factory/vfs/target/release/agentfs",
+ "AGENTFS_PROFILE": "1"
+ },
+ "git_commit": "ae1e13fcb1c52d5c57be051610a04aa9a318f2a5",
+ "kept_temp": false,
+ "native": {
+ "run": {
+ "argv": [
+ "/usr/bin/python3",
+ "-c",
+ "\nimport argparse\nimport hashlib\nimport json\nimport os\nimport signal\nimport sys\nimport subprocess\nimport time\nfrom pathlib import Path\n\n\nOUTPUT_TAIL_CHARS = 4000\n\n# Ordered phase labels emitted via profiling checkpoints (see profile_checkpoint).\nPROFILE_CHECKPOINTS = []\n\n\ndef profile_checkpoint(label):\n \"\"\"Request an AgentFS profiling checkpoint at a phase boundary.\n\n Only meaningful when running inside an AgentFS sandbox with profiling\n enabled. We signal the parent `agentfs run` process (SIGUSR1), which emits a\n cumulative, sequence-tagged profile summary to its stderr; the analyzer\n subtracts consecutive checkpoints to obtain per-phase counter deltas. A small\n sleep lets the parent flush before the next phase begins. Guarded on AGENTFS\n so native runs never signal the benchmark harness.\n \"\"\"\n PROFILE_CHECKPOINTS.append(label)\n if os.environ.get(\"AGENTFS\") != \"1\":\n return\n if os.environ.get(\"AGENTFS_PROFILE\", \"\") not in {\"1\", \"true\", \"TRUE\", \"yes\", \"on\"}:\n return\n try:\n os.kill(os.getppid(), signal.SIGUSR1)\n except OSError:\n return\n time.sleep(0.1)\n\n\ndef tail_text(value):\n if value is None:\n return \"\"\n if isinstance(value, bytes):\n text = value.decode(\"utf-8\", errors=\"replace\")\n else:\n text = str(value)\n if len(text) <= OUTPUT_TAIL_CHARS:\n return text\n return text[-OUTPUT_TAIL_CHARS:]\n\n\ndef git_env():\n env = os.environ.copy()\n env.setdefault(\"GIT_CONFIG_NOSYSTEM\", \"1\")\n env.setdefault(\"GIT_TERMINAL_PROMPT\", \"0\")\n env.setdefault(\"NO_COLOR\", \"1\")\n env.setdefault(\"LC_ALL\", \"C\")\n return env\n\n\ndef run_git(argv, cwd):\n started = time.perf_counter()\n proc = subprocess.run(\n [\"git\"] + argv,\n cwd=str(cwd),\n env=git_env(),\n text=True,\n stdout=subprocess.PIPE,\n stderr=subprocess.PIPE,\n )\n return {\n \"argv\": [\"git\"] + argv,\n \"cwd\": str(cwd),\n \"duration_seconds\": time.perf_counter() - started,\n \"returncode\": proc.returncode,\n \"stdout_tail\": tail_text(proc.stdout),\n \"stderr_tail\": tail_text(proc.stderr),\n \"stdout_bytes\": len((proc.stdout or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stderr_bytes\": len((proc.stderr or \"\").encode(\"utf-8\", errors=\"replace\")),\n \"stdout\": proc.stdout,\n }\n\n\ndef require_ok(record, phase):\n if record[\"returncode\"] != 0:\n raise RuntimeError(\n f\"{phase} failed with exit {record['returncode']}: {record['stderr_tail']}\"\n )\n\n\ndef bounded_read_search(workdir, max_files, read_bytes, token):\n started = time.perf_counter()\n ls_files = run_git([\"ls-files\", \"-z\"], workdir)\n require_ok(ls_files, \"ls-files\")\n paths = [item for item in ls_files[\"stdout\"].split(\"\\0\") if item]\n digest = hashlib.sha256()\n scanned = 0\n bytes_read = 0\n matches = 0\n selected = []\n for rel in paths:\n if scanned >= max_files:\n break\n path = workdir / rel\n if not path.is_file():\n continue\n data = path.read_bytes()[:read_bytes]\n digest.update(rel.encode(\"utf-8\"))\n digest.update(b\"\\0\")\n digest.update(str(path.stat().st_size).encode(\"ascii\"))\n digest.update(b\"\\0\")\n digest.update(data)\n matches += data.count(token.encode(\"utf-8\"))\n bytes_read += len(data)\n scanned += 1\n selected.append(rel)\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"ls_files_run\": {key: value for key, value in ls_files.items() if key != \"stdout\"},\n \"digest\": digest.hexdigest(),\n \"files_total\": len(paths),\n \"files_scanned\": scanned,\n \"bytes_read\": bytes_read,\n \"token\": token,\n \"matches\": matches,\n \"selected_files\": selected,\n \"all_files\": paths,\n }\n\n\ndef representative_edit_paths(paths, limit):\n preferred_prefixes = (\"src/\", \"tests/\", \"docs/\")\n selected = []\n for prefix in preferred_prefixes:\n for rel in paths:\n if rel.startswith(prefix) and rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n for rel in paths:\n if rel not in selected:\n selected.append(rel)\n if len(selected) >= limit:\n return selected\n return selected\n\n\ndef edit_files(workdir, paths, limit):\n started = time.perf_counter()\n selected = representative_edit_paths(paths, limit)\n edits = []\n for index, rel in enumerate(selected):\n path = workdir / rel\n before_size = path.stat().st_size\n payload = f\"\\nAgentFS Git benchmark edit {index:02d} for {rel}\\n\".encode(\"utf-8\")\n with path.open(\"ab\", buffering=0) as handle:\n handle.write(payload)\n handle.flush()\n os.fsync(handle.fileno())\n edits.append(\n {\n \"path\": rel,\n \"size_before\": before_size,\n \"size_after\": path.stat().st_size,\n \"appended_bytes\": len(payload),\n }\n )\n return {\"duration_seconds\": time.perf_counter() - started, \"changed_files\": selected, \"edits\": edits}\n\n\ndef diff_summary(workdir):\n started = time.perf_counter()\n name_only = run_git([\"diff\", \"--name-only\", \"--\"], workdir)\n require_ok(name_only, \"diff --name-only\")\n stat = run_git([\"diff\", \"--stat\", \"--\"], workdir)\n require_ok(stat, \"diff --stat\")\n patch = run_git([\"diff\", \"--\", \".\"], workdir)\n require_ok(patch, \"diff\")\n changed = [line for line in name_only[\"stdout\"].splitlines() if line]\n patch_bytes = patch[\"stdout\"].encode(\"utf-8\", errors=\"replace\")\n return {\n \"duration_seconds\": time.perf_counter() - started,\n \"changed_files\": changed,\n \"changed_file_count\": len(changed),\n \"stat_stdout\": stat[\"stdout_tail\"],\n \"patch_sha256\": hashlib.sha256(patch_bytes).hexdigest(),\n \"patch_bytes\": len(patch_bytes),\n \"runs\": {\n \"name_only\": {key: value for key, value in name_only.items() if key != \"stdout\"},\n \"stat\": {key: value for key, value in stat.items() if key != \"stdout\"},\n \"patch\": {key: value for key, value in patch.items() if key != \"stdout\"},\n },\n }\n\n\ndef main(argv):\n parser = argparse.ArgumentParser()\n parser.add_argument(\"--mirror\", default=\"mirror.git\")\n parser.add_argument(\"--work-dir\", default=\"work\")\n parser.add_argument(\"--read-files\", type=int, required=True)\n parser.add_argument(\"--read-bytes\", type=int, required=True)\n parser.add_argument(\"--edit-files\", type=int, required=True)\n parser.add_argument(\"--search-token\", default=\"AGENTFS_TOKEN\")\n parser.add_argument(\"--skip-fsck\", action=\"store_true\")\n args = parser.parse_args(argv)\n\n root = Path.cwd()\n mirror = root / args.mirror\n workdir = root / args.work_dir\n phase_seconds = {}\n phase_runs = {}\n started_total = time.perf_counter()\n\n started = time.perf_counter()\n clone = run_git([\"clone\", \"--local\", \"--no-hardlinks\", str(mirror), str(workdir)], root)\n require_ok(clone, \"clone\")\n phase_seconds[\"clone\"] = time.perf_counter() - started\n phase_runs[\"clone\"] = {key: value for key, value in clone.items() if key != \"stdout\"}\n profile_checkpoint(\"clone\")\n\n started = time.perf_counter()\n checkout = run_git([\"checkout\", \"-B\", \"agentfs-benchmark\"], workdir)\n require_ok(checkout, \"checkout\")\n head = run_git([\"rev-parse\", \"HEAD\"], workdir)\n require_ok(head, \"rev-parse\")\n phase_seconds[\"checkout\"] = time.perf_counter() - started\n phase_runs[\"checkout\"] = {key: value for key, value in checkout.items() if key != \"stdout\"}\n profile_checkpoint(\"checkout\")\n\n started = time.perf_counter()\n status_initial = run_git([\"status\", \"--short\"], workdir)\n require_ok(status_initial, \"status\")\n branch_status = run_git([\"status\", \"--short\", \"--branch\"], workdir)\n require_ok(branch_status, \"status --branch\")\n phase_seconds[\"status\"] = time.perf_counter() - started\n phase_runs[\"status\"] = {\n \"short\": {key: value for key, value in status_initial.items() if key != \"stdout\"},\n \"branch\": {key: value for key, value in branch_status.items() if key != \"stdout\"},\n }\n\n profile_checkpoint(\"status\")\n\n read_search = bounded_read_search(workdir, args.read_files, args.read_bytes, args.search_token)\n phase_seconds[\"read_search\"] = read_search[\"duration_seconds\"]\n profile_checkpoint(\"read_search\")\n\n edits = edit_files(workdir, read_search[\"all_files\"], args.edit_files)\n phase_seconds[\"edit\"] = edits[\"duration_seconds\"]\n profile_checkpoint(\"edit\")\n\n diff = diff_summary(workdir)\n phase_seconds[\"diff\"] = diff[\"duration_seconds\"]\n profile_checkpoint(\"diff\")\n\n fsck = {\"ran\": False, \"ok\": None, \"run\": None}\n if not args.skip_fsck:\n started = time.perf_counter()\n fsck_run = run_git([\"fsck\", \"--strict\"], workdir)\n phase_seconds[\"fsck\"] = time.perf_counter() - started\n fsck = {\n \"ran\": True,\n \"ok\": fsck_run[\"returncode\"] == 0,\n \"run\": {key: value for key, value in fsck_run.items() if key != \"stdout\"},\n }\n require_ok(fsck_run, \"fsck\")\n profile_checkpoint(\"fsck\")\n else:\n phase_seconds[\"fsck\"] = 0.0\n\n total_seconds = time.perf_counter() - started_total\n print(\n json.dumps(\n {\n \"head_commit\": head[\"stdout\"].strip(),\n \"phase_seconds\": phase_seconds,\n \"total_seconds\": total_seconds,\n \"phase_runs\": phase_runs,\n \"profile_checkpoints\": PROFILE_CHECKPOINTS,\n \"initial_status\": status_initial[\"stdout\"],\n \"branch_status\": branch_status[\"stdout\"],\n \"read_search\": {\n key: value\n for key, value in read_search.items()\n if key not in {\"duration_seconds\", \"all_files\"}\n },\n \"edits\": edits,\n \"diff\": diff,\n \"fsck\": fsck,\n },\n sort_keys=True,\n )\n )\n\n\ntry:\n main(sys.argv[1:])\nexcept Exception as exc:\n print(json.dumps({\"error\": str(exc)}, sort_keys=True))\n raise\n",
+ "--read-files",
+ "64",
+ "--read-bytes",
+ "4096",
+ "--edit-files",
+ "8",
+ "--search-token",
+ "AGENTFS_TOKEN"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-9hklcrln/native",
+ "duration_seconds": 0.8465241599915316,
+ "profile_summaries": [],
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 15986,
+ "stdout_tail": "{\"branch_status\": \"## agentfs-benchmark\\n\", \"diff\": {\"changed_file_count\": 8, \"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.07674850200419314, \"patch_bytes\": 3282, \"patch_sha256\": \"51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc\", \"runs\": {\"name_only\": {\"argv\": [\"git\", \"diff\", \"--name-only\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-9hklcrln/native/work\", \"duration_seconds\": 0.0273932860000059, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 144, \"stdout_tail\": \"docs/CLA.md\\ndocs/agents_md.md\\ndocs/authentication.md\\ndocs/config.md\\ndocs/contributing.md\\ndocs/example-config.md\\ndocs/exec.md\\ndocs/execpolicy.md\\n\"}, \"patch\": {\"argv\": [\"git\", \"diff\", \"--\", \".\"], \"cwd\": \"/tmp/agentfs-git-workload-9hklcrln/native/work\", \"duration_seconds\": 0.025796036992687732, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 3282, \"stdout_tail\": \"diff --git a/docs/CLA.md b/docs/CLA.md\\nindex 804f202..3495ac9 100644\\n--- a/docs/CLA.md\\n+++ b/docs/CLA.md\\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\\n This Agreement is governed by the laws of the **State of California**, USA,\\n excluding its conflict\\u2011of\\u2011laws rules. If any provision is held unenforceable,\\n the remaining provisions remain in force.\\n+\\n+AgentFS Git benchmark edit 00 for docs/CLA.md\\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\\nindex 3df0fac..b8b063d 100644\\n--- a/docs/agents_md.md\\n+++ b/docs/agents_md.md\\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\\n ## Hierarchical agents message\\n \\n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\\n+\\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\\ndiff --git a/docs/authentication.md b/docs/authentication.md\\nindex c307349..b3bc9dc 100644\\n--- a/docs/authentication.md\\n+++ b/docs/authentication.md\\n@@ -1,3 +1,5 @@\\n # Authentication\\n \\n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\\n+\\n+AgentFS Git benchmark edit 02 for docs/authentication.md\\ndiff --git a/docs/config.md b/docs/config.md\\nindex d35b0a8..030e278 100644\\n--- a/docs/config.md\\n+++ b/docs/config.md\\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\\n still allowing managed hooks from requirements and managed config layers. This\\n setting is only supported in `requirements.toml`; putting it in `config.toml`\\n does not enable managed-hooks-only mode.\\n+\\n+AgentFS Git benchmark edit 03 for docs/config.md\\ndiff --git a/docs/contributing.md b/docs/contributing.md\\nindex aeae1f1..b5a22ac 100644\\n--- a/docs/contributing.md\\n+++ b/docs/contributing.md\\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\\n ### Security & responsible AI\\n \\n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\\n+\\n+AgentFS Git benchmark edit 04 for docs/contributing.md\\ndiff --git a/docs/example-config.md b/docs/example-config.md\\nindex 84b1143..b09f835 100644\\n--- a/docs/example-config.md\\n+++ b/docs/example-config.md\\n@@ -1,3 +1,5 @@\\n # Sample configuration\\n \\n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\\n+\\n+AgentFS Git benchmark edit 05 for docs/example-config.md\\ndiff --git a/docs/exec.md b/docs/exec.md\\nindex 57e4323..a81da98 100644\\n--- a/docs/exec.md\\n+++ b/docs/exec.md\\n@@ -1,3 +1,5 @@\\n # Non-interactive mode\\n \\n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\\n+\\n+AgentFS Git benchmark edit 06 for docs/exec.md\\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\\nindex cafebb3..3b48afe 100644\\n--- a/docs/execpolicy.md\\n+++ b/docs/execpolicy.md\\n@@ -1,3 +1,5 @@\\n # Execution policy\\n \\n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\\n+\\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\\n\"}, \"stat\": {\"argv\": [\"git\", \"diff\", \"--stat\", \"--\"], \"cwd\": \"/tmp/agentfs-git-workload-9hklcrln/native/work\", \"duration_seconds\": 0.023508051002863795, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 283, \"stdout_tail\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}}, \"stat_stdout\": \" docs/CLA.md | 2 ++\\n docs/agents_md.md | 2 ++\\n docs/authentication.md | 2 ++\\n docs/config.md | 2 ++\\n docs/contributing.md | 2 ++\\n docs/example-config.md | 2 ++\\n docs/exec.md | 2 ++\\n docs/execpolicy.md | 2 ++\\n 8 files changed, 16 insertions(+)\\n\"}, \"edits\": {\"changed_files\": [\"docs/CLA.md\", \"docs/agents_md.md\", \"docs/authentication.md\", \"docs/config.md\", \"docs/contributing.md\", \"docs/example-config.md\", \"docs/exec.md\", \"docs/execpolicy.md\"], \"duration_seconds\": 0.0005141409928910434, \"edits\": [{\"appended_bytes\": 47, \"path\": \"docs/CLA.md\", \"size_after\": 2106, \"size_before\": 2059}, {\"appended_bytes\": 53, \"path\": \"docs/agents_md.md\", \"size_after\": 462, \"size_before\": 409}, {\"appended_bytes\": 58, \"path\": \"docs/authentication.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 50, \"path\": \"docs/config.md\", \"size_after\": 776, \"size_before\": 726}, {\"appended_bytes\": 56, \"path\": \"docs/contributing.md\", \"size_after\": 6380, \"size_before\": 6324}, {\"appended_bytes\": 58, \"path\": \"docs/example-config.md\", \"size_after\": 192, \"size_before\": 134}, {\"appended_bytes\": 48, \"path\": \"docs/exec.md\", \"size_after\": 194, \"size_before\": 146}, {\"appended_bytes\": 54, \"path\": \"docs/execpolicy.md\", \"size_after\": 192, \"size_before\": 138}]}, \"fsck\": {\"ok\": true, \"ran\": true, \"run\": {\"argv\": [\"git\", \"fsck\", \"--strict\"], \"cwd\": \"/tmp/agentfs-git-workload-9hklcrln/native/work\", \"duration_seconds\": 0.22372002599877305, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}, \"head_commit\": \"7d47056ea42636271ac020b86347fbbef49490aa\", \"initial_status\": \"\", \"phase_runs\": {\"checkout\": {\"argv\": [\"git\", \"checkout\", \"-B\", \"agentfs-benchmark\"], \"cwd\": \"/tmp/agentfs-git-workload-9hklcrln/native/work\", \"duration_seconds\": 0.08481002900225576, \"returncode\": 0, \"stderr_bytes\": 45, \"stderr_tail\": \"Switched to a new branch 'agentfs-benchmark'\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"clone\": {\"argv\": [\"git\", \"clone\", \"--local\", \"--no-hardlinks\", \"/tmp/agentfs-git-workload-9hklcrln/native/mirror.git\", \"/tmp/agentfs-git-workload-9hklcrln/native/work\"], \"cwd\": \"/tmp/agentfs-git-workload-9hklcrln/native\", \"duration_seconds\": 0.316977031994611, \"returncode\": 0, \"stderr_bytes\": 149, \"stderr_tail\": \"Cloning into '/tmp/agentfs-git-workload-9hklcrln/native/work'...\\nwarning: source repository is shallow, ignoring --local\\nwarning: --local is ignored\\n\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}, \"status\": {\"branch\": {\"argv\": [\"git\", \"status\", \"--short\", \"--branch\"], \"cwd\": \"/tmp/agentfs-git-workload-9hklcrln/native/work\", \"duration_seconds\": 0.03448833899165038, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 21, \"stdout_tail\": \"## agentfs-benchmark\\n\"}, \"short\": {\"argv\": [\"git\", \"status\", \"--short\"], \"cwd\": \"/tmp/agentfs-git-workload-9hklcrln/native/work\", \"duration_seconds\": 0.03360859600070398, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 0, \"stdout_tail\": \"\"}}}, \"phase_seconds\": {\"checkout\": 0.08743785601109266, \"clone\": 0.3170567549968837, \"diff\": 0.07674850200419314, \"edit\": 0.0005141409928910434, \"fsck\": 0.22373121700366028, \"read_search\": 0.005972436993033625, \"status\": 0.06812123001145665}, \"profile_checkpoints\": [\"clone\", \"checkout\", \"status\", \"read_search\", \"edit\", \"diff\", \"fsck\"], \"read_search\": {\"bytes_read\": 117190, \"digest\": \"6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53\", \"files_scanned\": 64, \"files_total\": 4644, \"ls_files_run\": {\"argv\": [\"git\", \"ls-files\", \"-z\"], \"cwd\": \"/tmp/agentfs-git-workload-9hklcrln/native/work\", \"duration_seconds\": 0.0035966400027973577, \"returncode\": 0, \"stderr_bytes\": 0, \"stderr_tail\": \"\", \"stdout_bytes\": 263077, \"stdout_tail\": \"i_codex/api.py\\u0000sdk/python/src/openai_codex/async_client.py\\u0000sdk/python/src/openai_codex/client.py\\u0000sdk/python/src/openai_codex/errors.py\\u0000sdk/python/src/openai_codex/generated/__init__.py\\u0000sdk/python/src/openai_codex/generated/notification_registry.py\\u0000sdk/python/src/openai_codex/generated/v2_all.py\\u0000sdk/python/src/openai_codex/models.py\\u0000sdk/python/src/openai_codex/py.typed\\u0000sdk/python/src/openai_codex/retry.py\\u0000sdk/python/src/openai_codex/types.py\\u0000sdk/python/tests/app_server_harness.py\\u0000sdk/python/tests/app_server_helpers.py\\u0000sdk/python/tests/conftest.py\\u0000sdk/python/tests/test_app_server_approvals.py\\u0000sdk/python/tests/test_app_server_inputs.py\\u0000sdk/python/tests/test_app_server_lifecycle.py\\u0000sdk/python/tests/test_app_server_login.py\\u0000sdk/python/tests/test_app_server_run.py\\u0000sdk/python/tests/test_app_server_streaming.py\\u0000sdk/python/tests/test_app_server_turn_controls.py\\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\\u0000sdk/python/tests/test_async_client_behavior.py\\u0000sdk/python/tests/test_client_rpc_methods.py\\u0000sdk/python/tests/test_contract_generation.py\\u0000sdk/python/tests/test_public_api_runtime_behavior.py\\u0000sdk/python/tests/test_public_api_signatures.py\\u0000sdk/python/tests/test_real_app_server_integration.py\\u0000sdk/python/uv.lock\\u0000sdk/typescript/.prettierignore\\u0000sdk/typescript/.prettierrc\\u0000sdk/typescript/README.md\\u0000sdk/typescript/eslint.config.js\\u0000sdk/typescript/jest.config.cjs\\u0000sdk/typescript/package.json\\u0000sdk/typescript/samples/basic_streaming.ts\\u0000sdk/typescript/samples/helpers.ts\\u0000sdk/typescript/samples/structured_output.ts\\u0000sdk/typescript/samples/structured_output_zod.ts\\u0000sdk/typescript/src/codex.ts\\u0000sdk/typescript/src/codexOptions.ts\\u0000sdk/typescript/src/events.ts\\u0000sdk/typescript/src/exec.ts\\u0000sdk/typescript/src/index.ts\\u0000sdk/typescript/src/items.ts\\u0000sdk/typescript/src/outputSchemaFile.ts\\u0000sdk/typescript/src/thread.ts\\u0000sdk/typescript/src/threadOptions.ts\\u0000sdk/typescript/src/turnOptions.ts\\u0000sdk/typescript/tests/abort.test.ts\\u0000sdk/typescript/tests/codexExecSpy.ts\\u0000sdk/typescript/tests/exec.test.ts\\u0000sdk/typescript/tests/responsesProxy.ts\\u0000sdk/typescript/tests/run.test.ts\\u0000sdk/typescript/tests/runStreamed.test.ts\\u0000sdk/typescript/tests/setupCodexHome.ts\\u0000sdk/typescript/tests/testCodex.ts\\u0000sdk/typescript/tsconfig.json\\u0000sdk/typescript/tsup.config.ts\\u0000third_party/v8/BUILD.bazel\\u0000third_party/v8/README.md\\u0000third_party/v8/libcxx.BUILD.bazel\\u0000third_party/v8/libcxx_config/BUILD.bazel\\u0000third_party/v8/libcxx_config/__assertion_handler\\u0000third_party/v8/libcxx_config/__config_site\\u0000third_party/v8/libcxxabi.BUILD.bazel\\u0000third_party/v8/llvm_libc.BUILD.bazel\\u0000third_party/v8/rusty_v8_147_4_0.sha256\\u0000third_party/v8/v8_crate.BUILD.bazel\\u0000third_party/wezterm/LICENSE\\u0000tools/argument-comment-lint/.cargo/config.toml\\u0000tools/argument-comment-lint/.gitignore\\u0000tools/argument-comment-lint/BUILD.bazel\\u0000tools/argument-comment-lint/Cargo.lock\\u0000tools/argument-comment-lint/Cargo.toml\\u0000tools/argument-comment-lint/README.md\\u0000tools/argument-comment-lint/argument-comment-lint\\u0000tools/argument-comment-lint/driver.rs\\u0000tools/argument-comment-lint/lint_aspect.bzl\\u0000tools/argument-comment-lint/list-bazel-targets.sh\\u0000tools/argument-comment-lint/run-prebuilt-linter.py\\u0000tools/argument-comment-lint/run.py\\u0000tools/argument-comment-lint/rust-toolchain\\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\\u0000tools/argument-comment-lint/src/comment_parser.rs\\u0000tools/argument-comment-lint/src/lib.rs\\u0000tools/argument-comment-lint/test_wrapper_common.py\\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\\u0000tools/argument-comment-lint/ui/comment_matches.rs\\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\\u0000tools/argument-comment-lint/wrapper_common.py\\u0000workspace_root_test_launcher.bat.tpl\\u0000workspace_root_test_launcher.sh.tpl\\u0000\"}, \"matches\": 0, \"selected_files\": [\".bazelignore\", \".bazelrc\", \".bazelversion\", \".codespellignore\", \".codespellrc\", \".codex/environments/environment.toml\", \".codex/skills/babysit-pr/SKILL.md\", \".codex/skills/babysit-pr/agents/openai.yaml\", \".codex/skills/babysit-pr/references/github-api-notes.md\", \".codex/skills/babysit-pr/references/heuristics.md\", \".codex/skills/babysit-pr/scripts/gh_pr_watch.py\", \".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py\", \".codex/skills/code-review-breaking-changes/SKILL.md\", \".codex/skills/code-review-change-size/SKILL.md\", \".codex/skills/code-review-context/SKILL.md\", \".codex/skills/code-review-testing/SKILL.md\", \".codex/skills/code-review/SKILL.md\", \".codex/skills/codex-bug/SKILL.md\", \".codex/skills/codex-issue-digest/SKILL.md\", \".codex/skills/codex-issue-digest/agents/openai.yaml\", \".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py\", \".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py\", \".codex/skills/codex-pr-body/SKILL.md\", \".codex/skills/remote-tests/SKILL.md\", \".codex/skills/test-tui/SKILL.md\", \".codex/skills/update-v8-version/SKILL.md\", \".codex/skills/update-v8-version/agents/openai.yaml\", \".devcontainer/Dockerfile\", \".devcontainer/Dockerfile.secure\", \".devcontainer/README.md\", \".devcontainer/codex-install/package.json\", \".devcontainer/codex-install/pnpm-lock.yaml\", \".devcontainer/codex-install/pnpm-workspace.yaml\", \".devcontainer/devcontainer.json\", \".devcontainer/devcontainer.secure.json\", \".devcontainer/init-firewall.sh\", \".devcontainer/post-start.sh\", \".devcontainer/post_install.py\", \".gitattributes\", \".github/CODEOWNERS\", \".github/ISSUE_TEMPLATE/1-codex-app.yml\", \".github/ISSUE_TEMPLATE/2-extension.yml\", \".github/ISSUE_TEMPLATE/3-cli.yml\", \".github/ISSUE_TEMPLATE/4-bug-report.yml\", \".github/ISSUE_TEMPLATE/5-feature-request.yml\", \".github/ISSUE_TEMPLATE/6-docs-issue.yml\", \".github/actions/linux-code-sign/action.yml\", \".github/actions/macos-code-sign/action.yml\", \".github/actions/macos-code-sign/codex.entitlements.plist\", \".github/actions/macos-code-sign/notary_helpers.sh\", \".github/actions/prepare-bazel-ci/action.yml\", \".github/actions/run-argument-comment-lint/action.yml\", \".github/actions/setup-bazel-ci/action.yml\", \".github/actions/setup-msvc-env/action.yml\", \".github/actions/setup-msvc-env/setup-msvc-env.ps1\", \".github/actions/setup-rusty-v8/action.yml\", \".github/actions/windows-code-sign/action.yml\", \".github/blob-size-allowlist.txt\", \".github/codex-cli-splash.png\", \".github/codex/home/config.toml\", \".github/codex/labels/codex-attempt.md\", \".github/codex/labels/codex-review.md\", \".github/codex/labels/codex-rust-review.md\", \".github/codex/labels/codex-triage.md\"], \"token\": \"AGENTFS_TOKEN\"}, \"total_seconds\": 0.7797765090072062}\n",
+ "timed_out": false
+ },
+ "workload": {
+ "branch_status": "## agentfs-benchmark\n",
+ "diff": {
+ "changed_file_count": 8,
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.07674850200419314,
+ "patch_bytes": 3282,
+ "patch_sha256": "51047bac747cb8ecfc865389e9d869d68bf5e0506710e02d42c98c029d61d3bc",
+ "runs": {
+ "name_only": {
+ "argv": [
+ "git",
+ "diff",
+ "--name-only",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-9hklcrln/native/work",
+ "duration_seconds": 0.0273932860000059,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 144,
+ "stdout_tail": "docs/CLA.md\ndocs/agents_md.md\ndocs/authentication.md\ndocs/config.md\ndocs/contributing.md\ndocs/example-config.md\ndocs/exec.md\ndocs/execpolicy.md\n"
+ },
+ "patch": {
+ "argv": [
+ "git",
+ "diff",
+ "--",
+ "."
+ ],
+ "cwd": "/tmp/agentfs-git-workload-9hklcrln/native/work",
+ "duration_seconds": 0.025796036992687732,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 3282,
+ "stdout_tail": "diff --git a/docs/CLA.md b/docs/CLA.md\nindex 804f202..3495ac9 100644\n--- a/docs/CLA.md\n+++ b/docs/CLA.md\n@@ -47,3 +47,5 @@ entity under this CLA terminate.\n This Agreement is governed by the laws of the **State of California**, USA,\n excluding its conflict\u2011of\u2011laws rules. If any provision is held unenforceable,\n the remaining provisions remain in force.\n+\n+AgentFS Git benchmark edit 00 for docs/CLA.md\ndiff --git a/docs/agents_md.md b/docs/agents_md.md\nindex 3df0fac..b8b063d 100644\n--- a/docs/agents_md.md\n+++ b/docs/agents_md.md\n@@ -5,3 +5,5 @@ For information about AGENTS.md, see [this documentation](https://developers.ope\n ## Hierarchical agents message\n \n When the `child_agents_md` feature flag is enabled (via `[features]` in `config.toml`), Codex appends additional guidance about AGENTS.md scope and precedence to the user instructions message and emits that message even when no AGENTS.md is present.\n+\n+AgentFS Git benchmark edit 01 for docs/agents_md.md\ndiff --git a/docs/authentication.md b/docs/authentication.md\nindex c307349..b3bc9dc 100644\n--- a/docs/authentication.md\n+++ b/docs/authentication.md\n@@ -1,3 +1,5 @@\n # Authentication\n \n For information about Codex CLI authentication, see [this documentation](https://developers.openai.com/codex/auth).\n+\n+AgentFS Git benchmark edit 02 for docs/authentication.md\ndiff --git a/docs/config.md b/docs/config.md\nindex d35b0a8..030e278 100644\n--- a/docs/config.md\n+++ b/docs/config.md\n@@ -13,3 +13,5 @@ Admins can set top-level `allow_managed_hooks_only = true` in\n still allowing managed hooks from requirements and managed config layers. This\n setting is only supported in `requirements.toml`; putting it in `config.toml`\n does not enable managed-hooks-only mode.\n+\n+AgentFS Git benchmark edit 03 for docs/config.md\ndiff --git a/docs/contributing.md b/docs/contributing.md\nindex aeae1f1..b5a22ac 100644\n--- a/docs/contributing.md\n+++ b/docs/contributing.md\n@@ -95,3 +95,5 @@ No special Git commands, email attachments, or commit footers required.\n ### Security & responsible AI\n \n Have you discovered a vulnerability or have concerns about model output? Please e-mail **security@openai.com** and we will respond promptly.\n+\n+AgentFS Git benchmark edit 04 for docs/contributing.md\ndiff --git a/docs/example-config.md b/docs/example-config.md\nindex 84b1143..b09f835 100644\n--- a/docs/example-config.md\n+++ b/docs/example-config.md\n@@ -1,3 +1,5 @@\n # Sample configuration\n \n For a sample configuration file, see [this documentation](https://developers.openai.com/codex/config-sample).\n+\n+AgentFS Git benchmark edit 05 for docs/example-config.md\ndiff --git a/docs/exec.md b/docs/exec.md\nindex 57e4323..a81da98 100644\n--- a/docs/exec.md\n+++ b/docs/exec.md\n@@ -1,3 +1,5 @@\n # Non-interactive mode\n \n For information about non-interactive mode, see [this documentation](https://developers.openai.com/codex/noninteractive).\n+\n+AgentFS Git benchmark edit 06 for docs/exec.md\ndiff --git a/docs/execpolicy.md b/docs/execpolicy.md\nindex cafebb3..3b48afe 100644\n--- a/docs/execpolicy.md\n+++ b/docs/execpolicy.md\n@@ -1,3 +1,5 @@\n # Execution policy\n \n For an overview of execution policy rules, see [this documentation](https://developers.openai.com/codex/exec-policy).\n+\n+AgentFS Git benchmark edit 07 for docs/execpolicy.md\n"
+ },
+ "stat": {
+ "argv": [
+ "git",
+ "diff",
+ "--stat",
+ "--"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-9hklcrln/native/work",
+ "duration_seconds": 0.023508051002863795,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 283,
+ "stdout_tail": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ }
+ },
+ "stat_stdout": " docs/CLA.md | 2 ++\n docs/agents_md.md | 2 ++\n docs/authentication.md | 2 ++\n docs/config.md | 2 ++\n docs/contributing.md | 2 ++\n docs/example-config.md | 2 ++\n docs/exec.md | 2 ++\n docs/execpolicy.md | 2 ++\n 8 files changed, 16 insertions(+)\n"
+ },
+ "edits": {
+ "changed_files": [
+ "docs/CLA.md",
+ "docs/agents_md.md",
+ "docs/authentication.md",
+ "docs/config.md",
+ "docs/contributing.md",
+ "docs/example-config.md",
+ "docs/exec.md",
+ "docs/execpolicy.md"
+ ],
+ "duration_seconds": 0.0005141409928910434,
+ "edits": [
+ {
+ "appended_bytes": 47,
+ "path": "docs/CLA.md",
+ "size_after": 2106,
+ "size_before": 2059
+ },
+ {
+ "appended_bytes": 53,
+ "path": "docs/agents_md.md",
+ "size_after": 462,
+ "size_before": 409
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/authentication.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 50,
+ "path": "docs/config.md",
+ "size_after": 776,
+ "size_before": 726
+ },
+ {
+ "appended_bytes": 56,
+ "path": "docs/contributing.md",
+ "size_after": 6380,
+ "size_before": 6324
+ },
+ {
+ "appended_bytes": 58,
+ "path": "docs/example-config.md",
+ "size_after": 192,
+ "size_before": 134
+ },
+ {
+ "appended_bytes": 48,
+ "path": "docs/exec.md",
+ "size_after": 194,
+ "size_before": 146
+ },
+ {
+ "appended_bytes": 54,
+ "path": "docs/execpolicy.md",
+ "size_after": 192,
+ "size_before": 138
+ }
+ ]
+ },
+ "fsck": {
+ "ok": true,
+ "ran": true,
+ "run": {
+ "argv": [
+ "git",
+ "fsck",
+ "--strict"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-9hklcrln/native/work",
+ "duration_seconds": 0.22372002599877305,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ },
+ "head_commit": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "initial_status": "",
+ "phase_runs": {
+ "checkout": {
+ "argv": [
+ "git",
+ "checkout",
+ "-B",
+ "agentfs-benchmark"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-9hklcrln/native/work",
+ "duration_seconds": 0.08481002900225576,
+ "returncode": 0,
+ "stderr_bytes": 45,
+ "stderr_tail": "Switched to a new branch 'agentfs-benchmark'\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "clone": {
+ "argv": [
+ "git",
+ "clone",
+ "--local",
+ "--no-hardlinks",
+ "/tmp/agentfs-git-workload-9hklcrln/native/mirror.git",
+ "/tmp/agentfs-git-workload-9hklcrln/native/work"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-9hklcrln/native",
+ "duration_seconds": 0.316977031994611,
+ "returncode": 0,
+ "stderr_bytes": 149,
+ "stderr_tail": "Cloning into '/tmp/agentfs-git-workload-9hklcrln/native/work'...\nwarning: source repository is shallow, ignoring --local\nwarning: --local is ignored\n",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ },
+ "status": {
+ "branch": {
+ "argv": [
+ "git",
+ "status",
+ "--short",
+ "--branch"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-9hklcrln/native/work",
+ "duration_seconds": 0.03448833899165038,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 21,
+ "stdout_tail": "## agentfs-benchmark\n"
+ },
+ "short": {
+ "argv": [
+ "git",
+ "status",
+ "--short"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-9hklcrln/native/work",
+ "duration_seconds": 0.03360859600070398,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 0,
+ "stdout_tail": ""
+ }
+ }
+ },
+ "phase_seconds": {
+ "checkout": 0.08743785601109266,
+ "clone": 0.3170567549968837,
+ "diff": 0.07674850200419314,
+ "edit": 0.0005141409928910434,
+ "fsck": 0.22373121700366028,
+ "read_search": 0.005972436993033625,
+ "status": 0.06812123001145665
+ },
+ "profile_checkpoints": [
+ "clone",
+ "checkout",
+ "status",
+ "read_search",
+ "edit",
+ "diff",
+ "fsck"
+ ],
+ "read_search": {
+ "bytes_read": 117190,
+ "digest": "6f4250781bcbc29fbb5cd6163f592bd1af1fe3bde784f25fb47d039ca363bb53",
+ "files_scanned": 64,
+ "files_total": 4644,
+ "ls_files_run": {
+ "argv": [
+ "git",
+ "ls-files",
+ "-z"
+ ],
+ "cwd": "/tmp/agentfs-git-workload-9hklcrln/native/work",
+ "duration_seconds": 0.0035966400027973577,
+ "returncode": 0,
+ "stderr_bytes": 0,
+ "stderr_tail": "",
+ "stdout_bytes": 263077,
+ "stdout_tail": "i_codex/api.py\u0000sdk/python/src/openai_codex/async_client.py\u0000sdk/python/src/openai_codex/client.py\u0000sdk/python/src/openai_codex/errors.py\u0000sdk/python/src/openai_codex/generated/__init__.py\u0000sdk/python/src/openai_codex/generated/notification_registry.py\u0000sdk/python/src/openai_codex/generated/v2_all.py\u0000sdk/python/src/openai_codex/models.py\u0000sdk/python/src/openai_codex/py.typed\u0000sdk/python/src/openai_codex/retry.py\u0000sdk/python/src/openai_codex/types.py\u0000sdk/python/tests/app_server_harness.py\u0000sdk/python/tests/app_server_helpers.py\u0000sdk/python/tests/conftest.py\u0000sdk/python/tests/test_app_server_approvals.py\u0000sdk/python/tests/test_app_server_inputs.py\u0000sdk/python/tests/test_app_server_lifecycle.py\u0000sdk/python/tests/test_app_server_login.py\u0000sdk/python/tests/test_app_server_run.py\u0000sdk/python/tests/test_app_server_streaming.py\u0000sdk/python/tests/test_app_server_turn_controls.py\u0000sdk/python/tests/test_artifact_workflow_and_binaries.py\u0000sdk/python/tests/test_async_client_behavior.py\u0000sdk/python/tests/test_client_rpc_methods.py\u0000sdk/python/tests/test_contract_generation.py\u0000sdk/python/tests/test_public_api_runtime_behavior.py\u0000sdk/python/tests/test_public_api_signatures.py\u0000sdk/python/tests/test_real_app_server_integration.py\u0000sdk/python/uv.lock\u0000sdk/typescript/.prettierignore\u0000sdk/typescript/.prettierrc\u0000sdk/typescript/README.md\u0000sdk/typescript/eslint.config.js\u0000sdk/typescript/jest.config.cjs\u0000sdk/typescript/package.json\u0000sdk/typescript/samples/basic_streaming.ts\u0000sdk/typescript/samples/helpers.ts\u0000sdk/typescript/samples/structured_output.ts\u0000sdk/typescript/samples/structured_output_zod.ts\u0000sdk/typescript/src/codex.ts\u0000sdk/typescript/src/codexOptions.ts\u0000sdk/typescript/src/events.ts\u0000sdk/typescript/src/exec.ts\u0000sdk/typescript/src/index.ts\u0000sdk/typescript/src/items.ts\u0000sdk/typescript/src/outputSchemaFile.ts\u0000sdk/typescript/src/thread.ts\u0000sdk/typescript/src/threadOptions.ts\u0000sdk/typescript/src/turnOptions.ts\u0000sdk/typescript/tests/abort.test.ts\u0000sdk/typescript/tests/codexExecSpy.ts\u0000sdk/typescript/tests/exec.test.ts\u0000sdk/typescript/tests/responsesProxy.ts\u0000sdk/typescript/tests/run.test.ts\u0000sdk/typescript/tests/runStreamed.test.ts\u0000sdk/typescript/tests/setupCodexHome.ts\u0000sdk/typescript/tests/testCodex.ts\u0000sdk/typescript/tsconfig.json\u0000sdk/typescript/tsup.config.ts\u0000third_party/v8/BUILD.bazel\u0000third_party/v8/README.md\u0000third_party/v8/libcxx.BUILD.bazel\u0000third_party/v8/libcxx_config/BUILD.bazel\u0000third_party/v8/libcxx_config/__assertion_handler\u0000third_party/v8/libcxx_config/__config_site\u0000third_party/v8/libcxxabi.BUILD.bazel\u0000third_party/v8/llvm_libc.BUILD.bazel\u0000third_party/v8/rusty_v8_147_4_0.sha256\u0000third_party/v8/v8_crate.BUILD.bazel\u0000third_party/wezterm/LICENSE\u0000tools/argument-comment-lint/.cargo/config.toml\u0000tools/argument-comment-lint/.gitignore\u0000tools/argument-comment-lint/BUILD.bazel\u0000tools/argument-comment-lint/Cargo.lock\u0000tools/argument-comment-lint/Cargo.toml\u0000tools/argument-comment-lint/README.md\u0000tools/argument-comment-lint/argument-comment-lint\u0000tools/argument-comment-lint/driver.rs\u0000tools/argument-comment-lint/lint_aspect.bzl\u0000tools/argument-comment-lint/list-bazel-targets.sh\u0000tools/argument-comment-lint/run-prebuilt-linter.py\u0000tools/argument-comment-lint/run.py\u0000tools/argument-comment-lint/rust-toolchain\u0000tools/argument-comment-lint/src/bin/argument-comment-lint.rs\u0000tools/argument-comment-lint/src/comment_parser.rs\u0000tools/argument-comment-lint/src/lib.rs\u0000tools/argument-comment-lint/test_wrapper_common.py\u0000tools/argument-comment-lint/ui/allow_char_literals.rs\u0000tools/argument-comment-lint/ui/allow_string_literals.rs\u0000tools/argument-comment-lint/ui/comment_matches.rs\u0000tools/argument-comment-lint/ui/comment_matches_multiline.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.rs\u0000tools/argument-comment-lint/ui/comment_mismatch.stderr\u0000tools/argument-comment-lint/ui/ignore_external_methods.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.rs\u0000tools/argument-comment-lint/ui/uncommented_literal.stderr\u0000tools/argument-comment-lint/wrapper_common.py\u0000workspace_root_test_launcher.bat.tpl\u0000workspace_root_test_launcher.sh.tpl\u0000"
+ },
+ "matches": 0,
+ "selected_files": [
+ ".bazelignore",
+ ".bazelrc",
+ ".bazelversion",
+ ".codespellignore",
+ ".codespellrc",
+ ".codex/environments/environment.toml",
+ ".codex/skills/babysit-pr/SKILL.md",
+ ".codex/skills/babysit-pr/agents/openai.yaml",
+ ".codex/skills/babysit-pr/references/github-api-notes.md",
+ ".codex/skills/babysit-pr/references/heuristics.md",
+ ".codex/skills/babysit-pr/scripts/gh_pr_watch.py",
+ ".codex/skills/babysit-pr/scripts/test_gh_pr_watch.py",
+ ".codex/skills/code-review-breaking-changes/SKILL.md",
+ ".codex/skills/code-review-change-size/SKILL.md",
+ ".codex/skills/code-review-context/SKILL.md",
+ ".codex/skills/code-review-testing/SKILL.md",
+ ".codex/skills/code-review/SKILL.md",
+ ".codex/skills/codex-bug/SKILL.md",
+ ".codex/skills/codex-issue-digest/SKILL.md",
+ ".codex/skills/codex-issue-digest/agents/openai.yaml",
+ ".codex/skills/codex-issue-digest/scripts/collect_issue_digest.py",
+ ".codex/skills/codex-issue-digest/scripts/test_collect_issue_digest.py",
+ ".codex/skills/codex-pr-body/SKILL.md",
+ ".codex/skills/remote-tests/SKILL.md",
+ ".codex/skills/test-tui/SKILL.md",
+ ".codex/skills/update-v8-version/SKILL.md",
+ ".codex/skills/update-v8-version/agents/openai.yaml",
+ ".devcontainer/Dockerfile",
+ ".devcontainer/Dockerfile.secure",
+ ".devcontainer/README.md",
+ ".devcontainer/codex-install/package.json",
+ ".devcontainer/codex-install/pnpm-lock.yaml",
+ ".devcontainer/codex-install/pnpm-workspace.yaml",
+ ".devcontainer/devcontainer.json",
+ ".devcontainer/devcontainer.secure.json",
+ ".devcontainer/init-firewall.sh",
+ ".devcontainer/post-start.sh",
+ ".devcontainer/post_install.py",
+ ".gitattributes",
+ ".github/CODEOWNERS",
+ ".github/ISSUE_TEMPLATE/1-codex-app.yml",
+ ".github/ISSUE_TEMPLATE/2-extension.yml",
+ ".github/ISSUE_TEMPLATE/3-cli.yml",
+ ".github/ISSUE_TEMPLATE/4-bug-report.yml",
+ ".github/ISSUE_TEMPLATE/5-feature-request.yml",
+ ".github/ISSUE_TEMPLATE/6-docs-issue.yml",
+ ".github/actions/linux-code-sign/action.yml",
+ ".github/actions/macos-code-sign/action.yml",
+ ".github/actions/macos-code-sign/codex.entitlements.plist",
+ ".github/actions/macos-code-sign/notary_helpers.sh",
+ ".github/actions/prepare-bazel-ci/action.yml",
+ ".github/actions/run-argument-comment-lint/action.yml",
+ ".github/actions/setup-bazel-ci/action.yml",
+ ".github/actions/setup-msvc-env/action.yml",
+ ".github/actions/setup-msvc-env/setup-msvc-env.ps1",
+ ".github/actions/setup-rusty-v8/action.yml",
+ ".github/actions/windows-code-sign/action.yml",
+ ".github/blob-size-allowlist.txt",
+ ".github/codex-cli-splash.png",
+ ".github/codex/home/config.toml",
+ ".github/codex/labels/codex-attempt.md",
+ ".github/codex/labels/codex-review.md",
+ ".github/codex/labels/codex-rust-review.md",
+ ".github/codex/labels/codex-triage.md"
+ ],
+ "token": "AGENTFS_TOKEN"
+ },
+ "total_seconds": 0.7797765090072062
+ }
+ },
+ "parameters": {
+ "edit_files": 8,
+ "fixture_dirs": 8,
+ "fixture_file_size_bytes": 1024,
+ "fixture_files": 96,
+ "read_bytes": 4096,
+ "read_files": 64,
+ "search_token": "AGENTFS_TOKEN",
+ "skip_fsck": false,
+ "timeout_seconds": 180.0
+ },
+ "schema_version": 1,
+ "source": {
+ "kind": "source",
+ "mirror_head": "7d47056ea42636271ac020b86347fbbef49490aa",
+ "path": "/home/ain3sh/factory/vfs/.agents/benchmarks/fixtures/codex"
+ },
+ "summary": {
+ "agentfs_base_unchanged": true,
+ "agentfs_seconds": 4.599304073009989,
+ "all_equivalent": true,
+ "correctness_passed": true,
+ "native_seconds": 0.7797765090072062,
+ "passed": true,
+ "performance_passed": false,
+ "phase_ratios": {
+ "checkout": {
+ "agentfs_seconds": 0.07745447699562646,
+ "native_seconds": 0.08743785601109266,
+ "ratio": 0.8858231494811621
+ },
+ "clone": {
+ "agentfs_seconds": 3.4368674799916334,
+ "native_seconds": 0.3170567549968837,
+ "ratio": 10.839912494611301
+ },
+ "diff": {
+ "agentfs_seconds": 0.019882690990925767,
+ "native_seconds": 0.07674850200419314,
+ "ratio": 0.259062919427919
+ },
+ "edit": {
+ "agentfs_seconds": 0.005307429004460573,
+ "native_seconds": 0.0005141409928910434,
+ "ratio": 10.322905735674965
+ },
+ "fsck": {
+ "agentfs_seconds": 0.22111140200286172,
+ "native_seconds": 0.22373121700366028,
+ "ratio": 0.9882903466226812
+ },
+ "read_search": {
+ "agentfs_seconds": 0.009250258008250967,
+ "native_seconds": 0.005972436993033625,
+ "ratio": 1.5488247124315686
+ },
+ "status": {
+ "agentfs_seconds": 0.1286685150116682,
+ "native_seconds": 0.06812123001145665,
+ "ratio": 1.8888166727175757
+ }
+ },
+ "ratio": 5.898233686041298,
+ "threshold_failures": [
+ {
+ "agentfs_seconds": 3.4368674799916334,
+ "native_seconds": 0.3170567549968837,
+ "phase": "clone",
+ "ratio": 10.839912494611301
+ },
+ {
+ "agentfs_seconds": 0.005307429004460573,
+ "native_seconds": 0.0005141409928910434,
+ "phase": "edit",
+ "ratio": 10.322905735674965
+ }
+ ]
+ },
+ "temp_dir": "/tmp/agentfs-git-workload-9hklcrln"
+}
diff --git a/.agents/benchmarks/restructure-baseline/provenance-post-m3.md b/.agents/benchmarks/restructure-baseline/provenance-post-m3.md
new file mode 100644
index 00000000..de5eec3d
--- /dev/null
+++ b/.agents/benchmarks/restructure-baseline/provenance-post-m3.md
@@ -0,0 +1,82 @@
+# Post-M3 Benchmark Rebaseline Provenance
+
+This file records the orchestrator-approved rebaseline for
+`.agents/benchmarks/restructure-baseline/medians.json`.
+
+## Artifact changes
+
+- Archived M1 medians: `.agents/benchmarks/restructure-baseline/medians-m1.json`
+- New active medians: `.agents/benchmarks/restructure-baseline/medians.json`
+- New active raw iterations: `.agents/benchmarks/restructure-baseline/medians-post-m3.json.iterations/`
+- Original M1 raw iterations remain in place at `.agents/benchmarks/restructure-baseline/medians.json.iterations/`
+
+## Provenance
+
+| Field | Value |
+| --- | --- |
+| Repository | `/home/ain3sh/factory/vfs` |
+| Branch | `dev` |
+| Commit | `2b811f03493e861e5a7786592d25ac73b39e1aba` |
+| Produced at | `2026-07-04T01:14:37Z` |
+| Fixture | `.agents/benchmarks/fixtures/codex` |
+| AgentFS binary | `/home/ain3sh/factory/vfs/target/release/agentfs` |
+| Build command | `cargo +nightly build --release --workspace --bins` |
+| Benchmark command | `python3 scripts/validation/git-workload-benchmark-multi.py --label misc-a-rebaseline-run3 --iterations 5 --warmup 1 --agentfs-bin "$PWD/target/release/agentfs" --output /tmp/vfs-val/misc-a-bench-rebaseline/run3.json --keep-iterations --source .agents/benchmarks/fixtures/codex --read-files 64 --read-bytes 4096 --edit-files 8` |
+
+## Cached sentinel binary
+
+`bin/agentfs` is a prebuilt baseline-code sentinel binary for future BENCH
+features that need an ambient-drift check. It was built from the same recorded
+baseline commit, `2b811f03493e861e5a7786592d25ac73b39e1aba`, with:
+
+```bash
+git worktree add --detach /tmp/vfs-restructure-baseline-bin. 2b811f03493e861e5a7786592d25ac73b39e1aba
+CARGO_TARGET_DIR=/home/ain3sh/factory/vfs/target \
+ cargo +nightly build --release --workspace --bins \
+ --manifest-path /tmp/vfs-restructure-baseline-bin./Cargo.toml
+install -m 0755 /home/ain3sh/factory/vfs/target/release/agentfs \
+ /home/ain3sh/factory/vfs/.agents/benchmarks/restructure-baseline/bin/agentfs
+```
+
+The cached binary reports `agentfs v0.6.4-107-g2b811f0`. Its SHA-256 is:
+
+```text
+3062585011a5a58da5b92781b808c58856be81125ee073b972513c4e4a3c0e53 .agents/benchmarks/restructure-baseline/bin/agentfs
+```
+
+## Load and hygiene checks
+
+All benchmark runs were serialized. Before each run, the worker checked load,
+CPU count, active AgentFS mounts, and active AgentFS processes. Runs would have
+aborted if the 1-minute load exceeded `2 * cores`.
+
+| Run | UTC start | Load average | Cores | Threshold | Result |
+| --- | --- | ---: | ---: | ---: | --- |
+| `run1` | `2026-07-04T01:10:45Z` | `8.00 6.23 6.32` | 14 | 28 | Completed, used as confirmation |
+| `run2` | `2026-07-04T01:11:59Z` | `5.67 5.89 6.19` | 14 | 28 | Completed, discarded because it did not agree with `run1` or `run3` within band |
+| `run3` | `2026-07-04T01:13:29Z` | `4.98 5.63 6.07` | 14 | 28 | Completed, recorded as the new active baseline |
+
+## Agreement checks
+
+The accepted pair is `run1` and `run3`. They agree within the perf-contract band
+in both comparison directions:
+
+- `bench-compare.py run1.json run3.json`: 0 red phases
+- `bench-compare.py run3.json run1.json`: 0 red phases
+
+After writing `run3` to `medians.json`, the active baseline was compared against
+the current-HEAD confirmation run:
+
+- `bench-compare.py .agents/benchmarks/restructure-baseline/medians.json /tmp/vfs-val/misc-a-bench-rebaseline/run1.json`: 0 red phases
+
+## Recorded active medians
+
+| Phase | AgentFS median |
+| --- | ---: |
+| checkout | `56.7ms` |
+| clone | `2800.9ms` |
+| diff | `65.6ms` |
+| edit | `5.0ms` |
+| fsck | `215.0ms` |
+| read_search | `8.8ms` |
+| status | `178.0ms` |
diff --git a/.agents/kernel/UPSTREAM-SUBMISSION.md b/.agents/kernel/UPSTREAM-SUBMISSION.md
new file mode 100644
index 00000000..a9790cbb
--- /dev/null
+++ b/.agents/kernel/UPSTREAM-SUBMISSION.md
@@ -0,0 +1,149 @@
+# FUSE STATX_BLOCKS flush-invalidation patch — upstream submission package
+
+Status: **VALIDATED, NOT YET SENT.** Everything below is what a future session
+needs to pick this up and mail it to the maintainers. The only missing pieces
+are the author's `Signed-off-by:` (DCO, must be added by the human author) and
+the actual send.
+
+## The problem
+
+Under `writeback_cache`, `fuse_flush()` invalidates cached `STATX_BLOCKS` on
+**every** `close(2)`, unconditionally — including read-only fds, and even when
+`no_flush` is latched (the ENOSYS shortcut jumps to the same `inval_attr_out`
+label). Since plain `stat(2)` requests the basic mask, which includes
+`STATX_BLOCKS`, every stat-after-close forces a synchronous `FUSE_GETATTR`
+round trip that `attr_timeout` was supposed to elide.
+
+Read-mostly workloads with open/read/close/stat patterns (build systems,
+`git status`-style scanners) pay one GETATTR per file per cycle regardless of
+the attribute timeout. For AgentFS this is the dominant residual on the warm
+read path (measured ~2.1-2.4x native; stat-only variant runs at 1.3us/cycle
+while stat+open/close runs at 12.1us/cycle with 32x the GETATTR traffic —
+see the variant matrix in
+`.agents/specs/2026-06-12-enosys-open-*.notes.md`, 2026-07-03 entries).
+
+## History (cite these in any discussion)
+
+- `cf576c58b3a2` ("fuse: invalidate inode attr in writeback cache mode",
+ v5.8, 2020): added the invalidation because `du` read `st_blocks == 0`
+ after a buffered write — i_blocks is never maintained by the kernel under
+ writeback cache, so flush-time invalidation forces a fresh GETATTR.
+- `fa5eee57e33e` ("fuse: selective attribute invalidation", v5.16, Miklos):
+ narrowed the invalidation from full attrs to `STATX_BLOCKS` only.
+- Nobody ever made it conditional on writes actually having happened.
+
+## The fix (17 lines)
+
+Key insight that makes the patch small: **i_blocks can only go stale through
+the page cache.** Every other write path — direct I/O, writethrough,
+`copy_file_range`, `fallocate` — already invalidates at write time via
+`fuse_write_update_attr()` (`FUSE_STATX_MODSIZE` includes `STATX_BLOCKS`,
+see `fs/fuse/fuse_i.h`). Page-cache dirtying has exactly two entry points:
+
+1. the iomap buffered-write branch of `fuse_cache_write_iter()` (the
+ `writeback` path), and
+2. `fuse_page_mkwrite()` (mmap).
+
+So: add a `FUSE_I_BLOCKS_DIRTY` inode state bit, set it at those two sites,
+and gate the `fuse_flush()` invalidation on `test_and_clear_bit()`.
+
+Why a per-inode bit and not `file->f_mode & FMODE_WRITE`: `fuse_flush()`
+calls `write_inode_now()` unconditionally, so a read-only fd's close can
+write back dirty pages produced through a *different* fd. The per-inode bit
+handles that correctly (the writer's dirtying set the bit; whoever flushes
+first invalidates and clears); an FMODE_WRITE gate would skip it.
+
+The motivating `du` case from cf576c58b3a2 is unaffected: a buffered write
+sets the bit, so the writer's close still invalidates.
+
+## Artifacts
+
+- `0001-fuse-only-invalidate-STATX_BLOCKS-on-flush-if-pages-were-dirtied.patch`
+ (this directory) — format-patch output of kernel commit `85a047f20045`,
+ branch `fuse-blocks-dirty` in `~/src/linux` (shallow mainline clone, base
+ `51512e22e` / 7.2.0-rc1). If that tree is gone, `git am` the patch file
+ onto any recent mainline; it applies to the post-iomap-conversion
+ `fuse_cache_write_iter()`.
+- `readpath-micro.py` (this directory) — the guest micro: 32 files x 32
+ iterations of stat+open/read/close (the storm), plus two correctness
+ assertions (st_blocks fresh after a 1MB buffered write and after an 8KB
+ mmap write through page_mkwrite).
+
+## Validation (2026-07-03, virtme-ng 1.41, mainline 7.2.0-rc1, same tree +- patch)
+
+Guest: `vng --cpus 8 -m 4G`, config fragment `CONFIG_FUSE_FS=y`,
+`CONFIG_FUSE_IO_URING=y`, `CONFIG_FUSE_PASSTHROUGH=y`. Workload: agentfs
+(FUSE, writeback_cache, attr_timeout=10s) running `readpath-micro.py` with
+`AGENTFS_PROFILE=1`, GETATTR counts from the profile summary.
+
+| metric | unpatched | patched |
+|---------------------------|-----------|---------|
+| storm cycle time | 18.72us | 8.51us (2.2x) |
+| FUSE_GETATTR count | 1095 | 70 (15.6x fewer) |
+| st_blocks after 1MB write | 2048 ok | 2048 ok |
+| st_blocks after mmap write| 16 ok | 16 ok |
+
+Repro procedure end to end:
+
+```sh
+# host, in the kernel tree
+vng -b -f fuse.config # build (needs bc in PATH)
+vng --cpus 8 -m 4G -- bash ab-guest.sh # boot + run micro, note counts
+git am 0001-fuse-*.patch # or checkout fuse-blocks-dirty
+vng -b -f fuse.config # incremental rebuild (~2 min)
+vng --cpus 8 -m 4G -- bash ab-guest.sh # compare
+```
+
+where `ab-guest.sh` mounts an agentfs db in the guest's tmpfs /tmp and runs
+`AGENTFS_PROFILE=1 agentfs exec g.db python3 -- readpath-micro.py`, then
+greps `fuse_op_getattr_count` from the profile summary on stderr.
+
+A reproducer independent of agentfs (if maintainers ask): any libfuse
+filesystem with writeback cache enabled (e.g. `passthrough_hp --o writeback`)
+plus the same stat+open/read/close loop; count GETATTRs server-side.
+
+## checkpatch status
+
+`./scripts/checkpatch.pl --git HEAD`: clean except
+1. `Missing Signed-off-by` — intentional, the author must add their own DCO
+ line (`git commit --amend -s` as the author identity), and
+2. two "Unknown commit id" warnings for cf576c58b3a2 / fa5eee57e33e — false
+ positives from the shallow clone (depth 1); they resolve in a full clone.
+
+## Routing (from `./scripts/get_maintainer.pl`)
+
+- To: Miklos Szeredi (maintainer, FUSE FILESYSTEM CORE)
+- Cc: fuse-devel@lists.linux.dev (fuse list)
+- Cc: linux-kernel@vger.kernel.org
+- Optionally Cc: linux-fsdevel@vger.kernel.org (VFS-adjacent attr caching)
+
+Target tree: Miklos' fuse.git `for-next`
+(git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git). Rebase the
+patch there before sending; conflicts are unlikely (the touched hunks are
+stable), but the iomap write path is recent, so confirm
+`fuse_cache_write_iter()` still has the `writeback` branch.
+
+## Remaining steps to actually send (in order)
+
+1. Decide author identity (patch currently authored as
+ `ain3sh `; a real full name is expected for
+ DCO — amend author + add matching `Signed-off-by`).
+2. Rebase onto current fuse.git for-next; re-run checkpatch; re-run the vng
+ A/B if the surrounding code moved.
+3. Send: `git send-email --to='Miklos Szeredi '
+ --cc=fuse-devel@lists.linux.dev --cc=linux-kernel@vger.kernel.org
+ 0001-*.patch` (or `b4 send` if b4 is configured). Plain patch mail, no
+ cover letter needed for a single patch — the changelog carries the
+ argument. Expect review feedback on (a) whether a state bit vs an
+ FMODE_WRITE check is preferred, and (b) whether the bit should also be
+ set in the writethrough path for belt-and-braces (argue: not needed,
+ fuse_write_update_attr already invalidates there).
+4. Watch https://lore.kernel.org/fuse-devel/ for replies.
+
+## Why we care (impact on this repo, for the eventual v2/benchmarks section)
+
+With this patch, agentfs' warm read path drops toward the persistent-fd
+profile (stat-only measured 1.3us/cycle vs the 12.1us stat+open/close storm)
+and the edit phase loses its 2 forced GETATTRs per edit — the two remaining
+threshold misses that were classified "kernel floor" in
+`.agents/specs/2026-06-11-per-phase-1-5x-roadmap-*.md`.
diff --git a/.agents/kernel/ab-guest.sh b/.agents/kernel/ab-guest.sh
new file mode 100755
index 00000000..dddd7067
--- /dev/null
+++ b/.agents/kernel/ab-guest.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+# Runs inside the vng guest: mount agentfs, run the read-path micro, report
+# GETATTR counts from the profile summary.
+set -e
+BIN=/home/ain3sh/factory/vfs/cli/target/release/agentfs
+cd /tmp
+uname -r
+rm -f g.db && touch g.db
+AGENTFS_PROFILE=1 $BIN exec g.db python3 -- /home/ain3sh/src/guest-ab/readpath-micro.py 2>/tmp/prof.log
+python3 - <<'EOF'
+import json, re
+best = None
+for line in open('/tmp/prof.log'):
+ if 'agentfs_profile_summary' in line and 'fuse_session' in line:
+ m = re.search(r'\{.*\}', line)
+ if m:
+ best = json.loads(m.group(0))
+c = (best or {}).get('counters', best) or {}
+for op in ('getattr', 'open', 'flush', 'lookup'):
+ n = c.get(f'fuse_op_{op}_count', 0)
+ ns = c.get(f'fuse_op_{op}_nanos', 0)
+ print(f"fuse_{op}: count={n} total_ms={ns/1e6:.1f}")
+EOF
diff --git a/.agents/kernel/fuse.config b/.agents/kernel/fuse.config
new file mode 100644
index 00000000..e507be51
--- /dev/null
+++ b/.agents/kernel/fuse.config
@@ -0,0 +1,3 @@
+CONFIG_FUSE_FS=y
+CONFIG_FUSE_IO_URING=y
+CONFIG_FUSE_PASSTHROUGH=y
diff --git a/.claude/commands/generate-py-sdk.md b/.claude/commands/generate-py-sdk.md
deleted file mode 100644
index cd8bf4e5..00000000
--- a/.claude/commands/generate-py-sdk.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-allowed-tools: Bash(git commit:*), Bash(git add:*), Bash(git status:*), Bash(mkdir:*), Bash(uv:*), Read, Edit(sdk/python/**), Write(sdk/python/**), Edit(.github/workflows/python.yml), Write(.github/workflows/python.yml), Write(.github/workflows/release.yml), Edit(.github/workflows/release.yml)
-argument-hint: [ts-change-sha-commit]
-description: Generate Python SDK for agentfs based on the Typescript SDK
----
-
-## Dev rules
-
-- FRESH RULES from this file have higher priority than any other rules if they conflict
-- YOU MUST COMMIT your changes FREQUENTLY DURING the process with compact but informative message with the motivation for the change and its high level description
- - Don't hesitate to commit partial progress
-- USE `uv` with `--directory sdk/python` command in order to avoid `cd` to the subdirectory
-- ALWAYS USE pathes relative to the project root
-- DO NOT EVER `cd` into the directories - tool permissions will not be validated properly
-- USE ONLY SIMPLE "ls", "grep", "find", "cat" Bash commands and native Claude Code tools - otherwise permission will be blocked
-- DOCUMENT tricky and hacky moments in the code
-
-## Context
-
-- Last time, python sdk was updated based on the comment $1
-
- - If value is "unspecified" then regenerate SDK from scratch
- - If value is set - FOCUS on the diff between the current state and specified commit hash
- - The primary changes are in the Typescript SDK but changes outside of it also can contribute to the process
- - For example, command prompt in .claude directory influence process heavily
-
-- You must generate Python SDK with the API similar to the current Typescript SDK located at ../../sdk/typescript
-- The package name is `agentfs-sdk` and import path must be `agentfs_sdk`
-- You must transfer all tests from Typescript SDK to the Python
-- Use `turso.aio` python package which provide API similar to `aiosqlite`
-- Use simple setup with builtin uv ruff formatter
-- Use pytest for testing
-- Use ty for type checking
-- Maintain CI for linting and checking at .github/workflows/python.yml similar to the TS workflow at .github/workflows/typescript.yml
-- Maintain CI for publishing the Python package to the PyPI in the .github/workflows/release.yml
- - Use `PYPI_API_TOKEN` secret
-- In the agetnfs-sdk implementation always explicitly close cursor or use it as context manager
-- The SDK must work properly when CDC is enabled for tursodb: cover this scenario with additional test suite
- - Execute `PRAGMA unstable_capture_data_changes_conn('full')` pragma to enable CDC for connection
-
-```py
-class Connection:
- def __init__(self, connector: Callable[[], BlockingConnection]) -> None:
- async def close(self) -> None:
- def __await__(self):
- async def __aenter__(self) -> "Connection":
- async def __aexit__(self, exc_type, exc, tb) -> None:
- def cursor(self, factory: Optional[Callable[[BlockingConnection], BlockingCursor]] = None) -> "Cursor":
- async def execute(self, sql: str, parameters: Sequence[Any] | Mapping[str, Any] = ()) -> "Cursor":
- async def executemany(self, sql: str, parameters: Iterable[Sequence[Any] | Mapping[str, Any]]) -> "Cursor":
- async def executescript(self, sql_script: str) -> "Cursor":
- async def commit(self) -> None:
- async def rollback(self) -> None:
-class Cursor:
- async def close(self) -> None:
- # named parameters not supported at the moment
- async def execute(self, sql: str, parameters: Sequence[Any] | Mapping[str, Any] = ()) -> "Cursor":
- async def executemany(self, sql: str, parameters: Iterable[Sequence[Any] | Mapping[str, Any]]) -> "Cursor":
- async def executescript(self, sql_script: str) -> "Cursor":
- async def fetchone(self) -> Any:
- async def fetchmany(self, size: Optional[int] = None) -> list[Any]:
- async def fetchall(self) -> list[Any]:
- async def __aenter__(self) -> "Cursor":
- async def __aexit__(self, exc_type, exc, tb) -> None:
-
-# as Connection is awaitable - caller can use await connect(...)
-def connect(database: str) -> Connection:
-```
diff --git a/.claude/commands/refactor-py-sdk.md b/.claude/commands/refactor-py-sdk.md
deleted file mode 100644
index a27b5728..00000000
--- a/.claude/commands/refactor-py-sdk.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
-allowed-tools: Bash(git commit:*), Bash(git add:*), Bash(git status:*), Bash(mkdir:*), Bash(uv:*), Read, Edit(sdk/python/**), Write(sdk/python/**), Bash(grep:*), Bash(sed:*)
-argument-hint: [prompt]
-description: Command to refactor Python SDK
----
-
-## Dev rules
-
-- COMMIT your changes in the end with detailed message with the motivation of changes and traces of your actions
-- USE `uv` with `--directory sdk/python` command in order to avoid `cd` to the subdirectory
-- ALWAYS USE pathes relative to the project root
-- DO NOT EVER `cd` into the directories - tool permissions will not be validated properly
-- USE ONLY SIMPLE "ls", "grep", "find", "cat" Bash commands and native Claude Code tools - otherwise permission will be blocked
-- FORMAT AND TEST code with uv
-
-## Task
-
-$1
-
-## Context
-
-- You must refactor Python SDK with the API similar to the current Typescript SDK located at ../../sdk/typescript
-- The Python API should be similar to the Typescript one if possible - so inspect Typescript code before introducing any breaking change in the PUBLIC API
diff --git a/.github/workflows/build-setup.yml b/.github/workflows/build-setup.yml
deleted file mode 100644
index 739a7906..00000000
--- a/.github/workflows/build-setup.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-- name: Install system dependencies
- run: ./scripts/install-deps.sh
diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml
deleted file mode 100644
index b2ae2acb..00000000
--- a/.github/workflows/python.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-name: Python CI
-
-on:
- push:
- branches: [ main ]
- pull_request:
- branches: [ main ]
-
-jobs:
- test:
- name: Test
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- os: [ubuntu-latest, macos-latest]
- python-version: ["3.12", "3.13"]
- defaults:
- run:
- working-directory: sdk/python
- steps:
- - uses: actions/checkout@v4
-
- - name: Set up Python
- uses: actions/setup-python@v5
- with:
- python-version: ${{ matrix.python-version }}
-
- - name: Install uv
- uses: astral-sh/setup-uv@v5
- with:
- version: "latest"
-
- - name: Install dependencies
- run: uv sync
-
- - name: Run tests
- run: uv run pytest
-
- check:
- name: Check
- runs-on: ubuntu-latest
- defaults:
- run:
- working-directory: sdk/python
- steps:
- - uses: actions/checkout@v4
-
- - name: Set up Python
- uses: actions/setup-python@v5
- with:
- python-version: "3.12"
-
- - name: Install uv
- uses: astral-sh/setup-uv@v5
- with:
- version: "latest"
-
- - name: Install dependencies
- run: uv sync
-
- - name: Run linting
- run: uv run ruff check .
-
- - name: Run formatting check
- run: uv run ruff format --check .
-
- - name: Run type checking
- run: uv run ty check
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 0996a632..c63cdcb1 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -281,36 +281,6 @@ jobs:
gh release create "${{ needs.plan.outputs.tag }}" --target "$RELEASE_COMMIT" $PRERELEASE_FLAG --title "$ANNOUNCEMENT_TITLE" --notes-file "$RUNNER_TEMP/notes.txt" artifacts/*
- # Publish TypeScript SDK to npm
- publish-npm:
- needs:
- - plan
- - host
- if: ${{ needs.plan.outputs.publishing == 'true' && needs.host.result == 'success' }}
- runs-on: "ubuntu-22.04"
- steps:
- - uses: actions/checkout@v4
- with:
- persist-credentials: false
- submodules: recursive
- - name: Setup Node.js
- uses: actions/setup-node@v4
- with:
- node-version: '20'
- - name: Update npm
- run: npm install -g npm@11
- - name: Install dependencies
- working-directory: sdk/typescript
- run: npm install
- - name: Build SDK
- working-directory: sdk/typescript
- run: npm run build
- - name: Publish to npm
- working-directory: sdk/typescript
- env:
- TAG_FLAG: "${{ fromJson(needs.host.outputs.val).announcement_is_prerelease && '--tag next' || '' }}"
- run: npm publish --provenance --access public $TAG_FLAG
-
# Publish Rust SDK to crates.io
publish-cargo:
needs:
@@ -331,42 +301,13 @@ jobs:
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
- # Publish Python SDK to PyPI
- publish-pypi:
- needs:
- - plan
- - host
- if: ${{ needs.plan.outputs.publishing == 'true' && needs.host.result == 'success' }}
- runs-on: "ubuntu-22.04"
- env:
- UV_PUBLISH_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
- steps:
- - uses: actions/checkout@v4
- with:
- persist-credentials: false
- submodules: recursive
- - name: Install uv
- uses: astral-sh/setup-uv@v5
- with:
- enable-cache: true
- - name: Set up Python
- uses: actions/setup-python@v5
- with:
- python-version: "3.12"
- - name: Build package
- run: uv build --directory sdk/python
- - name: Publish to PyPI
- run: uv publish --directory sdk/python
-
announce:
needs:
- plan
- host
- - publish-npm
- publish-cargo
- - publish-pypi
# use "always() && ..." to allow us to wait for all publish jobs while
- # still allowing individual publish jobs to skip themselves (for prereleases).
+ # still allowing publish jobs to skip themselves (for prereleases).
# "host" however must run to completion, no skipping allowed!
if: ${{ always() && needs.host.result == 'success' }}
runs-on: "ubuntu-22.04"
diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml
index 1334166e..89453d5e 100644
--- a/.github/workflows/rust.yml
+++ b/.github/workflows/rust.yml
@@ -8,30 +8,27 @@ on:
env:
CARGO_TERM_COLOR: always
+ RUST_TOOLCHAIN: nightly-2026-05-08
jobs:
- test:
- name: Test (${{ matrix.os }}, ${{ matrix.project }})
+ workspace:
+ name: Workspace (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
matrix:
- os: [ubuntu-latest, macos-latest, windows-latest]
- project: [cli, sdk/rust]
- defaults:
- run:
- working-directory: ${{ matrix.project }}
+ os: [ubuntu-latest, macos-latest]
steps:
- uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@master
with:
- toolchain: nightly
+ toolchain: ${{ env.RUST_TOOLCHAIN }}
components: rustfmt, clippy
- name: Install system dependencies
- if: matrix.project == 'cli' && (matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest')
- run: ../scripts/install-deps.sh
+ if: matrix.os == 'ubuntu-latest'
+ run: ./scripts/install-deps.sh
- name: Cache cargo registry
uses: actions/cache@v4
@@ -48,40 +45,63 @@ jobs:
- name: Cache cargo build
uses: actions/cache@v4
with:
- path: ${{ matrix.project }}/target
- key: ${{ runner.os }}-cargo-build-target-${{ matrix.project }}-${{ hashFiles('**/Cargo.lock') }}
+ path: target
+ key: ${{ runner.os }}-cargo-build-target-workspace-${{ hashFiles('Cargo.lock') }}
- name: Check formatting
if: matrix.os == 'ubuntu-latest'
- run: cargo fmt -- --check
+ run: cargo +"$RUST_TOOLCHAIN" fmt --all -- --check
- name: Run clippy
- if: matrix.os == 'ubuntu-latest'
- run: cargo clippy -- -D warnings
+ run: cargo +"$RUST_TOOLCHAIN" clippy --workspace --all-targets -- -D warnings
- name: Build
- run: cargo build --verbose
+ run: cargo +"$RUST_TOOLCHAIN" build --workspace --verbose
- name: Run tests
- run: cargo test --verbose
+ run: cargo +"$RUST_TOOLCHAIN" test --workspace --verbose
+
+ milestone-gate:
+ name: Honest milestone gate
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Install Rust toolchain
+ uses: dtolnay/rust-toolchain@master
+ with:
+ toolchain: ${{ env.RUST_TOOLCHAIN }}
+ components: rustfmt, clippy
+
+ - name: Install system dependencies
+ run: ./scripts/install-deps.sh
- - name: Run integration tests
- if: matrix.project == 'cli' && matrix.os == 'ubuntu-latest'
- run: tests/all.sh
+ - name: Cache cargo registry
+ uses: actions/cache@v4
+ with:
+ path: ~/.cargo/registry
+ key: ${{ runner.os }}-cargo-registry-${{ hashFiles('Cargo.lock') }}
+
+ - name: Cache cargo index
+ uses: actions/cache@v4
+ with:
+ path: ~/.cargo/git
+ key: ${{ runner.os }}-cargo-index-${{ hashFiles('Cargo.lock') }}
+
+ - name: Cache cargo build
+ uses: actions/cache@v4
+ with:
+ path: target
+ key: ${{ runner.os }}-cargo-build-target-gate-${{ hashFiles('Cargo.lock') }}
- - name: Run workload replay smoke
- if: matrix.project == 'cli' && matrix.os == 'ubuntu-latest'
+ - name: Allow unprivileged user namespaces
run: |
- cat > /tmp/agentfs-replay-smoke.jsonl <<'EOF'
- {"op":"mkdir","path":"/app"}
- {"op":"write_file","path":"/app/hello.txt","content":"hello"}
- {"op":"read_file","path":"/app/hello.txt"}
- {"op":"stat","path":"/app/hello.txt"}
- EOF
- ../scripts/validation/replay/replay_workload.py --agentfs-bin target/debug/agentfs /tmp/agentfs-replay-smoke.jsonl
+ # Ubuntu 24.04 runner images gate unprivileged user namespaces behind
+ # AppArmor; without this the agentfs run suites SKIP and the strict
+ # gate goes red instead of exercising the sandbox for real.
+ sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
- name: Build pjdfstest
- if: matrix.project == 'cli' && matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y autoconf automake make gcc perl
@@ -91,61 +111,29 @@ jobs:
./configure
make pjdfstest
- - name: Check pjdfstest harness
- if: matrix.project == 'cli' && matrix.os == 'ubuntu-latest'
+ - name: Run shell and Python gate
+ env:
+ # The runner kernel ships FUSE-over-io_uring disabled
+ # (/sys/module/fuse/parameters/enable_uring reads N), so the kernel
+ # refuses ring registration and the panic-census uring leg can never
+ # run here. That one SKIP is allowlisted; every other SKIP still
+ # fails the strict gate. The corruption-torture uring leg needs no
+ # entry: with enable_uring=N the mount falls back to the legacy
+ # channel and the leg passes.
+ AGENTFS_GATE_ALLOWED_SKIPS: fuse-sigint-panic-census
run: |
- set +e
- ../scripts/validation/posix/run-pjdfstest.sh \
- --agentfs-bin target/debug/agentfs \
- --pjdfstest-dir /tmp/pjdfstest \
- --profile phase45-ci
- status=$?
- set -e
- if [ "$status" -ne 0 ] && [ "$status" -ne 77 ]; then
- exit "$status"
- fi
-
- check:
- name: Check (${{ matrix.os }}, ${{ matrix.project }})
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- os: [ubuntu-latest, macos-latest, windows-latest]
- project: [cli, sdk/rust]
- defaults:
- run:
- working-directory: ${{ matrix.project }}
- steps:
- - uses: actions/checkout@v4
-
- - name: Install Rust toolchain
- uses: dtolnay/rust-toolchain@master
- with:
- toolchain: nightly
-
- - name: Install system dependencies
- if: matrix.project == 'cli' && (matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest')
- run: ../scripts/install-deps.sh
-
- - name: Check
- run: cargo check --all-features
+ # scripts/gate.sh runs crates/agentfs-cli/tests/all.sh with
+ # AGENTFS_GATE_STRICT=1, then phase8-validation.py --smoke (which
+ # includes the noopen/flush/base-drift coherence harnesses) and the
+ # consistency-canon census.
+ scripts/gate.sh
- check-no-default-features:
- name: Check no-default-features (cli)
- runs-on: ubuntu-latest
- defaults:
- run:
- working-directory: cli
- steps:
- - uses: actions/checkout@v4
-
- - name: Install Rust toolchain
- uses: dtolnay/rust-toolchain@master
- with:
- toolchain: nightly
-
- - name: Check with no default features
- run: cargo check --no-default-features
+ - name: Run pjdfstest phase5-ci
+ run: |
+ scripts/validation/posix/run-pjdfstest.sh \
+ --agentfs-bin "$PWD/target/release/agentfs" \
+ --pjdfstest-dir /tmp/pjdfstest \
+ --profile phase5-ci
build-linux-arm64:
name: Build (Linux arm64)
@@ -153,39 +141,34 @@ jobs:
steps:
- uses: actions/checkout@v4
- # necessary for sandbox
- name: Install system dependencies
- run: |
- sudo apt-get update
- sudo apt-get install -y libunwind-dev
+ run: ./scripts/install-deps.sh
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@master
with:
- toolchain: nightly
+ toolchain: ${{ env.RUST_TOOLCHAIN }}
- name: Cache cargo registry
uses: actions/cache@v4
with:
path: ~/.cargo/registry
- key: linux-arm64-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
+ key: ${{ runner.os }}-cargo-registry-${{ hashFiles('Cargo.lock') }}
- name: Cache cargo index
uses: actions/cache@v4
with:
path: ~/.cargo/git
- key: linux-arm64-cargo-index-${{ hashFiles('**/Cargo.lock') }}
+ key: ${{ runner.os }}-cargo-index-${{ hashFiles('Cargo.lock') }}
- name: Cache cargo build
uses: actions/cache@v4
with:
- path: cli/target
- key: linux-arm64-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}
+ path: target
+ key: ${{ runner.os }}-cargo-build-target-arm64-${{ hashFiles('Cargo.lock') }}
- - name: Build CLI
- working-directory: cli
- run: cargo build --verbose
+ - name: Build workspace
+ run: cargo +"$RUST_TOOLCHAIN" build --workspace --verbose
- name: Run tests
- working-directory: cli
- run: cargo test --verbose
+ run: cargo +"$RUST_TOOLCHAIN" test --workspace --verbose
diff --git a/.github/workflows/typescript.yml b/.github/workflows/typescript.yml
deleted file mode 100644
index 680ba80a..00000000
--- a/.github/workflows/typescript.yml
+++ /dev/null
@@ -1,135 +0,0 @@
-name: TypeScript CI
-
-on:
- push:
- branches: [ main ]
- pull_request:
- branches: [ main ]
-
-jobs:
- test:
- name: Test
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- os: [ubuntu-latest, macos-latest]
- node-version: [20, 22]
- defaults:
- run:
- working-directory: sdk/typescript
- steps:
- - uses: actions/checkout@v4
-
- - name: Setup Node.js
- uses: actions/setup-node@v4
- with:
- node-version: ${{ matrix.node-version }}
- cache: 'npm'
- cache-dependency-path: sdk/typescript/package-lock.json
-
- - name: Install dependencies
- run: npm ci
-
- - name: Build
- run: npm run build
-
- - name: Test
- run: npm test
-
- test-browser:
- name: Test
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- os: [ubuntu-latest]
- node-version: [22]
- defaults:
- run:
- working-directory: sdk/typescript
- steps:
- - uses: actions/checkout@v4
-
- - name: Setup Node.js
- uses: actions/setup-node@v4
- with:
- node-version: ${{ matrix.node-version }}
- cache: 'npm'
- cache-dependency-path: sdk/typescript/package-lock.json
-
- - name: Install dependencies
- run: npm ci
-
- - name: Build
- run: npm run build
-
- - name: Install playwright
- run: npx playwright install
-
- - name: Test
- run: npm run test:browser
-
- check:
- name: Check
- runs-on: ubuntu-latest
- defaults:
- run:
- working-directory: sdk/typescript
- steps:
- - uses: actions/checkout@v4
-
- - name: Setup Node.js
- uses: actions/setup-node@v4
- with:
- node-version: 20
- cache: 'npm'
- cache-dependency-path: sdk/typescript/package-lock.json
-
- - name: Install dependencies
- run: npm ci
-
- examples:
- name: Test Examples
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
-
- - name: Setup Node.js
- uses: actions/setup-node@v4
- with:
- node-version: 20
-
- - name: Build SDK
- working-directory: sdk/typescript
- run: |
- npm ci
- npm run build
-
- - name: Test Mastra Example
- working-directory: examples/mastra/research-assistant
- run: |
- npm ci
- npm run build
-
- - name: Test Claude Agent SDK Example
- working-directory: examples/claude-agent/research-assistant
- run: |
- npm ci
- npm run build
-
- - name: Test OpenAI Agents Example
- working-directory: examples/openai-agents/research-assistant
- run: |
- npm ci
- npm run build
-
- - name: Test AI SDK Example
- working-directory: examples/ai-sdk-just-bash
- run: |
- npm ci
- npm run typecheck
-
- - name: Test Cloudflare Example
- working-directory: examples/cloudflare
- run: |
- npm ci
- npm run typecheck
diff --git a/.gitignore b/.gitignore
index 17167cc0..aafaccef 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,7 +4,8 @@
__MACOSX/
.AppleDouble
.LSOverride
-Icon[
]
+Icon[
+]
# Thumbnails
._*
@@ -26,9 +27,11 @@ Temporary Items
.apdisk
.agentfs
+target/
# Python bytecode cache
__pycache__/
# Large benchmark fixtures - regenerate via 'git clone --bare openai/codex'
.agents/benchmarks/fixtures/
+.agents/missions/
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3c7f87b1..1ed085b3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,83 @@
# Changelog
+## [Unreleased] - Fork-era: VFS Right-Thing Restructure
+
+This fork restructured the post-0.6.4 tree around a five-crate Rust
+workspace. The changes below are the user-visible summary of that campaign;
+behavior-preserving moves are not listed individually.
+
+### Removed
+
+- Deleted SDKs: the Go, Python, and TypeScript SDKs and their CI workflows;
+ the Rust library survives as the `agentfs-core` crate.
+- The standalone example projects (built against the deleted SDKs).
+- The experimental ptrace sandbox and the `--experimental-sandbox` flag;
+ `agentfs run` is FUSE+overlay in Linux user/mount namespaces (NFS +
+ Sandbox on macOS).
+- Windows stubs and the Windows dist target; supported platforms are Linux
+ (first-tier) and macOS (second-tier: NFS mount plus a sandboxed
+ `agentfs run`).
+- The `abi-7-*` FUSE feature matrix (17 features collapsed into the one
+ compiled ABI level) and the dead vendored fuser/nfsserve surface.
+- The legacy path-based SDK API and the `AGENTFS_OVERLAY_PARTIAL_ORIGIN`
+ env opt-in (superseded by the first-class `--partial-origin` policy).
+- `migrate-v0-5`: one `agentfs migrate` now lands any supported old schema
+ (v0.0, v0.2, v0.4) at the current version, in place by default or with
+ `--copy`-based re-chunking.
+
+### Changed
+
+- One root workspace after the crate split, five crates in a clean DAG —
+ `agentfs-core` (storage engine, overlay, schema authority, typed config,
+ telemetry, semantics), `agentfs-fuse` and `agentfs-nfs` (sealed transport
+ + adapter crates), `agentfs-mount` (one mount/supervision lifecycle), and
+ `agentfs-cli` (thin edge with a single error reporter).
+- Config: every runtime knob is a typed declaration parsed at the crate
+ edge with one truthy grammar; the generated `docs/KNOBS.md` ledger is
+ parity-checked in CI, as is the `docs/MANUAL.md` command reference
+ (generated from clap). User docs moved under `docs/`.
+- Telemetry: one macro registry and a single report sink replace the
+ hand-rolled six-way counter boilerplate.
+- Semantics: one `Semantics` layer under both adapters — a single
+ permission implementation, explicit ack durability on every write path
+ (NFS WRITE acks FILE_SYNC only after commit), and one handle/lifecycle
+ authority.
+
+### Fixed
+
+- macOS `agentfs run` left reads unscoped (a blanket `(allow file-read*)`
+ in the generated Seatbelt profile) while Linux hid home and temp dirs
+ behind namespaces. The profile is now default-deny for reads: only the
+ session paths, the allowed directories (defaults plus `--allow`), and a
+ curated set of platform read roots stay readable; write scoping is
+ unchanged. Pinned by macOS-gated unit tests; runtime behavior is covered
+ by a new read-scoping leg in the manual macOS release gate
+ (`scripts/validation/macos-nfs-git-validation.sh`).
+- FUSE teardown deadlocks on both transport legs (classic and io_uring).
+- NFS durability lie (FILE_SYNC acked without fsync) and non-graceful
+ server shutdown.
+- Overlay base-directory rename silently emptying the source: now `EXDEV`.
+- Stale-overlay reads after external base mutation are rejected.
+- Schema `ALTER`s no longer swallow errors blanket-`.ok()`-style.
+- Mounts racing the kernel-side drain of a just-closed FUSE-over-io_uring
+ connection are bounded (retry, then a clear error) instead of wedging
+ inside `mount(2)` forever (kernel constraint, see docs/MANUAL.md).
+- `tursodb-ephemeral-*` sort-spill litter from the turso_core 0.5.3
+ dependency (never unlinked upstream, `vdbe/execute.rs:10096`): the CLI
+ now scopes `TMPDIR` to a per-process spill dir cleaned on exit, without
+ leaking the override into `run`/`exec` children. Track the upstream
+ unlink fix before removing this workaround.
+
+### Validation
+
+- Honest CI gate (`scripts/gate.sh`): strict shell suite where SKIP is
+ red, corruption torture on both uring legs, Phase 8 smoke, and the
+ no-open/no-flush coherence gates.
+- Local-only perf gate: serialized median-of-5 codex workload benchmark
+ against a pinned baseline; any per-phase median regression >5% is red.
+- The macOS NFS git validation script is documented as a manual release
+ gate to run on real hardware.
+
## [0.6.4] - 2026-03-25
### Fixed
diff --git a/sdk/rust/Cargo.lock b/Cargo.lock
similarity index 82%
rename from sdk/rust/Cargo.lock
rename to Cargo.lock
index b8744d7a..ae3fcbc3 100644
--- a/sdk/rust/Cargo.lock
+++ b/Cargo.lock
@@ -14,9 +14,9 @@ dependencies = [
[[package]]
name = "aegis"
-version = "0.9.8"
+version = "0.9.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78412fa53e6da95324e8902c3641b3ff32ab45258582ea997eb9169c68ffa219"
+checksum = "e07d39d15384924b35b70d7b8fa1f9a2934101dd3fa4722ede163cc4f9b7b960"
dependencies = [
"cc",
"softaes",
@@ -48,7 +48,33 @@ dependencies = [
]
[[package]]
-name = "agentfs-sdk"
+name = "agentfs-cli"
+version = "0.6.4"
+dependencies = [
+ "agentfs-core",
+ "agentfs-mount",
+ "anyhow",
+ "base64",
+ "chrono",
+ "clap",
+ "clap_complete",
+ "dirs",
+ "hex",
+ "libc",
+ "parking_lot",
+ "serde",
+ "serde_json",
+ "sha1",
+ "tempfile",
+ "tokio",
+ "tracing",
+ "tracing-subscriber",
+ "turso",
+ "uuid",
+]
+
+[[package]]
+name = "agentfs-core"
version = "0.6.4"
dependencies = [
"aegis",
@@ -58,9 +84,10 @@ dependencies = [
"lru",
"parking_lot",
"proptest",
- "rand 0.8.5",
+ "rand 0.8.6",
"serde",
"serde_json",
+ "smallvec",
"tempfile",
"thiserror 1.0.69",
"tokio",
@@ -68,6 +95,62 @@ dependencies = [
"turso",
]
+[[package]]
+name = "agentfs-fuse"
+version = "0.6.4"
+dependencies = [
+ "agentfs-core",
+ "anyhow",
+ "async-trait",
+ "libc",
+ "memchr",
+ "nix",
+ "page_size",
+ "parking_lot",
+ "smallvec",
+ "tempfile",
+ "tokio",
+ "tracing",
+ "turso",
+ "zerocopy",
+]
+
+[[package]]
+name = "agentfs-mount"
+version = "0.6.4"
+dependencies = [
+ "agentfs-core",
+ "agentfs-fuse",
+ "agentfs-nfs",
+ "anyhow",
+ "async-trait",
+ "libc",
+ "tempfile",
+ "tokio",
+ "tokio-util",
+ "tracing",
+]
+
+[[package]]
+name = "agentfs-nfs"
+version = "0.6.4"
+dependencies = [
+ "agentfs-core",
+ "anyhow",
+ "async-trait",
+ "byteorder",
+ "filetime",
+ "libc",
+ "num-derive",
+ "num-traits",
+ "smallvec",
+ "tempfile",
+ "tokio",
+ "tokio-util",
+ "tracing",
+ "uuid",
+]
+
[[package]]
name = "aho-corasick"
version = "1.1.4"
@@ -98,23 +181,67 @@ version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
+[[package]]
+name = "anstream"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "is_terminal_polyfill",
+ "utf8parse",
+]
+
[[package]]
name = "anstyle"
version = "1.0.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000"
+[[package]]
+name = "anstyle-parse"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc"
+dependencies = [
+ "windows-sys 0.61.2",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d"
+dependencies = [
+ "anstyle",
+ "once_cell_polyfill",
+ "windows-sys 0.61.2",
+]
+
[[package]]
name = "antithesis_sdk"
-version = "0.2.8"
+version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18dbd97a5b6c21cc9176891cf715f7f0c273caf3959897f43b9bd1231939e675"
+checksum = "08410fcac93669a476c006cd6c4512ac1e2b30fd117231a5d55d8a2c76599b82"
dependencies = [
"libc",
"libloading",
"linkme",
"once_cell",
- "rand 0.8.5",
+ "rand 0.8.6",
"rustc_version_runtime",
"serde",
"serde_json",
@@ -122,15 +249,15 @@ dependencies = [
[[package]]
name = "anyhow"
-version = "1.0.102"
+version = "1.0.103"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c"
+checksum = "2a4385e2e34eb35d6b3efe798b9eb88096925d87726c0798709bf56d9ed84af3"
[[package]]
name = "arc-swap"
-version = "1.9.0"
+version = "1.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a07d1f37ff60921c83bdfc7407723bdefe89b44b98a9b772f225c8f9d67141a6"
+checksum = "c049c0be4daef0b145cb3555416b3b8ef5b7888a38aea1a3a155801fe7b0810b"
dependencies = [
"rustversion",
]
@@ -160,9 +287,9 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
[[package]]
name = "autocfg"
-version = "1.5.0"
+version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
+checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
[[package]]
name = "base64"
@@ -201,7 +328,7 @@ dependencies = [
"quote",
"regex",
"rustc-hash 1.1.0",
- "shlex",
+ "shlex 1.3.0",
"syn",
"which",
]
@@ -223,15 +350,15 @@ checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7"
[[package]]
name = "bitflags"
-version = "2.11.0"
+version = "2.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af"
+checksum = "b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8"
[[package]]
name = "bitvec"
-version = "1.0.1"
+version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
+checksum = "ddcec3d12c579d40898fe0a9a358a803c23e9c52ca3c425707f81c9436211837"
dependencies = [
"funty",
"radium",
@@ -239,6 +366,15 @@ dependencies = [
"wyz",
]
+[[package]]
+name = "block-buffer"
+version = "0.10.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
+dependencies = [
+ "generic-array",
+]
+
[[package]]
name = "branches"
version = "0.4.4"
@@ -259,9 +395,9 @@ dependencies = [
[[package]]
name = "bumpalo"
-version = "3.20.2"
+version = "3.20.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb"
+checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649"
[[package]]
name = "bytemuck"
@@ -291,9 +427,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]]
name = "bytes"
-version = "1.11.1"
+version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
+checksum = "8ae3f5d315924270530207e2a68396c3cc547f6dca3fbdca317cfb1a51edb593"
[[package]]
name = "cast"
@@ -303,12 +439,12 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
[[package]]
name = "cc"
-version = "1.2.57"
+version = "1.2.65"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a0dd1ca384932ff3641c8718a02769f1698e7563dc6974ffd03346116310423"
+checksum = "e228eec9be7c17ccb640b59b36a5cd805ea2a564a4c5e162c2f659fea30d3b96"
dependencies = [
"find-msvc-tools",
- "shlex",
+ "shlex 2.0.1",
]
[[package]]
@@ -326,6 +462,12 @@ version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
+[[package]]
+name = "cfg_aliases"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
+
[[package]]
name = "cfg_block"
version = "0.1.1"
@@ -334,13 +476,14 @@ checksum = "18758054972164c3264f7c8386f5fc6da6114cb46b619fd365d4e3b2dc3ae487"
[[package]]
name = "chrono"
-version = "0.4.44"
+version = "0.4.45"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0"
+checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327"
dependencies = [
"iana-time-zone",
"js-sys",
"num-traits",
+ "serde",
"wasm-bindgen",
"windows-link",
]
@@ -395,11 +538,12 @@ dependencies = [
[[package]]
name = "clap"
-version = "4.6.0"
+version = "4.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b193af5b67834b676abd72466a96c1024e6a6ad978a1f484bd90b85c94041351"
+checksum = "1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51"
dependencies = [
"clap_builder",
+ "clap_derive",
]
[[package]]
@@ -408,16 +552,54 @@ version = "4.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f"
dependencies = [
+ "anstream",
"anstyle",
- "clap_lex",
+ "clap_lex 1.1.0",
+ "strsim",
+]
+
+[[package]]
+name = "clap_complete"
+version = "4.5.61"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39615915e2ece2550c0149addac32fb5bd312c657f43845bb9088cb9c8a7c992"
+dependencies = [
+ "clap",
+ "clap_lex 0.7.7",
+ "is_executable",
+ "shlex 1.3.0",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn",
]
+[[package]]
+name = "clap_lex"
+version = "0.7.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32"
+
[[package]]
name = "clap_lex"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9"
+[[package]]
+name = "colorchoice"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570"
+
[[package]]
name = "concurrent-queue"
version = "2.5.0"
@@ -574,30 +756,59 @@ name = "deranged"
version = "0.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c"
+
+[[package]]
+name = "digest"
+version = "0.10.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
dependencies = [
- "powerfmt",
+ "block-buffer",
+ "crypto-common",
+]
+
+[[package]]
+name = "dirs"
+version = "6.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e"
+dependencies = [
+ "dirs-sys",
+]
+
+[[package]]
+name = "dirs-sys"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab"
+dependencies = [
+ "libc",
+ "option-ext",
+ "redox_users",
+ "windows-sys 0.61.2",
]
[[package]]
name = "either"
-version = "1.15.0"
+version = "1.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
+checksum = "91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e"
[[package]]
name = "env_filter"
-version = "1.0.1"
+version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32e90c2accc4b07a8456ea0debdc2e7587bdd890680d71173a15d4ae604f6eef"
+checksum = "900d271a03799a1ee8d1ca9b19893b48ca674a9284fefcfb85f05e74ed314217"
dependencies = [
"log",
+ "regex",
]
[[package]]
name = "env_logger"
-version = "0.11.10"
+version = "0.11.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0621c04f2196ac3f488dd583365b9c09be011a4ab8b9f37248ffcc8f6198b56a"
+checksum = "de671bd27a75a797dc9ae289ba1e77276e75e2026408aab65185384e2d5cd3f6"
dependencies = [
"env_filter",
"log",
@@ -633,15 +844,25 @@ checksum = "4e7f34442dbe69c60fe8eaf58a8cafff81a1f278816d8ab4db255b3bef4ac3c4"
dependencies = [
"getrandom 0.3.4",
"libm",
- "rand 0.9.2",
+ "rand 0.9.4",
"siphasher",
]
[[package]]
name = "fastrand"
-version = "2.3.0"
+version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
+checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6"
+
+[[package]]
+name = "filetime"
+version = "0.2.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c287a33c7f0a620c38e641e7f60827713987b3c0f26e8ddc9462cc69cf75759"
+dependencies = [
+ "cfg-if",
+ "libc",
+]
[[package]]
name = "find-msvc-tools"
@@ -740,6 +961,7 @@ dependencies = [
"futures-sink",
"futures-task",
"pin-project-lite",
+ "slab",
]
[[package]]
@@ -759,9 +981,9 @@ checksum = "0b32dfe1fdfc0bbde1f22a5da25355514b5e450c33a6af6770884c8750aedfbc"
[[package]]
name = "generator"
-version = "0.8.8"
+version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52f04ae4152da20c76fe800fa48659201d5cf627c5149ca0b707b69d7eef6cf9"
+checksum = "b3b854b0e584ead1a33f18b2fcad7cf7be18b3875c78816b753639aa501513ae"
dependencies = [
"cc",
"cfg-if",
@@ -807,15 +1029,13 @@ dependencies = [
[[package]]
name = "getrandom"
-version = "0.4.2"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555"
+checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099"
dependencies = [
"cfg-if",
"libc",
"r-efi 6.0.0",
- "wasip2",
- "wasip3",
]
[[package]]
@@ -856,12 +1076,6 @@ dependencies = [
"foldhash",
]
-[[package]]
-name = "hashbrown"
-version = "0.16.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
-
[[package]]
name = "heck"
version = "0.5.0"
@@ -891,9 +1105,9 @@ dependencies = [
[[package]]
name = "http"
-version = "1.4.0"
+version = "1.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a"
+checksum = "6970f50e31d6fc17d3fa27329444bfa74e196cf62e95052a3f6fee181dba6425"
dependencies = [
"bytes",
"itoa",
@@ -930,9 +1144,9 @@ checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87"
[[package]]
name = "hyper"
-version = "1.8.1"
+version = "1.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11"
+checksum = "55281c53a1894c864990125767da440a4e630446785086f52523b20033b74498"
dependencies = [
"atomic-waker",
"bytes",
@@ -943,7 +1157,6 @@ dependencies = [
"httparse",
"itoa",
"pin-project-lite",
- "pin-utils",
"smallvec",
"tokio",
"want",
@@ -1009,24 +1222,6 @@ dependencies = [
"cc",
]
-[[package]]
-name = "id-arena"
-version = "2.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954"
-
-[[package]]
-name = "indexmap"
-version = "2.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017"
-dependencies = [
- "equivalent",
- "hashbrown 0.16.1",
- "serde",
- "serde_core",
-]
-
[[package]]
name = "inout"
version = "0.1.4"
@@ -1047,9 +1242,9 @@ dependencies = [
[[package]]
name = "io-uring"
-version = "0.7.11"
+version = "0.7.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fdd7bddefd0a8833b88a4b68f90dae22c7450d11b354198baee3874fd811b344"
+checksum = "9080b15e63775b9a2ac7dca720f7050a8b955e092ea0f6020a4a80f69998cdc0"
dependencies = [
"bitflags",
"cfg-if",
@@ -1067,6 +1262,21 @@ dependencies = [
"windows-sys 0.61.2",
]
+[[package]]
+name = "is_executable"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "82cb6a9f675da968c63b6208c641b9dca58fc0133ae53375736b1767b0cab8bd"
+dependencies = [
+ "windows-sys 0.61.2",
+]
+
+[[package]]
+name = "is_terminal_polyfill"
+version = "1.70.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695"
+
[[package]]
name = "itertools"
version = "0.10.5"
@@ -1102,11 +1312,12 @@ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
[[package]]
name = "js-sys"
-version = "0.3.91"
+version = "0.3.103"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c"
+checksum = "53b44bfcdb3f8d5837a46dae1ca9660a837176eee74a28b229bc626816589102"
dependencies = [
- "once_cell",
+ "cfg-if",
+ "futures-util",
"wasm-bindgen",
]
@@ -1122,17 +1333,11 @@ version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
-[[package]]
-name = "leb128fmt"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2"
-
[[package]]
name = "libc"
-version = "0.2.183"
+version = "0.2.186"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d"
+checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
[[package]]
name = "libloading"
@@ -1152,11 +1357,19 @@ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
[[package]]
name = "libmimalloc-sys"
-version = "0.1.44"
+version = "0.1.49"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "667f4fec20f29dfc6bc7357c582d91796c169ad7e2fce709468aefeb2c099870"
+checksum = "6a45a52f43e1c16f667ccfe4dd8c85b7f7c204fd5e3bf46c5b0db9a5c3c0b8e9"
dependencies = [
"cc",
+]
+
+[[package]]
+name = "libredox"
+version = "0.1.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c943259e342f1e06ff2da7a83eabdfe7f92ce10262688dbf1895ff0b3e6e4652"
+dependencies = [
"libc",
]
@@ -1203,9 +1416,9 @@ dependencies = [
[[package]]
name = "log"
-version = "0.4.29"
+version = "0.4.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
+checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad"
[[package]]
name = "loom"
@@ -1226,7 +1439,7 @@ version = "0.12.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38"
dependencies = [
- "hashbrown 0.15.5",
+ "hashbrown",
]
[[package]]
@@ -1240,9 +1453,9 @@ dependencies = [
[[package]]
name = "memchr"
-version = "2.8.0"
+version = "2.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
+checksum = "88904434abc2901f197fe8cc55f0445e7ded921dba5911dad2e2b39b48e663c4"
[[package]]
name = "memoffset"
@@ -1277,9 +1490,9 @@ dependencies = [
[[package]]
name = "mimalloc"
-version = "0.1.48"
+version = "0.1.52"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1ee66a4b64c74f4ef288bcbb9192ad9c3feaad75193129ac8509af543894fd8"
+checksum = "2d4139bb28d14ad1facf21d5eb8825051b326e172d216b39f6d31df53cc97862"
dependencies = [
"libmimalloc-sys",
]
@@ -1292,9 +1505,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
[[package]]
name = "mio"
-version = "1.1.1"
+version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc"
+checksum = "02bd0af71c67b473010cbbc60715ee815645a4dc942899111f494b4b737d6fda"
dependencies = [
"libc",
"wasi",
@@ -1318,6 +1531,18 @@ dependencies = [
"tempfile",
]
+[[package]]
+name = "nix"
+version = "0.29.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
+dependencies = [
+ "bitflags",
+ "cfg-if",
+ "cfg_aliases",
+ "libc",
+]
+
[[package]]
name = "nom"
version = "7.1.3"
@@ -1339,9 +1564,9 @@ dependencies = [
[[package]]
name = "num-bigint"
-version = "0.4.6"
+version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9"
+checksum = "c863e9ab5e7bf9c99ba75e1050f1e4d624ae87ed3532d6238ffbdc7b585dbbe6"
dependencies = [
"num-integer",
"num-traits",
@@ -1349,9 +1574,20 @@ dependencies = [
[[package]]
name = "num-conv"
-version = "0.2.1"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967"
+checksum = "521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441"
+
+[[package]]
+name = "num-derive"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
[[package]]
name = "num-integer"
@@ -1377,6 +1613,12 @@ version = "1.21.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
+[[package]]
+name = "once_cell_polyfill"
+version = "1.70.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
+
[[package]]
name = "oorandom"
version = "11.1.5"
@@ -1391,15 +1633,14 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
[[package]]
name = "openssl"
-version = "0.10.76"
+version = "0.10.81"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "951c002c75e16ea2c65b8c7e4d3d51d5530d8dfa7d060b4776828c88cfb18ecf"
+checksum = "77823a27f0babb03091cb9ed9ef80af3b39dbc82f97e8fa530374b7dafd87a45"
dependencies = [
"bitflags",
"cfg-if",
"foreign-types",
"libc",
- "once_cell",
"openssl-macros",
"openssl-sys",
]
@@ -1423,9 +1664,9 @@ checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe"
[[package]]
name = "openssl-sys"
-version = "0.9.112"
+version = "0.9.117"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57d55af3b3e226502be1526dfdba67ab0e9c96fc293004e79576b2b9edb0dbdb"
+checksum = "b47e7e6bb2c38cd930d25a23b40fa52e068c10e85f3e03a7f5ba5aaca5713695"
dependencies = [
"cc",
"libc",
@@ -1433,6 +1674,12 @@ dependencies = [
"vcpkg",
]
+[[package]]
+name = "option-ext"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
+
[[package]]
name = "owo-colors"
version = "3.5.0"
@@ -1441,13 +1688,23 @@ checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f"
[[package]]
name = "pack1"
-version = "1.0.0"
+version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6e7cd9bd638dc2c831519a0caa1c006cab771a92b1303403a8322773c5b72d6"
+checksum = "e3b7bb0ecf2e447b1f20ee94ee79ef6eed1e9d4b3c36ce1903b9dea3bf205523"
dependencies = [
"bytemuck",
]
+[[package]]
+name = "page_size"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
[[package]]
name = "parking_lot"
version = "0.12.5"
@@ -1483,17 +1740,11 @@ version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
-[[package]]
-name = "pin-utils"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
-
[[package]]
name = "pkg-config"
-version = "0.3.32"
+version = "0.3.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
+checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e"
[[package]]
name = "plotters"
@@ -1593,7 +1844,7 @@ dependencies = [
"bit-vec",
"bitflags",
"num-traits",
- "rand 0.9.2",
+ "rand 0.9.4",
"rand_chacha 0.9.0",
"rand_xorshift",
"regex-syntax",
@@ -1604,9 +1855,9 @@ dependencies = [
[[package]]
name = "prost"
-version = "0.14.3"
+version = "0.14.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2ea70524a2f82d518bce41317d0fae74151505651af45faf1ffbd6fd33f0568"
+checksum = "528ac67416ff8646872a3c02cad9cc4ee5dc9f9540c9b10771855c95cb2e5ae1"
dependencies = [
"bytes",
"prost-derive",
@@ -1614,9 +1865,9 @@ dependencies = [
[[package]]
name = "prost-derive"
-version = "0.14.3"
+version = "0.14.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b"
+checksum = "b570b25f7617e43d59005d0990ccb79e950a423952cea19671b7a876da390adf"
dependencies = [
"anyhow",
"itertools 0.14.0",
@@ -1633,9 +1884,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
[[package]]
name = "quote"
-version = "1.0.45"
+version = "1.0.46"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
+checksum = "dfbc457d0c7a0759a614551b11a6409e5951f6c7537be1f1b7682b9ae9230368"
dependencies = [
"proc-macro2",
]
@@ -1660,9 +1911,9 @@ checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
[[package]]
name = "rand"
-version = "0.8.5"
+version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a"
dependencies = [
"libc",
"rand_chacha 0.3.1",
@@ -1671,9 +1922,9 @@ dependencies = [
[[package]]
name = "rand"
-version = "0.9.2"
+version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
+checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea"
dependencies = [
"rand_chacha 0.9.0",
"rand_core 0.9.5",
@@ -1737,18 +1988,18 @@ dependencies = [
[[package]]
name = "rapidhash"
-version = "4.4.1"
+version = "4.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5e48930979c155e2f33aa36ab3119b5ee81332beb6482199a8ecd6029b80b59"
+checksum = "32b266a82f4aa99bb5c25e28d11cc44ace63d91adbcbcee4d323e2ae3d49ef37"
dependencies = [
"rustversion",
]
[[package]]
name = "rayon"
-version = "1.11.0"
+version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f"
+checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d"
dependencies = [
"either",
"rayon-core",
@@ -1773,11 +2024,22 @@ dependencies = [
"bitflags",
]
+[[package]]
+name = "redox_users"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac"
+dependencies = [
+ "getrandom 0.2.17",
+ "libredox",
+ "thiserror 2.0.18",
+]
+
[[package]]
name = "regex"
-version = "1.12.3"
+version = "1.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276"
+checksum = "f1292b7759ae1cb9ec195452d1390a074f0cd8541ab7a5a8c31cd6db45d4a6ba"
dependencies = [
"aho-corasick",
"memchr",
@@ -1798,15 +2060,15 @@ dependencies = [
[[package]]
name = "regex-syntax"
-version = "0.8.10"
+version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a"
+checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4"
[[package]]
name = "roaring"
-version = "0.11.3"
+version = "0.11.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ba9ce64a8f45d7fc86358410bb1a82e8c987504c0d4900e9141d69a9f26c885"
+checksum = "1dedc5658c6ecb3bdb5ef5f3295bb9253f42dcf3fd1402c03f6b1f7659c3c4a9"
dependencies = [
"bytemuck",
"byteorder",
@@ -1820,9 +2082,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
[[package]]
name = "rustc-hash"
-version = "2.1.1"
+version = "2.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d"
+checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d"
[[package]]
name = "rustc_version"
@@ -1948,9 +2210,9 @@ dependencies = [
[[package]]
name = "semver"
-version = "1.0.27"
+version = "1.0.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2"
+checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd"
[[package]]
name = "serde"
@@ -1984,9 +2246,9 @@ dependencies = [
[[package]]
name = "serde_json"
-version = "1.0.149"
+version = "1.0.150"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86"
+checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9"
dependencies = [
"itoa",
"memchr",
@@ -1995,6 +2257,17 @@ dependencies = [
"zmij",
]
+[[package]]
+name = "sha1"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest",
+]
+
[[package]]
name = "sha1_smol"
version = "1.0.1"
@@ -2016,6 +2289,12 @@ version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+[[package]]
+name = "shlex"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
+
[[package]]
name = "shuttle"
version = "0.8.1"
@@ -2028,7 +2307,7 @@ dependencies = [
"generator",
"hex",
"owo-colors",
- "rand 0.8.5",
+ "rand 0.8.6",
"rand_core 0.6.4",
"rand_pcg",
"scoped-tls",
@@ -2057,21 +2336,27 @@ dependencies = [
[[package]]
name = "siphasher"
-version = "1.0.2"
+version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e"
+checksum = "8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649"
+
+[[package]]
+name = "slab"
+version = "0.4.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5"
[[package]]
name = "smallvec"
-version = "1.15.1"
+version = "1.15.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
+checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90"
[[package]]
name = "socket2"
-version = "0.6.3"
+version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e"
+checksum = "52d1cfed4120b4d927bf7c0f86d2087a4a7d6027c906d9f9d525a80573b9be51"
dependencies = [
"libc",
"windows-sys 0.61.2",
@@ -2079,9 +2364,15 @@ dependencies = [
[[package]]
name = "softaes"
-version = "0.1.3"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "45e14297decde697ddf377c25752aead0927d5cfc89c2684d2af96901a4ceeea"
+
+[[package]]
+name = "strsim"
+version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fef461faaeb36c340b6c887167a9054a034f6acfc50a014ead26a02b4356b3de"
+checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
[[package]]
name = "strum"
@@ -2111,11 +2402,17 @@ version = "2.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
+[[package]]
+name = "symlink"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7973cce6668464ea31f176d85b13c7ab3bba2cb3b77a2ed26abd7801688010a"
+
[[package]]
name = "syn"
-version = "2.0.117"
+version = "2.0.118"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
+checksum = "1b9ae57f904213ebb649ce6895b8a66c66f0203b9319718f69a5612a065b1422"
dependencies = [
"proc-macro2",
"quote",
@@ -2135,7 +2432,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd"
dependencies = [
"fastrand",
- "getrandom 0.4.2",
+ "getrandom 0.4.3",
"once_cell",
"rustix 1.1.4",
"windows-sys 0.61.2",
@@ -2192,12 +2489,11 @@ dependencies = [
[[package]]
name = "time"
-version = "0.3.47"
+version = "0.3.53"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c"
+checksum = "18dfaaeddcb932337b5e7866ee7d0ce9b76d2fd092997146f187ec09b4558a50"
dependencies = [
"deranged",
- "itoa",
"num-conv",
"powerfmt",
"serde_core",
@@ -2207,15 +2503,15 @@ dependencies = [
[[package]]
name = "time-core"
-version = "0.1.8"
+version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca"
+checksum = "9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109"
[[package]]
name = "time-macros"
-version = "0.2.27"
+version = "0.2.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215"
+checksum = "c431b87111666e491a90baa837f914fb45cd5dc3c268591b0220ff5057f2085f"
dependencies = [
"num-conv",
"time-core",
@@ -2233,9 +2529,9 @@ dependencies = [
[[package]]
name = "tokio"
-version = "1.50.0"
+version = "1.52.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d"
+checksum = "8fc7f01b389ac15039e4dc9531aa973a135d7a4135281b12d7c1bc79fd57fffe"
dependencies = [
"bytes",
"libc",
@@ -2250,9 +2546,9 @@ dependencies = [
[[package]]
name = "tokio-macros"
-version = "2.6.1"
+version = "2.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c55a2eff8b69ce66c84f85e1da1c233edc36ceb85a2058d11b0d6a3c7e7569c"
+checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496"
dependencies = [
"proc-macro2",
"quote",
@@ -2269,6 +2565,19 @@ dependencies = [
"tokio",
]
+[[package]]
+name = "tokio-util"
+version = "0.7.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098"
+dependencies = [
+ "bytes",
+ "futures-core",
+ "futures-sink",
+ "pin-project-lite",
+ "tokio",
+]
+
[[package]]
name = "tower-service"
version = "0.3.3"
@@ -2288,11 +2597,12 @@ dependencies = [
[[package]]
name = "tracing-appender"
-version = "0.2.4"
+version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "786d480bce6247ab75f005b14ae1624ad978d3029d9113f0a22fa1ac773faeaf"
+checksum = "050686193eb999b4bb3bc2acfa891a13da00f79734704c4b8b4ef1a10b368a3c"
dependencies = [
"crossbeam-channel",
+ "symlink",
"thiserror 2.0.18",
"time",
"tracing-subscriber",
@@ -2412,12 +2722,12 @@ dependencies = [
"parking_lot",
"paste",
"polling",
- "rand 0.9.2",
+ "rand 0.9.4",
"rapidhash",
"regex",
"regex-syntax",
"roaring",
- "rustc-hash 2.1.1",
+ "rustc-hash 2.1.3",
"rustix 1.1.4",
"ryu",
"serde_json",
@@ -2550,14 +2860,14 @@ version = "2.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ea3136b675547379c4bd395ca6b938e5ad3c3d20fad76e7fe85f9e0d011419c"
dependencies = [
- "rand 0.9.2",
+ "rand 0.9.4",
]
[[package]]
name = "typenum"
-version = "1.19.0"
+version = "1.20.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb"
+checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20"
[[package]]
name = "unarray"
@@ -2586,12 +2896,6 @@ version = "0.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af"
-[[package]]
-name = "unicode-xid"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
-
[[package]]
name = "universal-hash"
version = "0.5.1"
@@ -2602,13 +2906,19 @@ dependencies = [
"subtle",
]
+[[package]]
+name = "utf8parse"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
+
[[package]]
name = "uuid"
-version = "1.22.0"
+version = "1.23.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a68d3c8f01c0cfa54a75291d83601161799e4a89a39e0929f4b0354d88757a37"
+checksum = "bf80a72845275afea99e7f2b434723d3bc7e38470fcd1c7ed39a599c73319a53"
dependencies = [
- "getrandom 0.4.2",
+ "getrandom 0.4.3",
"js-sys",
"sha1_smol",
"wasm-bindgen",
@@ -2668,27 +2978,18 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
[[package]]
name = "wasip2"
-version = "1.0.2+wasi-0.2.9"
+version = "1.0.4+wasi-0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5"
-dependencies = [
- "wit-bindgen",
-]
-
-[[package]]
-name = "wasip3"
-version = "0.4.0+wasi-0.3.0-rc-2026-01-06"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5"
+checksum = "b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487"
dependencies = [
"wit-bindgen",
]
[[package]]
name = "wasm-bindgen"
-version = "0.2.114"
+version = "0.2.126"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e"
+checksum = "4b067c0c11094aef6b7a801c1e34a26affafdf3d051dba08456b868789aaf9a4"
dependencies = [
"cfg-if",
"once_cell",
@@ -2699,9 +3000,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.114"
+version = "0.2.126"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6"
+checksum = "167ce5e579f6bcf889c4f7175a8a5a585de84e8ff93976ce393efa5f2837aab1"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -2709,9 +3010,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.114"
+version = "0.2.126"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3"
+checksum = "f3997c7839262f4ef12cf90b818d6340c18e80f263f1a94bf157d0ec4420380e"
dependencies = [
"bumpalo",
"proc-macro2",
@@ -2722,52 +3023,18 @@ dependencies = [
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.114"
+version = "0.2.126"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16"
+checksum = "dc1b4cb0cc549fcf58d7dfc081778139b3d283a081644e833e84682ad71cea24"
dependencies = [
"unicode-ident",
]
-[[package]]
-name = "wasm-encoder"
-version = "0.244.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319"
-dependencies = [
- "leb128fmt",
- "wasmparser",
-]
-
-[[package]]
-name = "wasm-metadata"
-version = "0.244.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909"
-dependencies = [
- "anyhow",
- "indexmap",
- "wasm-encoder",
- "wasmparser",
-]
-
-[[package]]
-name = "wasmparser"
-version = "0.244.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe"
-dependencies = [
- "bitflags",
- "hashbrown 0.15.5",
- "indexmap",
- "semver",
-]
-
[[package]]
name = "web-sys"
-version = "0.3.91"
+version = "0.3.103"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "854ba17bb104abfb26ba36da9729addc7ce7f06f5c0f90f3c391f8461cca21f9"
+checksum = "8622dcb61c0bcc9fffa6938bed81210af2da9a7e4a1a834b2e37a59b6dfb6141"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -2785,6 +3052,22 @@ dependencies = [
"rustix 0.38.44",
]
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
[[package]]
name = "winapi-util"
version = "0.1.11"
@@ -2794,6 +3077,12 @@ dependencies = [
"windows-sys 0.61.2",
]
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
[[package]]
name = "windows-core"
version = "0.62.2"
@@ -2937,91 +3226,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
[[package]]
name = "wit-bindgen"
-version = "0.51.0"
+version = "0.57.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5"
-dependencies = [
- "wit-bindgen-rust-macro",
-]
-
-[[package]]
-name = "wit-bindgen-core"
-version = "0.51.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc"
-dependencies = [
- "anyhow",
- "heck",
- "wit-parser",
-]
-
-[[package]]
-name = "wit-bindgen-rust"
-version = "0.51.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21"
-dependencies = [
- "anyhow",
- "heck",
- "indexmap",
- "prettyplease",
- "syn",
- "wasm-metadata",
- "wit-bindgen-core",
- "wit-component",
-]
-
-[[package]]
-name = "wit-bindgen-rust-macro"
-version = "0.51.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a"
-dependencies = [
- "anyhow",
- "prettyplease",
- "proc-macro2",
- "quote",
- "syn",
- "wit-bindgen-core",
- "wit-bindgen-rust",
-]
-
-[[package]]
-name = "wit-component"
-version = "0.244.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2"
-dependencies = [
- "anyhow",
- "bitflags",
- "indexmap",
- "log",
- "serde",
- "serde_derive",
- "serde_json",
- "wasm-encoder",
- "wasm-metadata",
- "wasmparser",
- "wit-parser",
-]
-
-[[package]]
-name = "wit-parser"
-version = "0.244.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736"
-dependencies = [
- "anyhow",
- "id-arena",
- "indexmap",
- "log",
- "semver",
- "serde",
- "serde_derive",
- "serde_json",
- "unicode-xid",
- "wasmparser",
-]
+checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e"
[[package]]
name = "wyz"
@@ -3034,18 +3241,18 @@ dependencies = [
[[package]]
name = "zerocopy"
-version = "0.8.47"
+version = "0.8.52"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efbb2a062be311f2ba113ce66f697a4dc589f85e78a4aea276200804cea0ed87"
+checksum = "ce1022995ff5ff5d841ad7d994facc23098cd40152f2c1d11cd607c6f530653f"
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
-version = "0.8.47"
+version = "0.8.52"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e8bc7269b54418e7aeeef514aa68f8690b8c0489a06b0136e5f57c4c5ccab89"
+checksum = "1ae7f38b72ec2a254e2b87ef277cf2cd4fb97cbebf944faa6f33354da0867930"
dependencies = [
"proc-macro2",
"quote",
diff --git a/Cargo.toml b/Cargo.toml
new file mode 100644
index 00000000..b822a0b9
--- /dev/null
+++ b/Cargo.toml
@@ -0,0 +1,75 @@
+[workspace]
+members = [
+ "crates/agentfs-cli",
+ "crates/agentfs-core",
+ "crates/agentfs-fuse",
+ "crates/agentfs-nfs",
+ "crates/agentfs-mount",
+]
+resolver = "2"
+
+[workspace.package]
+version = "0.6.4"
+edition = "2021"
+license = "MIT"
+repository = "https://github.com/tursodatabase/agentfs"
+
+# Concurrency canon (architecture.md section 7 item 7): no lock guard held
+# across an .await; enforced structurally, not by review.
+[workspace.lints.clippy]
+await_holding_lock = "deny"
+
+[workspace.dependencies]
+agentfs-core = { path = "crates/agentfs-core" }
+agentfs-cli = { path = "crates/agentfs-cli" }
+agentfs-fuse = { path = "crates/agentfs-fuse" }
+agentfs-mount = { path = "crates/agentfs-mount" }
+agentfs-nfs = { path = "crates/agentfs-nfs" }
+
+anyhow = "1.0"
+async-trait = "0.1"
+base64 = "0.22"
+byteorder = "1.5"
+chrono = { version = "0.4.42", features = ["serde"] }
+clap = { version = "4", features = ["derive", "env"] }
+clap_complete = { version = "=4.5.61", features = ["unstable-dynamic"] }
+criterion = { version = "0.5", features = ["async_tokio"] }
+dirs = "6"
+filetime = "0.2"
+hex = "0.4"
+libc = "0.2"
+lru = "0.12"
+memchr = "2.7"
+nix = { version = "0.29", features = ["fs", "user"] }
+num-derive = "0.4"
+num-traits = "0.2"
+page_size = "0.6"
+parking_lot = "0.12.5"
+proptest = "1.4"
+rand = "0.8"
+serde = { version = "1.0", features = ["derive"] }
+serde_json = "1.0.147"
+sha1 = "0.10"
+smallvec = "1.6"
+tempfile = "3.23.0"
+thiserror = "1.0"
+tokio = { version = "1", features = ["full"] }
+tokio-util = "0.7"
+tracing = "0.1.44"
+tracing-subscriber = { version = "0.3", features = ["env-filter"] }
+turso = { version = "0.5", features = ["sync"] }
+uuid = { version = "1", features = ["v4"] }
+zerocopy = { version = "0.8", features = ["derive"] }
+
+# Ensure transitive `aegis` (pulled in by `turso`) builds on macOS arm64 by
+# forcing the `pure-rust` feature, which skips the C/NEON backend that fails
+# with Apple clang (`veor3q_u8` in `aegis128l_neon_sha3.c`).
+aegis = { version = "0.9.6", features = ["pure-rust"] }
+
+# The profile that `dist` will build with.
+[profile.dist]
+inherits = "release"
+lto = "thin"
+
+[profile.bench]
+debug = true
diff --git a/MANUAL.md b/MANUAL.md
deleted file mode 100644
index 527aa003..00000000
--- a/MANUAL.md
+++ /dev/null
@@ -1,525 +0,0 @@
-# AgentFS Reference Guide
-
-Command-line reference for the AgentFS CLI.
-
-For guides, tutorials, and SDK documentation, see [docs.turso.tech/agentfs](https://docs.turso.tech/agentfs).
-
-## Installation
-
-```bash
-curl -fsSL https://github.com/tursodatabase/agentfs/releases/latest/download/agentfs-installer.sh | sh
-```
-
-## Commands
-
-### agentfs init
-
-Initialize a new agent filesystem.
-
-```
-agentfs init [OPTIONS] [ID]
-```
-
-**Arguments:**
-- `ID` - Agent identifier (default: `agent-{timestamp}`)
-
-**Options:**
-- `--force` - Overwrite existing agent filesystem
-- `--base ` - Base directory for overlay filesystem (copy-on-write)
-- `--key ` - Hex-encoded encryption key for local encryption
-- `--cipher ` - Cipher algorithm (required with `--key`)
-- `--sync-remote-url ` - Remote Turso database URL for sync
-- `--sync-partial-prefetch` - Enable prefetching for partial sync
-- `--sync-partial-segment-size ` - Segment size for partial sync
-- `--sync-partial-bootstrap-query ` - Custom bootstrap query
-- `--sync-partial-bootstrap-length ` - Bootstrap prefix length
-
-**Note:** Local encryption and cloud sync cannot be used together.
-
-**Options (continued):**
-- `-c, --command ` - Command to execute after initialization (see below)
-- `--backend ` - Mount backend for `-c` option (`fuse` or `nfs`)
-
-**Running a command after init:**
-
-The `-c` option initializes the filesystem, mounts it to a temporary directory, runs the specified command with that directory as the working directory, then automatically unmounts.
-
-```bash
-# Initialize and run a command in the new filesystem
-agentfs init my-agent -c "touch hello.txt && ls -la"
-
-# With overlay filesystem
-agentfs init my-overlay --base /path/to/project -c "make build"
-```
-
-### agentfs exec
-
-Execute a command with an AgentFS filesystem mounted (Unix only).
-
-```
-agentfs exec [OPTIONS] [ARGS]...
-```
-
-Mounts the specified AgentFS to a temporary directory, runs the command with that directory as the working directory, then automatically unmounts. This is useful for running tools that need filesystem access without a persistent mount.
-
-If the AgentFS was initialized with `--base` (overlay mode), the overlay filesystem is used automatically.
-
-**Arguments:**
-- `ID_OR_PATH` - Agent identifier or database path
-- `COMMAND` - Command to execute
-- `ARGS` - Arguments for the command
-
-**Options:**
-- `--backend ` - Mount backend (`fuse` on Linux, `nfs` on macOS by default)
-- `--key ` - Hex-encoded encryption key for encrypted databases
-- `--cipher ` - Cipher algorithm (required with `--key`)
-
-**Examples:**
-
-```bash
-# Run ls in the AgentFS root
-agentfs exec my-agent ls -la
-
-# Run a build command
-agentfs exec my-overlay make build
-
-# With encryption
-agentfs exec my-agent --key $KEY --cipher aes256gcm cat /config.json
-```
-
-### agentfs run
-
-Execute a program in a sandboxed environment with copy-on-write filesystem.
-
-```
-agentfs run [OPTIONS] [ARGS]...
-```
-
-**Options:**
-- `--session ` - Named session for persistence across runs
-- `--allow ` - Allow write access to additional directories (repeatable)
-- `--no-default-allows` - Disable default allowed directories
-- `--key ` - Hex-encoded encryption key for delta layer
-- `--cipher ` - Cipher algorithm (required with `--key`)
-- `--experimental-sandbox` - Use ptrace-based syscall interception (Linux only)
-- `--strace` - Show intercepted syscalls (requires `--experimental-sandbox`)
-
-**Platform behavior:**
-
-Linux uses FUSE + overlay filesystem with user namespaces. macOS uses NFS + overlay filesystem with Apple's Sandbox.
-
-Default allowed directories (macOS): `~/.claude`, `~/.codex`, `~/.config`, `~/.cache`, `~/.local`, `~/.npm`, `/tmp`
-
-**Linux FUSE performance and cache controls:**
-
-AgentFS uses a bounded FUSE worker pool on Linux. The pool removes the old
-global backend mutex from read paths while preserving copy-on-write isolation:
-reads are admitted through a shared read lane, and metadata/content mutations
-are admitted through an exclusive write lane before reaching the SQLite-backed
-delta.
-
-| Variable | Default | Description |
-|---|---:|---|
-| `AGENTFS_FUSE_WORKERS` | `auto` | `serial`, `auto`, an integer worker count, or a percent such as `25%`. Defaults to `auto` (~`AGENTFS_FUSE_CPU_PERCENT`% of host CPUs). Set to `serial` to fall back to single-threaded dispatch. |
-| `AGENTFS_FUSE_QUEUE` | derived | Request queue capacity. Accepts an integer or memory percent. |
-| `AGENTFS_FUSE_CPU_PERCENT` | `25` | Target CPU fraction when `AGENTFS_FUSE_WORKERS=auto`. |
-| `AGENTFS_FUSE_MEMORY_PERCENT` | `25` | Target memory fraction for derived queue sizing. |
-| `AGENTFS_FUSE_SYNC_INVAL` | `0` | Opt-in synchronous kernel cache invalidation. Default uses deferred (off-thread) invalidation which is safer under parallel workers: synchronous notifies issued from a request handler can block waiting for inline `FUSE_FORGET` traffic that the session thread cannot deliver while every dispatch lane is busy, so combining `AGENTFS_FUSE_SYNC_INVAL=1` with parallel `AGENTFS_FUSE_WORKERS` can deadlock under git workloads. The kernel cache fast path no longer requires this flag. |
-| `AGENTFS_FUSE_ENTRY_TTL_MS` | `1000` | Kernel dentry TTL when the kernel cache fast path is active (parallel workers); otherwise forced to `0`. |
-| `AGENTFS_FUSE_ATTR_TTL_MS` | `1000` | Kernel attribute TTL when the kernel cache fast path is active (parallel workers); otherwise forced to `0`. |
-| `AGENTFS_FUSE_NEG_TTL_MS` | `1000` | Kernel negative-entry TTL when the kernel cache fast path is active (parallel workers); otherwise forced to `0`. |
-| `AGENTFS_FUSE_READDIRPLUS` | `auto` | `off`, `auto`, or `always`; accepted when the kernel cache fast path is active (parallel workers). |
-| `AGENTFS_FUSE_WRITEBACK` | `1` | Requests FUSE writeback cache; accepted when the kernel cache fast path is active (parallel workers). |
-| `AGENTFS_FUSE_KEEPCACHE` | `1` | Requests `FOPEN_KEEP_CACHE` for eligible read-only base files; accepted when the kernel cache fast path is active (parallel workers). |
-
-By default (no env vars set), AgentFS runs with parallel FUSE dispatch and
-deferred kernel-cache invalidation, which enables the kernel cache fast path:
-1 s TTLs on dentries/attrs/negative lookups, writeback cache, `FOPEN_KEEP_CACHE`
-on eligible reads, and readdirplus auto. Each mutation path (`create`, `mkdir`,
-`mknod`, `symlink`, `link`, `unlink`, `rmdir`, `rename`, `write`, `flush`,
-`setattr`) is audited in debug builds to confirm a kernel cache invalidation
-(synchronous or deferred) is queued before any success reply.
-
-Override to `AGENTFS_FUSE_WORKERS=serial` to fall back to the pre-Phase-8
-behavior where the kernel cache fast path is fully disabled (TTLs=0, no
-writeback, no keepcache, no readdirplus). Setting `AGENTFS_FUSE_SYNC_INVAL=1`
-re-enables synchronous invalidation; use it only with `AGENTFS_FUSE_WORKERS=serial`
-to avoid the parallel-dispatch deadlock described above. All copy-on-write
-writes remain in the AgentFS database; no sandbox write is applied to the base
-filesystem regardless of the cache configuration.
-
-### agentfs mount
-
-Mount an agent filesystem or list mounted filesystems.
-
-```
-agentfs mount [OPTIONS] [ID_OR_PATH] [MOUNT_POINT]
-```
-
-Without arguments, lists all mounted agentfs filesystems.
-
-**Options:**
-- `-a, --auto-unmount` - Automatically unmount on exit
-- `--allow-root` - Allow root user to access filesystem
-- `-f, --foreground` - Run in foreground
-- `--uid ` - User ID for all files
-- `--gid ` - Group ID for all files
-
-**Unmounting:**
-- Linux: `fusermount -u `
-- macOS: `umount `
-
-**macOS NFS git validation (#333):**
-
-To manually validate the macOS NFS path used by git loose-object writes, run the
-repository harness on a macOS host:
-
-```bash
-cargo build --manifest-path cli/Cargo.toml --no-default-features
-scripts/validation/macos-nfs-git-validation.sh \
- --agentfs-bin "$PWD/cli/target/debug/agentfs"
-```
-
-The script initializes a temporary AgentFS database, mounts it via
-`agentfs mount --backend nfs`, runs `git init`, `git add`, `git commit`, and
-`git fsck --strict`, then unmounts and cleans up. A passing run ends with
-`macOS NFS git validation passed` and a nonzero loose-object count. On non-macOS
-hosts the script exits `77` to report an intentional skip.
-
-### agentfs serve mcp
-
-Start an MCP (Model Context Protocol) server.
-
-```
-agentfs serve mcp [OPTIONS]
-```
-
-**Options:**
-- `--tools ` - Comma-separated list of tools to expose (default: all)
-
-**Available tools:**
-
-Filesystem: `read_file`, `write_file`, `readdir`, `mkdir`, `remove`, `rename`, `stat`, `access`
-
-Key-Value: `kv_get`, `kv_set`, `kv_delete`, `kv_list`
-
-### agentfs serve nfs
-
-Start an NFS server to export AgentFS over the network.
-
-```
-agentfs serve nfs [OPTIONS]
-```
-
-**Options:**
-- `--bind ` - IP address to bind (default: `127.0.0.1`)
-- `--port ` - Port to listen on (default: `11111`)
-
-**Mounting from client:**
-```bash
-mount -t nfs -o vers=3,tcp,port=11111,mountport=11111,nolock :/
-```
-
-### agentfs sync
-
-Synchronize agent filesystem with a remote Turso database.
-
-```
-agentfs sync
-```
-
-**Subcommands:**
-- `pull` - Pull remote changes
-- `push` - Push local changes
-- `stats` - View sync statistics
-- `checkpoint` - Create checkpoint
-
-### agentfs integrity
-
-Run SQLite and AgentFS schema-invariant checks against a local database.
-
-```
-agentfs integrity [OPTIONS]
-```
-
-**Arguments:**
-- `ID_OR_PATH` - Agent identifier or database path
-
-**Options:**
-- `--json` - Emit a machine-readable report
-- `--key ` - Hex-encoded encryption key for encrypted databases
-- `--cipher ` - Cipher algorithm (required with `--key`)
-
-**Examples:**
-
-```bash
-# Check by agent ID
-agentfs integrity my-agent --json
-
-# Check by database path
-agentfs integrity .agentfs/my-agent.db --json
-```
-
-The command runs `PRAGMA integrity_check`, validates required AgentFS tables and
-v0.5 config, checks inline/chunk storage invariants, verifies namespace
-references, and checks overlay metadata tables when present. It exits nonzero if
-any check fails.
-
-### agentfs backup
-
-Create a portable main-database snapshot for a local AgentFS database.
-
-```
-agentfs backup [OPTIONS]
-```
-
-**Arguments:**
-- `ID_OR_PATH` - Agent identifier or database path
-- `TARGET_DB` - New database path to create
-
-**Options:**
-- `--verify` - Reopen the copied main database and run integrity checks
-- `--key ` - Hex-encoded encryption key for encrypted databases
-- `--cipher ` - Cipher algorithm (required with `--key`)
-
-**Examples:**
-
-```bash
-# Checkpoint, copy, reopen, and verify a portable backup
-agentfs backup my-agent /tmp/my-agent-backup.db --verify
-
-# Backup using database paths
-agentfs backup .agentfs/my-agent.db ./my-agent-backup.db --verify
-```
-
-The command checkpoints and truncates the source WAL before copying only the
-main database file. The target must not already exist. Databases with
-partial-origin overlay rows are rejected because their file contents still
-depend on the external base tree; keep the base tree with the database or
-materialize the overlay before creating a portable backup.
-
-### agentfs migrate
-
-Migrate historical database schemas through the legacy v0.4 layout.
-
-```
-agentfs migrate [OPTIONS]
-```
-
-Upgrades an AgentFS database schema through the legacy v0.4 layout. v0.5 is a layout-changing schema and uses the copy-based `agentfs migrate-v0-5` command instead of in-place mutation.
-
-**Arguments:**
-- `ID_OR_PATH` - Agent identifier or database path
-
-**Options:**
-- `--dry-run` - Preview migration without applying changes
-
-**Examples:**
-
-```bash
-# Preview pending migrations
-agentfs migrate my-agent --dry-run
-
-# Apply migrations
-agentfs migrate my-agent
-
-# Migrate using database path
-agentfs migrate .agentfs/my-agent.db
-```
-
-**Output:**
-
-The command displays the current and target schema versions, then applies any necessary migrations:
-
-```
-Database: .agentfs/my-agent.db
-Current schema version: v0.2
-Target schema version: v0.4
-
-Applying migrations...
- Migrating v0.2 -> v0.4...
- Added atime_nsec column to fs_inode
- Added mtime_nsec column to fs_inode
- Added ctime_nsec column to fs_inode
- Added rdev column to fs_inode
- v0.2 -> v0.4 migration complete.
-
-Migration completed successfully.
-```
-
-**Notes:**
-- Migrations are idempotent and safe to run multiple times
-- This command does not convert v0.4 databases to v0.5
-- Always backup your database before running migrations on production data
-
-### agentfs migrate-v0-5
-
-Copy a v0.4 database into a new v0.5 database.
-
-```
-agentfs migrate-v0-5 [OPTIONS]
-```
-
-v0.5 changes the file-content layout by defaulting to 64 KiB chunks and storing dense regular files at or below 4 KiB inline in `fs_inode`. Because this is a layout change, migration is copy-only: the source database is opened for verification and copied into a separate target database.
-
-**Arguments:**
-- `SOURCE` - Source v0.4 database path
-- `TARGET` - Target v0.5 database path
-
-**Options:**
-- `--verify` - Verify migrated filesystem, KV, tool-call, and overlay state equivalence
-- `--overwrite-target` - Replace an existing target database
-
-**Examples:**
-
-```bash
-# Copy and verify a v0.4 database into v0.5
-agentfs migrate-v0-5 .agentfs/my-agent.db .agentfs/my-agent-v05.db --verify
-
-# Replace an existing target
-agentfs migrate-v0-5 old.db new.db --verify --overwrite-target
-```
-
-**Notes:**
-- The source database is never migrated in place
-- Overlay tables (`fs_whiteout`, `fs_origin`, and `fs_overlay_config`) are preserved
-- Sparse and large files are streamed during copy/verification rather than materialized whole-file
-- Verification includes a checkpointed single-file snapshot check for the target database
-
-### agentfs fs
-
-Filesystem operations on agent databases.
-
-**Common Options:**
-- `--key ` - Hex-encoded encryption key for encrypted databases
-- `--cipher ` - Cipher algorithm (required with `--key`)
-
-#### agentfs fs ls
-
-```
-agentfs fs [OPTIONS] ls [FS_PATH]
-```
-
-List files and directories. Output: `f ` for files, `d ` for directories.
-
-#### agentfs fs cat
-
-```
-agentfs fs [OPTIONS] cat
-```
-
-Display file contents.
-
-#### agentfs fs write
-
-```
-agentfs fs [OPTIONS] write
-```
-
-Write content to a file.
-
-### agentfs diff
-
-Show filesystem changes in overlay mode.
-
-```
-agentfs diff
-```
-
-### agentfs timeline
-
-Display agent action timeline from the tool call audit log.
-
-```
-agentfs timeline [OPTIONS]
-```
-
-**Options:**
-- `--limit ` - Limit entries (default: 100)
-- `--filter ` - Filter by tool name
-- `--status ` - Filter by status: `pending`, `success`, `error`
-- `--format ` - Output format: `table`, `json` (default: table)
-
-### agentfs completions
-
-Manage shell completions.
-
-```
-agentfs completions install [SHELL]
-agentfs completions uninstall [SHELL]
-agentfs completions show
-```
-
-Supported shells: `bash`, `zsh`, `fish`, `powershell`
-
-## Environment Variables
-
-**Configuration variables:**
-
-| Variable | Description |
-|----------|-------------|
-| `AGENTFS_KEY` | Default encryption key (hex-encoded) |
-| `AGENTFS_CIPHER` | Default cipher algorithm |
-| `TURSO_DB_AUTH_TOKEN` | Authentication token for cloud sync |
-
-**Variables set inside the sandbox:**
-
-| Variable | Description |
-|----------|-------------|
-| `AGENTFS` | Set to `1` inside AgentFS sandbox |
-| `AGENTFS_SANDBOX` | Sandbox type: `macos-sandbox` or `linux-namespace` |
-| `AGENTFS_SESSION` | Current session ID |
-
-## Local Encryption
-
-AgentFS supports encrypting the local SQLite database at rest using libSQL's encryption feature.
-
-**Supported ciphers:**
-- `aes256gcm` - AES-256-GCM (requires 64-character hex key)
-- `aes128gcm` - AES-128-GCM (requires 32-character hex key)
-- `aegis256` - AEGIS-256 (requires 64-character hex key)
-- `aegis128l` - AEGIS-128L (requires 32-character hex key)
-- `aegis128x2`, `aegis128x4`, `aegis256x2`, `aegis256x4` - AEGIS variants
-
-**Example: Create an encrypted filesystem**
-
-```bash
-# Generate a 256-bit key (64 hex characters)
-KEY=$(openssl rand -hex 32)
-
-# Initialize with encryption
-agentfs init --key $KEY --cipher aes256gcm my-secure-agent
-
-# Access the filesystem
-agentfs fs my-secure-agent --key $KEY --cipher aes256gcm ls /
-```
-
-**Example: Encrypted sandbox session**
-
-```bash
-agentfs run --key $KEY --cipher aes256gcm -- bash
-```
-
-**Using environment variables:**
-
-```bash
-export AGENTFS_KEY=$(openssl rand -hex 32)
-export AGENTFS_CIPHER=aes256gcm
-
-agentfs init my-secure-agent
-agentfs fs my-secure-agent ls /
-```
-
-**Limitations:**
-- Local encryption cannot be used with cloud sync (`--sync-remote-url`)
-
-## Files
-
-- `.agentfs/.db` - Agent filesystem database
-- `~/.config/agentfs/` - Configuration directory
-
-## See Also
-
-- [AgentFS Documentation](https://docs.turso.tech/agentfs) - Guides, tutorials, SDK docs
-- [AgentFS Specification](SPEC.md) - SQLite schema specification
-- [GitHub Repository](https://github.com/tursodatabase/agentfs) - Source code and examples
diff --git a/README.md b/README.md
index 62bc30d7..a8cf8b48 100644
--- a/README.md
+++ b/README.md
@@ -1,56 +1,55 @@
-
-
AgentFS
-
-
-
- The filesystem for agents.
-
-
-
-
-
-
-
-
-
-
-
-
-
----
+# AgentFS
-> **⚠️ Warning:** This software is in BETA. It may still contain bugs and unexpected behavior. Use caution with production data and ensure you have backups.
+The filesystem for agents: a SQLite-backed virtual filesystem with
+copy-on-write sandboxing, mountable over FUSE (Linux) or NFS.
-## 🎯 What is AgentFS?
+> **⚠️ Warning:** This software is in BETA. It may still contain bugs and unexpected behavior. Use caution with production data and ensure you have backups.
-AgentFS is a filesystem explicitly designed for AI agents. Just as traditional filesystems provide file and directory abstractions for applications, AgentFS provides the storage abstractions that AI agents need.
+## What is AgentFS?
-The AgentFS repository consists of the following:
+AgentFS stores everything an agent does — every file it creates, every piece
+of key-value state, every tool call it records — in a single SQLite database
+file. That gives agent state three properties ordinary filesystems don't
+have:
-* **SDK** - [TypeScript](sdk/typescript), [Python](sdk/python), and [Rust](sdk/rust) libraries for programmatic filesystem access.
-* **[CLI](MANUAL.md)** - Command-line interface for managing agent filesystems:
- - Mount AgentFS on host filesystem with FUSE on Linux and NFS on macOS.
- - Access AgentFS files with a command line tool.
-* **[AgentFS Specification](SPEC.md)** - SQLite-based agent filesystem specification.
+* **Auditability**: every file operation and tool call is queryable with SQL.
+* **Reproducibility**: snapshot an agent's state by copying one file; restore
+ it to reproduce exact execution states or roll back mistakes.
+* **Portability**: the entire agent runtime (files, state, history) moves
+ between machines as a single `.db` file.
-## 💡 Why AgentFS?
+For sandboxed coding-agent workloads, AgentFS layers that database over a
+read-only view of the host filesystem: reads are scoped to the configured
+base tree, writes go only to the AgentFS delta database, and the real
+filesystem is never modified. This holds even against prompt-injected agents:
+the isolation is enforced at the filesystem layer, not by convention.
-AgentFS provides the following benefits for agent state management:
+## Repository layout
-* **Auditability**: Every file operation, tool call, and state change is recorded in a SQLite database file. Query your agent's complete history with SQL to debug issues, analyze behavior, or meet compliance requirements.
-* **Reproducibility**: Snapshot an agent's state at any point with cp agent.db snapshot.db. Restore it later to reproduce exact execution states, test what-if scenarios, or roll back mistakes.
-* **Portability**: The entire agent runtime—files, state, history —is stored in a single SQLite file. Move it between machines, check it into version control, or deploy it to any system where Turso runs.
+This repository is one Cargo workspace with five crates:
-Read more about the motivation for AgentFS in the announcement [blog post](https://turso.tech/blog/agentfs).
+| Crate | Role |
+|---|---|
+| `crates/agentfs-core` | The engine: storage, overlay/copy-on-write, schema authority, typed config, telemetry, semantics (access/durability/handles). The only crate meant for external consumption. |
+| `crates/agentfs-fuse` | Sealed Linux FUSE mount surface (transport + adapter). |
+| `crates/agentfs-nfs` | Sealed NFSv3 serve surface (transport + adapter). |
+| `crates/agentfs-mount` | One mount lifecycle: `mount_fs`, `MountHandle`, supervision, daemonize. |
+| `crates/agentfs-cli` | The `agentfs` binary: thin CLI edge over the crates above. |
-## 🧑💻 Getting Started
+Platform support: **Linux is first-tier** (FUSE and NFS backends, `agentfs
+run` sandbox, full validation gate). **macOS is second-tier**: NFS mount
+plus a sandboxed `agentfs run` (Seatbelt/`sandbox-exec` with default-deny
+read scoping), validated by a manual release gate
+(`scripts/validation/macos-nfs-git-validation.sh`) run on real hardware —
+see [docs/TESTING.md](docs/TESTING.md). No other platforms are supported.
-### Using the CLI
+## Getting started
-Install the AgentFS CLI:
+Build and install the CLI from source:
```bash
-curl -fsSL https://agentfs.ai/install | bash
+cargo +nightly build --release --workspace --bins
+install -m 0755 target/release/agentfs ~/.local/bin/
```
Initialize an agent filesystem:
@@ -61,25 +60,21 @@ Created agent filesystem: .agentfs/my-agent.db
Agent ID: my-agent
```
-Inspect the agent filesystem:
+Inspect it without mounting:
```bash
$ agentfs fs my-agent ls
-Using agent: my-agent
f hello.txt
$ agentfs fs my-agent cat hello.txt
hello from agent
-```
-
-You can also use a database path directly:
-```bash
+# Or address the database file directly
$ agentfs fs .agentfs/my-agent.db cat hello.txt
hello from agent
```
-View the agent's action timeline:
+View the agent's tool-call timeline:
```bash
$ agentfs timeline my-agent
@@ -90,7 +85,7 @@ ID TOOL STATUS DURATION STARTED
1 web_search success 1200ms 2024-01-05 09:43:45
```
-You can mount an agent filesystem using FUSE (Linux) or NFS (macOS):
+Mount it as a real filesystem (FUSE on Linux, NFS on macOS):
```bash
$ agentfs mount my-agent ./mnt
@@ -99,124 +94,84 @@ $ cat ./mnt/hello.txt
hello
```
-You can also run a program in an experimental sandbox with the agent filesystem mounted at `/agent`:
+Run a program in a copy-on-write sandbox over your current directory
+(FUSE + user/mount namespaces on Linux):
```bash
-$ agentfs run /bin/bash
-Welcome to AgentFS!
-
-$ echo "hello from agent" > /agent/hello.txt
-$ cat /agent/hello.txt
-hello from agent
+$ agentfs run --session my-session -- bash
+# ... work normally; every write lands in the delta database,
+# the host filesystem is untouched ...
$ exit
-```
-
-Read the **[User Manual](MANUAL.md)** for complete documentation.
-
-### Using the SDK
-
-Install the SDK in your project:
-
-```bash
-npm install agentfs-sdk
-```
-
-Use it in your agent code:
-
-```typescript
-import { AgentFS } from 'agentfs-sdk';
-// Persistent storage with identifier
-const agent = await AgentFS.open({ id: 'my-agent' });
-// Creates: .agentfs/my-agent.db
-
-// Or use ephemeral in-memory database
-const ephemeralAgent = await AgentFS.open();
-
-// Key-value operations
-await agent.kv.set('user:preferences', { theme: 'dark' });
-const prefs = await agent.kv.get('user:preferences');
-
-// Filesystem operations
-await agent.fs.writeFile('/output/report.pdf', pdfBuffer);
-const files = await agent.fs.readdir('/output');
-
-// Tool call tracking
-await agent.tools.record(
- 'web_search',
- Date.now() / 1000,
- Date.now() / 1000 + 1.5,
- { query: 'AI' },
- { results: [...] }
-);
+# List live sandbox sessions; inspect what a session changed
+$ agentfs ps
+$ agentfs diff my-session
```
-### Examples
-
-This source repository also contains examples that demonstrate how to integrate AgentFS with some popular AI frameworks:
-
-- **[Mastra](examples/mastra/research-assistant)** - Research assistant using the Mastra AI framework
-- **[Claude Agent SDK](examples/claude-agent/research-assistant)** - Research assistant using Anthropic's Claude Agent SDK
-- **[OpenAI Agents](examples/openai-agents/research-assistant)** - Research assistant using OpenAI Agents SDK
-- **[Firecracker](examples/firecracker)** - Minimal Firecracker VM with AgentFS mounted via NFSv3
-- **[AI SDK + just-bash](examples/ai-sdk-just-bash)** - Interactive AI agent using Vercel AI SDK with just-bash for command execution
-- **[Cloudflare Workers](examples/cloudflare)** - AI agent using AI SDK + just-bash on Cloudflare Workers with Durable Objects storage
-
-See the **[examples](examples)** directory for more details.
-
-## 🔧 How AgentFS Works?
-
-
-
-AgentFS is an agent filesystem accessible through an SDK that provides three essential interfaces for agent state management:
-
-* **Filesystem:** A POSIX-like filesystem for files and directories
-* **Key-Value:** A key-value store for agent state and context
-* **Toolcall:** A toolcall audit trail for debugging and analysis
-
-At the heart of AgentFS is the [agent filesystem](SPEC.md), a complete SQLite-based storage system for agents implemented using [Turso](https://github.com/tursodatabase/turso). Everything an agent does—every file it creates, every piece of state it stores, every tool it invokes—lives in a single SQLite database file.
-
-For sandboxed coding-agent workloads, AgentFS can layer that SQLite-backed
-filesystem over a read-only host directory. Reads are scoped to the configured
-base tree, while writes go only to the AgentFS delta database. The real
-filesystem is never modified by copy-on-write operations. On Linux, the FUSE
-backend dispatches requests through a bounded worker pool and a read/write lane:
-read-heavy operations can run concurrently against internally synchronized
-backends, while namespace and data mutations remain serialized at the
-filesystem/SQLite transaction boundaries. This preserves AgentFS's two core
-safety properties: one portable database contains the virtual filesystem state,
-and sandboxed writes do not touch the real filesystem.
-
-## 🤔 FAQ
+Beyond these basics, the CLI covers the rest of the lifecycle:
+
+* `agentfs exec` — run a one-shot command over a temporary mount, then
+ unmount automatically.
+* `agentfs clone` — bulk-ingest a git repository straight into the database.
+* `agentfs sync` — push/pull the database to a remote Turso (libSQL) server.
+* `agentfs serve nfs` / `agentfs serve mcp` — export the filesystem over
+ NFS, or expose filesystem and KV-store tools to agents over MCP.
+* `--key` / `--cipher` — local at-rest encryption of the database.
+* `agentfs backup`, `integrity`, `migrate`, `materialize`, `prune` —
+ portable backups, corruption checks, schema migration, partial-origin
+ materialization, and mount cleanup.
+
+The **[User Manual](docs/MANUAL.md)** documents every command; its command
+reference is generated from the CLI's own argument definitions, so it cannot
+drift from `agentfs --help`.
+
+## Using AgentFS as a library
+
+The `agentfs-core` crate provides programmatic access to the same engine the
+CLI uses: filesystem, key-value store, and tool-call audit trail over a
+single database. See the crate rustdoc (`cargo doc -p agentfs-core`).
+
+## How it works
+
+At the heart of AgentFS is the [agent filesystem](docs/SPEC.md), a complete
+SQLite-based storage system implemented on
+[Turso](https://github.com/tursodatabase/turso). The database schema
+separates namespace (dentries) from data (inodes + chunked/inline content),
+which enables hard links, POSIX metadata, sparse files, and SQL-queryable
+history.
+
+On Linux, the FUSE backend dispatches requests through a bounded worker pool
+with a read/write lane split, kernel-cache acceleration (entry/attr TTLs,
+writeback cache, readdirplus), zero-message opens, and an optional
+FUSE-over-io_uring transport. All acceleration structures are reconstructible
+from the database; the two safety properties — one portable database holds
+all virtual filesystem state, and sandboxed writes never reach the host
+filesystem — hold regardless of cache configuration. Runtime tunables are
+declared in the generated [docs/KNOBS.md](docs/KNOBS.md) ledger.
+
+## FAQ
### How is AgentFS different from _X_?
-[Bubblewrap](https://github.com/containers/bubblewrap) provides filesystem isolation using Linux namespaces and overlays. While you could achieve similar isolation with a `bwrap` call that mounts `/` read-only and uses `--tmp-overlay` on the working directory, the key difference is persistence and queryability: with AgentFS, the upper filesystem is stored in a single SQLite database file, which you can query, snapshot, and move to another machine. Read more about the motivation in the announcement [blog post](https://turso.tech/blog/agentfs).
+[Bubblewrap](https://github.com/containers/bubblewrap) provides filesystem isolation using Linux namespaces and overlays. While you could achieve similar isolation with a `bwrap` call that mounts `/` read-only and uses `--tmp-overlay` on the working directory, the key difference is persistence and queryability: with AgentFS, the upper filesystem is stored in a single SQLite database file, which you can query, snapshot, and move to another machine.
[Docker Sandbox](https://www.docker.com/blog/docker-sandboxes-a-new-approach-for-coding-agent-safety/) and AgentFS are complementary rather than competing. AgentFS answers "what happened and what's the state?" while Docker Sandboxes answer "how do I run this safely?" You could use both together: run an agent inside a Docker Sandbox for security, while using AgentFS inside that sandbox for structured state management and audit trails.
-[Git worktrees](https://git-scm.com/docs/git-worktree) let you check out multiple branches of a repository into separate directories, allowing agents to work on independent copies of the source code—similar to AgentFS. But AgentFS solves the problem at a lower level. With git worktrees, nothing prevents an agent from modifying files outside its worktree: another agent's worktree, system files, or anything else on the filesystem. The isolation is purely conventional, not enforced. AgentFS provides filesystem-level copy-on-write isolation that's system-wide and cannot be bypassed—letting you safely run untrusted agents. And because it operates below git, it also handles untracked files, making it useful beyond just version-controlled source code.
+[Git worktrees](https://git-scm.com/docs/git-worktree) let you check out multiple branches of a repository into separate directories, allowing agents to work on independent copies of the source code — similar to AgentFS. But AgentFS solves the problem at a lower level. With git worktrees, nothing prevents an agent from modifying files outside its worktree: another agent's worktree, system files, or anything else on the filesystem. The isolation is purely conventional, not enforced. AgentFS provides filesystem-level copy-on-write isolation that cannot be bypassed, and because it operates below git, it also handles untracked files.
### Why implement AgentFS at the filesystem layer instead of using containers or VMs?
-The filesystem layer gives us capabilities that block devices can't. First, because everything is stored in structured SQLite tables, you can query the filesystem, which is essential for auditability and debugging agent behavior. Second, SQLite's write-ahead log enables snapshotting and time-travel forking by capturing every filesystem change. Third, we can provide an SDK that works in environments such as serverless or the browser, where there's no way to mount a block device at all. Note that this approach works fine with containers and VMs too—you can use AgentFS via remote filesystem protocols like NFS or through mechanisms like virtio-fuse.
-
-## 📚 Learn More
-
-- **[User Manual](MANUAL.md)** - Complete guide to using the AgentFS CLI and SDK
-- **[Agent Filesystem Specification](SPEC.md)** - Technical specification of the agent filesystem SQLite schema
-- **[SDK Examples](examples/)** - Working code examples using AgentFS
-- **[Turso database](https://github.com/tursodatabase/turso)** - an in-process SQL database, compatible with SQLite.
+The filesystem layer gives us capabilities that block devices can't. First, because everything is stored in structured SQLite tables, you can query the filesystem, which is essential for auditability and debugging agent behavior. Second, SQLite's write-ahead log enables snapshotting and time-travel forking by capturing every filesystem change. Third, the engine works in environments where mounting a block device is impossible. This approach also composes with containers and VMs: AgentFS is reachable over remote filesystem protocols like NFS or through mechanisms like virtio-fuse.
-### Blog Posts
+## Learn more
-- **[Introducing AgentFS](https://turso.tech/blog/agentfs)** - The motivation behind AgentFS
-- **[AgentFS with FUSE](https://turso.tech/blog/agentfs-fuse)** - Mounting agent filesystems using FUSE
-- **[AgentFS with Overlay Filesystem](https://turso.tech/blog/agentfs-overlay)** - Sandboxing agents with copy-on-write overlays
-- **[AI Agents with Just Bash](https://turso.tech/blog/agentfs-just-bash)** - Safe bash command execution for agents
-- **[AgentFS in the Browser](https://turso.tech/blog/agentfs_browser)** - Running AgentFS in browsers with WebAssembly
-- **[Making Coding Agents Safe Using LlamaIndex](https://www.llamaindex.ai/blog/making-coding-agents-safe-using-llamaindex)** - Using AgentFS with LlamaIndex
+- **[User Manual](docs/MANUAL.md)** - complete CLI reference (generation-checked against the binary)
+- **[Agent Filesystem Specification](docs/SPEC.md)** - the SQLite schema and runtime invariants
+- **[Runtime Knobs](docs/KNOBS.md)** - generated ledger of every tunable
+- **[Testing](docs/TESTING.md)** - validation gates, benchmark policy, and the manual macOS release gate
+- **[CHANGELOG](CHANGELOG.md)** - including the fork-era restructure summary
+- **[Turso database](https://github.com/tursodatabase/turso)** - the in-process SQL database AgentFS builds on
-## 📝 License
+## License
MIT
diff --git a/TESTING.md b/TESTING.md
deleted file mode 100644
index 60b08804..00000000
--- a/TESTING.md
+++ /dev/null
@@ -1,710 +0,0 @@
-# Testing AgentFS
-
-## Phase 8 FUSE concurrency and Git workload gates
-
-Use the Phase 8 validation scripts when changing FUSE dispatch, kernel cache
-policy, OverlayFS/HostFS inode accounting, or AgentFS write batching. These
-gates assert the two AgentFS safety principles while measuring the remaining
-performance gap against native filesystem operations:
-
-- the AgentFS database remains portable and inspectable as a single main DB,
-- the source/base tree is unchanged after sandboxed writes,
-- concurrent Git status/diff/log output matches native output,
-- FUSE read dispatch can overlap without the old backend mutex fallback,
-- crash/writeback durability tests preserve accepted data or report an
- explicitly accepted no-fsync state.
-
-Recommended fast gate after FUSE/overlay changes:
-
-```bash
-cargo +nightly build --manifest-path cli/Cargo.toml
-AGENTFS_FUSE_WORKERS=25% \
- scripts/validation/phase8-validation.py --smoke --timeout 45
-```
-
-Focused gates:
-
-```bash
-# Concurrent Git correctness, base immutability, database integrity, portability
-AGENTFS_FUSE_WORKERS=25% \
- scripts/validation/phase8-concurrent-git-stress.py \
- --timeout 45 \
- --fixture-files 12 \
- --fixture-dirs 3 \
- --fixture-file-size-bytes 512 \
- --edit-files 2 \
- --append-bytes 32
-
-# FUSE read-lane parallelism and global-backend-serialization detection
-AGENTFS_FUSE_WORKERS=25% \
- scripts/validation/fuse-serialization-stress.py \
- --timeout 60 \
- --files 8 \
- --file-size-bytes 2048 \
- --threads 4 \
- --iterations 20 \
- --read-bytes 512
-
-# Git phase timing breakdown against native
-AGENTFS_FUSE_WORKERS=25% \
- scripts/validation/git-workload-benchmark.py \
- --timeout 45 \
- --fixture-files 12 \
- --fixture-dirs 3 \
- --fixture-file-size-bytes 512 \
- --read-files 8 \
- --read-bytes 512 \
- --edit-files 2 \
- --skip-fsck \
- --profile
-```
-
-Important counters in profile summaries:
-
-| Counter | Expected meaning |
-|---|---|
-| `fuse_workers_configured` | Number of configured FUSE workers for the session. |
-| `fuse_dispatch_max_concurrent` | Maximum concurrent request callbacks observed. |
-| `fuse_read_lane_max_concurrent` | Maximum concurrent read-lane admissions. |
-| `fuse_exclusive_fallback_count` | Legacy backend-global mutex fallback count; should be `0` for the direct `Arc` mount path. |
-| `fuse_adapter_lock_wait_count` | Legacy backend mutex wait count; should be `0` for the direct mount path. |
-| `base_fast_inode_invalidations` | Inode invalidations from FUSE cache/drift handling. |
-
-For full policy enforcement, run:
-
-```bash
-AGENTFS_FUSE_WORKERS=25% \
- scripts/validation/phase8-validation.py --full --timeout 120
-```
-
-The full gate enforces Phase 8 performance thresholds. It is stricter than the
-smoke gate and may fail while correctness, portability, and no-real-write gates
-pass; use its phase ratios to identify the next optimization target.
-
-### Validating the default-on kernel cache
-
-As of Tier One, parallel FUSE dispatch with deferred (off-thread) cache
-invalidation is the default, so the kernel cache fast path is engaged
-out-of-the-box. Synchronous invalidation (`AGENTFS_FUSE_SYNC_INVAL=1`) is
-opt-in because pairing it with parallel workers can deadlock on git
-fork/fsync paths (a synchronous notify issued from a request handler blocks
-waiting for inline `FUSE_FORGET` traffic that cannot be drained while every
-worker lane is busy). To verify the gates pass with **no env vars set**
-(the operator's actual experience), run each gate with the AgentFS-prefixed
-vars explicitly unset:
-
-```bash
-# Smoke + concurrent-git correctness with default-on cache
-env -u AGENTFS_FUSE_WORKERS -u AGENTFS_FUSE_SYNC_INVAL \
- -u AGENTFS_FUSE_WRITEBACK -u AGENTFS_FUSE_KEEPCACHE \
- -u AGENTFS_FUSE_READDIRPLUS -u AGENTFS_FUSE_ENTRY_TTL_MS \
- -u AGENTFS_FUSE_ATTR_TTL_MS -u AGENTFS_FUSE_NEG_TTL_MS \
- scripts/validation/phase8-validation.py --smoke --timeout 60
-
-# Robust before/after benchmark wrapper (median + p25/p75 + stdev)
-env -u AGENTFS_FUSE_WORKERS -u AGENTFS_FUSE_SYNC_INVAL \
- -u AGENTFS_FUSE_WRITEBACK -u AGENTFS_FUSE_KEEPCACHE \
- -u AGENTFS_FUSE_READDIRPLUS -u AGENTFS_FUSE_ENTRY_TTL_MS \
- -u AGENTFS_FUSE_ATTR_TTL_MS -u AGENTFS_FUSE_NEG_TTL_MS \
- scripts/validation/git-workload-benchmark-multi.py \
- --label default-cache \
- --iterations 5 --warmup 1 \
- --source \
- --read-files 32 --read-bytes 4096 --edit-files 4 --skip-fsck \
- --timeout 600
-```
-
-Expected counters in `agentfs_profile_summary` when default-on cache is active:
-`fuse_workers_configured > 0`, `fuse_ttl_entry_ms = 1000`, `fuse_ttl_attr_ms = 1000`,
-`fuse_writeback_cache_enabled = 1`, `fuse_readdirplus_mode > 0`, and zero
-`fuse_exclusive_fallback_count` / `fuse_adapter_lock_wait_count`. Debug builds
-also assert in every mutation handler that the kernel cache was invalidated
-before the FUSE reply, catching missed invalidations during development.
-
-## Phase 5.5 read-path benchmark and profiling
-
-Use `scripts/validation/read-path-benchmark.py` to capture reproducible
-native-vs-AgentFS read-path baselines before and after read-path changes. The
-script creates a deterministic temporary fixture, runs identical read-only
-workloads natively and through `agentfs run`, writes JSON under `/tmp` by
-default, and also emits the same JSON to stdout.
-
-```bash
-# Fast smoke with profile summaries/counters
-AGENTFS_PROFILE=1 scripts/validation/read-path-benchmark.py \
- --files 8 \
- --dirs 3 \
- --stat-iterations 1 \
- --readdir-iterations 1 \
- --open-iterations 1 \
- --timeout 60
-
-# Larger bounded read-path baseline
-scripts/validation/read-path-benchmark.py \
- --files 256 \
- --dirs 32 \
- --file-size-bytes 8192 \
- --stat-iterations 8 \
- --readdir-iterations 16 \
- --open-iterations 8 \
- --timeout 180
-
-# Only steady warm-session measurement
-scripts/validation/read-path-benchmark.py --modes warm --output /tmp/agentfs-read-warm.json
-```
-
-The benchmark covers:
-
-- bounded file scan,
-- repeated `stat`/`lstat` storm,
-- `readdir` storm,
-- `readdir_plus` approximation via `os.scandir(...).stat(...)`,
-- open/read/close loop,
-- cold and warm AgentFS sessions,
-- startup/session overhead vs child workload time where measurable.
-
-Environment:
-
-| Variable | Description |
-|---|---|
-| `AGENTFS_BIN` | path/name of the `agentfs` executable |
-| `AGENTFS_PROFILE=1` | include parsed `agentfs_profile_summary` lines and counter summaries |
-| `READ_PATH_BENCHMARK_MODES` | comma-separated default modes, e.g. `cold,warm` |
-| `READ_PATH_BENCHMARK_TIMEOUT` | per-command timeout in seconds |
-| `READ_PATH_BENCHMARK_KEEP_TEMP=1` | keep temporary fixture trees and isolated HOME |
-
-Machine-readable schema (`schema_version: 1`):
-
-```json
-{
- "schema_version": 1,
- "benchmark": "phase55-read-path",
- "git_commit": "",
- "command": {
- "argv": ["scripts/validation/read-path-benchmark.py", "..."],
- "workload_argv": ["python", "-c", "..."],
- "agentfs_prefix": ["/path/to/agentfs", "run", "--session", "", "--no-default-allows", "--"]
- },
- "environment": {
- "AGENTFS_PROFILE": "1",
- "AGENTFS_BIN": "/path/to/agentfs"
- },
- "parameters": {
- "files": 64,
- "dirs": 8,
- "file_size_bytes": 4096,
- "scan_bytes": 1024,
- "stat_iterations": 4,
- "readdir_iterations": 8,
- "open_iterations": 3,
- "open_read_bytes": 512,
- "modes": ["cold", "warm"]
- },
- "agentfs": {
- "bin": "/path/to/agentfs",
- "profile_enabled": true,
- "profile_summary_count": 4
- },
- "summary": {
- "native_seconds": 0.01,
- "agentfs_seconds": 0.2,
- "ratio": 20.0,
- "all_equivalent": true
- },
- "modes": [
- {
- "mode": "cold",
- "session": "read-path-...",
- "summary": {
- "native_seconds": 0.01,
- "agentfs_seconds": 0.2,
- "ratio": 20.0
- },
- "steady_state": {
- "native_workload_seconds": 0.009,
- "agentfs_workload_seconds": 0.15,
- "ratio": 16.7
- },
- "equivalence": {
- "checked": true,
- "equivalent": true,
- "native_digest": "...",
- "agentfs_digest": "..."
- },
- "native": {
- "run": {"duration_seconds": 0.01, "returncode": 0},
- "workload": {
- "digest": "...",
- "phase_seconds": {
- "bounded_file_scan": 0.001,
- "stat_lstat_storm": 0.001,
- "readdir_storm": 0.001,
- "readdir_plus_storm": 0.001,
- "open_read_close_loop": 0.001
- },
- "counts": {}
- },
- "timing": {
- "outer_seconds": 0.01,
- "workload_seconds": 0.009,
- "startup_or_session_overhead_seconds": 0.001
- }
- },
- "agentfs": {
- "warmup": null,
- "run": {
- "duration_seconds": 0.2,
- "returncode": 0,
- "profile_summaries": []
- },
- "workload": {"digest": "...", "phase_seconds": {}, "counts": {}},
- "timing": {
- "outer_seconds": 0.2,
- "workload_seconds": 0.15,
- "startup_or_session_overhead_seconds": 0.05
- },
- "profile_summaries": [],
- "profile_counters": {
- "summary_count": 2,
- "last_by_source": {
- "fuse_session": {"fuse_lookup_count": 1},
- "agentfs": {"lookup_count": 1}
- },
- "max_counters": {
- "lookup_count": 1,
- "getattr_count": 1,
- "readdir_count": 1,
- "readdir_plus_count": 1,
- "fuse_callback_count": 1
- }
- }
- }
- }
- ],
- "temp_dir": "/tmp/agentfs-read-path-benchmark-...",
- "kept_temp": false,
- "output_path": "/tmp/agentfs-read-path-benchmark-....json"
-}
-```
-
-## Phase 5 profiling and backend-risk helpers
-
-### Large base-file single-byte edit benchmark
-
-Use `scripts/validation/large-edit-benchmark.py` to measure the Phase 5
-copy-up risk called out in the north-star spec: a one-byte edit to a large
-base-layer file should grow the AgentFS delta database by O(changed chunks),
-not O(file size).
-
-```bash
-# Spec-sized run
-scripts/validation/large-edit-benchmark.py --file-size-mib 200 --profile
-
-# Fast smoke
-scripts/validation/large-edit-benchmark.py --file-size-mib 1 --timeout 60
-
-# Experimental partial-origin smoke
-scripts/validation/large-edit-benchmark.py --file-size-mib 1 --partial-origin --timeout 60
-```
-
-The helper creates identical native and AgentFS-overlay source trees, warms an
-AgentFS session with a metadata-only read pass, performs the same one-byte edit
-natively and through `agentfs run`, then emits JSON. The AgentFS DB growth is
-measured as the total size of `delta.db` plus any `-wal`/`-shm` files after the
-edit minus the same total immediately before the edit. If Python's stdlib
-`sqlite3` can open the database, the output also includes `fs_data` row count,
-stored chunk bytes, inline inode rows, origin rows, partial-origin rows,
-chunk-override rows, and `fs_config`.
-
-Partial-origin overlay copy-up remains opt-in for Phase 5.5. Use
-`--partial-origin` or `AGENTFS_OVERLAY_PARTIAL_ORIGIN=1` to enable it; use
-`--no-partial-origin` to force the default whole-file copy-up path even when the
-environment variable is set. The JSON output reports the selected mode as
-`agentfs.partial_origin_enabled` and echoes the effective env flag under
-`agentfs.env_flags.AGENTFS_OVERLAY_PARTIAL_ORIGIN`.
-
-Machine-readable schema (`schema_version: 1`):
-
-```json
-{
- "schema_version": 1,
- "benchmark": "phase5-large-base-single-byte-edit",
- "git_commit": "",
- "parameters": {
- "file_size_bytes": 209715200,
- "file_size_mib": 200,
- "offset": 104857600,
- "edit_width_bytes": 1
- },
- "agentfs": {
- "bin": "/path/to/agentfs",
- "session": "large-edit-...",
- "db_path": "/tmp/.../home/.agentfs/run/.../delta.db",
- "profile_enabled": true,
- "partial_origin_enabled": false,
- "env_flags": {"AGENTFS_OVERLAY_PARTIAL_ORIGIN": null},
- "profile_summary_count": 2
- },
- "database": {
- "before_edit": {"total_bytes": 32768, "artifacts": []},
- "after_edit": {"total_bytes": 210000000, "artifacts": []},
- "growth_bytes": 209967232,
- "inspect_before": {"inspectable": true},
- "inspect_after": {
- "inspectable": true,
- "fs_data_rows": 3200,
- "fs_data_bytes": 209715200,
- "fs_origin_rows": 1,
- "fs_partial_origin_rows": 0,
- "fs_chunk_override_rows": 0,
- "fs_config": {"schema_version": "0.5", "chunk_size": "65536"}
- }
- },
- "native": {"duration_seconds": 0.1, "run": {}, "result": {}},
- "agentfs_overlay": {
- "duration_seconds": 1.2,
- "warmup": {},
- "run": {"profile_summaries": []},
- "result": {}
- },
- "base_file": {
- "original_sha256": "...",
- "native_sha256_after": "...",
- "agentfs_base_sha256_after": "..."
- },
- "correctness": {
- "warmup_returncode_zero": true,
- "native_returncode_zero": true,
- "agentfs_returncode_zero": true,
- "outputs_match": true,
- "agentfs_base_unchanged": true,
- "native_file_changed": true,
- "passed": true
- }
-}
-```
-
-When `--profile` or `AGENTFS_PROFILE=1` is set, parsed
-`agentfs_profile_summary` lines from AgentFS stderr are attached to the
-`agentfs_overlay.warmup.profile_summaries` and
-`agentfs_overlay.run.profile_summaries` arrays.
-
-The current recommendation is to keep partial-origin disabled by default. SDK
-overlay tests cover remount, main-DB snapshot restore, unlink cleanup, hardlink,
-rename/`readdir_plus`, truncate shrink/extend, and drift detection; defaulting
-should wait until the same flag is included in supported FUSE/CLI torture and
-pjdfstest gates without regressions.
-
-### Workload baseline profile summaries
-
-`scripts/validation/workload-baseline.py` also attaches parsed
-`agentfs_profile_summary` JSON lines to each AgentFS run as
-`iterations[].agentfs.profile_summaries` and reports
-`agentfs.profile_summary_count` at the top level. This keeps profiling counters
-associated with the native-vs-AgentFS timing and correctness result that
-produced them.
-
-### Backend-risk spike record
-
-Use `scripts/validation/backend-risk-spike.py` to create a machine-readable
-Turso-upgrade/rusqlite-fallback decision record without changing dependencies:
-
-```bash
-scripts/validation/backend-risk-spike.py \
- --candidate-turso-version 0.5.x \
- --output backend-risk.json
-```
-
-The output records current Cargo dependency state, the candidate Turso version,
-the fallback crate under consideration, the minimum storage API surface that a
-fallback must cover, validation commands to run in an isolated spike, and
-decision fields for measured results.
-
-#### Phase 5.5 Turso backend spike workflow
-
-Run dependency-upgrade experiments in an isolated worktree/branch, not the main
-worktree:
-
-```bash
-git worktree add ../agentfs-backend-spike -b phase55-backend-spike
-cd ../agentfs-backend-spike
-```
-
-Attempt the candidate Turso upgrade by changing the Rust manifests to the
-candidate version/range, then resolve and build with Cargo:
-
-```bash
-cargo check --manifest-path sdk/rust/Cargo.toml
-cargo check --manifest-path cli/Cargo.toml
-```
-
-If the default CLI build is blocked by optional sandbox/nightly-only
-dependencies, also run the no-sandbox build to separate backend API breakage
-from unrelated optional-feature blockers:
-
-```bash
-cargo check --manifest-path cli/Cargo.toml --no-default-features
-```
-
-When the candidate builds, run the meaningful gates that are available in the
-spike environment:
-
-```bash
-cargo test --manifest-path sdk/rust/Cargo.toml
-cargo test --manifest-path cli/Cargo.toml --no-default-features
-cli/tests/all.sh
-scripts/validation/phase0.sh
-scripts/validation/posix/run-pjdfstest.sh \
- --agentfs-bin "$PWD/cli/target/debug/agentfs" \
- --pjdfstest-dir /path/to/pjdfstest \
- --profile phase45-ci
-```
-
-Record the actual candidate results in JSON. Repeat `--validation-*` options for
-each command that was run, and use blockers for exact compiler/API/runtime
-failures:
-
-```bash
-scripts/validation/backend-risk-spike.py \
- --candidate-turso-version 0.5.x \
- --resolved-turso-version 0.5.3 \
- --upgrade-built true \
- --validation-result sdk_tests=passed \
- --validation-command 'sdk_tests=cargo test --manifest-path sdk/rust/Cargo.toml' \
- --validation-exit-code sdk_tests=0 \
- --validation-summary 'sdk_tests=130 passed' \
- --validation-result cli_tests=passed \
- --validation-command 'cli_tests=cargo test --manifest-path cli/Cargo.toml --no-default-features' \
- --validation-exit-code cli_tests=0 \
- --validation-summary 'cli_tests=89 passed, 1 ignored' \
- --decision-status upgraded \
- --selected-path turso-upgrade-now \
- --rationale 'Turso 0.5.x built with minimal test expectation updates.' \
- --output /tmp/backend-risk.json
-```
-
-If the upgrade is blocked, set `--upgrade-built blocked`, add every exact
-compiler/API blocker with `--turso-blocker`, and fill the rusqlite fallback
-fields:
-
-```bash
-scripts/validation/backend-risk-spike.py \
- --candidate-turso-version 0.5.x \
- --upgrade-built blocked \
- --turso-blocker 'cargo check: exact compiler/API error here' \
- --fallback-trait-practicality 'requires async boundary around open/connect/execute/query/transactions' \
- --fallback-invasiveness 'high: current SDK and CLI directly expose turso Connection, Row, Value, sync Database, and checkpoint/encryption APIs' \
- --fallback-risk-reduction 'useful only if Turso remains blocked after a minimal compatibility patch' \
- --decision-status fallback-required \
- --selected-path rusqlite-fallback-spike \
- --output /tmp/backend-risk.json
-```
-
-## macOS NFS git validation (#333)
-
-Use `scripts/validation/macos-nfs-git-validation.sh` on a real macOS host to
-validate the NFS CREATE-returned write-handle path used by git loose-object
-writes:
-
-```bash
-cd /path/to/agentfs
-cargo build --manifest-path cli/Cargo.toml --no-default-features
-scripts/validation/macos-nfs-git-validation.sh \
- --agentfs-bin "$PWD/cli/target/debug/agentfs"
-```
-
-The harness is temp-directory scoped under `/tmp`, initializes a fresh AgentFS
-database, mounts it with `agentfs mount --backend nfs`, then runs:
-
-```bash
-git init
-git add README.txt
-git commit -m "validate macos nfs git loose objects"
-git fsck --strict
-```
-
-It also verifies that the repository produced at least one loose object under
-`.git/objects/[0-9a-f][0-9a-f]/`. Expected successful output includes:
-
-```text
-AgentFS binary: /path/to/agentfs
-Report directory: /tmp/agentfs-macos-nfs-git-report...
-Loose object count:
-macOS NFS git validation passed. Logs: /tmp/agentfs-macos-nfs-git-report...
-```
-
-Unsupported platforms or missing prerequisites exit with `77`; on Linux this is
-an expected skip, not a failure. If macOS `mount_nfs` requires privileges in the
-local environment, run the same command from a shell where user NFS mounts are
-permitted, or inspect the reported `mount.log`. Until this script passes on a
-real macOS host, #333 should be treated as code-fixed but platform-validation
-pending.
-
-## Production safety checks
-
-### Integrity report
-
-Use `agentfs integrity` to run local SQLite and AgentFS schema checks before
-and after risky operations:
-
-```bash
-cargo run --manifest-path cli/Cargo.toml -- integrity .agentfs/my-agent.db --json
-```
-
-For encrypted databases, pass the same key and cipher used by other CLI
-commands:
-
-```bash
-cargo run --manifest-path cli/Cargo.toml -- \
- integrity .agentfs/secure.db --json --key "$AGENTFS_KEY" --cipher aegis256
-```
-
-Expected result for a healthy database is JSON with `"ok": true`. A failure
-exits nonzero and includes the failed check names, such as
-`storage.inline_has_no_chunks` or `namespace.dentry_target_exists`.
-
-### Verified backup roundtrip
-
-Use `agentfs backup --verify` to create a portable main-database snapshot. The
-command checkpoints/truncates the source WAL, copies the main database file,
-reopens the copy, and runs the same integrity checks:
-
-```bash
-cargo run --manifest-path cli/Cargo.toml -- \
- backup .agentfs/my-agent.db /tmp/my-agent-backup.db --verify
-```
-
-The target file must not already exist. A successful run prints `Checkpoint:
-complete`, `Copy: complete`, and `Verification: complete`.
-
-For encrypted databases, pass `--key` and `--cipher`. Partial-origin overlay
-databases are rejected by this portable main-DB backup command because they
-depend on an external base tree for non-overridden chunks.
-
-## pjdfstest
-
-AgentFS keeps three pjdfstest modes:
-
-- `phase45-ci`: a conservative, unprivileged supported subset that should pass on the current FUSE implementation.
-- `phase5-ci`: the expanded Phase 5 unprivileged supported subset. It includes `phase45-ci` plus additional currently-passing path, FIFO, symlink-loop, sparse large-file, socket-open, and rename/rmdir error-path coverage.
-- `full`: the upstream pjdfstest suite, used for exploratory POSIX triage and Phase 5 planning.
-
-The supported subset intentionally excludes tests that require root-only capabilities (`mknod` for block/char devices, successful `chown`/`lchown`, and alternate uid/gid execution). Those exclusions are tracked in `scripts/validation/posix/pjdfstest/known-gaps.tsv` so Phase 5 can separate unsupported-by-contract gaps from real filesystem bugs.
-
-### Install pjdfstest locally
-
-```bash
-git clone https://github.com/pjd/pjdfstest.git
-cd pjdfstest
-autoreconf -ifs
-./configure --prefix="$HOME/.local"
-make pjdfstest
-install -m 0755 pjdfstest "$HOME/.local/bin/pjdfstest"
-command -v prove
-command -v pjdfstest
-```
-
-### Run the supported AgentFS gate
-
-Build the CLI first if needed:
-
-```bash
-cd cli
-cargo build
-cd ..
-```
-
-Then run the Phase 4.5 supported profile:
-
-```bash
-scripts/validation/posix/run-pjdfstest.sh \
- --agentfs-bin "$PWD/cli/target/debug/agentfs" \
- --pjdfstest-dir /path/to/pjdfstest \
- --profile phase45-ci
-```
-
-Expected result:
-
-```text
-All tests successful.
-Files=37, Tests=142
-Result: PASS
-```
-
-The harness writes a report directory containing:
-
-- `pjdfstest.log` - TAP output from `prove`
-- `status.txt` - `prove` exit status
-- `selected-profile.txt` - selected profile name
-- `selected-manifest.tsv` - selected manifest path and SHA-256 when a manifest-backed profile is used
-- `selected-tests.txt` - exact test files run
-- `known-unsupported.tsv` - current known POSIX gaps and triage rationale
-
-Missing prerequisites exit with `77`. A nonzero exit other than `77` means the selected supported profile failed and should be treated as a real regression.
-
-List supported profiles:
-
-```bash
-scripts/validation/posix/run-pjdfstest.sh --list-profiles
-```
-
-Run the expanded Phase 5 supported profile:
-
-```bash
-scripts/validation/posix/run-pjdfstest.sh \
- --agentfs-bin "$PWD/cli/target/debug/agentfs" \
- --pjdfstest-dir /path/to/pjdfstest \
- --profile phase5-ci
-```
-
-Summarize a pjdfstest report and map failures to the known-gap taxonomy:
-
-```bash
-scripts/validation/posix/summarize-pjdfstest-log.py \
- /path/to/pjdfstest.log \
- --known-gaps scripts/validation/posix/pjdfstest/known-gaps.tsv
-```
-
-### Run the full exploratory suite
-
-```bash
-scripts/validation/posix/run-pjdfstest.sh \
- --agentfs-bin "$PWD/cli/target/debug/agentfs" \
- --pjdfstest-dir /path/to/pjdfstest \
- --profile full
-```
-
-Full pjdfstest currently exposes known AgentFS POSIX gaps. Use it to expand `known-gaps.tsv` and to choose the next Phase 5 correctness work; do not use `full` as a required CI pass gate until the gaps are resolved or explicitly declared unsupported.
-
-## xftests
-
-First, build the `agentfs` executable and install it locally including the `mount.fuse.agentfs` helper:
-
-```bash
-cd cli
-cargo build --release
-cp target/release/agentfs /usr/local/bin
-cp scripts/mount.fuse.agentfs /sbin
-```
-
-Then, clone the xfstests repo:
-
-```bash
-git clone git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git
-```
-
-Configure the filesystem under test:
-
-```bash
-cat local.config
-export FSTYP=fuse
-export FUSE_SUBTYP=.agentfs
-export TEST_DEV=
-export TEST_DIR=
-```
-
-Then, run xfstests:
-
-```bash
-sudo ./check -g quick generic/
-```
diff --git a/cli/Cargo.lock b/cli/Cargo.lock
deleted file mode 100644
index e3237407..00000000
--- a/cli/Cargo.lock
+++ /dev/null
@@ -1,3835 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 4
-
-[[package]]
-name = "addr2line"
-version = "0.24.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1"
-dependencies = [
- "cpp_demangle",
- "fallible-iterator",
- "gimli",
- "memmap2",
- "object",
- "rustc-demangle",
- "smallvec",
- "typed-arena",
-]
-
-[[package]]
-name = "adler2"
-version = "2.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
-
-[[package]]
-name = "aead"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0"
-dependencies = [
- "crypto-common",
- "generic-array",
-]
-
-[[package]]
-name = "aegis"
-version = "0.9.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78412fa53e6da95324e8902c3641b3ff32ab45258582ea997eb9169c68ffa219"
-dependencies = [
- "cc",
- "softaes",
-]
-
-[[package]]
-name = "aes"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0"
-dependencies = [
- "cfg-if",
- "cipher",
- "cpufeatures",
-]
-
-[[package]]
-name = "aes-gcm"
-version = "0.10.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1"
-dependencies = [
- "aead",
- "aes",
- "cipher",
- "ctr",
- "ghash",
- "subtle",
-]
-
-[[package]]
-name = "agentfs"
-version = "0.6.4"
-dependencies = [
- "aegis",
- "agentfs-sandbox",
- "agentfs-sdk",
- "anyhow",
- "async-trait",
- "base64",
- "byteorder",
- "chrono",
- "clap",
- "clap_complete",
- "dirs",
- "filetime",
- "hex",
- "libc",
- "log",
- "memchr",
- "nix 0.29.0",
- "num-derive",
- "num-traits",
- "page_size",
- "parking_lot",
- "reverie",
- "reverie-process",
- "reverie-ptrace",
- "serde",
- "serde_json",
- "sha1",
- "smallvec",
- "tempfile",
- "tokio",
- "tokio-util",
- "tracing",
- "tracing-subscriber",
- "turso",
- "uuid",
- "zerocopy",
-]
-
-[[package]]
-name = "agentfs-sandbox"
-version = "0.6.4"
-dependencies = [
- "agentfs-sdk",
- "anyhow",
- "async-trait",
- "libc",
- "reverie",
- "reverie-process",
- "reverie-ptrace",
- "reverie-util",
- "serde",
- "tokio",
-]
-
-[[package]]
-name = "agentfs-sdk"
-version = "0.6.4"
-dependencies = [
- "aegis",
- "async-trait",
- "libc",
- "lru",
- "parking_lot",
- "serde",
- "serde_json",
- "thiserror 1.0.69",
- "tokio",
- "tracing",
- "turso",
-]
-
-[[package]]
-name = "aho-corasick"
-version = "1.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "allocator-api2"
-version = "0.2.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923"
-
-[[package]]
-name = "android_system_properties"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "anstream"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d"
-dependencies = [
- "anstyle",
- "anstyle-parse",
- "anstyle-query",
- "anstyle-wincon",
- "colorchoice",
- "is_terminal_polyfill",
- "utf8parse",
-]
-
-[[package]]
-name = "anstyle"
-version = "1.0.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000"
-
-[[package]]
-name = "anstyle-parse"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e"
-dependencies = [
- "utf8parse",
-]
-
-[[package]]
-name = "anstyle-query"
-version = "1.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc"
-dependencies = [
- "windows-sys 0.61.2",
-]
-
-[[package]]
-name = "anstyle-wincon"
-version = "3.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d"
-dependencies = [
- "anstyle",
- "once_cell_polyfill",
- "windows-sys 0.61.2",
-]
-
-[[package]]
-name = "antithesis_sdk"
-version = "0.2.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18dbd97a5b6c21cc9176891cf715f7f0c273caf3959897f43b9bd1231939e675"
-dependencies = [
- "libc",
- "libloading",
- "linkme",
- "once_cell",
- "rand 0.8.6",
- "rustc_version_runtime",
- "serde",
- "serde_json",
-]
-
-[[package]]
-name = "anyhow"
-version = "1.0.102"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c"
-
-[[package]]
-name = "arc-swap"
-version = "1.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a07d1f37ff60921c83bdfc7407723bdefe89b44b98a9b772f225c8f9d67141a6"
-dependencies = [
- "rustversion",
-]
-
-[[package]]
-name = "assoc"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfdc70193dadb9d7287fa4b633f15f90c876915b31f6af17da307fc59c9859a8"
-
-[[package]]
-name = "async-trait"
-version = "0.1.89"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "atomic-waker"
-version = "1.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
-
-[[package]]
-name = "autocfg"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
-
-[[package]]
-name = "base64"
-version = "0.22.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
-
-[[package]]
-name = "bigdecimal"
-version = "0.4.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d6867f1565b3aad85681f1015055b087fcfd840d6aeee6eee7f2da317603695"
-dependencies = [
- "autocfg",
- "libm",
- "num-bigint",
- "num-integer",
- "num-traits",
-]
-
-[[package]]
-name = "bincode"
-version = "1.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "bindgen"
-version = "0.69.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"
-dependencies = [
- "bitflags 2.11.0",
- "cexpr",
- "clang-sys",
- "itertools 0.12.1",
- "lazy_static",
- "lazycell",
- "log",
- "prettyplease",
- "proc-macro2",
- "quote",
- "regex",
- "rustc-hash 1.1.0",
- "shlex",
- "syn",
- "which",
-]
-
-[[package]]
-name = "bitflags"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-
-[[package]]
-name = "bitflags"
-version = "2.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af"
-dependencies = [
- "serde_core",
-]
-
-[[package]]
-name = "bitvec"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
-dependencies = [
- "funty",
- "radium",
- "tap",
- "wyz",
-]
-
-[[package]]
-name = "block-buffer"
-version = "0.10.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "branches"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e426eb5cc1900033930ec955317b302e68f19f326cc7bb0c8a86865a826cdf0c"
-dependencies = [
- "rustc_version",
-]
-
-[[package]]
-name = "built"
-version = "0.7.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c360505aed52b7ec96a3636c3f039d99103c37d1d9b4f7a8c743d3ea9ffcd03b"
-dependencies = [
- "chrono",
-]
-
-[[package]]
-name = "bumpalo"
-version = "3.20.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb"
-
-[[package]]
-name = "bytemuck"
-version = "1.25.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec"
-dependencies = [
- "bytemuck_derive",
-]
-
-[[package]]
-name = "bytemuck_derive"
-version = "1.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "byteorder"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
-
-[[package]]
-name = "bytes"
-version = "1.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "cc"
-version = "1.2.57"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a0dd1ca384932ff3641c8718a02769f1698e7563dc6974ffd03346116310423"
-dependencies = [
- "find-msvc-tools",
- "shlex",
-]
-
-[[package]]
-name = "cexpr"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
-dependencies = [
- "nom",
-]
-
-[[package]]
-name = "cfg-if"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
-
-[[package]]
-name = "cfg_aliases"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
-
-[[package]]
-name = "cfg_block"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18758054972164c3264f7c8386f5fc6da6114cb46b619fd365d4e3b2dc3ae487"
-
-[[package]]
-name = "chrono"
-version = "0.4.44"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0"
-dependencies = [
- "iana-time-zone",
- "js-sys",
- "num-traits",
- "serde",
- "wasm-bindgen",
- "windows-link",
-]
-
-[[package]]
-name = "cipher"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
-dependencies = [
- "crypto-common",
- "inout",
-]
-
-[[package]]
-name = "clang-sys"
-version = "1.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
-dependencies = [
- "glob",
- "libc",
- "libloading",
-]
-
-[[package]]
-name = "clap"
-version = "4.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b193af5b67834b676abd72466a96c1024e6a6ad978a1f484bd90b85c94041351"
-dependencies = [
- "clap_builder",
- "clap_derive",
-]
-
-[[package]]
-name = "clap_builder"
-version = "4.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f"
-dependencies = [
- "anstream",
- "anstyle",
- "clap_lex 1.1.0",
- "strsim",
- "terminal_size",
- "unicase",
- "unicode-width 0.2.2",
-]
-
-[[package]]
-name = "clap_complete"
-version = "4.5.61"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39615915e2ece2550c0149addac32fb5bd312c657f43845bb9088cb9c8a7c992"
-dependencies = [
- "clap",
- "clap_lex 0.7.7",
- "is_executable",
- "shlex",
-]
-
-[[package]]
-name = "clap_derive"
-version = "4.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1110bd8a634a1ab8cb04345d8d878267d57c3cf1b38d91b71af6686408bbca6a"
-dependencies = [
- "heck",
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "clap_lex"
-version = "0.7.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32"
-
-[[package]]
-name = "clap_lex"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9"
-
-[[package]]
-name = "close-err"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0dcddd02624b3cf5cafc701a2a69539b8263dd5ed7f5ae6fb7a1ff2f49cbbfe"
-dependencies = [
- "kernel32-sys",
- "libc",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "colorchoice"
-version = "1.0.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570"
-
-[[package]]
-name = "colored"
-version = "2.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c"
-dependencies = [
- "lazy_static",
- "windows-sys 0.59.0",
-]
-
-[[package]]
-name = "concurrent-queue"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973"
-dependencies = [
- "crossbeam-utils",
-]
-
-[[package]]
-name = "convert_case"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca"
-dependencies = [
- "unicode-segmentation",
-]
-
-[[package]]
-name = "core-foundation"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6"
-dependencies = [
- "core-foundation-sys",
- "libc",
-]
-
-[[package]]
-name = "core-foundation-sys"
-version = "0.8.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
-
-[[package]]
-name = "cpp_demangle"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2bb79cb74d735044c972aae58ed0aaa9a837e85b01106a54c39e42e97f62253"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "cpufeatures"
-version = "0.2.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "crc32c"
-version = "0.6.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a47af21622d091a8f0fb295b88bc886ac74efcc613efc19f5d0b21de5c89e47"
-dependencies = [
- "rustc_version",
-]
-
-[[package]]
-name = "crc32fast"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "crossbeam-channel"
-version = "0.5.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2"
-dependencies = [
- "crossbeam-utils",
-]
-
-[[package]]
-name = "crossbeam-epoch"
-version = "0.9.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
-dependencies = [
- "crossbeam-utils",
-]
-
-[[package]]
-name = "crossbeam-skiplist"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df29de440c58ca2cc6e587ec3d22347551a32435fbde9d2bff64e78a9ffa151b"
-dependencies = [
- "crossbeam-epoch",
- "crossbeam-utils",
-]
-
-[[package]]
-name = "crossbeam-utils"
-version = "0.8.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
-
-[[package]]
-name = "crypto-common"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a"
-dependencies = [
- "generic-array",
- "rand_core 0.6.4",
- "typenum",
-]
-
-[[package]]
-name = "ctr"
-version = "0.9.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835"
-dependencies = [
- "cipher",
-]
-
-[[package]]
-name = "deranged"
-version = "0.5.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c"
-dependencies = [
- "powerfmt",
-]
-
-[[package]]
-name = "derive_more"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05"
-dependencies = [
- "derive_more-impl",
-]
-
-[[package]]
-name = "derive_more-impl"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22"
-dependencies = [
- "convert_case",
- "proc-macro2",
- "quote",
- "syn",
- "unicode-xid",
-]
-
-[[package]]
-name = "digest"
-version = "0.10.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
-dependencies = [
- "block-buffer",
- "crypto-common",
-]
-
-[[package]]
-name = "dirs"
-version = "6.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e"
-dependencies = [
- "dirs-sys",
-]
-
-[[package]]
-name = "dirs-sys"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab"
-dependencies = [
- "libc",
- "option-ext",
- "redox_users",
- "windows-sys 0.61.2",
-]
-
-[[package]]
-name = "either"
-version = "1.15.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
-
-[[package]]
-name = "env_filter"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32e90c2accc4b07a8456ea0debdc2e7587bdd890680d71173a15d4ae604f6eef"
-dependencies = [
- "log",
-]
-
-[[package]]
-name = "env_logger"
-version = "0.11.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0621c04f2196ac3f488dd583365b9c09be011a4ab8b9f37248ffcc8f6198b56a"
-dependencies = [
- "env_filter",
- "log",
-]
-
-[[package]]
-name = "equivalent"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
-
-[[package]]
-name = "errno"
-version = "0.3.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
-dependencies = [
- "libc",
- "windows-sys 0.61.2",
-]
-
-[[package]]
-name = "fallible-iterator"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649"
-
-[[package]]
-name = "fastbloom"
-version = "0.14.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e7f34442dbe69c60fe8eaf58a8cafff81a1f278816d8ab4db255b3bef4ac3c4"
-dependencies = [
- "getrandom 0.3.4",
- "libm",
- "rand 0.9.2",
- "siphasher",
-]
-
-[[package]]
-name = "fastrand"
-version = "2.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
-
-[[package]]
-name = "filetime"
-version = "0.2.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f98844151eee8917efc50bd9e8318cb963ae8b297431495d3f758616ea5c57db"
-dependencies = [
- "cfg-if",
- "libc",
- "libredox",
-]
-
-[[package]]
-name = "find-msvc-tools"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
-
-[[package]]
-name = "flate2"
-version = "1.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c"
-dependencies = [
- "crc32fast",
- "miniz_oxide",
-]
-
-[[package]]
-name = "foldhash"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
-
-[[package]]
-name = "foreign-types"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
-dependencies = [
- "foreign-types-shared 0.1.1",
-]
-
-[[package]]
-name = "foreign-types"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965"
-dependencies = [
- "foreign-types-macros",
- "foreign-types-shared 0.3.1",
-]
-
-[[package]]
-name = "foreign-types-macros"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "foreign-types-shared"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
-
-[[package]]
-name = "foreign-types-shared"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
-
-[[package]]
-name = "funty"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
-
-[[package]]
-name = "futures"
-version = "0.1.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678"
-
-[[package]]
-name = "futures"
-version = "0.3.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d"
-dependencies = [
- "futures-channel",
- "futures-core",
- "futures-executor",
- "futures-io",
- "futures-sink",
- "futures-task",
- "futures-util",
-]
-
-[[package]]
-name = "futures-channel"
-version = "0.3.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d"
-dependencies = [
- "futures-core",
- "futures-sink",
-]
-
-[[package]]
-name = "futures-core"
-version = "0.3.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d"
-
-[[package]]
-name = "futures-executor"
-version = "0.3.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d"
-dependencies = [
- "futures-core",
- "futures-task",
- "futures-util",
-]
-
-[[package]]
-name = "futures-io"
-version = "0.3.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718"
-
-[[package]]
-name = "futures-macro"
-version = "0.3.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "futures-sink"
-version = "0.3.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893"
-
-[[package]]
-name = "futures-task"
-version = "0.3.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393"
-
-[[package]]
-name = "futures-util"
-version = "0.3.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6"
-dependencies = [
- "futures 0.1.31",
- "futures-channel",
- "futures-core",
- "futures-io",
- "futures-macro",
- "futures-sink",
- "futures-task",
- "libc",
- "memchr",
- "pin-project-lite",
- "slab",
-]
-
-[[package]]
-name = "genawaiter"
-version = "0.99.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c86bd0361bcbde39b13475e6e36cb24c329964aa2611be285289d1e4b751c1a0"
-dependencies = [
- "genawaiter-macro",
-]
-
-[[package]]
-name = "genawaiter-macro"
-version = "0.99.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b32dfe1fdfc0bbde1f22a5da25355514b5e450c33a6af6770884c8750aedfbc"
-
-[[package]]
-name = "generator"
-version = "0.8.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52f04ae4152da20c76fe800fa48659201d5cf627c5149ca0b707b69d7eef6cf9"
-dependencies = [
- "cc",
- "cfg-if",
- "libc",
- "log",
- "rustversion",
- "windows-link",
- "windows-result",
-]
-
-[[package]]
-name = "generic-array"
-version = "0.14.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
-dependencies = [
- "typenum",
- "version_check",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.2.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.3.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
-dependencies = [
- "cfg-if",
- "libc",
- "r-efi 5.3.0",
- "wasip2",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555"
-dependencies = [
- "cfg-if",
- "libc",
- "r-efi 6.0.0",
- "wasip2",
- "wasip3",
-]
-
-[[package]]
-name = "ghash"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1"
-dependencies = [
- "opaque-debug",
- "polyval",
-]
-
-[[package]]
-name = "gimli"
-version = "0.31.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
-dependencies = [
- "fallible-iterator",
- "stable_deref_trait",
-]
-
-[[package]]
-name = "glob"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280"
-
-[[package]]
-name = "goblin"
-version = "0.10.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "983a6aafb3b12d4c41ea78d39e189af4298ce747353945ff5105b54a056e5cd9"
-dependencies = [
- "log",
- "plain",
- "scroll",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.15.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
-dependencies = [
- "allocator-api2",
- "equivalent",
- "foldhash",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.16.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
-
-[[package]]
-name = "heck"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
-
-[[package]]
-name = "hermit-abi"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c"
-
-[[package]]
-name = "hex"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
-
-[[package]]
-name = "home"
-version = "0.5.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d"
-dependencies = [
- "windows-sys 0.61.2",
-]
-
-[[package]]
-name = "http"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a"
-dependencies = [
- "bytes",
- "itoa",
-]
-
-[[package]]
-name = "http-body"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184"
-dependencies = [
- "bytes",
- "http",
-]
-
-[[package]]
-name = "http-body-util"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a"
-dependencies = [
- "bytes",
- "futures-core",
- "http",
- "http-body",
- "pin-project-lite",
-]
-
-[[package]]
-name = "httparse"
-version = "1.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87"
-
-[[package]]
-name = "hyper"
-version = "1.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11"
-dependencies = [
- "atomic-waker",
- "bytes",
- "futures-channel",
- "futures-core",
- "http",
- "http-body",
- "httparse",
- "itoa",
- "pin-project-lite",
- "pin-utils",
- "smallvec",
- "tokio",
- "want",
-]
-
-[[package]]
-name = "hyper-tls"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0"
-dependencies = [
- "bytes",
- "http-body-util",
- "hyper",
- "hyper-util",
- "native-tls",
- "tokio",
- "tokio-native-tls",
- "tower-service",
-]
-
-[[package]]
-name = "hyper-util"
-version = "0.1.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0"
-dependencies = [
- "bytes",
- "futures-channel",
- "futures-util",
- "http",
- "http-body",
- "hyper",
- "libc",
- "pin-project-lite",
- "socket2",
- "tokio",
- "tower-service",
- "tracing",
-]
-
-[[package]]
-name = "iana-time-zone"
-version = "0.1.65"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470"
-dependencies = [
- "android_system_properties",
- "core-foundation-sys",
- "iana-time-zone-haiku",
- "js-sys",
- "log",
- "wasm-bindgen",
- "windows-core",
-]
-
-[[package]]
-name = "iana-time-zone-haiku"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
-dependencies = [
- "cc",
-]
-
-[[package]]
-name = "iced-x86"
-version = "1.21.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c447cff8c7f384a7d4f741cfcff32f75f3ad02b406432e8d6c878d56b1edf6b"
-dependencies = [
- "lazy_static",
-]
-
-[[package]]
-name = "id-arena"
-version = "2.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954"
-
-[[package]]
-name = "indexmap"
-version = "2.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017"
-dependencies = [
- "equivalent",
- "hashbrown 0.16.1",
- "serde",
- "serde_core",
-]
-
-[[package]]
-name = "inout"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "intrusive-collections"
-version = "0.9.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "189d0897e4cbe8c75efedf3502c18c887b05046e59d28404d4d8e46cbc4d1e86"
-dependencies = [
- "memoffset",
-]
-
-[[package]]
-name = "io-uring"
-version = "0.7.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fdd7bddefd0a8833b88a4b68f90dae22c7450d11b354198baee3874fd811b344"
-dependencies = [
- "bitflags 2.11.0",
- "cfg-if",
- "libc",
-]
-
-[[package]]
-name = "is_executable"
-version = "1.0.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baabb8b4867b26294d818bf3f651a454b6901431711abb96e296245888d6e8c4"
-dependencies = [
- "windows-sys 0.60.2",
-]
-
-[[package]]
-name = "is_terminal_polyfill"
-version = "1.70.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695"
-
-[[package]]
-name = "itertools"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
-dependencies = [
- "either",
-]
-
-[[package]]
-name = "itertools"
-version = "0.14.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285"
-dependencies = [
- "either",
-]
-
-[[package]]
-name = "itoa"
-version = "1.0.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
-
-[[package]]
-name = "js-sys"
-version = "0.3.91"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c"
-dependencies = [
- "once_cell",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "kernel32-sys"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
-dependencies = [
- "winapi 0.2.8",
- "winapi-build",
-]
-
-[[package]]
-name = "lazy_static"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
-
-[[package]]
-name = "lazycell"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
-
-[[package]]
-name = "leb128fmt"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2"
-
-[[package]]
-name = "libc"
-version = "0.2.183"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d"
-
-[[package]]
-name = "libloading"
-version = "0.8.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55"
-dependencies = [
- "cfg-if",
- "windows-link",
-]
-
-[[package]]
-name = "libm"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
-
-[[package]]
-name = "libmimalloc-sys"
-version = "0.1.44"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "667f4fec20f29dfc6bc7357c582d91796c169ad7e2fce709468aefeb2c099870"
-dependencies = [
- "cc",
- "libc",
-]
-
-[[package]]
-name = "libredox"
-version = "0.1.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ddbf48fd451246b1f8c2610bd3b4ac0cc6e149d89832867093ab69a17194f08"
-dependencies = [
- "bitflags 2.11.0",
- "libc",
- "plain",
- "redox_syscall 0.7.3",
-]
-
-[[package]]
-name = "linked-hash-map"
-version = "0.5.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "linkme"
-version = "0.3.36"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e83272d46373fb8decca684579ac3e7c8f3d71d4cc3aa693df8759e260ae41cf"
-dependencies = [
- "linkme-impl",
-]
-
-[[package]]
-name = "linkme-impl"
-version = "0.3.36"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32d59e20403c7d08fe62b4376edfe5c7fb2ef1e6b1465379686d0f21c8df444b"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "linux-raw-sys"
-version = "0.4.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab"
-
-[[package]]
-name = "linux-raw-sys"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53"
-
-[[package]]
-name = "lock_api"
-version = "0.4.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965"
-dependencies = [
- "scopeguard",
-]
-
-[[package]]
-name = "log"
-version = "0.4.29"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
-
-[[package]]
-name = "loom"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca"
-dependencies = [
- "cfg-if",
- "generator",
- "scoped-tls",
- "tracing",
- "tracing-subscriber",
-]
-
-[[package]]
-name = "lru"
-version = "0.12.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38"
-dependencies = [
- "hashbrown 0.15.5",
-]
-
-[[package]]
-name = "matchers"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9"
-dependencies = [
- "regex-automata",
-]
-
-[[package]]
-name = "memchr"
-version = "2.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
-
-[[package]]
-name = "memmap2"
-version = "0.9.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "714098028fe011992e1c3962653c96b2d578c4b4bce9036e15ff220319b1e0e3"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "memoffset"
-version = "0.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "miette"
-version = "7.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f98efec8807c63c752b5bd61f862c165c115b0a35685bdcfd9238c7aeb592b7"
-dependencies = [
- "cfg-if",
- "miette-derive",
- "unicode-width 0.1.14",
-]
-
-[[package]]
-name = "miette-derive"
-version = "7.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db5b29714e950dbb20d5e6f74f9dcec4edbcc1067bb7f8ed198c097b8c1a818b"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "mimalloc"
-version = "0.1.48"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1ee66a4b64c74f4ef288bcbb9192ad9c3feaad75193129ac8509af543894fd8"
-dependencies = [
- "libmimalloc-sys",
-]
-
-[[package]]
-name = "minimal-lexical"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
-
-[[package]]
-name = "miniz_oxide"
-version = "0.8.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
-dependencies = [
- "adler2",
- "simd-adler32",
-]
-
-[[package]]
-name = "mio"
-version = "1.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc"
-dependencies = [
- "libc",
- "wasi",
- "windows-sys 0.61.2",
-]
-
-[[package]]
-name = "native-tls"
-version = "0.2.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "465500e14ea162429d264d44189adc38b199b62b1c21eea9f69e4b73cb03bbf2"
-dependencies = [
- "libc",
- "log",
- "openssl",
- "openssl-probe",
- "openssl-sys",
- "schannel",
- "security-framework",
- "security-framework-sys",
- "tempfile",
-]
-
-[[package]]
-name = "never-say-never"
-version = "6.6.666"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf5a574dadd7941adeaa71823ecba5e28331b8313fb2e1c6a5c7e5981ea53ad6"
-
-[[package]]
-name = "nix"
-version = "0.29.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
-dependencies = [
- "bitflags 2.11.0",
- "cfg-if",
- "cfg_aliases",
- "libc",
-]
-
-[[package]]
-name = "nix"
-version = "0.30.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6"
-dependencies = [
- "bitflags 2.11.0",
- "cfg-if",
- "cfg_aliases",
- "libc",
- "memoffset",
-]
-
-[[package]]
-name = "nom"
-version = "7.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
-dependencies = [
- "memchr",
- "minimal-lexical",
-]
-
-[[package]]
-name = "nu-ansi-term"
-version = "0.50.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
-dependencies = [
- "windows-sys 0.61.2",
-]
-
-[[package]]
-name = "num-bigint"
-version = "0.4.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9"
-dependencies = [
- "num-integer",
- "num-traits",
-]
-
-[[package]]
-name = "num-conv"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967"
-
-[[package]]
-name = "num-derive"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "num-integer"
-version = "0.1.46"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
-dependencies = [
- "num-traits",
-]
-
-[[package]]
-name = "num-traits"
-version = "0.2.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "num_threads"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "object"
-version = "0.36.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87"
-dependencies = [
- "crc32fast",
- "flate2",
- "hashbrown 0.15.5",
- "indexmap",
- "memchr",
- "ruzstd",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.21.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
-
-[[package]]
-name = "once_cell_polyfill"
-version = "1.70.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
-
-[[package]]
-name = "opaque-debug"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
-
-[[package]]
-name = "openssl"
-version = "0.10.76"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "951c002c75e16ea2c65b8c7e4d3d51d5530d8dfa7d060b4776828c88cfb18ecf"
-dependencies = [
- "bitflags 2.11.0",
- "cfg-if",
- "foreign-types 0.3.2",
- "libc",
- "once_cell",
- "openssl-macros",
- "openssl-sys",
-]
-
-[[package]]
-name = "openssl-macros"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "openssl-probe"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe"
-
-[[package]]
-name = "openssl-sys"
-version = "0.9.112"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57d55af3b3e226502be1526dfdba67ab0e9c96fc293004e79576b2b9edb0dbdb"
-dependencies = [
- "cc",
- "libc",
- "pkg-config",
- "vcpkg",
-]
-
-[[package]]
-name = "option-ext"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
-
-[[package]]
-name = "owo-colors"
-version = "3.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f"
-
-[[package]]
-name = "pack1"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6e7cd9bd638dc2c831519a0caa1c006cab771a92b1303403a8322773c5b72d6"
-dependencies = [
- "bytemuck",
-]
-
-[[package]]
-name = "page_size"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da"
-dependencies = [
- "libc",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "parking_lot"
-version = "0.12.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a"
-dependencies = [
- "lock_api",
- "parking_lot_core",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.9.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1"
-dependencies = [
- "cfg-if",
- "libc",
- "redox_syscall 0.5.18",
- "smallvec",
- "windows-link",
-]
-
-[[package]]
-name = "paste"
-version = "1.0.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
-
-[[package]]
-name = "perf-event-open-sys"
-version = "5.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53fa97b8f69404e792c384914dbe6ffc298586cca534e1c1c410e02f7cd13cfe"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "pin-project-lite"
-version = "0.2.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
-
-[[package]]
-name = "pin-utils"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
-
-[[package]]
-name = "pkg-config"
-version = "0.3.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
-
-[[package]]
-name = "plain"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6"
-
-[[package]]
-name = "polling"
-version = "3.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218"
-dependencies = [
- "cfg-if",
- "concurrent-queue",
- "hermit-abi",
- "pin-project-lite",
- "rustix 1.1.4",
- "windows-sys 0.61.2",
-]
-
-[[package]]
-name = "polyval"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25"
-dependencies = [
- "cfg-if",
- "cpufeatures",
- "opaque-debug",
- "universal-hash",
-]
-
-[[package]]
-name = "powerfmt"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
-
-[[package]]
-name = "ppv-lite86"
-version = "0.2.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
-dependencies = [
- "zerocopy",
-]
-
-[[package]]
-name = "prettyplease"
-version = "0.2.37"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b"
-dependencies = [
- "proc-macro2",
- "syn",
-]
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.106"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "procfs"
-version = "0.18.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7"
-dependencies = [
- "bitflags 2.11.0",
- "chrono",
- "flate2",
- "procfs-core",
- "rustix 1.1.4",
-]
-
-[[package]]
-name = "procfs-core"
-version = "0.18.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405"
-dependencies = [
- "bitflags 2.11.0",
- "chrono",
- "hex",
-]
-
-[[package]]
-name = "prost"
-version = "0.14.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2ea70524a2f82d518bce41317d0fae74151505651af45faf1ffbd6fd33f0568"
-dependencies = [
- "bytes",
- "prost-derive",
-]
-
-[[package]]
-name = "prost-derive"
-version = "0.14.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b"
-dependencies = [
- "anyhow",
- "itertools 0.14.0",
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "r-efi"
-version = "5.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
-
-[[package]]
-name = "r-efi"
-version = "6.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
-
-[[package]]
-name = "radium"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
-
-[[package]]
-name = "rand"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a"
-dependencies = [
- "libc",
- "rand_chacha 0.3.1",
- "rand_core 0.6.4",
-]
-
-[[package]]
-name = "rand"
-version = "0.9.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
-dependencies = [
- "rand_chacha 0.9.0",
- "rand_core 0.9.5",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.6.4",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.9.5",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
-dependencies = [
- "getrandom 0.2.17",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.9.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c"
-dependencies = [
- "getrandom 0.3.4",
-]
-
-[[package]]
-name = "rand_pcg"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e"
-dependencies = [
- "rand_core 0.6.4",
-]
-
-[[package]]
-name = "rapidhash"
-version = "4.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5e48930979c155e2f33aa36ab3119b5ee81332beb6482199a8ecd6029b80b59"
-dependencies = [
- "rustversion",
-]
-
-[[package]]
-name = "raw-cpuid"
-version = "10.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332"
-dependencies = [
- "bitflags 1.3.2",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.5.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
-dependencies = [
- "bitflags 2.11.0",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ce70a74e890531977d37e532c34d45e9055d2409ed08ddba14529471ed0be16"
-dependencies = [
- "bitflags 2.11.0",
-]
-
-[[package]]
-name = "redox_users"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac"
-dependencies = [
- "getrandom 0.2.17",
- "libredox",
- "thiserror 2.0.18",
-]
-
-[[package]]
-name = "regex"
-version = "1.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-automata",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-automata"
-version = "0.4.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.8.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a"
-
-[[package]]
-name = "reverie"
-version = "0.1.0"
-source = "git+https://github.com/facebookexperimental/reverie#0cf9bcdf5387280d541f2e35c197916ea7280911"
-dependencies = [
- "addr2line",
- "anyhow",
- "async-trait",
- "bitflags 2.11.0",
- "byteorder",
- "lazy_static",
- "libc",
- "linked-hash-map",
- "memmap2",
- "never-say-never",
- "nix 0.30.1",
- "object",
- "procfs",
- "raw-cpuid",
- "reverie-process",
- "reverie-syscalls",
- "serde",
- "syscalls",
- "thiserror 2.0.18",
- "typed-arena",
-]
-
-[[package]]
-name = "reverie-memory"
-version = "0.1.0"
-source = "git+https://github.com/facebookexperimental/reverie#0cf9bcdf5387280d541f2e35c197916ea7280911"
-dependencies = [
- "syscalls",
-]
-
-[[package]]
-name = "reverie-process"
-version = "0.1.0"
-source = "git+https://github.com/facebookexperimental/reverie#0cf9bcdf5387280d541f2e35c197916ea7280911"
-dependencies = [
- "bincode",
- "bitflags 2.11.0",
- "colored",
- "futures 0.3.32",
- "libc",
- "nix 0.30.1",
- "serde",
- "syscalls",
- "thiserror 2.0.18",
- "tokio",
-]
-
-[[package]]
-name = "reverie-ptrace"
-version = "0.1.0"
-source = "git+https://github.com/facebookexperimental/reverie#0cf9bcdf5387280d541f2e35c197916ea7280911"
-dependencies = [
- "anyhow",
- "async-trait",
- "bincode",
- "bytes",
- "close-err",
- "futures 0.3.32",
- "goblin",
- "iced-x86",
- "lazy_static",
- "libc",
- "nix 0.30.1",
- "num-traits",
- "paste",
- "perf-event-open-sys",
- "procfs",
- "raw-cpuid",
- "reverie",
- "safeptrace",
- "serde",
- "thiserror 2.0.18",
- "tokio",
- "tokio-stream",
- "tracing",
- "tracing-subscriber",
- "unwind",
-]
-
-[[package]]
-name = "reverie-syscalls"
-version = "0.1.0"
-source = "git+https://github.com/facebookexperimental/reverie#0cf9bcdf5387280d541f2e35c197916ea7280911"
-dependencies = [
- "bitflags 2.11.0",
- "derive_more",
- "libc",
- "nix 0.30.1",
- "paste",
- "reverie-memory",
- "serde",
- "syscalls",
-]
-
-[[package]]
-name = "reverie-util"
-version = "0.1.0"
-source = "git+https://github.com/facebookexperimental/reverie#0cf9bcdf5387280d541f2e35c197916ea7280911"
-dependencies = [
- "anyhow",
- "chrono",
- "clap",
- "reverie",
- "tracing",
- "tracing-appender",
- "tracing-subscriber",
-]
-
-[[package]]
-name = "roaring"
-version = "0.11.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ba9ce64a8f45d7fc86358410bb1a82e8c987504c0d4900e9141d69a9f26c885"
-dependencies = [
- "bytemuck",
- "byteorder",
-]
-
-[[package]]
-name = "rustc-demangle"
-version = "0.1.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d"
-
-[[package]]
-name = "rustc-hash"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
-
-[[package]]
-name = "rustc-hash"
-version = "2.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d"
-
-[[package]]
-name = "rustc_version"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
-dependencies = [
- "semver",
-]
-
-[[package]]
-name = "rustc_version_runtime"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dd18cd2bae1820af0b6ad5e54f4a51d0f3fcc53b05f845675074efcc7af071d"
-dependencies = [
- "rustc_version",
- "semver",
-]
-
-[[package]]
-name = "rustix"
-version = "0.38.44"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154"
-dependencies = [
- "bitflags 2.11.0",
- "errno",
- "libc",
- "linux-raw-sys 0.4.15",
- "windows-sys 0.59.0",
-]
-
-[[package]]
-name = "rustix"
-version = "1.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190"
-dependencies = [
- "bitflags 2.11.0",
- "errno",
- "libc",
- "linux-raw-sys 0.12.1",
- "windows-sys 0.61.2",
-]
-
-[[package]]
-name = "rustversion"
-version = "1.0.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
-
-[[package]]
-name = "ruzstd"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fad02996bfc73da3e301efe90b1837be9ed8f4a462b6ed410aa35d00381de89f"
-dependencies = [
- "twox-hash 1.6.3",
-]
-
-[[package]]
-name = "ryu"
-version = "1.0.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f"
-
-[[package]]
-name = "safeptrace"
-version = "0.1.0"
-source = "git+https://github.com/facebookexperimental/reverie#0cf9bcdf5387280d541f2e35c197916ea7280911"
-dependencies = [
- "bitflags 2.11.0",
- "futures 0.3.32",
- "lazy_static",
- "libc",
- "nix 0.30.1",
- "parking_lot",
- "reverie-memory",
- "reverie-process",
- "syscalls",
- "thiserror 2.0.18",
-]
-
-[[package]]
-name = "schannel"
-version = "0.1.29"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91c1b7e4904c873ef0710c1f407dde2e6287de2bebc1bbbf7d430bb7cbffd939"
-dependencies = [
- "windows-sys 0.61.2",
-]
-
-[[package]]
-name = "scoped-tls"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
-
-[[package]]
-name = "scopeguard"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
-
-[[package]]
-name = "scroll"
-version = "0.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1257cd4248b4132760d6524d6dda4e053bc648c9070b960929bf50cfb1e7add"
-dependencies = [
- "scroll_derive",
-]
-
-[[package]]
-name = "scroll_derive"
-version = "0.13.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed76efe62313ab6610570951494bdaa81568026e0318eaa55f167de70eeea67d"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "security-framework"
-version = "3.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d"
-dependencies = [
- "bitflags 2.11.0",
- "core-foundation",
- "core-foundation-sys",
- "libc",
- "security-framework-sys",
-]
-
-[[package]]
-name = "security-framework-sys"
-version = "2.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3"
-dependencies = [
- "core-foundation-sys",
- "libc",
-]
-
-[[package]]
-name = "semver"
-version = "1.0.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2"
-
-[[package]]
-name = "serde"
-version = "1.0.228"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
-dependencies = [
- "serde_core",
- "serde_derive",
-]
-
-[[package]]
-name = "serde_core"
-version = "1.0.228"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
-dependencies = [
- "serde_derive",
-]
-
-[[package]]
-name = "serde_derive"
-version = "1.0.228"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.149"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86"
-dependencies = [
- "itoa",
- "memchr",
- "serde",
- "serde_core",
- "zmij",
-]
-
-[[package]]
-name = "serde_repr"
-version = "0.1.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "sha1"
-version = "0.10.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
-dependencies = [
- "cfg-if",
- "cpufeatures",
- "digest",
-]
-
-[[package]]
-name = "sha1_smol"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d"
-
-[[package]]
-name = "sharded-slab"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
-dependencies = [
- "lazy_static",
-]
-
-[[package]]
-name = "shlex"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
-
-[[package]]
-name = "shuttle"
-version = "0.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ab17edba38d63047f46780cf7360acf7467fec2c048928689a5c1dd1c2b4e31"
-dependencies = [
- "assoc",
- "bitvec",
- "cfg-if",
- "generator",
- "hex",
- "owo-colors",
- "rand 0.8.6",
- "rand_core 0.6.4",
- "rand_pcg",
- "scoped-tls",
- "smallvec",
- "tracing",
-]
-
-[[package]]
-name = "signal-hook-registry"
-version = "1.4.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b"
-dependencies = [
- "errno",
- "libc",
-]
-
-[[package]]
-name = "simd-adler32"
-version = "0.3.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2"
-
-[[package]]
-name = "simsimd"
-version = "6.5.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4fb3bc3cdce07a7d7d4caa4c54f8aa967f6be41690482b54b24100a2253fa70"
-dependencies = [
- "cc",
-]
-
-[[package]]
-name = "siphasher"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e"
-
-[[package]]
-name = "slab"
-version = "0.4.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5"
-
-[[package]]
-name = "smallvec"
-version = "1.15.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
-
-[[package]]
-name = "socket2"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e"
-dependencies = [
- "libc",
- "windows-sys 0.61.2",
-]
-
-[[package]]
-name = "softaes"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fef461faaeb36c340b6c887167a9054a034f6acfc50a014ead26a02b4356b3de"
-
-[[package]]
-name = "stable_deref_trait"
-version = "1.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596"
-
-[[package]]
-name = "static_assertions"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
-
-[[package]]
-name = "strsim"
-version = "0.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
-
-[[package]]
-name = "strum"
-version = "0.26.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06"
-dependencies = [
- "strum_macros",
-]
-
-[[package]]
-name = "strum_macros"
-version = "0.26.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be"
-dependencies = [
- "heck",
- "proc-macro2",
- "quote",
- "rustversion",
- "syn",
-]
-
-[[package]]
-name = "subtle"
-version = "2.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
-
-[[package]]
-name = "syn"
-version = "2.0.117"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "syscalls"
-version = "0.6.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43d0e35dc7d73976a53c7e6d7d177ef804a0c0ee774ec77bcc520c2216fd7cbe"
-dependencies = [
- "serde",
- "serde_repr",
-]
-
-[[package]]
-name = "tap"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
-
-[[package]]
-name = "tempfile"
-version = "3.27.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd"
-dependencies = [
- "fastrand",
- "getrandom 0.4.2",
- "once_cell",
- "rustix 1.1.4",
- "windows-sys 0.61.2",
-]
-
-[[package]]
-name = "terminal_size"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "230a1b821ccbd75b185820a1f1ff7b14d21da1e442e22c0863ea5f08771a8874"
-dependencies = [
- "rustix 1.1.4",
- "windows-sys 0.61.2",
-]
-
-[[package]]
-name = "thiserror"
-version = "1.0.69"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
-dependencies = [
- "thiserror-impl 1.0.69",
-]
-
-[[package]]
-name = "thiserror"
-version = "2.0.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4"
-dependencies = [
- "thiserror-impl 2.0.18",
-]
-
-[[package]]
-name = "thiserror-impl"
-version = "1.0.69"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "thiserror-impl"
-version = "2.0.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "thread_local"
-version = "1.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "time"
-version = "0.3.47"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c"
-dependencies = [
- "deranged",
- "itoa",
- "libc",
- "num-conv",
- "num_threads",
- "powerfmt",
- "serde_core",
- "time-core",
- "time-macros",
-]
-
-[[package]]
-name = "time-core"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca"
-
-[[package]]
-name = "time-macros"
-version = "0.2.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215"
-dependencies = [
- "num-conv",
- "time-core",
-]
-
-[[package]]
-name = "tokio"
-version = "1.50.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d"
-dependencies = [
- "bytes",
- "libc",
- "mio",
- "parking_lot",
- "pin-project-lite",
- "signal-hook-registry",
- "socket2",
- "tokio-macros",
- "tracing",
- "windows-sys 0.61.2",
-]
-
-[[package]]
-name = "tokio-macros"
-version = "2.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c55a2eff8b69ce66c84f85e1da1c233edc36ceb85a2058d11b0d6a3c7e7569c"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "tokio-native-tls"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
-dependencies = [
- "native-tls",
- "tokio",
-]
-
-[[package]]
-name = "tokio-stream"
-version = "0.1.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70"
-dependencies = [
- "futures-core",
- "pin-project-lite",
- "tokio",
- "tokio-util",
-]
-
-[[package]]
-name = "tokio-util"
-version = "0.7.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098"
-dependencies = [
- "bytes",
- "futures-core",
- "futures-sink",
- "pin-project-lite",
- "tokio",
-]
-
-[[package]]
-name = "tower-service"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"
-
-[[package]]
-name = "tracing"
-version = "0.1.44"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100"
-dependencies = [
- "pin-project-lite",
- "tracing-attributes",
- "tracing-core",
-]
-
-[[package]]
-name = "tracing-appender"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "786d480bce6247ab75f005b14ae1624ad978d3029d9113f0a22fa1ac773faeaf"
-dependencies = [
- "crossbeam-channel",
- "thiserror 2.0.18",
- "time",
- "tracing-subscriber",
-]
-
-[[package]]
-name = "tracing-attributes"
-version = "0.1.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "tracing-core"
-version = "0.1.36"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a"
-dependencies = [
- "once_cell",
- "valuable",
-]
-
-[[package]]
-name = "tracing-log"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
-dependencies = [
- "log",
- "once_cell",
- "tracing-core",
-]
-
-[[package]]
-name = "tracing-serde"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "704b1aeb7be0d0a84fc9828cae51dab5970fee5088f83d1dd7ee6f6246fc6ff1"
-dependencies = [
- "serde",
- "tracing-core",
-]
-
-[[package]]
-name = "tracing-subscriber"
-version = "0.3.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319"
-dependencies = [
- "chrono",
- "matchers",
- "nu-ansi-term",
- "once_cell",
- "parking_lot",
- "regex-automata",
- "serde",
- "serde_json",
- "sharded-slab",
- "smallvec",
- "thread_local",
- "time",
- "tracing",
- "tracing-core",
- "tracing-log",
- "tracing-serde",
-]
-
-[[package]]
-name = "try-lock"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
-
-[[package]]
-name = "turso"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "faba49ac70e21ea35cc963341485f3d17822f2cf433f42152a182117da21d29f"
-dependencies = [
- "bytes",
- "http-body-util",
- "hyper",
- "hyper-tls",
- "hyper-util",
- "mimalloc",
- "thiserror 2.0.18",
- "tokio",
- "tracing",
- "tracing-subscriber",
- "turso_sdk_kit",
- "turso_sync_sdk_kit",
-]
-
-[[package]]
-name = "turso_core"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81fac73a12b91b569f4671d63d65912876c11e6312597c996dac40494f9f9b39"
-dependencies = [
- "aegis",
- "aes",
- "aes-gcm",
- "antithesis_sdk",
- "arc-swap",
- "bigdecimal",
- "bitflags 2.11.0",
- "branches",
- "built",
- "bumpalo",
- "bytemuck",
- "cfg_block",
- "chrono",
- "crc32c",
- "crossbeam-skiplist",
- "either",
- "fallible-iterator",
- "fastbloom",
- "hex",
- "intrusive-collections",
- "io-uring",
- "libc",
- "libloading",
- "libm",
- "loom",
- "miette",
- "num-bigint",
- "num-traits",
- "pack1",
- "parking_lot",
- "paste",
- "polling",
- "rand 0.9.2",
- "rapidhash",
- "regex",
- "regex-syntax",
- "roaring",
- "rustc-hash 2.1.1",
- "rustix 1.1.4",
- "ryu",
- "serde_json",
- "shuttle",
- "simsimd",
- "smallvec",
- "strum",
- "strum_macros",
- "tempfile",
- "thiserror 2.0.18",
- "tracing",
- "tracing-subscriber",
- "turso_ext",
- "turso_macros",
- "turso_parser",
- "twox-hash 2.1.2",
- "uncased",
- "uuid",
- "windows-sys 0.61.2",
-]
-
-[[package]]
-name = "turso_ext"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bdd7410a02a3a4cebd48a5bc0db74940d1157dc9c05ad42d48ee5156dd31edd1"
-dependencies = [
- "chrono",
- "getrandom 0.3.4",
- "turso_macros",
-]
-
-[[package]]
-name = "turso_macros"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c846c30c3cb085884a8bbaba7760bdcc406ff2176cbde1e51d41b6057171fd4"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "turso_parser"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8402ba98c236e3e6d6ed6a43557a9a0b3a682f86a37fcafe02b659b9e6c06b82"
-dependencies = [
- "bitflags 2.11.0",
- "memchr",
- "miette",
- "strum",
- "strum_macros",
- "thiserror 2.0.18",
- "turso_macros",
-]
-
-[[package]]
-name = "turso_sdk_kit"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15b68fee8a6d8515fa6be08ad998d34eba0ac4a8e81dae4b9d0041e21ca01e22"
-dependencies = [
- "bindgen",
- "env_logger",
- "parking_lot",
- "tracing",
- "tracing-appender",
- "tracing-subscriber",
- "turso_core",
- "turso_sdk_kit_macros",
-]
-
-[[package]]
-name = "turso_sdk_kit_macros"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b90fe1bcada9dda8b8e20900f744bdd52f641cccc179f1507e83f8f2ec0b1dc"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "turso_sync_engine"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a94f0d86e6823f63fc52040eb33131ce7fb9cebdb7329a5231443d846e0195a"
-dependencies = [
- "base64",
- "bytes",
- "genawaiter",
- "http",
- "libc",
- "prost",
- "roaring",
- "serde",
- "serde_json",
- "thiserror 2.0.18",
- "tracing",
- "turso_core",
- "turso_parser",
- "uuid",
-]
-
-[[package]]
-name = "turso_sync_sdk_kit"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b49fb6c54aaa988f333505a9023fe4985725995b1575eb1557105fa4ac13ea6d"
-dependencies = [
- "bindgen",
- "env_logger",
- "genawaiter",
- "parking_lot",
- "tracing",
- "tracing-appender",
- "tracing-subscriber",
- "turso_core",
- "turso_sdk_kit",
- "turso_sdk_kit_macros",
- "turso_sync_engine",
-]
-
-[[package]]
-name = "twox-hash"
-version = "1.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675"
-dependencies = [
- "cfg-if",
- "static_assertions",
-]
-
-[[package]]
-name = "twox-hash"
-version = "2.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ea3136b675547379c4bd395ca6b938e5ad3c3d20fad76e7fe85f9e0d011419c"
-dependencies = [
- "rand 0.9.2",
-]
-
-[[package]]
-name = "typed-arena"
-version = "2.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a"
-
-[[package]]
-name = "typenum"
-version = "1.19.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb"
-
-[[package]]
-name = "uncased"
-version = "0.9.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1b88fcfe09e89d3866a5c11019378088af2d24c3fbd4f0543f96b479ec90697"
-dependencies = [
- "version_check",
-]
-
-[[package]]
-name = "unicase"
-version = "2.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142"
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
-
-[[package]]
-name = "unicode-segmentation"
-version = "1.13.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da36089a805484bcccfffe0739803392c8298778a2d2f09febf76fac5ad9025b"
-
-[[package]]
-name = "unicode-width"
-version = "0.1.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af"
-
-[[package]]
-name = "unicode-width"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254"
-
-[[package]]
-name = "unicode-xid"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
-
-[[package]]
-name = "universal-hash"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea"
-dependencies = [
- "crypto-common",
- "subtle",
-]
-
-[[package]]
-name = "unwind"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38290439f8459ba56c4bf15fc776463f495fefc4f0112f87a1a075540441b083"
-dependencies = [
- "foreign-types 0.5.0",
- "libc",
- "unwind-sys",
-]
-
-[[package]]
-name = "unwind-sys"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7a81ba64bc45243d442e9bb2a362f303df152b5078c56ce4a0dc7d813c8df91"
-dependencies = [
- "libc",
- "pkg-config",
-]
-
-[[package]]
-name = "utf8parse"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
-
-[[package]]
-name = "uuid"
-version = "1.22.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a68d3c8f01c0cfa54a75291d83601161799e4a89a39e0929f4b0354d88757a37"
-dependencies = [
- "getrandom 0.4.2",
- "js-sys",
- "sha1_smol",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "valuable"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65"
-
-[[package]]
-name = "vcpkg"
-version = "0.2.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
-
-[[package]]
-name = "version_check"
-version = "0.9.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
-
-[[package]]
-name = "want"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
-dependencies = [
- "try-lock",
-]
-
-[[package]]
-name = "wasi"
-version = "0.11.1+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
-
-[[package]]
-name = "wasip2"
-version = "1.0.2+wasi-0.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5"
-dependencies = [
- "wit-bindgen",
-]
-
-[[package]]
-name = "wasip3"
-version = "0.4.0+wasi-0.3.0-rc-2026-01-06"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5"
-dependencies = [
- "wit-bindgen",
-]
-
-[[package]]
-name = "wasm-bindgen"
-version = "0.2.114"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e"
-dependencies = [
- "cfg-if",
- "once_cell",
- "rustversion",
- "wasm-bindgen-macro",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-macro"
-version = "0.2.114"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6"
-dependencies = [
- "quote",
- "wasm-bindgen-macro-support",
-]
-
-[[package]]
-name = "wasm-bindgen-macro-support"
-version = "0.2.114"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3"
-dependencies = [
- "bumpalo",
- "proc-macro2",
- "quote",
- "syn",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-shared"
-version = "0.2.114"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "wasm-encoder"
-version = "0.244.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319"
-dependencies = [
- "leb128fmt",
- "wasmparser",
-]
-
-[[package]]
-name = "wasm-metadata"
-version = "0.244.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909"
-dependencies = [
- "anyhow",
- "indexmap",
- "wasm-encoder",
- "wasmparser",
-]
-
-[[package]]
-name = "wasmparser"
-version = "0.244.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe"
-dependencies = [
- "bitflags 2.11.0",
- "hashbrown 0.15.5",
- "indexmap",
- "semver",
-]
-
-[[package]]
-name = "which"
-version = "4.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
-dependencies = [
- "either",
- "home",
- "once_cell",
- "rustix 0.38.44",
-]
-
-[[package]]
-name = "winapi"
-version = "0.2.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
-
-[[package]]
-name = "winapi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
-]
-
-[[package]]
-name = "winapi-build"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
-
-[[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-
-[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-
-[[package]]
-name = "windows-core"
-version = "0.62.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb"
-dependencies = [
- "windows-implement",
- "windows-interface",
- "windows-link",
- "windows-result",
- "windows-strings",
-]
-
-[[package]]
-name = "windows-implement"
-version = "0.60.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "windows-interface"
-version = "0.59.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "windows-link"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
-
-[[package]]
-name = "windows-result"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5"
-dependencies = [
- "windows-link",
-]
-
-[[package]]
-name = "windows-strings"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091"
-dependencies = [
- "windows-link",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.59.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
-dependencies = [
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.60.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
-dependencies = [
- "windows-targets 0.53.5",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.61.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
-dependencies = [
- "windows-link",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
-dependencies = [
- "windows_aarch64_gnullvm 0.52.6",
- "windows_aarch64_msvc 0.52.6",
- "windows_i686_gnu 0.52.6",
- "windows_i686_gnullvm 0.52.6",
- "windows_i686_msvc 0.52.6",
- "windows_x86_64_gnu 0.52.6",
- "windows_x86_64_gnullvm 0.52.6",
- "windows_x86_64_msvc 0.52.6",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.53.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3"
-dependencies = [
- "windows-link",
- "windows_aarch64_gnullvm 0.53.1",
- "windows_aarch64_msvc 0.53.1",
- "windows_i686_gnu 0.53.1",
- "windows_i686_gnullvm 0.53.1",
- "windows_i686_msvc 0.53.1",
- "windows_x86_64_gnu 0.53.1",
- "windows_x86_64_gnullvm 0.53.1",
- "windows_x86_64_msvc 0.53.1",
-]
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.53.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.53.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.53.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3"
-
-[[package]]
-name = "windows_i686_gnullvm"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
-
-[[package]]
-name = "windows_i686_gnullvm"
-version = "0.53.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.53.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.53.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.53.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.53.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650"
-
-[[package]]
-name = "wit-bindgen"
-version = "0.51.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5"
-dependencies = [
- "wit-bindgen-rust-macro",
-]
-
-[[package]]
-name = "wit-bindgen-core"
-version = "0.51.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc"
-dependencies = [
- "anyhow",
- "heck",
- "wit-parser",
-]
-
-[[package]]
-name = "wit-bindgen-rust"
-version = "0.51.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21"
-dependencies = [
- "anyhow",
- "heck",
- "indexmap",
- "prettyplease",
- "syn",
- "wasm-metadata",
- "wit-bindgen-core",
- "wit-component",
-]
-
-[[package]]
-name = "wit-bindgen-rust-macro"
-version = "0.51.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a"
-dependencies = [
- "anyhow",
- "prettyplease",
- "proc-macro2",
- "quote",
- "syn",
- "wit-bindgen-core",
- "wit-bindgen-rust",
-]
-
-[[package]]
-name = "wit-component"
-version = "0.244.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2"
-dependencies = [
- "anyhow",
- "bitflags 2.11.0",
- "indexmap",
- "log",
- "serde",
- "serde_derive",
- "serde_json",
- "wasm-encoder",
- "wasm-metadata",
- "wasmparser",
- "wit-parser",
-]
-
-[[package]]
-name = "wit-parser"
-version = "0.244.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736"
-dependencies = [
- "anyhow",
- "id-arena",
- "indexmap",
- "log",
- "semver",
- "serde",
- "serde_derive",
- "serde_json",
- "unicode-xid",
- "wasmparser",
-]
-
-[[package]]
-name = "wyz"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
-dependencies = [
- "tap",
-]
-
-[[package]]
-name = "zerocopy"
-version = "0.8.47"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efbb2a062be311f2ba113ce66f697a4dc589f85e78a4aea276200804cea0ed87"
-dependencies = [
- "zerocopy-derive",
-]
-
-[[package]]
-name = "zerocopy-derive"
-version = "0.8.47"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e8bc7269b54418e7aeeef514aa68f8690b8c0489a06b0136e5f57c4c5ccab89"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "zmij"
-version = "1.0.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
diff --git a/cli/Cargo.toml b/cli/Cargo.toml
deleted file mode 100644
index cb20bf37..00000000
--- a/cli/Cargo.toml
+++ /dev/null
@@ -1,140 +0,0 @@
-[package]
-name = "agentfs"
-version = "0.6.4"
-edition = "2021"
-repository = "https://github.com/tursodatabase/agentfs"
-
-[lib]
-name = "agentfs"
-path = "src/lib.rs"
-
-[[bin]]
-name = "agentfs"
-path = "src/main.rs"
-
-[features]
-default = ["sandbox", "fuse-modern"]
-strict = []
-sandbox = [
- "dep:agentfs-sandbox",
- "dep:reverie",
- "dep:reverie-ptrace",
- "dep:reverie-process",
-]
-
-# Vendored fuser is gated per protocol minor version. Enable the full cascade up
-# to ABI 7.31 so we can both negotiate the kernel protocol that supports the
-# capabilities init() already advertises (FUSE_DO_READDIRPLUS, FUSE_WRITEBACK_CACHE,
-# FUSE_PARALLEL_DIROPS, FUSE_CACHE_SYMLINKS, FUSE_NO_OPENDIR_SUPPORT, FUSE_MAX_PAGES,
-# FUSE_EXPLICIT_INVAL_DATA, etc.) and actually decode the opcodes the kernel sends
-# when those capabilities are negotiated (FUSE_READDIRPLUS=44, FUSE_RENAME2=45,
-# FUSE_LSEEK=46, FUSE_COPY_FILE_RANGE=47). Without these, the kernel may issue
-# opcode 44 and the dispatcher returns ENOSYS, breaking readdir on the mount.
-fuse-modern = [
- "abi-7-19",
- "abi-7-20",
- "abi-7-21",
- "abi-7-22",
- "abi-7-23",
- "abi-7-24",
- "abi-7-25",
- "abi-7-26",
- "abi-7-27",
- "abi-7-28",
- "abi-7-29",
- "abi-7-30",
- "abi-7-31",
- "abi-7-36",
- "abi-7-41",
- "abi-7-42",
-]
-abi-7-19 = []
-abi-7-20 = []
-abi-7-21 = []
-abi-7-22 = []
-abi-7-23 = []
-abi-7-24 = []
-abi-7-25 = []
-abi-7-26 = []
-abi-7-27 = []
-abi-7-28 = []
-abi-7-29 = []
-abi-7-30 = []
-abi-7-31 = []
-# ABI 7.36-7.42 uplift. The vendored fuser carries a distinct init-struct delta
-# only at 7.36 (adds flags2). 7.40 additionally pulls in FUSE_PASSTHROUGH
-# scaffolding (FOPEN_PASSTHROUGH / BackingId / open_backing) that is not
-# implemented here, so it is intentionally NOT enabled. 7.41/7.42 add no
-# init-struct fields — 7.42 only adds the FUSE_OVER_IO_URING capability bit — and
-# the 7.36 fuse_init_out is already a kernel-compatible 64 bytes (the trailing
-# reserved[7] covers max_stack_depth + request_timeout + unused), so minor 42 is
-# advertised on the 7.36 layout, skipping 7.40's passthrough.
-abi-7-36 = []
-abi-7-40 = ["abi-7-36"]
-abi-7-41 = ["abi-7-36"]
-abi-7-42 = ["abi-7-41"]
-
-[dependencies]
-agentfs-sdk = { path = "../sdk/rust" }
-tokio = { version = "1", features = ["full"] }
-clap = { version = "4", features = ["derive", "env"] }
-anyhow = "1.0"
-hex = "0.4"
-sha1 = "0.10"
-turso = { version = "0.5", features = ["sync"] }
-serde = { version = "1.0", features = ["derive"] }
-parking_lot = "0.12.5"
-clap_complete = { version = "=4.5.61", features = ["unstable-dynamic"] }
-dirs = "6"
-serde_json = "1.0.147"
-tracing = "0.1.44"
-tracing-subscriber = { version = "0.3", features = ["env-filter"] }
-chrono = { version = "0.4.42", features = ["serde"] }
-
-# MCP Server support
-base64 = "0.22"
-
-# NFS server for userspace filesystem (used by `agentfs run` and `agentfs nfs`)
-uuid = { version = "1", features = ["v4"] }
-tokio-util = "0.7"
-async-trait = "0.1"
-# Vendored nfsserve dependencies
-byteorder = "1.5"
-num-derive = "0.4"
-num-traits = "0.2"
-filetime = "0.2"
-
-# Unix dependencies
-[target.'cfg(unix)'.dependencies]
-libc = "0.2"
-
-# Linux-only dependencies for FUSE and sandbox functionality
-[target.'cfg(target_os = "linux")'.dependencies]
-# Sandbox dependencies - (requires libunwind-dev on ARM)
-agentfs-sandbox = { path = "../sandbox", optional = true }
-reverie = { git = "https://github.com/facebookexperimental/reverie", optional = true }
-reverie-ptrace = { git = "https://github.com/facebookexperimental/reverie", optional = true }
-reverie-process = { git = "https://github.com/facebookexperimental/reverie", optional = true }
-# Vendored fuser dependencies (pure-Rust FUSE implementation)
-log = "0.4"
-memchr = "2.7"
-page_size = "0.6"
-smallvec = "1.6"
-zerocopy = { version = "0.8", features = ["derive"] }
-nix = { version = "0.29", features = ["fs", "user"] }
-
-# macOS dependencies for NFS functionality (no FUSE - uses nfsserve instead)
-[target.'cfg(target_os = "macos")'.dependencies]
-# Ensure transitive `aegis` (pulled in by `turso`) builds on macOS arm64 by
-# forcing the `pure-rust` feature, which skips the C/NEON backend that fails
-# with Apple clang (`veor3q_u8` in `aegis128l_neon_sha3.c`).
-aegis = { version = "0.9.6", features = ["pure-rust"] }
-
-
-# The profile that 'dist' will build with
-[profile.dist]
-inherits = "release"
-lto = "thin"
-
-[dev-dependencies]
-tempfile = "3.23.0"
diff --git a/cli/build.rs b/cli/build.rs
deleted file mode 100644
index d782e5cc..00000000
--- a/cli/build.rs
+++ /dev/null
@@ -1,32 +0,0 @@
-use std::process::Command;
-
-fn main() {
- // Sandbox uses libunwind-ptrace which depends on liblzma and gcc_s.
- #[cfg(target_os = "linux")]
- {
- println!("cargo:rustc-link-lib=lzma");
- // libgcc_s provides _Unwind_RaiseException and other exception handling symbols
- println!("cargo:rustc-link-lib=dylib=gcc_s");
- }
-
- // Capture git version from tags for --version flag
- // Rerun if git HEAD changes (new commits or tags)
- println!("cargo:rerun-if-changed=../.git/HEAD");
- println!("cargo:rerun-if-changed=../.git/refs/tags");
-
- let version = Command::new("git")
- .args(["describe", "--tags", "--always", "--dirty"])
- .output()
- .ok()
- .and_then(|output| {
- if output.status.success() {
- String::from_utf8(output.stdout).ok()
- } else {
- None
- }
- })
- .map(|v| v.trim().to_string())
- .unwrap_or_else(|| env!("CARGO_PKG_VERSION").to_string());
-
- println!("cargo:rustc-env=AGENTFS_VERSION={}", version);
-}
diff --git a/cli/rust-toolchain.toml b/cli/rust-toolchain.toml
deleted file mode 100644
index e14a7cef..00000000
--- a/cli/rust-toolchain.toml
+++ /dev/null
@@ -1,3 +0,0 @@
-[toolchain]
-channel = "nightly"
-components = ["rust-analyzer"]
diff --git a/cli/src/cmd/mcp_server.rs b/cli/src/cmd/mcp_server.rs
deleted file mode 100644
index 006c02e2..00000000
--- a/cli/src/cmd/mcp_server.rs
+++ /dev/null
@@ -1,956 +0,0 @@
-use agentfs_sdk::{AgentFS, AgentFSOptions, Stats};
-
-const S_IFREG: u32 = 0o100000;
-use anyhow::{Context, Result};
-use serde::{Deserialize, Serialize};
-use serde_json::{json, Value as JsonValue};
-use std::collections::HashSet;
-use std::io::{self, BufRead, Write};
-use std::path::Path;
-use std::sync::Arc;
-use tokio::sync::Mutex;
-
-use crate::cmd::init::open_agentfs;
-
-/// Main entry point for MCP server command
-pub async fn handle_mcp_server_command(
- id_or_path: String,
- tools_filter: Option>,
-) -> Result<()> {
- // Resolve and open AgentFS
- let options = AgentFSOptions::resolve(&id_or_path).context(format!(
- "Failed to resolve agent ID or path: {}",
- id_or_path
- ))?;
-
- eprintln!("Using agent: {}", id_or_path);
-
- let agentfs = open_agentfs(options).await?;
-
- // Create MCP server with tool filtering
- let server = McpServer::new(agentfs, tools_filter);
-
- // Run server with stdio transport
- eprintln!("Starting MCP server on stdio...");
- eprintln!("Protocol: Model Context Protocol (MCP) over JSON-RPC 2.0");
- server.serve().await?;
-
- Ok(())
-}
-
-/// MCP Server implementation
-struct McpServer {
- agentfs: Arc,
- enabled_tools: Option>,
-}
-
-impl McpServer {
- fn new(agentfs: AgentFS, tools_filter: Option>) -> Self {
- let enabled_tools = tools_filter.map(|tools| {
- let set: HashSet = tools.into_iter().collect();
- eprintln!("Tool filter enabled. Exposing tools: {:?}", set);
- set
- });
-
- if enabled_tools.is_none() {
- eprintln!("No tool filter specified. Exposing all tools.");
- }
-
- Self {
- agentfs: Arc::new(agentfs),
- enabled_tools,
- }
- }
-
- /// Check if a tool is enabled based on filter
- fn is_tool_enabled(&self, tool_name: &str) -> bool {
- match &self.enabled_tools {
- None => true, // No filter = all enabled
- Some(set) => set.contains(tool_name),
- }
- }
-
- async fn serve(self) -> Result<()> {
- let server = Arc::new(Mutex::new(self));
- let stdin = io::stdin();
- let mut stdout = io::stdout();
-
- for line in stdin.lock().lines() {
- let line = line?;
- if line.trim().is_empty() {
- continue;
- }
-
- // Parse JSON-RPC request
- let request: JsonValue = match serde_json::from_str(&line) {
- Ok(req) => req,
- Err(e) => {
- eprintln!("Failed to parse JSON-RPC request: {}", e);
- continue;
- }
- };
-
- // Handle request
- let response = server.lock().await.handle_request(request).await;
-
- // Write response to stdout
- if let Some(resp) = response {
- let resp_str = serde_json::to_string(&resp)?;
- writeln!(stdout, "{}", resp_str)?;
- stdout.flush()?;
- }
- }
-
- Ok(())
- }
-
- async fn handle_request(&self, request: JsonValue) -> Option {
- // Extract request fields
- let method = request.get("method")?.as_str()?;
- let id = request.get("id").cloned();
- let params = request.get("params").cloned().unwrap_or(json!({}));
-
- eprintln!("Received request: method={}", method);
-
- // Handle method
- let result = match method {
- "initialize" => self.handle_initialize(params).await,
- "initialized" => {
- // Notification, no response needed
- return None;
- }
- "tools/list" => self.handle_tools_list().await,
- "tools/call" => self.handle_tools_call(params).await,
- "resources/list" => self.handle_resources_list().await,
- "resources/read" => self.handle_resources_read(params).await,
- _ => Err(anyhow::anyhow!("Unknown method: {}", method)),
- };
-
- // Build JSON-RPC response
- let response = match result {
- Ok(result) => {
- json!({
- "jsonrpc": "2.0",
- "id": id,
- "result": result
- })
- }
- Err(e) => {
- eprintln!("Error handling {}: {}", method, e);
- json!({
- "jsonrpc": "2.0",
- "id": id,
- "error": {
- "code": -32603,
- "message": e.to_string()
- }
- })
- }
- };
-
- Some(response)
- }
-
- async fn handle_initialize(&self, _params: JsonValue) -> Result {
- Ok(json!({
- "protocolVersion": "2024-11-05",
- "capabilities": {
- "tools": {},
- "resources": {}
- },
- "serverInfo": {
- "name": "agentfs-mcp-server",
- "version": env!("CARGO_PKG_VERSION")
- }
- }))
- }
-
- async fn handle_tools_list(&self) -> Result {
- let tools = self.get_tool_definitions();
- Ok(json!({ "tools": tools }))
- }
-
- async fn handle_tools_call(&self, params: JsonValue) -> Result {
- let name = params
- .get("name")
- .and_then(|v| v.as_str())
- .ok_or_else(|| anyhow::anyhow!("Missing tool name"))?;
-
- let arguments = params.get("arguments").cloned().unwrap_or(json!({}));
-
- let result_text = match name {
- "read_file" => {
- let params: ReadFileParams = serde_json::from_value(arguments)?;
- self.handle_read_file(params).await?
- }
- "write_file" => {
- let params: WriteFileParams = serde_json::from_value(arguments)?;
- self.handle_write_file(params).await?
- }
- "readdir" => {
- let params: ReaddirParams = serde_json::from_value(arguments)?;
- self.handle_readdir(params).await?
- }
- "mkdir" => {
- let params: MkdirParams = serde_json::from_value(arguments)?;
- self.handle_mkdir(params).await?
- }
- "rename" => {
- let params: RenameParams = serde_json::from_value(arguments)?;
- self.handle_rename(params).await?
- }
- "remove" => {
- let params: RemoveParams = serde_json::from_value(arguments)?;
- self.handle_remove(params).await?
- }
- "stat" => {
- let params: StatParams = serde_json::from_value(arguments)?;
- self.handle_stat(params).await?
- }
- "access" => {
- let params: AccessParams = serde_json::from_value(arguments)?;
- self.handle_access(params).await?
- }
- "kv_get" => {
- let params: KvGetParams = serde_json::from_value(arguments)?;
- self.handle_kv_get(params).await?
- }
- "kv_set" => {
- let params: KvSetParams = serde_json::from_value(arguments)?;
- self.handle_kv_set(params).await?
- }
- "kv_delete" => {
- let params: KvDeleteParams = serde_json::from_value(arguments)?;
- self.handle_kv_delete(params).await?
- }
- _ => anyhow::bail!("Unknown tool: {}", name),
- };
-
- Ok(json!({
- "content": [
- {
- "type": "text",
- "text": result_text
- }
- ]
- }))
- }
-
- async fn handle_resources_list(&self) -> Result {
- let resources = self.list_resources().await?;
- Ok(json!({ "resources": resources }))
- }
-
- async fn handle_resources_read(&self, params: JsonValue) -> Result {
- let uri = params
- .get("uri")
- .and_then(|v| v.as_str())
- .ok_or_else(|| anyhow::anyhow!("Missing resource uri"))?;
-
- let contents = self.read_resource(uri).await?;
- let mime_type = guess_mime_type(uri);
-
- // Try to decode as UTF-8, fall back to base64
- let resource_contents = if let Ok(text) = String::from_utf8(contents.clone()) {
- json!({
- "uri": uri,
- "mimeType": mime_type,
- "text": text
- })
- } else {
- json!({
- "uri": uri,
- "mimeType": mime_type,
- "blob": base64_encode(&contents)
- })
- };
-
- Ok(json!({ "contents": [resource_contents] }))
- }
-
- fn get_tool_definitions(&self) -> Vec {
- let mut tools = Vec::new();
-
- // Filesystem tools
- if self.is_tool_enabled("read_file") {
- tools.push(json!({
- "name": "read_file",
- "description": "Read file contents from the filesystem",
- "inputSchema": {
- "type": "object",
- "properties": {
- "path": {
- "type": "string",
- "description": "Path to the file to read"
- },
- "encoding": {
- "type": "string",
- "enum": ["utf8", "base64"],
- "description": "Encoding to use for file contents (default: utf8)"
- }
- },
- "required": ["path"]
- }
- }));
- }
-
- if self.is_tool_enabled("write_file") {
- tools.push(json!({
- "name": "write_file",
- "description": "Write content to a file in the filesystem",
- "inputSchema": {
- "type": "object",
- "properties": {
- "path": {
- "type": "string",
- "description": "Path to the file to write"
- },
- "content": {
- "type": "string",
- "description": "Content to write to the file"
- },
- "encoding": {
- "type": "string",
- "enum": ["utf8", "base64"],
- "description": "Encoding of the content (default: utf8)"
- },
- "create_dirs": {
- "type": "boolean",
- "description": "Create parent directories if they don't exist"
- }
- },
- "required": ["path", "content"]
- }
- }));
- }
-
- if self.is_tool_enabled("readdir") {
- tools.push(json!({
- "name": "readdir",
- "description": "List contents of a directory",
- "inputSchema": {
- "type": "object",
- "properties": {
- "path": {
- "type": "string",
- "description": "Path to the directory to list"
- }
- },
- "required": ["path"]
- }
- }));
- }
-
- if self.is_tool_enabled("mkdir") {
- tools.push(json!({
- "name": "mkdir",
- "description": "Create a directory",
- "inputSchema": {
- "type": "object",
- "properties": {
- "path": {
- "type": "string",
- "description": "Path of the directory to create"
- }
- },
- "required": ["path"]
- }
- }));
- }
-
- if self.is_tool_enabled("remove") {
- tools.push(json!({
- "name": "remove",
- "description": "Remove a file or empty directory",
- "inputSchema": {
- "type": "object",
- "properties": {
- "path": {
- "type": "string",
- "description": "Path of the file or directory to remove"
- }
- },
- "required": ["path"]
- }
- }));
- }
-
- if self.is_tool_enabled("rename") {
- tools.push(json!({
- "name": "rename",
- "description": "Move or rename a file or directory",
- "inputSchema": {
- "type": "object",
- "properties": {
- "from": {
- "type": "string",
- "description": "Source path"
- },
- "to": {
- "type": "string",
- "description": "Destination path"
- }
- },
- "required": ["from", "to"]
- }
- }));
- }
-
- if self.is_tool_enabled("stat") {
- tools.push(json!({
- "name": "stat",
- "description": "Get file or directory metadata",
- "inputSchema": {
- "type": "object",
- "properties": {
- "path": {
- "type": "string",
- "description": "Path to stat"
- }
- },
- "required": ["path"]
- }
- }));
- }
-
- if self.is_tool_enabled("access") {
- tools.push(json!({
- "name": "access",
- "description": "Test if a path exists",
- "inputSchema": {
- "type": "object",
- "properties": {
- "path": {
- "type": "string",
- "description": "Path to test"
- }
- },
- "required": ["path"]
- }
- }));
- }
-
- // KV store tools
- if self.is_tool_enabled("kv_get") {
- tools.push(json!({
- "name": "kv_get",
- "description": "Get a value from the key-value store",
- "inputSchema": {
- "type": "object",
- "properties": {
- "key": {
- "type": "string",
- "description": "Key to retrieve"
- }
- },
- "required": ["key"]
- }
- }));
- }
-
- if self.is_tool_enabled("kv_set") {
- tools.push(json!({
- "name": "kv_set",
- "description": "Set a value in the key-value store",
- "inputSchema": {
- "type": "object",
- "properties": {
- "key": {
- "type": "string",
- "description": "Key to set"
- },
- "value": {
- "description": "Value to store (any JSON value)"
- }
- },
- "required": ["key", "value"]
- }
- }));
- }
-
- if self.is_tool_enabled("kv_delete") {
- tools.push(json!({
- "name": "kv_delete",
- "description": "Delete a key from the key-value store",
- "inputSchema": {
- "type": "object",
- "properties": {
- "key": {
- "type": "string",
- "description": "Key to delete"
- }
- },
- "required": ["key"]
- }
- }));
- }
-
- if self.is_tool_enabled("kv_list") {
- tools.push(json!({
- "name": "kv_list",
- "description": "List keys in the key-value store with optional prefix",
- "inputSchema": {
- "type": "object",
- "properties": {
- "prefix": {
- "type": "string",
- "description": "Optional prefix to filter keys"
- }
- }
- }
- }));
- }
-
- tools
- }
-}
-
-// ============================================================================
-// Helper functions
-// ============================================================================
-
-/// Normalize a path to ensure it starts with /
-fn normalize_path(path: &str) -> Result {
- let path = path.trim();
-
- // Reject paths with .. for security
- if path.contains("..") {
- anyhow::bail!("Path traversal not allowed: {}", path);
- }
-
- // Convert relative to absolute
- let normalized = if path.starts_with('/') {
- path.to_string()
- } else if path.is_empty() {
- "/".to_string()
- } else {
- format!("/{}", path)
- };
-
- Ok(normalized)
-}
-
-/// Guess MIME type based on file extension
-fn guess_mime_type(path: &str) -> String {
- match Path::new(path).extension().and_then(|s| s.to_str()) {
- Some("txt") | Some("md") => "text/plain",
- Some("json") => "application/json",
- Some("html") | Some("htm") => "text/html",
- Some("js") | Some("mjs") => "application/javascript",
- Some("ts") => "application/typescript",
- Some("css") => "text/css",
- Some("xml") => "application/xml",
- Some("png") => "image/png",
- Some("jpg") | Some("jpeg") => "image/jpeg",
- Some("gif") => "image/gif",
- Some("svg") => "image/svg+xml",
- Some("pdf") => "application/pdf",
- Some("zip") => "application/zip",
- Some("tar") => "application/x-tar",
- Some("gz") => "application/gzip",
- _ => "application/octet-stream",
- }
- .to_string()
-}
-
-/// Base64 encode bytes
-fn base64_encode(data: &[u8]) -> String {
- use base64::{engine::general_purpose::STANDARD, Engine};
- STANDARD.encode(data)
-}
-
-/// Base64 decode string
-fn base64_decode(s: &str) -> Result> {
- use base64::{engine::general_purpose::STANDARD, Engine};
- STANDARD
- .decode(s)
- .map_err(|e| anyhow::anyhow!("Base64 decode error: {}", e))
-}
-
-// ============================================================================
-// Tool parameter types
-// ============================================================================
-
-#[derive(Debug, Serialize, Deserialize)]
-struct ReadFileParams {
- path: String,
- #[serde(default)]
- encoding: Option,
-}
-
-#[derive(Debug, Serialize, Deserialize)]
-struct WriteFileParams {
- path: String,
- content: String,
- #[serde(default)]
- encoding: Option,
- #[serde(default)]
- create_dirs: Option,
-}
-
-#[derive(Debug, Serialize, Deserialize)]
-struct ReaddirParams {
- path: String,
-}
-
-#[derive(Debug, Serialize, Deserialize)]
-struct MkdirParams {
- path: String,
-}
-
-#[derive(Debug, Serialize, Deserialize)]
-struct RenameParams {
- from: String,
- to: String,
-}
-
-#[derive(Debug, Serialize, Deserialize)]
-struct RemoveParams {
- path: String,
-}
-
-#[derive(Debug, Serialize, Deserialize)]
-struct StatParams {
- path: String,
-}
-
-#[derive(Debug, Serialize, Deserialize)]
-struct AccessParams {
- path: String,
-}
-
-#[derive(Debug, Serialize, Deserialize)]
-struct KvGetParams {
- key: String,
-}
-
-#[derive(Debug, Serialize, Deserialize)]
-struct KvSetParams {
- key: String,
- value: JsonValue,
-}
-
-#[derive(Debug, Serialize, Deserialize)]
-struct KvDeleteParams {
- key: String,
-}
-
-// ============================================================================
-// Tool implementations
-// ============================================================================
-
-impl McpServer {
- /// Read file contents
- async fn handle_read_file(&self, params: ReadFileParams) -> Result {
- let path = normalize_path(¶ms.path)?;
-
- let data = self
- .agentfs
- .fs
- .read_file(&path)
- .await
- .context("Failed to read file")?
- .ok_or_else(|| anyhow::anyhow!("File not found: {}", path))?;
-
- let content = match params.encoding.as_deref() {
- Some("base64") => base64_encode(&data),
- _ => String::from_utf8(data)
- .context("File is not valid UTF-8. Use encoding=base64 for binary files.")?,
- };
-
- Ok(content)
- }
-
- /// Write file contents
- async fn handle_write_file(&self, params: WriteFileParams) -> Result {
- let path = normalize_path(¶ms.path)?;
-
- let data = match params.encoding.as_deref() {
- Some("base64") => base64_decode(¶ms.content)?,
- _ => params.content.into_bytes(),
- };
-
- // Create parent directories if requested
- if params.create_dirs.unwrap_or(false) {
- Box::pin(self.ensure_parent_dirs(&path)).await?;
- }
-
- // Remove file if it exists (overwrite behavior)
- if self.agentfs.fs.stat(&path).await?.is_some() {
- self.agentfs.fs.remove(&path).await?;
- }
- let (_, file) = self
- .agentfs
- .fs
- .create_file(&path, S_IFREG | 0o644, 0, 0)
- .await
- .context("Failed to create file")?;
- file.pwrite(0, &data)
- .await
- .context("Failed to write file")?;
-
- Ok(format!("Wrote {} bytes to {}", data.len(), path))
- }
-
- /// Helper to create parent directories recursively
- fn ensure_parent_dirs<'a>(
- &'a self,
- path: &'a str,
- ) -> std::pin::Pin> + Send + 'a>> {
- Box::pin(async move {
- let path_obj = Path::new(path);
- let parent = match path_obj.parent() {
- Some(p) if !p.as_os_str().is_empty() && p != Path::new("/") => p,
- _ => return Ok(()),
- };
-
- let parent_str = parent.to_string_lossy().to_string();
- let parent_path = normalize_path(&parent_str)?;
-
- // Check if parent exists
- if self.agentfs.fs.stat(&parent_path).await?.is_some() {
- return Ok(());
- }
-
- // Recursively ensure grandparent exists
- self.ensure_parent_dirs(&parent_path).await?;
-
- // Create parent
- self.agentfs
- .fs
- .mkdir(&parent_path, 0, 0)
- .await
- .context(format!("Failed to create directory: {}", parent_path))?;
-
- Ok(())
- })
- }
-
- /// List directory contents
- async fn handle_readdir(&self, params: ReaddirParams) -> Result {
- let path = normalize_path(¶ms.path)?;
-
- let stats = self
- .agentfs
- .fs
- .stat(&path)
- .await
- .context("Failed to stat directory")?
- .ok_or_else(|| anyhow::anyhow!("Directory not found: {}", path))?;
-
- let entries = self
- .agentfs
- .fs
- .readdir(stats.ino)
- .await
- .context("Failed to read directory")?
- .ok_or_else(|| anyhow::anyhow!("Directory not found: {}", path))?;
-
- Ok(serde_json::to_string_pretty(&entries)?)
- }
-
- /// Create directory
- async fn handle_mkdir(&self, params: MkdirParams) -> Result {
- let path = normalize_path(¶ms.path)?;
-
- self.agentfs
- .fs
- .mkdir(&path, 0, 0)
- .await
- .context("Failed to create directory")?;
-
- Ok(format!("Created directory: {}", path))
- }
-
- /// Remove empty directory
- async fn handle_remove(&self, params: RemoveParams) -> Result {
- let path = normalize_path(¶ms.path)?;
-
- self.agentfs
- .fs
- .remove(&path)
- .await
- .context("Failed to remove directory")?;
-
- Ok(format!("Removed directory: {}", path))
- }
-
- /// Rename/move file or directory
- async fn handle_rename(&self, params: RenameParams) -> Result {
- let from = normalize_path(¶ms.from)?;
- let to = normalize_path(¶ms.to)?;
-
- self.agentfs
- .fs
- .rename(&from, &to)
- .await
- .context("Failed to rename")?;
-
- Ok(format!("Renamed {} to {}", from, to))
- }
-
- /// Get file metadata
- async fn handle_stat(&self, params: StatParams) -> Result {
- let path = normalize_path(¶ms.path)?;
-
- let stats = self
- .agentfs
- .fs
- .stat(&path)
- .await
- .context("Failed to stat")?
- .ok_or_else(|| anyhow::anyhow!("Path not found: {}", path))?;
-
- Ok(serde_json::to_string_pretty(&StatsResponse::from(stats))?)
- }
-
- /// Test if path exists
- async fn handle_access(&self, params: AccessParams) -> Result {
- let path = normalize_path(¶ms.path)?;
-
- let exists = self.agentfs.fs.stat(&path).await?.is_some();
-
- Ok(serde_json::to_string(&json!({ "exists": exists }))?)
- }
-
- /// Get KV value
- async fn handle_kv_get(&self, params: KvGetParams) -> Result {
- let value: Option = self
- .agentfs
- .kv
- .get(¶ms.key)
- .await
- .context("Failed to get value")?;
-
- Ok(serde_json::to_string_pretty(&value)?)
- }
-
- /// Set KV value
- async fn handle_kv_set(&self, params: KvSetParams) -> Result {
- self.agentfs
- .kv
- .set(¶ms.key, ¶ms.value)
- .await
- .context("Failed to set value")?;
-
- Ok(format!("Set key: {}", params.key))
- }
-
- /// Delete KV value
- async fn handle_kv_delete(&self, params: KvDeleteParams) -> Result {
- self.agentfs
- .kv
- .delete(¶ms.key)
- .await
- .context("Failed to delete key")?;
-
- Ok(format!("Deleted key: {}", params.key))
- }
-
- /// List all files as resources
- async fn list_resources(&self) -> Result> {
- let mut resources = Vec::new();
- Box::pin(self.collect_file_resources("/", &mut resources)).await?;
- Ok(resources)
- }
-
- /// Recursively collect file resources
- fn collect_file_resources<'a>(
- &'a self,
- path: &'a str,
- resources: &'a mut Vec,
- ) -> std::pin::Pin> + Send + 'a>> {
- Box::pin(async move {
- let dir_stats = match self.agentfs.fs.stat(path).await? {
- Some(s) => s,
- None => return Ok(()),
- };
-
- let entries = match self.agentfs.fs.readdir(dir_stats.ino).await? {
- Some(entries) => entries,
- None => return Ok(()),
- };
-
- for entry in entries {
- let full_path = if path == "/" {
- format!("/{}", entry)
- } else {
- format!("{}/{}", path, entry)
- };
-
- let stats = match self.agentfs.fs.stat(&full_path).await? {
- Some(s) => s,
- None => continue,
- };
-
- if stats.is_file() {
- resources.push(json!({
- "uri": full_path,
- "name": entry,
- "description": format!("File at {}", full_path),
- "mimeType": guess_mime_type(&full_path)
- }));
- } else if stats.is_directory() {
- // Recurse into subdirectory
- self.collect_file_resources(&full_path, resources).await?;
- }
- }
-
- Ok(())
- })
- }
-
- /// Read a resource by path
- async fn read_resource(&self, path: &str) -> Result> {
- let normalized = normalize_path(path)?;
-
- let data = self
- .agentfs
- .fs
- .read_file(&normalized)
- .await
- .context("Failed to read file")?
- .ok_or_else(|| anyhow::anyhow!("File not found: {}", normalized))?;
-
- Ok(data)
- }
-}
-
-// ============================================================================
-// Response types
-// ============================================================================
-
-#[derive(Debug, Serialize)]
-struct StatsResponse {
- ino: i64,
- mode: u32,
- nlink: u32,
- uid: u32,
- gid: u32,
- size: i64,
- atime: i64,
- mtime: i64,
- ctime: i64,
- is_file: bool,
- is_directory: bool,
- is_symlink: bool,
-}
-
-impl From for StatsResponse {
- fn from(stats: Stats) -> Self {
- Self {
- ino: stats.ino,
- mode: stats.mode,
- nlink: stats.nlink,
- uid: stats.uid,
- gid: stats.gid,
- size: stats.size,
- atime: stats.atime,
- mtime: stats.mtime,
- ctime: stats.ctime,
- is_file: stats.is_file(),
- is_directory: stats.is_directory(),
- is_symlink: stats.is_symlink(),
- }
- }
-}
diff --git a/cli/src/cmd/mount_stub.rs b/cli/src/cmd/mount_stub.rs
deleted file mode 100644
index 1076f51d..00000000
--- a/cli/src/cmd/mount_stub.rs
+++ /dev/null
@@ -1,46 +0,0 @@
-use agentfs_sdk::PartialOriginPolicy;
-use anyhow::Result;
-use std::{io::Write, path::PathBuf};
-
-pub use crate::opts::MountBackend;
-
-/// Arguments for the mount command.
-#[derive(Debug, Clone)]
-#[allow(dead_code)]
-pub struct MountArgs {
- /// The agent filesystem ID or path.
- pub id_or_path: String,
- /// The mountpoint path.
- pub mountpoint: PathBuf,
- /// Automatically unmount when the process exits.
- pub auto_unmount: bool,
- /// Allow root to access the mount.
- pub allow_root: bool,
- /// Allow other system users to access the mount.
- pub allow_other: bool,
- /// Run in foreground (don't daemonize).
- pub foreground: bool,
- /// User ID to report for all files (defaults to current user).
- pub uid: Option,
- /// Group ID to report for all files (defaults to current group).
- pub gid: Option,
- /// The mount backend to use (fuse or nfs).
- pub backend: MountBackend,
- /// Partial-origin policy for overlay copy-up.
- pub partial_origin_policy: Option,
-}
-
-/// List all currently mounted agentfs filesystems
-pub fn list_mounts(out: &mut W) {
- let _ = writeln!(out, "Mount listing is only available on Unix.");
-}
-
-/// Mount the agent filesystem.
-pub fn mount(_args: MountArgs) -> Result<()> {
- anyhow::bail!("Mounting is only available on Unix (Linux or macOS)")
-}
-
-/// Prune unused agentfs mount points.
-pub fn prune_mounts(_force: bool) -> Result<()> {
- anyhow::bail!("Mount pruning is only available on Unix")
-}
diff --git a/cli/src/cmd/run.rs b/cli/src/cmd/run.rs
deleted file mode 100644
index ba461118..00000000
--- a/cli/src/cmd/run.rs
+++ /dev/null
@@ -1,47 +0,0 @@
-//! Run command - common entry point.
-//!
-//! Dispatches to platform-specific implementations:
-//! - Linux: FUSE + namespace sandbox (or experimental ptrace)
-//! - Darwin: NFS + sandbox-exec
-
-use agentfs_sdk::PartialOriginPolicy;
-use anyhow::Result;
-use std::path::PathBuf;
-
-#[cfg_attr(all(target_os = "linux", feature = "sandbox"), path = "run_linux.rs")]
-#[cfg_attr(all(target_os = "macos", feature = "sandbox"), path = "run_darwin.rs")]
-#[cfg_attr(
- all(target_os = "windows", feature = "sandbox"),
- path = "run_windows.rs"
-)]
-#[cfg_attr(not(feature = "sandbox"), path = "run_not_supported.rs")]
-mod sys;
-
-/// Handle the `run` command, dispatching to the platform-specific implementation.
-#[allow(clippy::too_many_arguments)]
-pub async fn handle_run_command(
- allow: Vec,
- no_default_allows: bool,
- experimental_sandbox: bool,
- strace: bool,
- session: Option,
- system: bool,
- encryption: Option<(String, String)>,
- partial_origin_policy: Option,
- command: PathBuf,
- args: Vec,
-) -> Result<()> {
- sys::run(
- allow,
- no_default_allows,
- experimental_sandbox,
- strace,
- session,
- system,
- encryption,
- partial_origin_policy,
- command,
- args,
- )
- .await
-}
diff --git a/cli/src/cmd/run_darwin.rs b/cli/src/cmd/run_darwin.rs
deleted file mode 100644
index 6f18f411..00000000
--- a/cli/src/cmd/run_darwin.rs
+++ /dev/null
@@ -1,477 +0,0 @@
-//! Darwin (macOS) run command implementation.
-//!
-//! This module provides a sandboxed execution environment using NFS for
-//! filesystem mounting. The current working directory becomes a
-//! copy-on-write overlay backed by AgentFS, mounted via a localhost NFS server.
-//!
-//! Sandboxing is enforced using macOS sandbox-exec with dynamically generated
-//! profiles that restrict file writes to the NFS mountpoint and allowed paths.
-
-#![cfg(unix)]
-
-use agentfs_sdk::{
- AgentFS, AgentFSOptions, EncryptionConfig, FileSystem, HostFS, OverlayFS, PartialOriginPolicy,
-};
-use anyhow::{Context, Result};
-use std::path::{Path, PathBuf};
-use std::process::Command;
-use std::sync::Arc;
-
-use crate::nfs::AgentNFS;
-use crate::nfsserve::tcp::NFSTcp;
-
-#[cfg(target_os = "macos")]
-use crate::sandbox::darwin::{generate_sandbox_profile, SandboxConfig};
-
-/// Default NFS port to try (use a high port to avoid needing root)
-const DEFAULT_NFS_PORT: u32 = 11111;
-
-/// Run the command in a Darwin sandbox.
-#[allow(clippy::too_many_arguments)]
-pub async fn run(
- allow: Vec,
- no_default_allows: bool,
- _experimental_sandbox: bool,
- _strace: bool,
- session_id: Option,
- _system: bool,
- encryption: Option<(String, String)>,
- partial_origin_policy: Option,
- command: PathBuf,
- args: Vec,
-) -> Result<()> {
- let cwd = std::env::current_dir().context("Failed to get current directory")?;
- let home = dirs::home_dir().context("Failed to get home directory")?;
-
- let session = setup_run_directory(session_id, allow, no_default_allows, &cwd, &home)?;
-
- // Check if we're joining an existing session
- if is_mountpoint(&session.mountpoint) {
- if is_mount_healthy(&session.mountpoint) {
- eprintln!("Joining existing session: {}", session.session_id);
- eprintln!();
- let exit_code = run_command_in_mount(&session, command, args)?;
- std::process::exit(exit_code);
- } else {
- eprintln!("Cleaning up stale NFS mount...");
- if let Err(e) = unmount(&session.mountpoint) {
- eprintln!("Warning: Failed to unmount stale mount: {}", e);
- }
- }
- }
-
- // Initialize the AgentFS database
- let db_path_str = session
- .db_path
- .to_str()
- .context("Database path contains non-UTF8 characters")?;
-
- let encrypted = encryption.is_some();
- let mut options = AgentFSOptions::with_path(db_path_str);
- if let Some((key, cipher)) = encryption {
- options = options.with_encryption(EncryptionConfig {
- hex_key: key,
- cipher,
- });
- }
- let agentfs = AgentFS::open(options)
- .await
- .context("Failed to create AgentFS")?;
-
- // Create overlay filesystem with CWD as base
- let base_str = cwd.to_string_lossy().to_string();
- let hostfs = HostFS::new(&base_str).context("Failed to create HostFS")?;
- let overlay = if let Some(policy) = partial_origin_policy {
- OverlayFS::new_with_partial_origin_policy(Arc::new(hostfs), agentfs.fs, policy)
- } else {
- OverlayFS::new(Arc::new(hostfs), agentfs.fs)
- };
-
- // Initialize the overlay (copies directory structure)
- overlay
- .init(&base_str)
- .await
- .context("Failed to initialize overlay")?;
-
- let fs: Arc = Arc::new(overlay);
-
- // Create NFS adapter
- let nfs = AgentNFS::new(fs);
-
- // Find an available port
- let port = find_available_port(DEFAULT_NFS_PORT)?;
-
- // Start NFS server in background
- let bind_addr = format!("127.0.0.1:{}", port);
- let listener = crate::nfsserve::tcp::NFSTcpListener::bind(&bind_addr, nfs)
- .await
- .context("Failed to bind NFS server")?;
-
- // Spawn the NFS server task
- let server_handle = tokio::spawn(async move {
- if let Err(e) = listener.handle_forever().await {
- eprintln!("NFS server error: {}", e);
- }
- });
-
- // Give the server a moment to start
- tokio::time::sleep(tokio::time::Duration::from_millis(100)).await;
-
- // Mount the NFS filesystem
- mount_nfs(port, &session.mountpoint)?;
-
- print_welcome_banner(&session, encrypted);
-
- // Run the command
- let exit_code = run_command_in_mount(&session, command, args)?;
-
- // Unmount
- unmount(&session.mountpoint)?;
-
- // Abort the server task (vendored nfsserve doesn't support graceful shutdown)
- server_handle.abort();
-
- // Clean up mountpoint directory (but keep the delta database)
- if let Err(e) = std::fs::remove_dir(&session.mountpoint) {
- eprintln!(
- "Warning: Failed to clean up mountpoint {}: {}",
- session.mountpoint.display(),
- e
- );
- }
-
- // Print session info for the user
- eprintln!();
- eprintln!("Session: {}", session.session_id);
- eprintln!();
- eprintln!("To resume this session:");
- eprintln!(" agentfs run --session {}", session.session_id);
- eprintln!();
- eprintln!("To see what changed:");
- eprintln!(" agentfs diff {}", session.session_id);
-
- std::process::exit(exit_code);
-}
-
-/// Print the welcome banner showing sandbox configuration (macOS).
-#[cfg(target_os = "macos")]
-fn print_welcome_banner(session: &RunSession, encrypted: bool) {
- use crate::sandbox::group_paths_by_parent;
-
- eprintln!("Welcome to AgentFS!");
- eprintln!();
- eprintln!("The following directories are writable:");
- eprintln!();
- eprintln!(" - {} (copy-on-write)", session.cwd.display());
- eprintln!(" - /tmp");
- for grouped_path in group_paths_by_parent(&session.allow_paths) {
- eprintln!(" - {}", grouped_path);
- }
- eprintln!();
- eprintln!("🔒 Everything else is read-only.");
- if encrypted {
- eprintln!("🔐 Delta layer is encrypted.");
- }
- eprintln!();
- eprintln!("To join this session from another terminal:");
- eprintln!();
- eprintln!(" agentfs run --session {} ", session.session_id);
- eprintln!();
-}
-
-/// Print the welcome banner showing sandbox configuration (Linux).
-#[cfg(target_os = "linux")]
-fn print_welcome_banner(session: &RunSession, encrypted: bool) {
- eprintln!("Welcome to AgentFS!");
- eprintln!();
- eprintln!(" {} (copy-on-write)", session.cwd.display());
- eprintln!(" ⚠️ Everything else is WRITABLE.");
- if encrypted {
- eprintln!("🔐 Delta layer is encrypted.");
- }
- eprintln!();
-}
-
-/// Configuration for a sandbox run session.
-struct RunSession {
- /// Directory containing session artifacts.
- run_dir: PathBuf,
- /// Path to the delta database.
- db_path: PathBuf,
- /// Path where NFS filesystem will be mounted.
- mountpoint: PathBuf,
- /// Session ID for the sandbox profile.
- session_id: String,
- /// Additional paths to allow write access.
- allow_paths: Vec,
- /// Original working directory.
- cwd: PathBuf,
-}
-
-/// Default directories in HOME that are allowed to be writable.
-/// These are common application config/cache directories that many programs need.
-const DEFAULT_ALLOWED_DIRS: &[&str] = &[
- ".amp", // Amp config
- ".claude", // Claude Code config
- ".claude.json", // Claude Code config file
- ".gemini", // Gemini CLI config
- ".local", // Local data directory
- ".npm", // npm local registry
- ".config", // XDG config directory
- ".cache", // XDG cache directory
- ".bun", // Used by opencode to install packages at runtime
-];
-
-/// Create a run directory with database and mountpoint paths.
-///
-/// If `session_id` is provided, uses that as the run ID (allowing multiple
-/// runs to share the same delta layer). Otherwise generates a unique UUID.
-fn setup_run_directory(
- session_id: Option,
- user_allow_paths: Vec,
- no_default_allows: bool,
- cwd: &Path,
- home: &Path,
-) -> Result {
- let run_id = session_id.unwrap_or_else(|| uuid::Uuid::new_v4().to_string());
- let run_dir = home.join(".agentfs").join("run").join(&run_id);
- std::fs::create_dir_all(&run_dir).context("Failed to create run directory")?;
-
- let db_path = run_dir.join("delta.db");
- let mountpoint = run_dir.join("mnt");
- std::fs::create_dir_all(&mountpoint).context("Failed to create mountpoint")?;
-
- // Build allowed paths list
- let mut allow_paths = user_allow_paths;
- if !no_default_allows {
- for dir in DEFAULT_ALLOWED_DIRS {
- let path = home.join(dir);
- if path.exists() {
- allow_paths.push(path);
- }
- }
- }
-
- // Create zsh config directory with custom prompt
- let zsh_dir = run_dir.join("zsh");
- std::fs::create_dir_all(&zsh_dir).context("Failed to create zsh config directory")?;
- std::fs::write(zsh_dir.join(".zshrc"), "PROMPT='🤖 %~%# '\n")
- .context("Failed to write zsh config")?;
-
- Ok(RunSession {
- run_dir,
- db_path,
- mountpoint,
- session_id: run_id,
- allow_paths,
- cwd: cwd.to_path_buf(),
- })
-}
-
-/// Check if a path is a mountpoint by comparing device IDs with parent.
-fn is_mountpoint(path: &Path) -> bool {
- use std::os::unix::fs::MetadataExt;
-
- let Ok(path_meta) = std::fs::metadata(path) else {
- return false;
- };
-
- let parent = path
- .parent()
- .filter(|p| !p.as_os_str().is_empty())
- .unwrap_or(Path::new("/"));
-
- let Ok(parent_meta) = std::fs::metadata(parent) else {
- return false;
- };
-
- path_meta.dev() != parent_meta.dev()
-}
-
-/// Check if a mount is healthy (not stale).
-///
-/// Stale NFS mounts will fail when trying to access them.
-fn is_mount_healthy(mountpoint: &Path) -> bool {
- std::fs::read_dir(mountpoint).is_ok()
-}
-
-/// Find an available TCP port starting from the given port.
-fn find_available_port(start_port: u32) -> Result {
- for port in start_port..start_port + 100 {
- if std::net::TcpListener::bind(format!("127.0.0.1:{}", port)).is_ok() {
- return Ok(port);
- }
- }
- anyhow::bail!(
- "Could not find an available port in range {}-{}",
- start_port,
- start_port + 100
- );
-}
-
-/// Mount the NFS filesystem (macOS version).
-#[cfg(target_os = "macos")]
-fn mount_nfs(port: u32, mountpoint: &Path) -> Result<()> {
- let output = Command::new("/sbin/mount_nfs")
- .args([
- "-o",
- &format!(
- "locallocks,vers=3,tcp,port={},mountport={},wsize=1048576,rsize=1048576,soft,timeo=100,retrans=5",
- port, port
- ),
- "127.0.0.1:/",
- mountpoint.to_str().unwrap(),
- ])
- .output()
- .context("Failed to execute mount_nfs")?;
-
- if !output.status.success() {
- let stderr = String::from_utf8_lossy(&output.stderr);
- anyhow::bail!("Failed to mount NFS: {}", stderr.trim());
- }
-
- Ok(())
-}
-
-/// Mount the NFS filesystem (Linux version).
-#[cfg(target_os = "linux")]
-fn mount_nfs(port: u32, mountpoint: &Path) -> Result<()> {
- let output = Command::new("mount")
- .args([
- "-t",
- "nfs",
- "-o",
- &format!(
- "vers=3,tcp,port={},mountport={},nolock,soft,timeo=100,retrans=5",
- port, port
- ),
- "127.0.0.1:/",
- mountpoint.to_str().unwrap(),
- ])
- .output()
- .context("Failed to execute mount. Make sure nfs-common is installed.")?;
-
- if !output.status.success() {
- let stderr = String::from_utf8_lossy(&output.stderr);
- anyhow::bail!(
- "Failed to mount NFS: {}. Make sure nfs-common is installed (apt-get install nfs-common).",
- stderr.trim()
- );
- }
-
- Ok(())
-}
-
-/// Run a command with the working directory set to the mounted filesystem (macOS).
-///
-/// On macOS, the command is wrapped with sandbox-exec using a Sandbox profile
-/// that restricts file writes to the NFS mountpoint and allowed paths.
-/// The mountpoint overlays CWD, and additional paths in HOME are made writable
-/// through the allow_paths configuration.
-#[cfg(target_os = "macos")]
-fn run_command_in_mount(session: &RunSession, command: PathBuf, args: Vec) -> Result {
- // Generate the Sandbox profile
- let config = SandboxConfig {
- mountpoint: session.mountpoint.clone(),
- allow_paths: session.allow_paths.clone(),
- allow_read_paths: Vec::new(),
- allow_network: true,
- session_id: session.session_id.clone(),
- };
- let profile = generate_sandbox_profile(&config);
-
- // Wrap the command with sandbox-exec
- let mut cmd = Command::new("sandbox-exec");
- cmd.arg("-p")
- .arg(&profile)
- .arg(&command)
- .args(&args)
- .current_dir(&session.mountpoint)
- .env("AGENTFS", "1")
- .env("AGENTFS_SANDBOX", "macos-sandbox")
- // Bash prompt - show full path since we're not changing HOME
- .env("PS1", "🤖 \\w\\$ ")
- // Zsh: use custom ZDOTDIR to override prompt
- .env("ZDOTDIR", session.run_dir.join("zsh"));
-
- let status = cmd
- .status()
- .with_context(|| format!("Failed to execute command: {}", command.display()))?;
-
- Ok(status.code().unwrap_or(1))
-}
-
-/// Run a command with the working directory set to the mounted filesystem (Linux).
-///
-/// On Linux, the command runs without additional sandboxing (NFS provides
-/// copy-on-write for the working directory).
-#[cfg(target_os = "linux")]
-fn run_command_in_mount(session: &RunSession, command: PathBuf, args: Vec) -> Result {
- let mut cmd = Command::new(&command);
- cmd.args(&args)
- .current_dir(&session.mountpoint)
- .env("AGENTFS", "1")
- // Bash prompt
- .env("PS1", "🤖 \\u@\\h:\\w\\$ ")
- // Zsh: use custom ZDOTDIR to override prompt
- .env("ZDOTDIR", session.run_dir.join("zsh"));
-
- let status = cmd
- .status()
- .with_context(|| format!("Failed to execute command: {}", command.display()))?;
-
- Ok(status.code().unwrap_or(1))
-}
-
-/// Unmount the NFS filesystem (macOS version).
-#[cfg(target_os = "macos")]
-fn unmount(mountpoint: &Path) -> Result<()> {
- let output = Command::new("/sbin/umount")
- .arg(mountpoint)
- .output()
- .context("Failed to execute umount")?;
-
- if !output.status.success() {
- let stderr = String::from_utf8_lossy(&output.stderr);
- // Try force unmount
- let output2 = Command::new("/sbin/umount")
- .arg("-f")
- .arg(mountpoint)
- .output()?;
-
- if !output2.status.success() {
- anyhow::bail!(
- "Failed to unmount: {}. You may need to manually unmount with: umount -f {}",
- stderr.trim(),
- mountpoint.display()
- );
- }
- }
-
- Ok(())
-}
-
-/// Unmount the NFS filesystem (Linux version).
-#[cfg(target_os = "linux")]
-fn unmount(mountpoint: &Path) -> Result<()> {
- let output = Command::new("umount")
- .arg(mountpoint)
- .output()
- .context("Failed to execute umount")?;
-
- if !output.status.success() {
- let stderr = String::from_utf8_lossy(&output.stderr);
- // Try lazy unmount
- let output2 = Command::new("umount").arg("-l").arg(mountpoint).output()?;
-
- if !output2.status.success() {
- anyhow::bail!(
- "Failed to unmount: {}. You may need to manually unmount with: umount -l {}",
- stderr.trim(),
- mountpoint.display()
- );
- }
- }
-
- Ok(())
-}
diff --git a/cli/src/cmd/run_linux.rs b/cli/src/cmd/run_linux.rs
deleted file mode 100644
index fb07cb22..00000000
--- a/cli/src/cmd/run_linux.rs
+++ /dev/null
@@ -1,57 +0,0 @@
-//! Linux run command implementation.
-//!
-//! Dispatches to either the FUSE+namespace sandbox (default) or the experimental
-//! ptrace-based sandbox based on command-line flags.
-
-use agentfs_sdk::PartialOriginPolicy;
-use anyhow::Result;
-use std::path::PathBuf;
-
-/// Run the command in a Linux sandbox.
-#[allow(clippy::too_many_arguments)]
-pub async fn run(
- allow: Vec,
- no_default_allows: bool,
- experimental_sandbox: bool,
- strace: bool,
- session: Option,
- system: bool,
- encryption: Option<(String, String)>,
- partial_origin_policy: Option,
- command: PathBuf,
- args: Vec,
-) -> Result<()> {
- if experimental_sandbox {
- if !allow.is_empty() || no_default_allows {
- eprintln!("Warning: --allow and --no-default-allows are not supported with --experimental-sandbox, ignoring");
- }
- if session.is_some() {
- eprintln!("Warning: --session is not supported with --experimental-sandbox, ignoring");
- }
- if encryption.is_some() {
- eprintln!("Warning: --key is not supported with --experimental-sandbox, ignoring");
- }
- if partial_origin_policy.is_some() {
- eprintln!(
- "Warning: --partial-origin is not supported with --experimental-sandbox, ignoring"
- );
- }
- crate::sandbox::linux_ptrace::run_cmd(strace, command, args).await;
- } else {
- if strace {
- eprintln!("Warning: --strace is only supported with --experimental-sandbox, ignoring");
- }
- crate::sandbox::linux::run_cmd(
- allow,
- no_default_allows,
- session,
- system,
- encryption,
- partial_origin_policy,
- command,
- args,
- )
- .await?;
- }
- Ok(())
-}
diff --git a/cli/src/cmd/run_not_supported.rs b/cli/src/cmd/run_not_supported.rs
deleted file mode 100644
index 3ccbeaea..00000000
--- a/cli/src/cmd/run_not_supported.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-//! Windows run command implementation.
-//!
-//! The `run` command is not supported on Windows.
-
-use agentfs_sdk::PartialOriginPolicy;
-use anyhow::{bail, Result};
-use std::path::PathBuf;
-
-/// Run the command in a Windows sandbox.
-#[allow(clippy::too_many_arguments)]
-pub async fn run(
- _allow: Vec,
- _no_default_allows: bool,
- _experimental_sandbox: bool,
- _strace: bool,
- _session: Option,
- _system: bool,
- _encryption: Option<(String, String)>,
- _partial_origin_policy: Option,
- _command: PathBuf,
- _args: Vec,
-) -> Result<()> {
- bail!("The `run` command require agentfs to be compiled with 'sandbox' feature")
-}
diff --git a/cli/src/cmd/run_windows.rs b/cli/src/cmd/run_windows.rs
deleted file mode 100644
index f9fd35ce..00000000
--- a/cli/src/cmd/run_windows.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-//! Windows run command implementation.
-//!
-//! The `run` command is not supported on Windows.
-
-use agentfs_sdk::PartialOriginPolicy;
-use anyhow::{bail, Result};
-use std::path::PathBuf;
-
-/// Run the command in a Windows sandbox.
-#[allow(clippy::too_many_arguments)]
-pub async fn run(
- _allow: Vec,
- _no_default_allows: bool,
- _experimental_sandbox: bool,
- _strace: bool,
- _session: Option,
- _system: bool,
- _encryption: Option<(String, String)>,
- _partial_origin_policy: Option,
- _command: PathBuf,
- _args: Vec,
-) -> Result<()> {
- bail!("The `run` command is not supported on Windows")
-}
diff --git a/cli/src/fuser/ll/fuse_abi.rs b/cli/src/fuser/ll/fuse_abi.rs
deleted file mode 100644
index a5e38763..00000000
--- a/cli/src/fuser/ll/fuse_abi.rs
+++ /dev/null
@@ -1,1063 +0,0 @@
-//! FUSE kernel interface.
-//!
-//! Types and definitions used for communication between the kernel driver and the userspace
-//! part of a FUSE filesystem. Since the kernel driver may be installed independently, the ABI
-//! interface is versioned and capabilities are exchanged during the initialization (mounting)
-//! of a filesystem.
-//!
-//! OSXFUSE (macOS):
-//! - supports ABI 7.8 in OSXFUSE 2.x
-//! - supports ABI 7.19 since OSXFUSE 3.0.0
-//!
-//! libfuse (Linux/BSD):
-//! - supports ABI 7.8 since FUSE 2.6.0
-//! - supports ABI 7.12 since FUSE 2.8.0
-//! - supports ABI 7.18 since FUSE 2.9.0
-//! - supports ABI 7.19 since FUSE 2.9.1
-//! - supports ABI 7.26 since FUSE 3.0.0
-//!
-//! Items without a version annotation are valid with ABI 7.8 and later
-
-#![warn(missing_debug_implementations)]
-#![allow(missing_docs)]
-
-use consts::{FATTR_ATIME_NOW, FATTR_MTIME_NOW};
-use std::convert::TryFrom;
-use zerocopy::{FromBytes, Immutable, IntoBytes, KnownLayout};
-
-pub const FUSE_KERNEL_VERSION: u32 = 7;
-
-#[cfg(not(feature = "abi-7-19"))]
-pub const FUSE_KERNEL_MINOR_VERSION: u32 = 18;
-#[cfg(all(feature = "abi-7-19", not(feature = "abi-7-20")))]
-pub const FUSE_KERNEL_MINOR_VERSION: u32 = 19;
-#[cfg(all(feature = "abi-7-20", not(feature = "abi-7-21")))]
-pub const FUSE_KERNEL_MINOR_VERSION: u32 = 20;
-#[cfg(all(feature = "abi-7-21", not(feature = "abi-7-22")))]
-pub const FUSE_KERNEL_MINOR_VERSION: u32 = 21;
-#[cfg(all(feature = "abi-7-22", not(feature = "abi-7-23")))]
-pub const FUSE_KERNEL_MINOR_VERSION: u32 = 22;
-#[cfg(all(feature = "abi-7-23", not(feature = "abi-7-24")))]
-pub const FUSE_KERNEL_MINOR_VERSION: u32 = 23;
-#[cfg(all(feature = "abi-7-24", not(feature = "abi-7-25")))]
-pub const FUSE_KERNEL_MINOR_VERSION: u32 = 24;
-#[cfg(all(feature = "abi-7-25", not(feature = "abi-7-26")))]
-pub const FUSE_KERNEL_MINOR_VERSION: u32 = 25;
-#[cfg(all(feature = "abi-7-26", not(feature = "abi-7-27")))]
-pub const FUSE_KERNEL_MINOR_VERSION: u32 = 26;
-#[cfg(all(feature = "abi-7-27", not(feature = "abi-7-28")))]
-pub const FUSE_KERNEL_MINOR_VERSION: u32 = 27;
-#[cfg(all(feature = "abi-7-28", not(feature = "abi-7-29")))]
-pub const FUSE_KERNEL_MINOR_VERSION: u32 = 28;
-#[cfg(all(feature = "abi-7-29", not(feature = "abi-7-30")))]
-pub const FUSE_KERNEL_MINOR_VERSION: u32 = 29;
-#[cfg(all(feature = "abi-7-30", not(feature = "abi-7-31")))]
-pub const FUSE_KERNEL_MINOR_VERSION: u32 = 30;
-#[cfg(all(feature = "abi-7-31", not(feature = "abi-7-36")))]
-pub const FUSE_KERNEL_MINOR_VERSION: u32 = 31;
-#[cfg(all(
- feature = "abi-7-36",
- not(feature = "abi-7-40"),
- not(feature = "abi-7-41")
-))]
-pub const FUSE_KERNEL_MINOR_VERSION: u32 = 36;
-#[cfg(all(feature = "abi-7-40", not(feature = "abi-7-41")))]
-pub const FUSE_KERNEL_MINOR_VERSION: u32 = 40;
-#[cfg(all(feature = "abi-7-41", not(feature = "abi-7-42")))]
-pub const FUSE_KERNEL_MINOR_VERSION: u32 = 41;
-#[cfg(feature = "abi-7-42")]
-pub const FUSE_KERNEL_MINOR_VERSION: u32 = 42;
-
-pub const FUSE_ROOT_ID: u64 = 1;
-
-#[repr(C)]
-#[derive(Debug, IntoBytes, Clone, Copy, KnownLayout, Immutable)]
-pub struct fuse_attr {
- pub ino: u64,
- pub size: u64,
- pub blocks: u64,
- // NOTE: this field is defined as u64 in fuse_kernel.h in libfuse. However, it is treated as signed
- // to match stat.st_atime
- pub atime: i64,
- // NOTE: this field is defined as u64 in fuse_kernel.h in libfuse. However, it is treated as signed
- // to match stat.st_mtime
- pub mtime: i64,
- // NOTE: this field is defined as u64 in fuse_kernel.h in libfuse. However, it is treated as signed
- // to match stat.st_ctime
- pub ctime: i64,
- #[cfg(target_os = "macos")]
- pub crtime: u64,
- pub atimensec: u32,
- pub mtimensec: u32,
- pub ctimensec: u32,
- #[cfg(target_os = "macos")]
- pub crtimensec: u32,
- pub mode: u32,
- pub nlink: u32,
- pub uid: u32,
- pub gid: u32,
- pub rdev: u32,
- #[cfg(target_os = "macos")]
- pub flags: u32, // see chflags(2)
- pub blksize: u32,
- pub padding: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_kstatfs {
- pub blocks: u64, // Total blocks (in units of frsize)
- pub bfree: u64, // Free blocks
- pub bavail: u64, // Free blocks for unprivileged users
- pub files: u64, // Total inodes
- pub ffree: u64, // Free inodes
- pub bsize: u32, // Filesystem block size
- pub namelen: u32, // Maximum filename length
- pub frsize: u32, // Fundamental file system block size
- pub padding: u32,
- pub spare: [u32; 6],
-}
-
-#[repr(C)]
-#[derive(Debug, IntoBytes, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_file_lock {
- pub start: u64,
- pub end: u64,
- // NOTE: this field is defined as u32 in fuse_kernel.h in libfuse. However, it is treated as signed
- pub typ: i32,
- pub pid: u32,
-}
-
-pub mod consts {
- // Bitmasks for fuse_setattr_in.valid
- pub const FATTR_MODE: u32 = 1 << 0;
- pub const FATTR_UID: u32 = 1 << 1;
- pub const FATTR_GID: u32 = 1 << 2;
- pub const FATTR_SIZE: u32 = 1 << 3;
- pub const FATTR_ATIME: u32 = 1 << 4;
- pub const FATTR_MTIME: u32 = 1 << 5;
- pub const FATTR_FH: u32 = 1 << 6;
- pub const FATTR_ATIME_NOW: u32 = 1 << 7;
- pub const FATTR_MTIME_NOW: u32 = 1 << 8;
- pub const FATTR_LOCKOWNER: u32 = 1 << 9;
- #[cfg(feature = "abi-7-23")]
- pub const FATTR_CTIME: u32 = 1 << 10;
-
- #[cfg(target_os = "macos")]
- pub const FATTR_CRTIME: u32 = 1 << 28;
- #[cfg(target_os = "macos")]
- pub const FATTR_CHGTIME: u32 = 1 << 29;
- #[cfg(target_os = "macos")]
- pub const FATTR_BKUPTIME: u32 = 1 << 30;
- #[cfg(target_os = "macos")]
- pub const FATTR_FLAGS: u32 = 1 << 31;
-
- // Flags returned by the open request
- pub const FOPEN_DIRECT_IO: u32 = 1 << 0; // bypass page cache for this open file
- pub const FOPEN_KEEP_CACHE: u32 = 1 << 1; // don't invalidate the data cache on open
- pub const FOPEN_NONSEEKABLE: u32 = 1 << 2; // the file is not seekable
- pub const FOPEN_CACHE_DIR: u32 = 1 << 3; // allow caching this directory
- pub const FOPEN_STREAM: u32 = 1 << 4; // the file is stream-like (no file position at all)
- // Init request/reply flags
- pub const FUSE_ASYNC_READ: u64 = 1 << 0; // asynchronous read requests
- pub const FUSE_POSIX_LOCKS: u64 = 1 << 1; // remote locking for POSIX file locks
- pub const FUSE_FILE_OPS: u64 = 1 << 2; // kernel sends file handle for fstat, etc...
- pub const FUSE_ATOMIC_O_TRUNC: u64 = 1 << 3; // handles the O_TRUNC open flag in the filesystem
- pub const FUSE_EXPORT_SUPPORT: u64 = 1 << 4; // filesystem handles lookups of "." and ".."
- pub const FUSE_BIG_WRITES: u64 = 1 << 5; // filesystem can handle write size larger than 4kB
- pub const FUSE_DONT_MASK: u64 = 1 << 6; // don't apply umask to file mode on create operations
- pub const FUSE_SPLICE_WRITE: u64 = 1 << 7; // kernel supports splice write on the device
- pub const FUSE_SPLICE_MOVE: u64 = 1 << 8; // kernel supports splice move on the device
- pub const FUSE_SPLICE_READ: u64 = 1 << 9; // kernel supports splice read on the device
- pub const FUSE_FLOCK_LOCKS: u64 = 1 << 10; // remote locking for BSD style file locks
- pub const FUSE_HAS_IOCTL_DIR: u64 = 1 << 11; // kernel supports ioctl on directories
- pub const FUSE_AUTO_INVAL_DATA: u64 = 1 << 12; // automatically invalidate cached pages
- pub const FUSE_DO_READDIRPLUS: u64 = 1 << 13; // do READDIRPLUS (READDIR+LOOKUP in one)
- pub const FUSE_READDIRPLUS_AUTO: u64 = 1 << 14; // adaptive readdirplus
- pub const FUSE_ASYNC_DIO: u64 = 1 << 15; // asynchronous direct I/O submission
- pub const FUSE_WRITEBACK_CACHE: u64 = 1 << 16; // use writeback cache for buffered writes
- pub const FUSE_NO_OPEN_SUPPORT: u64 = 1 << 17; // kernel supports zero-message opens
- pub const FUSE_PARALLEL_DIROPS: u64 = 1 << 18; // allow parallel lookups and readdir
- pub const FUSE_HANDLE_KILLPRIV: u64 = 1 << 19; // fs handles killing suid/sgid/cap on write/chown/trunc
- pub const FUSE_POSIX_ACL: u64 = 1 << 20; // filesystem supports posix acls
- pub const FUSE_ABORT_ERROR: u64 = 1 << 21; // reading the device after abort returns ECONNABORTED
- pub const FUSE_MAX_PAGES: u64 = 1 << 22; // init_out.max_pages contains the max number of req pages
- pub const FUSE_CACHE_SYMLINKS: u64 = 1 << 23; // cache READLINK responses
- pub const FUSE_NO_OPENDIR_SUPPORT: u64 = 1 << 24; // kernel supports zero-message opendir
- pub const FUSE_EXPLICIT_INVAL_DATA: u64 = 1 << 25; // only invalidate cached pages on explicit request
- pub const FUSE_INIT_EXT: u64 = 1 << 30; // extended fuse_init_in request
- pub const FUSE_INIT_RESERVED: u64 = 1 << 31; // reserved, do not use
- #[cfg(feature = "abi-7-42")]
- pub const FUSE_OVER_IO_URING: u64 = 1 << 41; // client supports fuse-over-io-uring
-
- // CUSE init request/reply flags
- pub const CUSE_UNRESTRICTED_IOCTL: u32 = 1 << 0; // use unrestricted ioctl
-
- // Release flags
- pub const FUSE_RELEASE_FLUSH: u32 = 1 << 0;
- pub const FUSE_RELEASE_FLOCK_UNLOCK: u32 = 1 << 1;
-
- // Getattr flags
- pub const FUSE_GETATTR_FH: u32 = 1 << 0;
-
- // Lock flags
- pub const FUSE_LK_FLOCK: u32 = 1 << 0;
-
- // Write flags
- pub const FUSE_WRITE_CACHE: u32 = 1 << 0; // delayed write from page cache, file handle is guessed
- pub const FUSE_WRITE_LOCKOWNER: u32 = 1 << 1; // lock_owner field is valid
- #[cfg(feature = "abi-7-31")]
- pub const FUSE_WRITE_KILL_PRIV: u32 = 1 << 2; // kill suid and sgid bits
-
- // Read flags
- pub const FUSE_READ_LOCKOWNER: u32 = 1 << 1;
-
- // IOCTL flags
- pub const FUSE_IOCTL_COMPAT: u32 = 1 << 0; // 32bit compat ioctl on 64bit machine
- pub const FUSE_IOCTL_UNRESTRICTED: u32 = 1 << 1; // not restricted to well-formed ioctls, retry allowed
- pub const FUSE_IOCTL_RETRY: u32 = 1 << 2; // retry with new iovecs
- pub const FUSE_IOCTL_32BIT: u32 = 1 << 3; // 32bit ioctl
- pub const FUSE_IOCTL_DIR: u32 = 1 << 4; // is a directory
- #[cfg(feature = "abi-7-30")]
- pub const FUSE_IOCTL_COMPAT_X32: u32 = 1 << 5; // x32 compat ioctl on 64bit machine (64bit time_t)
- pub const FUSE_IOCTL_MAX_IOV: u32 = 256; // maximum of in_iovecs + out_iovecs
-
- // Poll flags
- pub const FUSE_POLL_SCHEDULE_NOTIFY: u32 = 1 << 0; // request poll notify
-
- // fsync flags
- pub const FUSE_FSYNC_FDATASYNC: u32 = 1 << 0; // Sync data only, not metadata
-
- // The read buffer is required to be at least 8k, but may be much larger
- pub const FUSE_MIN_READ_BUFFER: usize = 8192;
-}
-
-/// Invalid opcode error.
-#[derive(Debug)]
-pub struct InvalidOpcodeError;
-
-#[repr(C)]
-#[derive(Debug)]
-#[allow(non_camel_case_types)]
-pub enum fuse_opcode {
- FUSE_LOOKUP = 1,
- FUSE_FORGET = 2, // no reply
- FUSE_GETATTR = 3,
- FUSE_SETATTR = 4,
- FUSE_READLINK = 5,
- FUSE_SYMLINK = 6,
- FUSE_MKNOD = 8,
- FUSE_MKDIR = 9,
- FUSE_UNLINK = 10,
- FUSE_RMDIR = 11,
- FUSE_RENAME = 12,
- FUSE_LINK = 13,
- FUSE_OPEN = 14,
- FUSE_READ = 15,
- FUSE_WRITE = 16,
- FUSE_STATFS = 17,
- FUSE_RELEASE = 18,
- FUSE_FSYNC = 20,
- FUSE_SETXATTR = 21,
- FUSE_GETXATTR = 22,
- FUSE_LISTXATTR = 23,
- FUSE_REMOVEXATTR = 24,
- FUSE_FLUSH = 25,
- FUSE_INIT = 26,
- FUSE_OPENDIR = 27,
- FUSE_READDIR = 28,
- FUSE_RELEASEDIR = 29,
- FUSE_FSYNCDIR = 30,
- FUSE_GETLK = 31,
- FUSE_SETLK = 32,
- FUSE_SETLKW = 33,
- FUSE_ACCESS = 34,
- FUSE_CREATE = 35,
- FUSE_INTERRUPT = 36,
- FUSE_BMAP = 37,
- FUSE_DESTROY = 38,
- FUSE_IOCTL = 39,
- FUSE_POLL = 40,
- FUSE_NOTIFY_REPLY = 41,
- FUSE_BATCH_FORGET = 42,
- #[cfg(feature = "abi-7-19")]
- FUSE_FALLOCATE = 43,
- #[cfg(feature = "abi-7-21")]
- FUSE_READDIRPLUS = 44,
- #[cfg(feature = "abi-7-23")]
- FUSE_RENAME2 = 45,
- #[cfg(feature = "abi-7-24")]
- FUSE_LSEEK = 46,
- #[cfg(feature = "abi-7-28")]
- FUSE_COPY_FILE_RANGE = 47,
-
- #[cfg(target_os = "macos")]
- FUSE_SETVOLNAME = 61,
- #[cfg(target_os = "macos")]
- FUSE_GETXTIMES = 62,
- #[cfg(target_os = "macos")]
- FUSE_EXCHANGE = 63,
-
- CUSE_INIT = 4096,
-}
-
-impl TryFrom for fuse_opcode {
- type Error = InvalidOpcodeError;
-
- fn try_from(n: u32) -> Result {
- match n {
- 1 => Ok(fuse_opcode::FUSE_LOOKUP),
- 2 => Ok(fuse_opcode::FUSE_FORGET),
- 3 => Ok(fuse_opcode::FUSE_GETATTR),
- 4 => Ok(fuse_opcode::FUSE_SETATTR),
- 5 => Ok(fuse_opcode::FUSE_READLINK),
- 6 => Ok(fuse_opcode::FUSE_SYMLINK),
- 8 => Ok(fuse_opcode::FUSE_MKNOD),
- 9 => Ok(fuse_opcode::FUSE_MKDIR),
- 10 => Ok(fuse_opcode::FUSE_UNLINK),
- 11 => Ok(fuse_opcode::FUSE_RMDIR),
- 12 => Ok(fuse_opcode::FUSE_RENAME),
- 13 => Ok(fuse_opcode::FUSE_LINK),
- 14 => Ok(fuse_opcode::FUSE_OPEN),
- 15 => Ok(fuse_opcode::FUSE_READ),
- 16 => Ok(fuse_opcode::FUSE_WRITE),
- 17 => Ok(fuse_opcode::FUSE_STATFS),
- 18 => Ok(fuse_opcode::FUSE_RELEASE),
- 20 => Ok(fuse_opcode::FUSE_FSYNC),
- 21 => Ok(fuse_opcode::FUSE_SETXATTR),
- 22 => Ok(fuse_opcode::FUSE_GETXATTR),
- 23 => Ok(fuse_opcode::FUSE_LISTXATTR),
- 24 => Ok(fuse_opcode::FUSE_REMOVEXATTR),
- 25 => Ok(fuse_opcode::FUSE_FLUSH),
- 26 => Ok(fuse_opcode::FUSE_INIT),
- 27 => Ok(fuse_opcode::FUSE_OPENDIR),
- 28 => Ok(fuse_opcode::FUSE_READDIR),
- 29 => Ok(fuse_opcode::FUSE_RELEASEDIR),
- 30 => Ok(fuse_opcode::FUSE_FSYNCDIR),
- 31 => Ok(fuse_opcode::FUSE_GETLK),
- 32 => Ok(fuse_opcode::FUSE_SETLK),
- 33 => Ok(fuse_opcode::FUSE_SETLKW),
- 34 => Ok(fuse_opcode::FUSE_ACCESS),
- 35 => Ok(fuse_opcode::FUSE_CREATE),
- 36 => Ok(fuse_opcode::FUSE_INTERRUPT),
- 37 => Ok(fuse_opcode::FUSE_BMAP),
- 38 => Ok(fuse_opcode::FUSE_DESTROY),
- 39 => Ok(fuse_opcode::FUSE_IOCTL),
- 40 => Ok(fuse_opcode::FUSE_POLL),
- 41 => Ok(fuse_opcode::FUSE_NOTIFY_REPLY),
- 42 => Ok(fuse_opcode::FUSE_BATCH_FORGET),
- #[cfg(feature = "abi-7-19")]
- 43 => Ok(fuse_opcode::FUSE_FALLOCATE),
- #[cfg(feature = "abi-7-21")]
- 44 => Ok(fuse_opcode::FUSE_READDIRPLUS),
- #[cfg(feature = "abi-7-23")]
- 45 => Ok(fuse_opcode::FUSE_RENAME2),
- #[cfg(feature = "abi-7-24")]
- 46 => Ok(fuse_opcode::FUSE_LSEEK),
- #[cfg(feature = "abi-7-28")]
- 47 => Ok(fuse_opcode::FUSE_COPY_FILE_RANGE),
-
- #[cfg(target_os = "macos")]
- 61 => Ok(fuse_opcode::FUSE_SETVOLNAME),
- #[cfg(target_os = "macos")]
- 62 => Ok(fuse_opcode::FUSE_GETXTIMES),
- #[cfg(target_os = "macos")]
- 63 => Ok(fuse_opcode::FUSE_EXCHANGE),
-
- 4096 => Ok(fuse_opcode::CUSE_INIT),
-
- _ => Err(InvalidOpcodeError),
- }
- }
-}
-
-/// Invalid notify code error.
-#[derive(Debug)]
-pub struct InvalidNotifyCodeError;
-
-#[repr(C)]
-#[derive(Debug)]
-#[allow(non_camel_case_types)]
-pub enum fuse_notify_code {
- FUSE_POLL = 1,
- FUSE_NOTIFY_INVAL_INODE = 2,
- FUSE_NOTIFY_INVAL_ENTRY = 3,
- FUSE_NOTIFY_STORE = 4,
- FUSE_NOTIFY_RETRIEVE = 5,
- FUSE_NOTIFY_DELETE = 6,
-}
-
-impl TryFrom for fuse_notify_code {
- type Error = InvalidNotifyCodeError;
-
- fn try_from(n: u32) -> Result {
- match n {
- 1 => Ok(fuse_notify_code::FUSE_POLL),
- 2 => Ok(fuse_notify_code::FUSE_NOTIFY_INVAL_INODE),
- 3 => Ok(fuse_notify_code::FUSE_NOTIFY_INVAL_ENTRY),
- 4 => Ok(fuse_notify_code::FUSE_NOTIFY_STORE),
- 5 => Ok(fuse_notify_code::FUSE_NOTIFY_RETRIEVE),
- 6 => Ok(fuse_notify_code::FUSE_NOTIFY_DELETE),
-
- _ => Err(InvalidNotifyCodeError),
- }
- }
-}
-
-#[repr(C)]
-#[derive(Debug, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_entry_out {
- pub nodeid: u64,
- pub generation: u64,
- pub entry_valid: u64,
- pub attr_valid: u64,
- pub entry_valid_nsec: u32,
- pub attr_valid_nsec: u32,
- pub attr: fuse_attr,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_forget_in {
- pub nlookup: u64,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_forget_one {
- pub nodeid: u64,
- pub nlookup: u64,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_batch_forget_in {
- pub count: u32,
- pub dummy: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_getattr_in {
- pub getattr_flags: u32,
- pub dummy: u32,
- pub fh: u64,
-}
-
-#[repr(C)]
-#[derive(Debug, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_attr_out {
- pub attr_valid: u64,
- pub attr_valid_nsec: u32,
- pub dummy: u32,
- pub attr: fuse_attr,
-}
-
-#[cfg(target_os = "macos")]
-#[repr(C)]
-#[derive(Debug, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_getxtimes_out {
- pub bkuptime: u64,
- pub crtime: u64,
- pub bkuptimensec: u32,
- pub crtimensec: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_mknod_in {
- pub mode: u32,
- pub rdev: u32,
- pub umask: u32,
- pub padding: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_mkdir_in {
- pub mode: u32,
- pub umask: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_rename_in {
- pub newdir: u64,
- #[cfg(feature = "macfuse-4-compat")]
- pub flags: u32,
- #[cfg(feature = "macfuse-4-compat")]
- pub padding: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_rename2_in {
- pub newdir: u64,
- pub flags: u32,
- pub padding: u32,
-}
-
-#[cfg(target_os = "macos")]
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_exchange_in {
- pub olddir: u64,
- pub newdir: u64,
- pub options: u64,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_link_in {
- pub oldnodeid: u64,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_setattr_in {
- pub valid: u32,
- pub padding: u32,
- pub fh: u64,
- pub size: u64,
- pub lock_owner: u64,
- // NOTE: this field is defined as u64 in fuse_kernel.h in libfuse. However, it is treated as signed
- // to match stat.st_atime
- pub atime: i64,
- // NOTE: this field is defined as u64 in fuse_kernel.h in libfuse. However, it is treated as signed
- // to match stat.st_mtime
- pub mtime: i64,
- #[cfg(not(feature = "abi-7-23"))]
- pub unused2: u64,
- #[cfg(feature = "abi-7-23")]
- // NOTE: this field is defined as u64 in fuse_kernel.h in libfuse. However, it is treated as signed
- // to match stat.st_ctime
- pub ctime: i64,
- pub atimensec: u32,
- pub mtimensec: u32,
- #[cfg(not(feature = "abi-7-23"))]
- pub unused3: u32,
- #[cfg(feature = "abi-7-23")]
- pub ctimensec: u32,
- pub mode: u32,
- pub unused4: u32,
- pub uid: u32,
- pub gid: u32,
- pub unused5: u32,
- #[cfg(target_os = "macos")]
- pub bkuptime: u64,
- #[cfg(target_os = "macos")]
- pub chgtime: u64,
- #[cfg(target_os = "macos")]
- pub crtime: u64,
- #[cfg(target_os = "macos")]
- pub bkuptimensec: u32,
- #[cfg(target_os = "macos")]
- pub chgtimensec: u32,
- #[cfg(target_os = "macos")]
- pub crtimensec: u32,
- #[cfg(target_os = "macos")]
- pub flags: u32, // see chflags(2)
-}
-
-impl fuse_setattr_in {
- pub fn atime_now(&self) -> bool {
- self.valid & FATTR_ATIME_NOW != 0
- }
-
- pub fn mtime_now(&self) -> bool {
- self.valid & FATTR_MTIME_NOW != 0
- }
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_open_in {
- // NOTE: this field is defined as u32 in fuse_kernel.h in libfuse. However, it is then cast
- // to an i32 when invoking the filesystem's open method and this matches the open() syscall
- pub flags: i32,
- pub unused: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_create_in {
- // NOTE: this field is defined as u32 in fuse_kernel.h in libfuse. However, it is then cast
- // to an i32 when invoking the filesystem's create method and this matches the open() syscall
- pub flags: i32,
- pub mode: u32,
- pub umask: u32,
- pub padding: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_create_out(pub fuse_entry_out, pub fuse_open_out);
-
-#[repr(C)]
-#[derive(Debug, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_open_out {
- pub fh: u64,
- pub open_flags: u32,
- #[cfg(not(feature = "abi-7-40"))]
- pub padding: u32,
- #[cfg(feature = "abi-7-40")]
- pub backing_id: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_release_in {
- pub fh: u64,
- // NOTE: this field is defined as u32 in fuse_kernel.h in libfuse. However, it is then cast
- // to an i32 when invoking the filesystem's read method
- pub flags: i32,
- pub release_flags: u32,
- pub lock_owner: u64,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_flush_in {
- pub fh: u64,
- pub unused: u32,
- pub padding: u32,
- pub lock_owner: u64,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_read_in {
- pub fh: u64,
- // NOTE: this field is defined as u64 in fuse_kernel.h in libfuse. However, it is then cast
- // to an i64 when invoking the filesystem's read method
- pub offset: i64,
- pub size: u32,
- pub read_flags: u32,
- pub lock_owner: u64,
- // NOTE: this field is defined as u32 in fuse_kernel.h in libfuse. However, it is then cast
- // to an i32 when invoking the filesystem's read method
- pub flags: i32,
- pub padding: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_write_in {
- pub fh: u64,
- // NOTE: this field is defined as u64 in fuse_kernel.h in libfuse. However, it is then cast
- // to an i64 when invoking the filesystem's write method
- pub offset: i64,
- pub size: u32,
- pub write_flags: u32,
- pub lock_owner: u64,
- // NOTE: this field is defined as u32 in fuse_kernel.h in libfuse. However, it is then cast
- // to an i32 when invoking the filesystem's read method
- pub flags: i32,
- pub padding: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_write_out {
- pub size: u32,
- pub padding: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_statfs_out {
- pub st: fuse_kstatfs,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_fsync_in {
- pub fh: u64,
- pub fsync_flags: u32,
- pub padding: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_setxattr_in {
- pub size: u32,
- // NOTE: this field is defined as u32 in fuse_kernel.h in libfuse. However, it is then cast
- // to an i32 when invoking the filesystem's setxattr method
- pub flags: i32,
- #[cfg(target_os = "macos")]
- pub position: u32,
- #[cfg(target_os = "macos")]
- pub padding: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_getxattr_in {
- pub size: u32,
- pub padding: u32,
- #[cfg(target_os = "macos")]
- pub position: u32,
- #[cfg(target_os = "macos")]
- pub padding2: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_getxattr_out {
- pub size: u32,
- pub padding: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_lk_in {
- pub fh: u64,
- pub owner: u64,
- pub lk: fuse_file_lock,
- pub lk_flags: u32,
- pub padding: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_lk_out {
- pub lk: fuse_file_lock,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_access_in {
- // NOTE: this field is defined as u32 in fuse_kernel.h in libfuse. However, it is then cast
- // to an i32 when invoking the filesystem's access method
- pub mask: i32,
- pub padding: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_init_in {
- pub major: u32,
- pub minor: u32,
- pub max_readahead: u32,
- pub flags: u32,
- #[cfg(feature = "abi-7-36")]
- pub flags2: u32,
- #[cfg(feature = "abi-7-36")]
- pub unused: [u32; 11],
-}
-
-#[repr(C)]
-#[derive(Debug, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_init_out {
- pub major: u32,
- pub minor: u32,
- pub max_readahead: u32,
- pub flags: u32,
- pub max_background: u16,
- pub congestion_threshold: u16,
- pub max_write: u32,
- #[cfg(feature = "abi-7-23")]
- pub time_gran: u32,
- #[cfg(all(feature = "abi-7-23", not(feature = "abi-7-28")))]
- pub reserved: [u32; 9],
- #[cfg(feature = "abi-7-28")]
- pub max_pages: u16,
- #[cfg(feature = "abi-7-28")]
- pub unused2: u16,
- #[cfg(all(feature = "abi-7-28", not(feature = "abi-7-36")))]
- pub reserved: [u32; 8],
- #[cfg(feature = "abi-7-36")]
- pub flags2: u32,
- #[cfg(all(feature = "abi-7-36", not(feature = "abi-7-40")))]
- pub reserved: [u32; 7],
- #[cfg(feature = "abi-7-40")]
- pub max_stack_depth: u32,
- #[cfg(feature = "abi-7-40")]
- pub reserved: [u32; 6],
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct cuse_init_in {
- pub major: u32,
- pub minor: u32,
- pub unused: u32,
- pub flags: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, KnownLayout, Immutable)]
-pub struct cuse_init_out {
- pub major: u32,
- pub minor: u32,
- pub unused: u32,
- pub flags: u32,
- pub max_read: u32,
- pub max_write: u32,
- pub dev_major: u32, // chardev major
- pub dev_minor: u32, // chardev minor
- pub spare: [u32; 10],
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_interrupt_in {
- pub unique: u64,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_bmap_in {
- pub block: u64,
- pub blocksize: u32,
- pub padding: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_bmap_out {
- pub block: u64,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_ioctl_in {
- pub fh: u64,
- pub flags: u32,
- pub cmd: u32,
- pub arg: u64, // TODO: this is currently unused, but is defined as a void* in libfuse
- pub in_size: u32,
- pub out_size: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, KnownLayout, Immutable)]
-pub struct fuse_ioctl_iovec {
- pub base: u64,
- pub len: u64,
-}
-
-#[repr(C)]
-#[derive(Debug, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_ioctl_out {
- pub result: i32,
- pub flags: u32,
- pub in_iovs: u32,
- pub out_iovs: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_poll_in {
- pub fh: u64,
- pub kh: u64,
- pub flags: u32,
- #[cfg(not(feature = "abi-7-21"))]
- pub padding: u32,
- #[cfg(feature = "abi-7-21")]
- pub events: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_poll_out {
- pub revents: u32,
- pub padding: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_notify_poll_wakeup_out {
- pub kh: u64,
-}
-
-#[cfg(feature = "abi-7-19")]
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_fallocate_in {
- pub fh: u64,
- // NOTE: this field is defined as u64 in fuse_kernel.h in libfuse. However, it is treated as signed
- pub offset: i64,
- // NOTE: this field is defined as u64 in fuse_kernel.h in libfuse. However, it is treated as signed
- pub length: i64,
- // NOTE: this field is defined as u32 in fuse_kernel.h in libfuse. However, it is treated as signed
- pub mode: i32,
- pub padding: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_in_header {
- pub len: u32,
- pub opcode: u32,
- pub unique: u64,
- pub nodeid: u64,
- pub uid: u32,
- pub gid: u32,
- pub pid: u32,
- pub padding: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_out_header {
- pub len: u32,
- pub error: i32,
- pub unique: u64,
-}
-
-#[repr(C)]
-#[derive(Debug, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_dirent {
- pub ino: u64,
- // NOTE: this field is defined as u64 in fuse_kernel.h in libfuse. However, it is treated as signed
- pub off: i64,
- pub namelen: u32,
- pub typ: u32,
- // followed by name of namelen bytes
-}
-
-#[repr(C)]
-#[derive(Debug, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_direntplus {
- pub entry_out: fuse_entry_out,
- pub dirent: fuse_dirent,
-}
-
-#[repr(C)]
-#[derive(Debug, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_notify_inval_inode_out {
- pub ino: u64,
- pub off: i64,
- pub len: i64,
-}
-
-#[repr(C)]
-#[derive(Debug, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_notify_inval_entry_out {
- pub parent: u64,
- pub namelen: u32,
- pub padding: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_notify_delete_out {
- pub parent: u64,
- pub child: u64,
- pub namelen: u32,
- pub padding: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_notify_store_out {
- pub nodeid: u64,
- pub offset: u64,
- pub size: u32,
- pub padding: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, KnownLayout, Immutable)]
-pub struct fuse_notify_retrieve_out {
- pub notify_unique: u64,
- pub nodeid: u64,
- pub offset: u64,
- pub size: u32,
- pub padding: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_notify_retrieve_in {
- // matches the size of fuse_write_in
- pub dummy1: u64,
- pub offset: u64,
- pub size: u32,
- pub dummy2: u32,
- pub dummy3: u64,
- pub dummy4: u64,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_lseek_in {
- pub fh: u64,
- pub offset: i64,
- // NOTE: this field is defined as u32 in fuse_kernel.h in libfuse. However, it is treated as signed
- pub whence: i32,
- pub padding: u32,
-}
-
-#[repr(C)]
-#[derive(Debug, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_lseek_out {
- pub offset: i64,
-}
-
-#[repr(C)]
-#[derive(Debug, FromBytes, KnownLayout, Immutable)]
-pub struct fuse_copy_file_range_in {
- pub fh_in: u64,
- // NOTE: this field is defined as u64 in fuse_kernel.h in libfuse. However, it is treated as signed
- pub off_in: i64,
- pub nodeid_out: u64,
- pub fh_out: u64,
- // NOTE: this field is defined as u64 in fuse_kernel.h in libfuse. However, it is treated as signed
- pub off_out: i64,
- pub len: u64,
- pub flags: u64,
-}
-
-// FUSE-over-io-uring (ABI 7.42). Mirrors the uapi in . The header
-// (in_out + op_in + ring_ent_in_out) lives in a page-aligned per-entry buffer
-// the kernel reads requests into / we write replies into; the variable payload
-// lives in a separate per-entry buffer. See cli/src/fuser/uring.rs.
-#[cfg(feature = "abi-7-42")]
-pub const FUSE_URING_IN_OUT_HEADER_SZ: usize = 128;
-#[cfg(feature = "abi-7-42")]
-pub const FUSE_URING_OP_IN_OUT_SZ: usize = 128;
-
-// Subcommands carried in the SQE cmd_op field.
-#[cfg(feature = "abi-7-42")]
-pub const FUSE_IO_URING_CMD_REGISTER: u32 = 1;
-#[cfg(feature = "abi-7-42")]
-pub const FUSE_IO_URING_CMD_COMMIT_AND_FETCH: u32 = 2;
-
-#[cfg(feature = "abi-7-42")]
-#[repr(C)]
-#[derive(Debug, Clone, Copy, FromBytes, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_uring_ent_in_out {
- pub flags: u64,
- /// commit ID to be used in a reply to a ring request
- pub commit_id: u64,
- /// size of user payload buffer
- pub payload_sz: u32,
- pub padding: u32,
- pub reserved: u64,
-}
-
-#[cfg(feature = "abi-7-42")]
-#[repr(C)]
-#[derive(Debug, Clone, Copy, FromBytes, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_uring_req_header {
- /// struct fuse_in_header / struct fuse_out_header
- pub in_out: [u8; FUSE_URING_IN_OUT_HEADER_SZ],
- /// per-opcode header
- pub op_in: [u8; FUSE_URING_OP_IN_OUT_SZ],
- pub ring_ent_in_out: fuse_uring_ent_in_out,
-}
-
-/// In the 80B command area of the SQE.
-#[cfg(feature = "abi-7-42")]
-#[repr(C)]
-#[derive(Debug, Clone, Copy, FromBytes, IntoBytes, KnownLayout, Immutable)]
-pub struct fuse_uring_cmd_req {
- pub flags: u64,
- /// entry identifier for commits
- pub commit_id: u64,
- /// queue the command is for (queue index)
- pub qid: u16,
- pub padding: [u8; 6],
-}
diff --git a/cli/src/fuser/ll/mod.rs b/cli/src/fuser/ll/mod.rs
deleted file mode 100644
index 624b01c2..00000000
--- a/cli/src/fuser/ll/mod.rs
+++ /dev/null
@@ -1,306 +0,0 @@
-//! Low-level kernel communication.
-
-mod argument;
-pub mod fuse_abi;
-pub(crate) mod notify;
-pub(crate) mod reply;
-pub(crate) mod request;
-
-use std::{convert::TryInto, num::NonZeroI32, time::SystemTime};
-
-pub use reply::Response;
-pub use request::{AnyRequest, FileHandle, INodeNo, Lock, Operation, Request, RequestId, Version};
-
-#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
-/// Possible input arguments for atime & mtime, which can either be set to a specified time,
-/// or to the current time
-pub enum TimeOrNow {
- /// Specific time provided
- SpecificTime(SystemTime),
- /// Current time
- Now,
-}
-
-macro_rules! errno {
- ($x: expr_2021) => {
- Errno(unsafe {
- // This is a static assertion that the constant $x is > 0
- const _X: [(); 0 - !{
- const ASSERT: bool = ($x > 0);
- ASSERT
- } as usize] = [];
- // Which makes this safe
- NonZeroI32::new_unchecked($x)
- })
- };
-}
-
-macro_rules! no_xattr_doc {
- () => {"Use this as an error return from getxattr/removexattr to indicate that the xattr doesn't exist. This resolves to the appropriate platform-specific error code."}
-}
-
-/// Represents an error code to be returned to the caller
-#[derive(Debug)]
-pub struct Errno(pub NonZeroI32);
-impl Errno {
- /// Operation not permitted
- pub const EPERM: Errno = errno!(libc::EPERM);
- /// No such file or directory
- pub const ENOENT: Errno = errno!(libc::ENOENT);
- /// No such process
- pub const ESRCH: Errno = errno!(libc::ESRCH);
- /// Interrupted system call
- pub const EINTR: Errno = errno!(libc::EINTR);
- /// Input/output error
- pub const EIO: Errno = errno!(libc::EIO);
- /// No such device or address
- pub const ENXIO: Errno = errno!(libc::ENXIO);
- /// Argument list too long
- pub const E2BIG: Errno = errno!(libc::E2BIG);
- /// Exec format error
- pub const ENOEXEC: Errno = errno!(libc::ENOEXEC);
- /// Bad file descriptor
- pub const EBADF: Errno = errno!(libc::EBADF);
- /// No child processes
- pub const ECHILD: Errno = errno!(libc::ECHILD);
- /// Resource temporarily unavailable
- pub const EAGAIN: Errno = errno!(libc::EAGAIN);
- /// Cannot allocate memory
- pub const ENOMEM: Errno = errno!(libc::ENOMEM);
- /// Permission denied
- pub const EACCES: Errno = errno!(libc::EACCES);
- /// Bad address
- pub const EFAULT: Errno = errno!(libc::EFAULT);
- /// Block device required
- pub const ENOTBLK: Errno = errno!(libc::ENOTBLK);
- /// Device or resource busy
- pub const EBUSY: Errno = errno!(libc::EBUSY);
- /// File exists
- pub const EEXIST: Errno = errno!(libc::EEXIST);
- /// Invalid cross-device link
- pub const EXDEV: Errno = errno!(libc::EXDEV);
- /// No such device
- pub const ENODEV: Errno = errno!(libc::ENODEV);
- /// Not a directory
- pub const ENOTDIR: Errno = errno!(libc::ENOTDIR);
- /// Is a directory
- pub const EISDIR: Errno = errno!(libc::EISDIR);
- /// Invalid argument
- pub const EINVAL: Errno = errno!(libc::EINVAL);
- /// Too many open files in system
- pub const ENFILE: Errno = errno!(libc::ENFILE);
- /// Too many open files
- pub const EMFILE: Errno = errno!(libc::EMFILE);
- /// Inappropriate ioctl for device
- pub const ENOTTY: Errno = errno!(libc::ENOTTY);
- /// Text file busy
- pub const ETXTBSY: Errno = errno!(libc::ETXTBSY);
- /// File too large
- pub const EFBIG: Errno = errno!(libc::EFBIG);
- /// No space left on device
- pub const ENOSPC: Errno = errno!(libc::ENOSPC);
- /// Illegal seek
- pub const ESPIPE: Errno = errno!(libc::ESPIPE);
- /// Read-only file system
- pub const EROFS: Errno = errno!(libc::EROFS);
- /// Too many links
- pub const EMLINK: Errno = errno!(libc::EMLINK);
- /// Broken pipe
- pub const EPIPE: Errno = errno!(libc::EPIPE);
- /// Numerical argument out of domain
- pub const EDOM: Errno = errno!(libc::EDOM);
- /// Numerical result out of range
- pub const ERANGE: Errno = errno!(libc::ERANGE);
- /// Resource deadlock avoided
- pub const EDEADLK: Errno = errno!(libc::EDEADLK);
- /// File name too long
- pub const ENAMETOOLONG: Errno = errno!(libc::ENAMETOOLONG);
- /// No locks available
- pub const ENOLCK: Errno = errno!(libc::ENOLCK);
- /// Function not implemented
- pub const ENOSYS: Errno = errno!(libc::ENOSYS);
- /// Directory not empty
- pub const ENOTEMPTY: Errno = errno!(libc::ENOTEMPTY);
- /// Too many levels of symbolic links
- pub const ELOOP: Errno = errno!(libc::ELOOP);
- /// Resource temporarily unavailable
- pub const EWOULDBLOCK: Errno = errno!(libc::EWOULDBLOCK);
- /// No message of desired type
- pub const ENOMSG: Errno = errno!(libc::ENOMSG);
- /// Identifier removed
- pub const EIDRM: Errno = errno!(libc::EIDRM);
- /// Object is remote
- pub const EREMOTE: Errno = errno!(libc::EREMOTE);
- /// Link has been severed
- pub const ENOLINK: Errno = errno!(libc::ENOLINK);
- /// Protocol error
- pub const EPROTO: Errno = errno!(libc::EPROTO);
- /// Multihop attempted
- pub const EMULTIHOP: Errno = errno!(libc::EMULTIHOP);
- /// Bad message
- pub const EBADMSG: Errno = errno!(libc::EBADMSG);
- /// Value too large for defined data type
- pub const EOVERFLOW: Errno = errno!(libc::EOVERFLOW);
- /// Invalid or incomplete multibyte or wide character
- pub const EILSEQ: Errno = errno!(libc::EILSEQ);
- /// Too many users
- pub const EUSERS: Errno = errno!(libc::EUSERS);
- /// Socket operation on non-socket
- pub const ENOTSOCK: Errno = errno!(libc::ENOTSOCK);
- /// Destination address required
- pub const EDESTADDRREQ: Errno = errno!(libc::EDESTADDRREQ);
- /// Message too long
- pub const EMSGSIZE: Errno = errno!(libc::EMSGSIZE);
- /// Protocol wrong type for socket
- pub const EPROTOTYPE: Errno = errno!(libc::EPROTOTYPE);
- /// Protocol not available
- pub const ENOPROTOOPT: Errno = errno!(libc::ENOPROTOOPT);
- /// Protocol not supported
- pub const EPROTONOSUPPORT: Errno = errno!(libc::EPROTONOSUPPORT);
- /// Socket type not supported
- pub const ESOCKTNOSUPPORT: Errno = errno!(libc::ESOCKTNOSUPPORT);
- /// Operation not supported
- pub const EOPNOTSUPP: Errno = errno!(libc::EOPNOTSUPP);
- /// Protocol family not supported
- pub const EPFNOSUPPORT: Errno = errno!(libc::EPFNOSUPPORT);
- /// Address family not supported by protocol
- pub const EAFNOSUPPORT: Errno = errno!(libc::EAFNOSUPPORT);
- /// Address already in use
- pub const EADDRINUSE: Errno = errno!(libc::EADDRINUSE);
- /// Cannot assign requested address
- pub const EADDRNOTAVAIL: Errno = errno!(libc::EADDRNOTAVAIL);
- /// Network is down
- pub const ENETDOWN: Errno = errno!(libc::ENETDOWN);
- /// Network is unreachable
- pub const ENETUNREACH: Errno = errno!(libc::ENETUNREACH);
- /// Network dropped connection on reset
- pub const ENETRESET: Errno = errno!(libc::ENETRESET);
- /// Software caused connection abort
- pub const ECONNABORTED: Errno = errno!(libc::ECONNABORTED);
- /// Connection reset by peer
- pub const ECONNRESET: Errno = errno!(libc::ECONNRESET);
- /// No buffer space available
- pub const ENOBUFS: Errno = errno!(libc::ENOBUFS);
- /// Transport endpoint is already connected
- pub const EISCONN: Errno = errno!(libc::EISCONN);
- /// Transport endpoint is not connected
- pub const ENOTCONN: Errno = errno!(libc::ENOTCONN);
- /// Cannot send after transport endpoint shutdown
- pub const ESHUTDOWN: Errno = errno!(libc::ESHUTDOWN);
- /// Too many references: cannot splice
- pub const ETOOMANYREFS: Errno = errno!(libc::ETOOMANYREFS);
- /// Connection timed out
- pub const ETIMEDOUT: Errno = errno!(libc::ETIMEDOUT);
- /// Connection refused
- pub const ECONNREFUSED: Errno = errno!(libc::ECONNREFUSED);
- /// Host is down
- pub const EHOSTDOWN: Errno = errno!(libc::EHOSTDOWN);
- /// No route to host
- pub const EHOSTUNREACH: Errno = errno!(libc::EHOSTUNREACH);
- /// Operation already in progress
- pub const EALREADY: Errno = errno!(libc::EALREADY);
- /// Operation now in progress
- pub const EINPROGRESS: Errno = errno!(libc::EINPROGRESS);
- /// Stale file handle
- pub const ESTALE: Errno = errno!(libc::ESTALE);
- /// Disk quota exceeded
- pub const EDQUOT: Errno = errno!(libc::EDQUOT);
- /// Operation cancelled
- pub const ECANCELED: Errno = errno!(libc::ECANCELED);
- /// Owner died
- pub const EOWNERDEAD: Errno = errno!(libc::EOWNERDEAD);
- /// State not recoverable
- pub const ENOTRECOVERABLE: Errno = errno!(libc::ENOTRECOVERABLE);
- /// Operation not supported
- pub const ENOTSUP: Errno = errno!(libc::ENOTSUP);
-
- /// No data available
- #[cfg(target_os = "linux")]
- pub const ENODATA: Errno = errno!(libc::ENODATA);
- #[doc = no_xattr_doc!()]
- #[cfg(target_os = "linux")]
- pub const NO_XATTR: Errno = Self::ENODATA;
-
- /// Attribute not found
- #[cfg(not(target_os = "linux"))]
- pub const ENOATTR: Errno = errno!(libc::ENOATTR);
- #[doc = no_xattr_doc!()]
- #[cfg(not(target_os = "linux"))]
- pub const NO_XATTR: Errno = Self::ENOATTR;
-
- pub fn from_i32(err: i32) -> Errno {
- err.try_into().ok().map_or(Errno::EIO, Errno)
- }
-}
-impl From for Errno {
- fn from(err: std::io::Error) -> Self {
- let errno = err.raw_os_error().unwrap_or(0);
- match errno.try_into() {
- Ok(i) => Errno(i),
- Err(_) => Errno::EIO,
- }
- }
-}
-impl From for Errno {
- fn from(x: nix::errno::Errno) -> Self {
- let err: std::io::Error = x.into();
- err.into()
- }
-}
-impl From for Errno {
- fn from(x: std::io::ErrorKind) -> Self {
- let err: std::io::Error = x.into();
- err.into()
- }
-}
-impl From for i32 {
- fn from(x: Errno) -> Self {
- x.0.into()
- }
-}
-
-/// A newtype for generation numbers
-///
-/// If the file system will be exported over NFS, the (ino, generation) pairs
-/// need to be unique over the file system's lifetime (rather than just the
-/// mount time). So if the file system reuses an inode after it has been
-/// deleted, it must assign a new, previously unused generation number to the
-/// inode at the same time.
-#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
-pub struct Generation(pub u64);
-impl From for u64 {
- fn from(fh: Generation) -> Self {
- fh.0
- }
-}
-
-#[cfg(test)]
-mod test {
- use std::io::IoSlice;
- use std::ops::{Deref, DerefMut};
- /// If we want to be able to cast bytes to our fuse C struct types we need it
- /// to be aligned. This struct helps getting &[u8]s which are 8 byte aligned.
- #[cfg(test)]
- #[repr(align(8))]
- pub(crate) struct AlignedData(pub T);
- impl Deref for AlignedData {
- type Target = T;
-
- fn deref(&self) -> &Self::Target {
- &self.0
- }
- }
- impl DerefMut for AlignedData {
- fn deref_mut(&mut self) -> &mut Self::Target {
- &mut self.0
- }
- }
-
- pub fn ioslice_to_vec(s: &[IoSlice<'_>]) -> Vec {
- let mut v = Vec::with_capacity(s.iter().map(|x| x.len()).sum());
- for x in s {
- v.extend_from_slice(x);
- }
- v
- }
-}
diff --git a/cli/src/fuser/mnt/mount_options.rs b/cli/src/fuser/mnt/mount_options.rs
deleted file mode 100644
index 220ba60a..00000000
--- a/cli/src/fuser/mnt/mount_options.rs
+++ /dev/null
@@ -1,239 +0,0 @@
-use std::io;
-use std::io::ErrorKind;
-use std::{collections::HashSet, ffi::OsStr};
-
-/// Mount options accepted by the FUSE filesystem type
-/// See 'man mount.fuse' for details
-// TODO: add all options that 'man mount.fuse' documents and libfuse supports
-#[derive(Debug, Eq, PartialEq, Hash, Clone)]
-pub enum MountOption {
- /// Set the name of the source in mtab
- FSName(String),
- /// Set the filesystem subtype in mtab
- Subtype(String),
- /// Allows passing an option which is not otherwise supported in these enums
- #[allow(clippy::upper_case_acronyms)]
- CUSTOM(String),
-
- /* Parameterless options */
- /// Allow all users to access files on this filesystem. By default access is restricted to the
- /// user who mounted it
- AllowOther,
- /// Allow the root user to access this filesystem, in addition to the user who mounted it
- AllowRoot,
- /// Automatically unmount when the mounting process exits
- ///
- /// `AutoUnmount` requires `AllowOther` or `AllowRoot`. If `AutoUnmount` is set and neither `Allow...` is set, the FUSE configuration must permit `allow_other`, otherwise mounting will fail.
- AutoUnmount,
- /// Enable permission checking in the kernel
- DefaultPermissions,
-
- /* Flags */
- /// Enable special character and block devices
- Dev,
- /// Disable special character and block devices
- NoDev,
- /// Honor set-user-id and set-groupd-id bits on files
- Suid,
- /// Don't honor set-user-id and set-groupd-id bits on files
- NoSuid,
- /// Read-only filesystem
- RO,
- /// Read-write filesystem
- RW,
- /// Allow execution of binaries
- Exec,
- /// Don't allow execution of binaries
- NoExec,
- /// Support inode access time
- Atime,
- /// Don't update inode access time
- NoAtime,
- /// All modifications to directories will be done synchronously
- DirSync,
- /// All I/O will be done synchronously
- Sync,
- /// All I/O will be done asynchronously
- Async,
- /* libfuse library options, such as "direct_io", are not included since they are specific
- to libfuse, and not part of the kernel ABI */
-}
-
-impl MountOption {
- pub(crate) fn from_str(s: &str) -> MountOption {
- match s {
- "auto_unmount" => MountOption::AutoUnmount,
- "allow_other" => MountOption::AllowOther,
- "allow_root" => MountOption::AllowRoot,
- "default_permissions" => MountOption::DefaultPermissions,
- "dev" => MountOption::Dev,
- "nodev" => MountOption::NoDev,
- "suid" => MountOption::Suid,
- "nosuid" => MountOption::NoSuid,
- "ro" => MountOption::RO,
- "rw" => MountOption::RW,
- "exec" => MountOption::Exec,
- "noexec" => MountOption::NoExec,
- "atime" => MountOption::Atime,
- "noatime" => MountOption::NoAtime,
- "dirsync" => MountOption::DirSync,
- "sync" => MountOption::Sync,
- "async" => MountOption::Async,
- x if x.starts_with("fsname=") => MountOption::FSName(x[7..].into()),
- x if x.starts_with("subtype=") => MountOption::Subtype(x[8..].into()),
- x => MountOption::CUSTOM(x.into()),
- }
- }
-}
-
-pub fn check_option_conflicts(options: &[MountOption]) -> Result<(), io::Error> {
- let mut options_set = HashSet::new();
- options_set.extend(options.iter().cloned());
- let conflicting: HashSet = options.iter().flat_map(conflicts_with).collect();
- let intersection: Vec = conflicting.intersection(&options_set).cloned().collect();
- if intersection.is_empty() {
- Ok(())
- } else {
- Err(io::Error::new(
- ErrorKind::InvalidInput,
- format!("Conflicting mount options found: {intersection:?}"),
- ))
- }
-}
-
-fn conflicts_with(option: &MountOption) -> Vec {
- match option {
- MountOption::FSName(_)
- | MountOption::Subtype(_)
- | MountOption::CUSTOM(_)
- | MountOption::DirSync
- | MountOption::AutoUnmount
- | MountOption::DefaultPermissions => vec![],
- MountOption::AllowOther => vec![MountOption::AllowRoot],
- MountOption::AllowRoot => vec![MountOption::AllowOther],
- MountOption::Dev => vec![MountOption::NoDev],
- MountOption::NoDev => vec![MountOption::Dev],
- MountOption::Suid => vec![MountOption::NoSuid],
- MountOption::NoSuid => vec![MountOption::Suid],
- MountOption::RO => vec![MountOption::RW],
- MountOption::RW => vec![MountOption::RO],
- MountOption::Exec => vec![MountOption::NoExec],
- MountOption::NoExec => vec![MountOption::Exec],
- MountOption::Atime => vec![MountOption::NoAtime],
- MountOption::NoAtime => vec![MountOption::Atime],
- MountOption::Sync => vec![MountOption::Async],
- MountOption::Async => vec![MountOption::Sync],
- }
-}
-
-// Format option to be passed to libfuse or kernel
-pub fn option_to_string(option: &MountOption) -> String {
- match option {
- MountOption::FSName(name) => format!("fsname={name}"),
- MountOption::Subtype(subtype) => format!("subtype={subtype}"),
- MountOption::CUSTOM(value) => value.to_string(),
- MountOption::AutoUnmount => "auto_unmount".to_string(),
- MountOption::AllowRoot |
- // AllowRoot is implemented by allowing everyone access and then restricting to
- // root + owner within fuser
- MountOption::AllowOther => "allow_other".to_string(),
- MountOption::DefaultPermissions => "default_permissions".to_string(),
- MountOption::Dev => "dev".to_string(),
- MountOption::NoDev => "nodev".to_string(),
- MountOption::Suid => "suid".to_string(),
- MountOption::NoSuid => "nosuid".to_string(),
- MountOption::RO => "ro".to_string(),
- MountOption::RW => "rw".to_string(),
- MountOption::Exec => "exec".to_string(),
- MountOption::NoExec => "noexec".to_string(),
- MountOption::Atime => "atime".to_string(),
- MountOption::NoAtime => "noatime".to_string(),
- MountOption::DirSync => "dirsync".to_string(),
- MountOption::Sync => "sync".to_string(),
- MountOption::Async => "async".to_string(),
- }
-}
-
-/// Parses mount command args.
-///
-/// Input: `"-o", "suid", "-o", "ro,nodev,noexec", "-osync"`
-/// Output Ok([`Suid`, `RO`, `NoDev`, `NoExec`, `Sync`])
-pub(crate) fn parse_options_from_args(args: &[&OsStr]) -> io::Result> {
- let err = |x| io::Error::new(ErrorKind::InvalidInput, x);
- let args: Option> = args.iter().map(|x| x.to_str()).collect();
- let args = args.ok_or_else(|| err("Error parsing args: Invalid UTF-8".to_owned()))?;
- let mut it = args.iter();
- let mut out = vec![];
- loop {
- let opt = match it.next() {
- None => break,
- Some(&"-o") => *it.next().ok_or_else(|| {
- err("Error parsing args: Expected option, reached end of args".to_owned())
- })?,
- Some(x) if x.starts_with("-o") => &x[2..],
- Some(x) => return Err(err(format!("Error parsing args: expected -o, got {x}"))),
- };
- for x in opt.split(',') {
- out.push(MountOption::from_str(x));
- }
- }
- Ok(out)
-}
-
-#[cfg(test)]
-mod test {
- use std::os::unix::prelude::OsStrExt;
-
- use super::*;
-
- #[test]
- fn option_checking() {
- assert!(check_option_conflicts(&[MountOption::Suid, MountOption::NoSuid]).is_err());
- assert!(check_option_conflicts(&[MountOption::Suid, MountOption::NoExec]).is_ok());
- }
- #[test]
- fn option_round_trip() {
- use super::MountOption::*;
- for x in &[
- FSName("Blah".to_owned()),
- Subtype("Bloo".to_owned()),
- CUSTOM("bongos".to_owned()),
- AllowOther,
- AutoUnmount,
- DefaultPermissions,
- Dev,
- NoDev,
- Suid,
- NoSuid,
- RO,
- RW,
- Exec,
- NoExec,
- Atime,
- NoAtime,
- DirSync,
- Sync,
- Async,
- ] {
- assert_eq!(*x, MountOption::from_str(option_to_string(x).as_ref()));
- }
- }
-
- #[test]
- fn test_parse_options() {
- use super::MountOption::*;
-
- assert_eq!(parse_options_from_args(&[]).unwrap(), &[]);
-
- let o: Vec<_> = "-o suid -o ro,nodev,noexec -osync"
- .split(' ')
- .map(OsStr::new)
- .collect();
- let out = parse_options_from_args(o.as_ref()).unwrap();
- assert_eq!(out, [Suid, RO, NoDev, NoExec, Sync]);
-
- assert!(parse_options_from_args(&[OsStr::new("-o")]).is_err());
- assert!(parse_options_from_args(&[OsStr::new("not o")]).is_err());
- assert!(parse_options_from_args(&[OsStr::from_bytes(b"-o\xc3\x28")]).is_err());
- }
-}
diff --git a/cli/src/fuser/notify.rs b/cli/src/fuser/notify.rs
deleted file mode 100644
index 7d939877..00000000
--- a/cli/src/fuser/notify.rs
+++ /dev/null
@@ -1,131 +0,0 @@
-use std::io;
-
-#[allow(unused)]
-use std::{convert::TryInto, ffi::OsStr};
-
-use super::{
- channel::ChannelSender,
- ll::{fuse_abi::fuse_notify_code as notify_code, notify::Notification},
-
- // What we're sending here aren't really replies, but they
- // move in the same direction (userspace->kernel), so we can
- // reuse ReplySender for it.
- reply::ReplySender,
-};
-
-/// A handle to a pending `poll()` request. Can be saved and used to notify the
-/// kernel when a poll is ready.
-#[derive(Clone)]
-pub struct PollHandle {
- handle: u64,
- notifier: Notifier,
-}
-
-impl PollHandle {
- pub(crate) fn new(cs: ChannelSender, kh: u64) -> Self {
- Self {
- handle: kh,
- notifier: Notifier::new(cs),
- }
- }
-
- /// Notify the kernel that the associated file handle is ready to be polled.
- /// # Errors
- /// Returns an error if the kernel rejects the notification.
- pub fn notify(self) -> io::Result<()> {
- self.notifier.poll(self.handle)
- }
-}
-
-impl From for u64 {
- fn from(value: PollHandle) -> Self {
- value.handle
- }
-}
-
-impl std::fmt::Debug for PollHandle {
- fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
- f.debug_tuple("PollHandle").field(&self.handle).finish()
- }
-}
-
-/// A handle by which the application can send notifications to the server
-#[derive(Debug, Clone)]
-pub struct Notifier(ChannelSender);
-
-impl Notifier {
- pub(crate) fn new(cs: ChannelSender) -> Self {
- Self(cs)
- }
-
- /// Notify poll clients of I/O readiness
- /// # Errors
- /// Returns an error if the kernel rejects the notification.
- pub fn poll(&self, kh: u64) -> io::Result<()> {
- let notif = Notification::new_poll(kh);
- self.send(notify_code::FUSE_POLL, ¬if)
- }
-
- /// Invalidate the kernel cache for a given directory entry
- /// # Errors
- /// Returns an error if the notification data is too large.
- /// Returns an error if the kernel rejects the notification.
- pub fn inval_entry(&self, parent: u64, name: &OsStr) -> io::Result<()> {
- let notif = Notification::new_inval_entry(parent, name).map_err(Self::too_big_err)?;
- self.send_inval(notify_code::FUSE_NOTIFY_INVAL_ENTRY, ¬if)
- }
-
- /// Invalidate the kernel cache for a given inode (metadata and
- /// data in the given range)
- /// # Errors
- /// Returns an error if the kernel rejects the notification.
- pub fn inval_inode(&self, ino: u64, offset: i64, len: i64) -> io::Result<()> {
- let notif = Notification::new_inval_inode(ino, offset, len);
- self.send_inval(notify_code::FUSE_NOTIFY_INVAL_INODE, ¬if)
- }
-
- /// Update the kernel's cached copy of a given inode's data
- /// # Errors
- /// Returns an error if the notification data is too large.
- /// Returns an error if the kernel rejects the notification.
- pub fn store(&self, ino: u64, offset: u64, data: &[u8]) -> io::Result<()> {
- let notif = Notification::new_store(ino, offset, data).map_err(Self::too_big_err)?;
- // Not strictly an invalidate, but the inode we're operating
- // on may have been evicted anyway, so treat is as such
- self.send_inval(notify_code::FUSE_NOTIFY_STORE, ¬if)
- }
-
- /// Invalidate the kernel cache for a given directory entry and inform
- /// inotify watchers of a file deletion.
- /// # Errors
- /// Returns an error if the notification data is too large.
- /// Returns an error if the kernel rejects the notification.
- pub fn delete(&self, parent: u64, child: u64, name: &OsStr) -> io::Result<()> {
- let notif = Notification::new_delete(parent, child, name).map_err(Self::too_big_err)?;
- self.send_inval(notify_code::FUSE_NOTIFY_DELETE, ¬if)
- }
-
- #[allow(unused)]
- fn send_inval(&self, code: notify_code, notification: &Notification<'_>) -> io::Result<()> {
- match self.send(code, notification) {
- // ENOENT is harmless for an invalidation (the
- // kernel may have already dropped the cached
- // entry on its own anyway), so ignore it.
- Err(e) if e.kind() == io::ErrorKind::NotFound => Ok(()),
- x => x,
- }
- }
-
- fn send(&self, code: notify_code, notification: &Notification<'_>) -> io::Result<()> {
- notification
- .with_iovec(code, |iov| self.0.send(iov))
- .map_err(Self::too_big_err)?
- }
-
- /// Create an error for indicating when a notification message
- /// would exceed the capacity that its length descriptor field is
- /// capable of encoding.
- fn too_big_err(tfie: std::num::TryFromIntError) -> io::Error {
- io::Error::new(io::ErrorKind::Other, format!("Data too large: {tfie:?}"))
- }
-}
diff --git a/cli/src/lib.rs b/cli/src/lib.rs
deleted file mode 100644
index dffc0706..00000000
--- a/cli/src/lib.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-pub mod cmd;
-pub mod opts;
-pub mod sandbox;
-
-#[cfg(target_os = "linux")]
-pub mod daemon;
-
-#[cfg(target_os = "linux")]
-pub mod fuse;
-
-#[cfg(target_os = "linux")]
-pub mod fuser;
-
-#[cfg(unix)]
-pub mod nfsserve;
-
-#[cfg(unix)]
-pub mod nfs;
-
-#[cfg(unix)]
-pub mod mount;
-
-pub fn get_runtime() -> tokio::runtime::Runtime {
- tokio::runtime::Runtime::new().expect("Internal error: failed to initialize runtime")
-}
diff --git a/cli/src/main.rs b/cli/src/main.rs
deleted file mode 100644
index 23b48d59..00000000
--- a/cli/src/main.rs
+++ /dev/null
@@ -1,493 +0,0 @@
-use agentfs::{
- cmd::{self, completions::handle_completions},
- get_runtime,
- opts::{Args, Command, FsCommand, PruneCommand, ServeCommand, SyncCommand},
-};
-use clap::{CommandFactory, Parser};
-use clap_complete::CompleteEnv;
-use tracing_subscriber::prelude::*;
-
-/// Parse and validate encryption key and cipher options.
-/// Both must be provided together or neither.
-fn parse_encryption(key: Option, cipher: Option) -> Option<(String, String)> {
- match (key, cipher) {
- (Some(key), Some(cipher)) => Some((key, cipher)),
- (Some(_), None) => {
- eprintln!("Error: --cipher is required when using --key");
- std::process::exit(1);
- }
- (None, Some(_)) => {
- eprintln!("Error: --key is required when using --cipher");
- std::process::exit(1);
- }
- (None, None) => None,
- }
-}
-
-fn partial_origin_policy(
- mode: Option,
- threshold_bytes: Option,
-) -> Option {
- match (mode, threshold_bytes) {
- (None, None) => None,
- (Some(mode), threshold_bytes) => {
- let mut policy = agentfs_sdk::PartialOriginPolicy::new(mode.into());
- if let Some(threshold_bytes) = threshold_bytes {
- policy = policy.with_threshold_bytes(threshold_bytes);
- }
- Some(policy)
- }
- (None, Some(threshold_bytes)) => Some(
- agentfs_sdk::PartialOriginPolicy::new(agentfs_sdk::PartialOriginMode::Auto)
- .with_threshold_bytes(threshold_bytes),
- ),
- }
-}
-
-fn main() {
- let _ = tracing_subscriber::registry()
- .with(tracing_subscriber::fmt::layer())
- .with(
- tracing_subscriber::EnvFilter::try_from_default_env()
- .unwrap_or_else(|_| "agentfs=info".into()),
- )
- .try_init();
-
- reset_sigpipe();
-
- CompleteEnv::with_factory(Args::command).complete();
- let args = Args::parse();
-
- match args.command {
- Command::Init {
- id,
- force,
- base,
- key,
- cipher,
- command,
- backend,
- sync,
- } => {
- let rt = get_runtime();
- let encryption_opts = parse_encryption(key, cipher)
- .map(|(key, cipher)| cmd::init::EncryptionOptions { key, cipher });
- if let Err(e) = rt.block_on(cmd::init::init_database(
- id,
- sync,
- force,
- base,
- encryption_opts,
- command,
- backend,
- )) {
- eprintln!("Error: {}", e);
- std::process::exit(1);
- }
- }
- Command::Sync {
- id_or_path,
- command,
- } => match command {
- SyncCommand::Pull => {
- let rt = get_runtime();
- if let Err(e) = rt.block_on(cmd::sync::handle_pull_command(id_or_path)) {
- eprintln!("Error: {}", e);
- std::process::exit(1);
- }
- }
- SyncCommand::Push => {
- let rt = get_runtime();
- if let Err(e) = rt.block_on(cmd::sync::handle_push_command(id_or_path)) {
- eprintln!("Error: {}", e);
- std::process::exit(1);
- }
- }
- SyncCommand::Checkpoint => {
- let rt = get_runtime();
- if let Err(e) = rt.block_on(cmd::sync::handle_checkpoint_command(id_or_path)) {
- eprintln!("Error: {}", e);
- std::process::exit(1);
- }
- }
- SyncCommand::Stats => {
- let rt = get_runtime();
- if let Err(e) = rt.block_on(cmd::sync::handle_stats_command(
- &mut std::io::stdout(),
- id_or_path,
- )) {
- eprintln!("Error: {}", e);
- std::process::exit(1);
- }
- }
- },
- Command::Run {
- allow,
- no_default_allows,
- experimental_sandbox,
- strace,
- session,
- system,
- partial_origin,
- partial_origin_threshold_bytes,
- key,
- cipher,
- command,
- args,
- } => {
- let encryption = parse_encryption(key, cipher);
- let partial_origin_policy =
- partial_origin_policy(partial_origin, partial_origin_threshold_bytes);
- let command = command.unwrap_or_else(default_shell);
- let rt = get_runtime();
- if let Err(e) = rt.block_on(cmd::handle_run_command(
- allow,
- no_default_allows,
- experimental_sandbox,
- strace,
- session,
- system,
- encryption,
- partial_origin_policy,
- command,
- args,
- )) {
- eprintln!("Error: {e:?}");
- std::process::exit(1);
- }
- }
- #[cfg(unix)]
- Command::Exec {
- id_or_path,
- command,
- args,
- backend,
- key,
- cipher,
- } => {
- let encryption = parse_encryption(key, cipher);
- let rt = get_runtime();
- if let Err(e) = rt.block_on(cmd::exec::handle_exec_command(
- id_or_path, command, args, backend, encryption,
- )) {
- eprintln!("Error: {e:?}");
- std::process::exit(1);
- }
- }
- #[cfg(unix)]
- Command::Clone {
- id_or_path,
- source,
- name,
- backend,
- verify,
- } => {
- let rt = get_runtime();
- if let Err(e) = rt.block_on(cmd::clone::handle_clone_command(
- id_or_path, source, name, backend, verify,
- )) {
- eprintln!("Error: {e:?}");
- std::process::exit(1);
- }
- }
- Command::Mount {
- id_or_path,
- mountpoint,
- auto_unmount,
- allow_root,
- system,
- foreground,
- uid,
- gid,
- backend,
- partial_origin,
- partial_origin_threshold_bytes,
- } => match (id_or_path, mountpoint) {
- (Some(id_or_path), Some(mountpoint)) => {
- if let Err(e) = cmd::mount(cmd::MountArgs {
- id_or_path,
- mountpoint,
- auto_unmount,
- allow_root,
- allow_other: system,
- foreground,
- uid,
- gid,
- backend,
- partial_origin_policy: partial_origin_policy(
- partial_origin,
- partial_origin_threshold_bytes,
- ),
- }) {
- eprintln!("Error: {}", e);
- std::process::exit(1);
- }
- }
- (None, None) => {
- cmd::mount::list_mounts(&mut std::io::stdout());
- }
- _ => {
- eprintln!("Error: both ID_OR_PATH and MOUNTPOINT are required to mount");
- std::process::exit(1);
- }
- },
- Command::Diff { id_or_path } => {
- let rt = get_runtime();
- if let Err(e) = rt.block_on(cmd::fs::diff_filesystem(id_or_path)) {
- eprintln!("Error: {}", e);
- std::process::exit(1);
- }
- }
- Command::Timeline {
- id_or_path,
- limit,
- filter,
- status,
- format,
- } => {
- let rt = get_runtime();
- let options = cmd::timeline::TimelineOptions {
- limit,
- filter,
- status,
- format,
- };
- if let Err(e) = rt.block_on(cmd::timeline::show_timeline(
- &mut std::io::stdout(),
- &id_or_path,
- &options,
- )) {
- eprintln!("Error: {}", e);
- std::process::exit(1);
- }
- }
- Command::Fs {
- command,
- id_or_path,
- key,
- cipher,
- } => {
- let encryption = parse_encryption(key, cipher);
- let rt = get_runtime();
- match command {
- FsCommand::Ls { fs_path } => {
- if let Err(e) = rt.block_on(cmd::fs::ls_filesystem(
- &mut std::io::stdout(),
- id_or_path,
- &fs_path,
- encryption.as_ref(),
- )) {
- eprintln!("Error: {}", e);
- std::process::exit(1);
- }
- }
- FsCommand::Cat { file_path } => {
- if let Err(e) = rt.block_on(cmd::fs::cat_filesystem(
- &mut std::io::stdout(),
- id_or_path,
- &file_path,
- encryption.as_ref(),
- )) {
- eprintln!("Error: {}", e);
- std::process::exit(1);
- }
- }
- FsCommand::Write { file_path, content } => {
- if let Err(e) = rt.block_on(cmd::fs::write_filesystem(
- id_or_path,
- &file_path,
- &content,
- encryption.as_ref(),
- )) {
- eprintln!("Error: {}", e);
- std::process::exit(1);
- }
- }
- }
- }
- Command::Completions { command } => handle_completions(command),
- #[cfg(unix)]
- Command::Nfs {
- id_or_path,
- bind,
- port,
- } => {
- eprintln!("Warning: `agentfs nfs` is deprecated, use `agentfs serve nfs` instead");
- let rt = get_runtime();
- if let Err(e) = rt.block_on(cmd::nfs::handle_nfs_command(id_or_path, bind, port)) {
- eprintln!("Error: {}", e);
- std::process::exit(1);
- }
- }
- Command::McpServer { id_or_path, tools } => {
- eprintln!(
- "Warning: `agentfs mcp-server` is deprecated, use `agentfs serve mcp` instead"
- );
- let rt = get_runtime();
- if let Err(e) = rt.block_on(cmd::mcp_server::handle_mcp_server_command(
- id_or_path, tools,
- )) {
- eprintln!("Error: {}", e);
- std::process::exit(1);
- }
- }
- Command::Serve { command } => match command {
- #[cfg(unix)]
- ServeCommand::Nfs {
- id_or_path,
- bind,
- port,
- } => {
- let rt = get_runtime();
- if let Err(e) = rt.block_on(cmd::nfs::handle_nfs_command(id_or_path, bind, port)) {
- eprintln!("Error: {}", e);
- std::process::exit(1);
- }
- }
- ServeCommand::Mcp { id_or_path, tools } => {
- let rt = get_runtime();
- if let Err(e) = rt.block_on(cmd::mcp_server::handle_mcp_server_command(
- id_or_path, tools,
- )) {
- eprintln!("Error: {}", e);
- std::process::exit(1);
- }
- }
- },
- Command::Ps => {
- if let Err(e) = cmd::ps::list_ps(&mut std::io::stdout()) {
- eprintln!("Error: {}", e);
- std::process::exit(1);
- }
- }
- Command::Prune { command } => match command {
- PruneCommand::Mounts { force } => {
- if let Err(e) = cmd::mount::prune_mounts(force) {
- eprintln!("Error: {}", e);
- std::process::exit(1);
- }
- }
- },
- Command::Integrity {
- id_or_path,
- json,
- require_portable,
- check_base,
- key,
- cipher,
- } => {
- let encryption = parse_encryption(key, cipher);
- let rt = get_runtime();
- if let Err(e) = rt.block_on(cmd::safety::handle_integrity_command(
- &mut std::io::stdout(),
- id_or_path,
- json,
- require_portable,
- check_base,
- encryption.as_ref(),
- )) {
- eprintln!("Error: {}", e);
- std::process::exit(1);
- }
- }
- Command::Backup {
- id_or_path,
- target,
- verify,
- materialize,
- key,
- cipher,
- } => {
- let encryption = parse_encryption(key, cipher);
- let rt = get_runtime();
- if let Err(e) = rt.block_on(cmd::safety::handle_backup_command(
- &mut std::io::stdout(),
- id_or_path,
- target,
- verify,
- materialize,
- encryption.as_ref(),
- )) {
- eprintln!("Error: {}", e);
- std::process::exit(1);
- }
- }
- Command::Materialize {
- id_or_path,
- output,
- verify,
- key,
- cipher,
- } => {
- let encryption = parse_encryption(key, cipher);
- let rt = get_runtime();
- if let Err(e) = rt.block_on(cmd::safety::handle_materialize_command(
- &mut std::io::stdout(),
- id_or_path,
- output,
- verify,
- encryption.as_ref(),
- )) {
- eprintln!("Error: {}", e);
- std::process::exit(1);
- }
- }
- Command::Migrate {
- id_or_path,
- dry_run,
- } => {
- let rt = get_runtime();
- if let Err(e) = rt.block_on(cmd::migrate::handle_migrate_command(
- &mut std::io::stdout(),
- id_or_path,
- dry_run,
- )) {
- eprintln!("Error: {}", e);
- std::process::exit(1);
- }
- }
- Command::MigrateV0_5 {
- source,
- target,
- verify,
- overwrite_target,
- } => {
- let rt = get_runtime();
- if let Err(e) = rt.block_on(cmd::migrate::handle_migrate_v0_5_command(
- &mut std::io::stdout(),
- source,
- target,
- verify,
- overwrite_target,
- )) {
- eprintln!("Error: {}", e);
- std::process::exit(1);
- }
- }
- }
-}
-
-/// Reset SIGPIPE to the default behavior (terminate the process) so that
-/// piping output to tools like `head` doesn't cause a panic.
-#[cfg(unix)]
-fn reset_sigpipe() {
- unsafe {
- libc::signal(libc::SIGPIPE, libc::SIG_DFL);
- }
-}
-
-#[cfg(not(unix))]
-fn reset_sigpipe() {}
-
-/// Returns the default shell for the current platform.
-/// Linux uses bash, macOS uses zsh.
-fn default_shell() -> std::path::PathBuf {
- #[cfg(target_os = "macos")]
- {
- std::path::PathBuf::from("zsh")
- }
- #[cfg(not(target_os = "macos"))]
- {
- std::path::PathBuf::from("bash")
- }
-}
diff --git a/cli/src/mount/mod.rs b/cli/src/mount/mod.rs
deleted file mode 100644
index 68d0122a..00000000
--- a/cli/src/mount/mod.rs
+++ /dev/null
@@ -1,261 +0,0 @@
-//! Generic mount infrastructure for AgentFS.
-//!
-//! This module provides a unified mount API that abstracts over FUSE and NFS backends.
-//! The `mount_fs()` function returns a `MountHandle` that automatically unmounts when dropped.
-//!
-//! # Example
-//!
-//! ```ignore
-//! use agentfs_cli::mount::{mount_fs, MountOpts, MountBackend};
-//!
-//! let opts = MountOpts::new(PathBuf::from("/mnt/agent"), MountBackend::Fuse);
-//! let handle = mount_fs(Arc::new(my_fs), opts).await?;
-//! // ... use the mounted filesystem ...
-//! drop(handle); // auto-unmounts
-//! ```
-
-#[cfg(target_os = "linux")]
-mod fuse;
-mod nfs;
-
-use anyhow::Result;
-use std::path::{Path, PathBuf};
-use std::sync::Arc;
-use std::time::Duration;
-use tokio_util::sync::CancellationToken;
-
-pub use crate::opts::MountBackend;
-
-/// Default timeout for mount to become ready.
-const DEFAULT_MOUNT_TIMEOUT: Duration = Duration::from_secs(10);
-
-/// Options for mounting a filesystem.
-///
-/// This struct provides a unified configuration for both FUSE and NFS backends.
-/// Use `MountOpts::new()` to create default options, then customize as needed.
-#[derive(Debug, Clone)]
-pub struct MountOpts {
- /// The mountpoint path.
- pub mountpoint: PathBuf,
- /// Mount backend to use.
- pub backend: MountBackend,
- /// Filesystem name shown in mount output.
- pub fsname: String,
- /// User ID to report for all files.
- pub uid: Option,
- /// Group ID to report for all files.
- pub gid: Option,
- /// Allow other system users to access the mount.
- pub allow_other: bool,
- /// Allow root to access the mount (FUSE only).
- pub allow_root: bool,
- /// Auto unmount when process exits (FUSE only).
- pub auto_unmount: bool,
- /// Use lazy unmount on cleanup.
- pub lazy_unmount: bool,
- /// Timeout for mount to become ready.
- pub timeout: Duration,
-}
-
-impl MountOpts {
- /// Create default options for the given mountpoint and backend.
- pub fn new(mountpoint: PathBuf, backend: MountBackend) -> Self {
- Self {
- mountpoint,
- backend,
- fsname: "agentfs".to_string(),
- uid: None,
- gid: None,
- allow_other: false,
- allow_root: false,
- auto_unmount: false,
- lazy_unmount: false,
- timeout: DEFAULT_MOUNT_TIMEOUT,
- }
- }
-}
-
-impl Default for MountOpts {
- fn default() -> Self {
- Self::new(PathBuf::new(), MountBackend::default())
- }
-}
-
-/// A mounted filesystem handle. Automatically unmounts when dropped.
-///
-/// This handle represents an active mount and provides RAII-style cleanup.
-/// When the handle is dropped, the filesystem is automatically unmounted.
-pub struct MountHandle {
- mountpoint: PathBuf,
- backend: MountBackend,
- lazy_unmount: bool,
- inner: MountHandleInner,
-}
-
-pub(crate) enum MountHandleInner {
- #[cfg(target_os = "linux")]
- Fuse {
- thread: Option>>,
- },
- Nfs {
- shutdown: CancellationToken,
- _server_handle: tokio::task::JoinHandle<()>,
- },
-}
-
-impl MountHandle {
- /// Get the mountpoint path.
- pub fn mountpoint(&self) -> &Path {
- &self.mountpoint
- }
-}
-
-impl Drop for MountHandle {
- fn drop(&mut self) {
- // Move away from mountpoint before unmounting to avoid EBUSY
- let _ = std::env::set_current_dir("/");
-
- match &mut self.inner {
- #[cfg(target_os = "linux")]
- MountHandleInner::Fuse { thread } => {
- if let Err(e) = unmount(&self.mountpoint, self.backend, self.lazy_unmount) {
- eprintln!(
- "Warning: Failed to unmount FUSE filesystem at {}: {}",
- self.mountpoint.display(),
- e
- );
- }
- if let Some(thread) = thread.take() {
- match thread.join() {
- Ok(Ok(())) => {}
- Ok(Err(e)) => eprintln!("Warning: FUSE session exited with error: {e}"),
- Err(e) => eprintln!("Warning: FUSE session thread panicked: {e:?}"),
- }
- }
- }
- MountHandleInner::Nfs { shutdown, .. } => {
- // Signal the NFS server to shut down
- shutdown.cancel();
-
- // Unmount the NFS filesystem
- if let Err(e) = unmount(&self.mountpoint, self.backend, self.lazy_unmount) {
- eprintln!(
- "Warning: Failed to unmount NFS filesystem at {}: {}",
- self.mountpoint.display(),
- e
- );
- }
- }
- }
- }
-}
-
-/// Unmount a filesystem at the given mountpoint.
-///
-/// This function handles unmounting for both FUSE and NFS backends.
-/// If `lazy` is true, uses lazy unmount which detaches immediately even if busy.
-pub fn unmount(mountpoint: &Path, backend: MountBackend, lazy: bool) -> Result<()> {
- match backend {
- #[cfg(target_os = "linux")]
- MountBackend::Fuse => fuse::unmount_fuse(mountpoint, lazy),
- #[cfg(not(target_os = "linux"))]
- MountBackend::Fuse => anyhow::bail!("FUSE is not supported on this platform"),
- MountBackend::Nfs => nfs::unmount_nfs(mountpoint, lazy),
- }
-}
-
-/// Mount a filesystem with the given options.
-///
-/// Returns a handle that automatically unmounts when dropped.
-/// The filesystem must be wrapped in `Arc`.
-#[cfg(target_os = "linux")]
-pub async fn mount_fs(
- fs: Arc,
- opts: MountOpts,
-) -> Result {
- match opts.backend {
- MountBackend::Fuse => fuse::mount_fuse(fs, opts),
- MountBackend::Nfs => nfs::mount_nfs(fs, opts).await,
- }
-}
-
-/// Mount a filesystem with the given options (macOS version).
-#[cfg(target_os = "macos")]
-pub async fn mount_fs(
- fs: Arc,
- opts: MountOpts,
-) -> Result {
- match opts.backend {
- MountBackend::Fuse => {
- anyhow::bail!(
- "FUSE mounting is not supported on macOS.\n\
- Use --backend nfs (default) instead."
- );
- }
- MountBackend::Nfs => nfs::mount_nfs(fs, opts).await,
- }
-}
-
-/// Resolve when SIGTERM, SIGINT, or SIGHUP is delivered.
-///
-/// Mount-owning commands must tear down through this rather than the default
-/// signal disposition: dying without unmounting leaves a dead mount table
-/// entry (ENOTCONN for every later visitor) and skips `MountHandle`'s Drop.
-#[cfg(unix)]
-pub async fn shutdown_signal() -> std::io::Result<()> {
- use tokio::signal::unix::{signal, SignalKind};
- let mut term = signal(SignalKind::terminate())?;
- let mut int = signal(SignalKind::interrupt())?;
- let mut hup = signal(SignalKind::hangup())?;
- tokio::select! {
- _ = term.recv() => (),
- _ = int.recv() => (),
- _ = hup.recv() => (),
- }
- Ok(())
-}
-
-/// Wait for a path to become a mountpoint.
-pub fn wait_for_mount(path: &Path, timeout: Duration) -> bool {
- let start = std::time::Instant::now();
- let interval = Duration::from_millis(50);
-
- while start.elapsed() < timeout {
- if is_mountpoint(path) {
- return true;
- }
- std::thread::sleep(interval);
- }
- false
-}
-
-/// Check if a path is a mountpoint by comparing device IDs with parent.
-pub fn is_mountpoint(path: &Path) -> bool {
- #[cfg(unix)]
- {
- use std::os::unix::fs::MetadataExt;
-
- let path_meta = match std::fs::metadata(path) {
- Ok(m) => m,
- Err(_) => return false,
- };
-
- let parent = match path.parent() {
- Some(p) if !p.as_os_str().is_empty() => p,
- _ => Path::new("/"),
- };
-
- let parent_meta = match std::fs::metadata(parent) {
- Ok(m) => m,
- Err(_) => return false,
- };
-
- path_meta.dev() != parent_meta.dev()
- }
-
- #[cfg(not(unix))]
- {
- let _ = path;
- false
- }
-}
diff --git a/cli/src/nfsserve/config.rs b/cli/src/nfsserve/config.rs
deleted file mode 100644
index 8b137891..00000000
--- a/cli/src/nfsserve/config.rs
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/cli/src/nfsserve/fs_util.rs b/cli/src/nfsserve/fs_util.rs
deleted file mode 100644
index 21361039..00000000
--- a/cli/src/nfsserve/fs_util.rs
+++ /dev/null
@@ -1,181 +0,0 @@
-use super::nfs::*;
-use std::fs::Metadata;
-use std::fs::Permissions;
-
-#[cfg(unix)]
-use std::os::unix::fs::{MetadataExt, PermissionsExt};
-use std::path::Path;
-use tokio::fs::OpenOptions;
-use tracing::debug;
-
-/// Compares if file metadata has changed in a significant way
-#[cfg(any(target_os = "linux", target_os = "macos"))]
-pub fn metadata_differ(lhs: &Metadata, rhs: &Metadata) -> bool {
- lhs.ino() != rhs.ino()
- || lhs.mtime() != rhs.mtime()
- || lhs.len() != rhs.len()
- || lhs.file_type() != rhs.file_type()
-}
-pub fn fattr3_differ(lhs: &fattr3, rhs: &fattr3) -> bool {
- lhs.fileid != rhs.fileid
- || lhs.mtime.seconds != rhs.mtime.seconds
- || lhs.mtime.nseconds != rhs.mtime.nseconds
- || lhs.size != rhs.size
- || lhs.ftype as u32 != rhs.ftype as u32
-}
-
-/// path.exists() is terrifyingly unsafe as that
-/// traverses symlinks. This can cause deadlocks if we have a
-/// recursive symlink.
-pub fn exists_no_traverse(path: &Path) -> bool {
- path.symlink_metadata().is_ok()
-}
-
-fn mode_unmask(mode: u32) -> u32 {
- // it is possible to create a file we cannot write to.
- // we force writable always.
- let mode = mode | 0x80;
- let mode = Permissions::from_mode(mode);
- mode.mode() & 0x1FF
-}
-
-/// Converts fs Metadata to NFS fattr3
-pub fn metadata_to_fattr3(fid: fileid3, meta: &Metadata) -> fattr3 {
- let size = meta.size();
- let file_mode = mode_unmask(meta.mode());
- if meta.is_file() {
- fattr3 {
- ftype: ftype3::NF3REG,
- mode: file_mode,
- nlink: 1,
- uid: meta.uid(),
- gid: meta.gid(),
- size,
- used: size,
- rdev: specdata3::default(),
- fsid: 0,
- fileid: fid,
- atime: nfstime3 {
- seconds: meta.atime() as u32,
- nseconds: meta.atime_nsec() as u32,
- },
- mtime: nfstime3 {
- seconds: meta.mtime() as u32,
- nseconds: meta.mtime_nsec() as u32,
- },
- ctime: nfstime3 {
- seconds: meta.ctime() as u32,
- nseconds: meta.ctime_nsec() as u32,
- },
- }
- } else if meta.is_symlink() {
- fattr3 {
- ftype: ftype3::NF3LNK,
- mode: file_mode,
- nlink: 1,
- uid: meta.uid(),
- gid: meta.gid(),
- size,
- used: size,
- rdev: specdata3::default(),
- fsid: 0,
- fileid: fid,
- atime: nfstime3 {
- seconds: meta.atime() as u32,
- nseconds: meta.atime_nsec() as u32,
- },
- mtime: nfstime3 {
- seconds: meta.mtime() as u32,
- nseconds: meta.mtime_nsec() as u32,
- },
- ctime: nfstime3 {
- seconds: meta.ctime() as u32,
- nseconds: meta.ctime_nsec() as u32,
- },
- }
- } else {
- fattr3 {
- ftype: ftype3::NF3DIR,
- mode: file_mode,
- nlink: 2,
- uid: meta.uid(),
- gid: meta.gid(),
- size,
- used: size,
- rdev: specdata3::default(),
- fsid: 0,
- fileid: fid,
- atime: nfstime3 {
- seconds: meta.atime() as u32,
- nseconds: meta.atime_nsec() as u32,
- },
- mtime: nfstime3 {
- seconds: meta.mtime() as u32,
- nseconds: meta.mtime_nsec() as u32,
- },
- ctime: nfstime3 {
- seconds: meta.ctime() as u32,
- nseconds: meta.ctime_nsec() as u32,
- },
- }
- }
-}
-
-/// Set attributes of a path
-pub async fn path_setattr(path: &Path, setattr: &sattr3) -> Result<(), nfsstat3> {
- match setattr.atime {
- set_atime::SET_TO_SERVER_TIME => {
- let _ = filetime::set_file_atime(path, filetime::FileTime::now());
- }
- set_atime::SET_TO_CLIENT_TIME(time) => {
- let _ = filetime::set_file_atime(path, time.into());
- }
- _ => {}
- };
- match setattr.mtime {
- set_mtime::SET_TO_SERVER_TIME => {
- let _ = filetime::set_file_mtime(path, filetime::FileTime::now());
- }
- set_mtime::SET_TO_CLIENT_TIME(time) => {
- let _ = filetime::set_file_mtime(path, time.into());
- }
- _ => {}
- };
- if let set_mode3::mode(mode) = setattr.mode {
- debug!(" -- set permissions {:?} {:?}", path, mode);
- let mode = mode_unmask(mode);
- let _ = std::fs::set_permissions(path, Permissions::from_mode(mode));
- };
- if let set_uid3::uid(_) = setattr.uid {
- debug!("Set uid not implemented");
- }
- if let set_gid3::gid(_) = setattr.gid {
- debug!("Set gid not implemented");
- }
- if let set_size3::size(size3) = setattr.size {
- let file = OpenOptions::new()
- .read(true)
- .write(true)
- .truncate(false)
- .open(path)
- .await
- .or(Err(nfsstat3::NFS3ERR_IO))?;
- debug!(" -- set size {:?} {:?}", path, size3);
- file.set_len(size3).await.or(Err(nfsstat3::NFS3ERR_IO))?;
- }
- Ok(())
-}
-
-/// Set attributes of a file
-pub async fn file_setattr(file: &std::fs::File, setattr: &sattr3) -> Result<(), nfsstat3> {
- if let set_mode3::mode(mode) = setattr.mode {
- debug!(" -- set permissions {:?}", mode);
- let mode = mode_unmask(mode);
- let _ = file.set_permissions(Permissions::from_mode(mode));
- }
- if let set_size3::size(size3) = setattr.size {
- debug!(" -- set size {:?}", size3);
- file.set_len(size3).or(Err(nfsstat3::NFS3ERR_IO))?;
- }
- Ok(())
-}
diff --git a/cli/src/nfsserve/mod.rs b/cli/src/nfsserve/mod.rs
deleted file mode 100644
index 7c62d912..00000000
--- a/cli/src/nfsserve/mod.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-#![cfg_attr(feature = "strict", deny(warnings))]
-
-mod context;
-pub mod permissions;
-pub mod rpc;
-mod rpcwire;
-mod write_counter;
-pub mod xdr;
-
-mod mount;
-mod mount_handlers;
-
-mod portmap;
-mod portmap_handlers;
-
-pub mod nfs;
-mod nfs_handlers;
-
-#[cfg(not(target_os = "windows"))]
-pub mod fs_util;
-
-pub mod tcp;
-mod transaction_tracker;
-pub mod vfs;
diff --git a/cli/src/nfsserve/permissions.rs b/cli/src/nfsserve/permissions.rs
deleted file mode 100644
index 15280b41..00000000
--- a/cli/src/nfsserve/permissions.rs
+++ /dev/null
@@ -1,308 +0,0 @@
-//! Unix permission checking for NFS operations.
-//!
-//! This module implements RFC 1813 compliant permission checking using
-//! AUTH_UNIX credentials (uid, gid, auxiliary gids) against file mode bits.
-
-use super::nfs::fattr3;
-use super::rpc::auth_unix;
-
-/// Permission bits for Unix file modes
-pub const S_IRUSR: u32 = 0o400; // Owner read
-pub const S_IWUSR: u32 = 0o200; // Owner write
-pub const S_IXUSR: u32 = 0o100; // Owner execute
-pub const S_IRGRP: u32 = 0o040; // Group read
-pub const S_IWGRP: u32 = 0o020; // Group write
-pub const S_IXGRP: u32 = 0o010; // Group execute
-pub const S_IROTH: u32 = 0o004; // Other read
-pub const S_IWOTH: u32 = 0o002; // Other write
-pub const S_IXOTH: u32 = 0o001; // Other execute
-pub const S_ISVTX: u32 = 0o1000; // Sticky bit
-
-/// NFS ACCESS procedure permission bits (from RFC 1813)
-pub const ACCESS3_READ: u32 = 0x0001;
-pub const ACCESS3_LOOKUP: u32 = 0x0002;
-pub const ACCESS3_MODIFY: u32 = 0x0004;
-pub const ACCESS3_EXTEND: u32 = 0x0008;
-pub const ACCESS3_DELETE: u32 = 0x0010;
-pub const ACCESS3_EXECUTE: u32 = 0x0020;
-
-/// Permission type for checking
-#[derive(Debug, Clone, Copy, PartialEq, Eq)]
-pub enum Permission {
- Read,
- Write,
- Execute,
-}
-
-/// Check if the given auth credentials have the specified permission on the file.
-///
-/// This implements standard Unix permission checking:
-/// 1. Root (uid 0) always has all permissions
-/// 2. If caller's uid matches file owner, check owner bits
-/// 3. If caller's gid or any auxiliary gid matches file group, check group bits
-/// 4. Otherwise check "other" bits
-pub fn check_permission(auth: &auth_unix, attr: &fattr3, perm: Permission) -> bool {
- let mode = attr.mode;
- let file_uid = attr.uid;
- let file_gid = attr.gid;
-
- // Root always has access
- if auth.uid == 0 {
- return true;
- }
-
- // Determine which permission bits to check based on user/group/other
- let (read_bit, write_bit, exec_bit) = if auth.uid == file_uid {
- // Owner permissions
- (S_IRUSR, S_IWUSR, S_IXUSR)
- } else if is_in_group(auth, file_gid) {
- // Group permissions
- (S_IRGRP, S_IWGRP, S_IXGRP)
- } else {
- // Other permissions
- (S_IROTH, S_IWOTH, S_IXOTH)
- };
-
- // Check the specific permission
- match perm {
- Permission::Read => (mode & read_bit) != 0,
- Permission::Write => (mode & write_bit) != 0,
- Permission::Execute => (mode & exec_bit) != 0,
- }
-}
-
-/// Check if auth credentials are in the specified group.
-/// Returns true if the primary gid matches or if gid is in auxiliary groups.
-fn is_in_group(auth: &auth_unix, gid: u32) -> bool {
- if auth.gid == gid {
- return true;
- }
- auth.gids.contains(&gid)
-}
-
-/// Check if the caller can read the file.
-pub fn can_read(auth: &auth_unix, attr: &fattr3) -> bool {
- check_permission(auth, attr, Permission::Read)
-}
-
-/// Check if the caller can write to the file.
-pub fn can_write(auth: &auth_unix, attr: &fattr3) -> bool {
- check_permission(auth, attr, Permission::Write)
-}
-
-/// Check if the caller can execute the file or search the directory.
-pub fn can_execute(auth: &auth_unix, attr: &fattr3) -> bool {
- check_permission(auth, attr, Permission::Execute)
-}
-
-/// Compute the ACCESS3 result bitmask for the given auth and file attributes.
-///
-/// This implements RFC 1813 ACCESS procedure semantics:
-/// - ACCESS3_READ: read file data or directory contents
-/// - ACCESS3_LOOKUP: search directory entries (execute permission on directories)
-/// - ACCESS3_MODIFY: alter existing file/directory data
-/// - ACCESS3_EXTEND: add new data or directory entries
-/// - ACCESS3_DELETE: remove directory entries (checked against parent directory)
-/// - ACCESS3_EXECUTE: execute files (execute permission on files)
-pub fn compute_access(auth: &auth_unix, attr: &fattr3, requested: u32) -> u32 {
- let mut result = 0u32;
- let is_dir = matches!(attr.ftype, super::nfs::ftype3::NF3DIR);
-
- // ACCESS3_READ - read file data or directory contents
- if (requested & ACCESS3_READ) != 0 && can_read(auth, attr) {
- result |= ACCESS3_READ;
- }
-
- // ACCESS3_LOOKUP - search directory (execute permission on directories)
- if (requested & ACCESS3_LOOKUP) != 0 && is_dir && can_execute(auth, attr) {
- result |= ACCESS3_LOOKUP;
- }
-
- // ACCESS3_MODIFY - alter existing data (write permission)
- if (requested & ACCESS3_MODIFY) != 0 && can_write(auth, attr) {
- result |= ACCESS3_MODIFY;
- }
-
- // ACCESS3_EXTEND - add new data (write permission)
- if (requested & ACCESS3_EXTEND) != 0 && can_write(auth, attr) {
- result |= ACCESS3_EXTEND;
- }
-
- // ACCESS3_DELETE - for non-directory files, always 0 (per RFC 1813)
- // For directories, this would need to check parent directory permissions
- // which is handled at the operation level, not here
- if (requested & ACCESS3_DELETE) != 0 {
- // DELETE permission is checked at operation time against the parent directory
- // For the ACCESS procedure, we return 0 for files (per UNIX semantics)
- // and the directory's write permission for directories
- if is_dir && can_write(auth, attr) {
- result |= ACCESS3_DELETE;
- }
- }
-
- // ACCESS3_EXECUTE - execute files (not directories)
- if (requested & ACCESS3_EXECUTE) != 0 && !is_dir && can_execute(auth, attr) {
- result |= ACCESS3_EXECUTE;
- }
-
- result
-}
-
-/// Check if caller has permission to modify a directory (create, remove, rename entries).
-/// This requires write AND execute permission on the directory.
-pub fn can_modify_directory(auth: &auth_unix, dir_attr: &fattr3) -> bool {
- can_write(auth, dir_attr) && can_execute(auth, dir_attr)
-}
-
-/// Check if caller can delete/rename an entry in a directory.
-/// When the directory has the sticky bit set, only root, the directory
-/// owner, or the file owner can delete/rename entries.
-pub fn can_delete_entry(auth: &auth_unix, dir_attr: &fattr3, entry_attr: &fattr3) -> bool {
- if !can_modify_directory(auth, dir_attr) {
- return false;
- }
- if (dir_attr.mode & S_ISVTX) == 0 {
- return true;
- }
- auth.uid == 0 || auth.uid == dir_attr.uid || auth.uid == entry_attr.uid
-}
-
-/// Check if caller is the owner of the file (or root).
-/// Used for operations like chmod that require ownership.
-pub fn is_owner(auth: &auth_unix, attr: &fattr3) -> bool {
- auth.uid == 0 || auth.uid == attr.uid
-}
-
-#[cfg(test)]
-mod tests {
- use super::*;
- use crate::nfsserve::nfs::{ftype3, nfstime3, specdata3};
-
- fn make_auth(uid: u32, gid: u32, gids: Vec) -> auth_unix {
- auth_unix {
- stamp: 0,
- machinename: Vec::new(),
- uid,
- gid,
- gids,
- }
- }
-
- fn make_attr(mode: u32, uid: u32, gid: u32, ftype: ftype3) -> fattr3 {
- fattr3 {
- ftype,
- mode,
- nlink: 1,
- uid,
- gid,
- size: 0,
- used: 0,
- rdev: specdata3::default(),
- fsid: 0,
- fileid: 1,
- atime: nfstime3::default(),
- mtime: nfstime3::default(),
- ctime: nfstime3::default(),
- }
- }
-
- #[test]
- fn test_root_always_allowed() {
- let auth = make_auth(0, 0, vec![]);
- let attr = make_attr(0o000, 1000, 1000, ftype3::NF3REG);
- assert!(can_read(&auth, &attr));
- assert!(can_write(&auth, &attr));
- assert!(can_execute(&auth, &attr));
- }
-
- #[test]
- fn test_owner_permissions() {
- let auth = make_auth(1000, 1000, vec![]);
-
- // Owner read only
- let attr = make_attr(0o400, 1000, 2000, ftype3::NF3REG);
- assert!(can_read(&auth, &attr));
- assert!(!can_write(&auth, &attr));
- assert!(!can_execute(&auth, &attr));
-
- // Owner write only
- let attr = make_attr(0o200, 1000, 2000, ftype3::NF3REG);
- assert!(!can_read(&auth, &attr));
- assert!(can_write(&auth, &attr));
- assert!(!can_execute(&auth, &attr));
-
- // Owner execute only
- let attr = make_attr(0o100, 1000, 2000, ftype3::NF3REG);
- assert!(!can_read(&auth, &attr));
- assert!(!can_write(&auth, &attr));
- assert!(can_execute(&auth, &attr));
- }
-
- #[test]
- fn test_group_permissions() {
- let auth = make_auth(1000, 2000, vec![]);
-
- // Group read only
- let attr = make_attr(0o040, 3000, 2000, ftype3::NF3REG);
- assert!(can_read(&auth, &attr));
- assert!(!can_write(&auth, &attr));
-
- // Group write only
- let attr = make_attr(0o020, 3000, 2000, ftype3::NF3REG);
- assert!(!can_read(&auth, &attr));
- assert!(can_write(&auth, &attr));
- }
-
- #[test]
- fn test_auxiliary_group() {
- let auth = make_auth(1000, 1000, vec![2000, 3000]);
-
- // User not owner, but in aux group
- let attr = make_attr(0o040, 9999, 2000, ftype3::NF3REG);
- assert!(can_read(&auth, &attr));
-
- let attr = make_attr(0o040, 9999, 3000, ftype3::NF3REG);
- assert!(can_read(&auth, &attr));
- }
-
- #[test]
- fn test_other_permissions() {
- let auth = make_auth(1000, 1000, vec![]);
-
- // Other read only
- let attr = make_attr(0o004, 2000, 2000, ftype3::NF3REG);
- assert!(can_read(&auth, &attr));
- assert!(!can_write(&auth, &attr));
-
- // Other write only
- let attr = make_attr(0o002, 2000, 2000, ftype3::NF3REG);
- assert!(!can_read(&auth, &attr));
- assert!(can_write(&auth, &attr));
- }
-
- #[test]
- fn test_access_computation() {
- let auth = make_auth(1000, 1000, vec![]);
-
- // Regular file with rwx for owner
- let attr = make_attr(0o700, 1000, 1000, ftype3::NF3REG);
- let access = compute_access(&auth, &attr, 0x3f);
- assert!((access & ACCESS3_READ) != 0);
- assert!((access & ACCESS3_MODIFY) != 0);
- assert!((access & ACCESS3_EXTEND) != 0);
- assert!((access & ACCESS3_EXECUTE) != 0);
- // LOOKUP only for directories
- assert!((access & ACCESS3_LOOKUP) == 0);
-
- // Directory with rwx for owner
- let attr = make_attr(0o700, 1000, 1000, ftype3::NF3DIR);
- let access = compute_access(&auth, &attr, 0x3f);
- assert!((access & ACCESS3_READ) != 0);
- assert!((access & ACCESS3_LOOKUP) != 0);
- assert!((access & ACCESS3_MODIFY) != 0);
- assert!((access & ACCESS3_EXTEND) != 0);
- assert!((access & ACCESS3_DELETE) != 0);
- // EXECUTE only for files
- assert!((access & ACCESS3_EXECUTE) == 0);
- }
-}
diff --git a/cli/src/nfsserve/rpcwire.rs b/cli/src/nfsserve/rpcwire.rs
deleted file mode 100644
index cda05e93..00000000
--- a/cli/src/nfsserve/rpcwire.rs
+++ /dev/null
@@ -1,218 +0,0 @@
-use anyhow::anyhow;
-use std::io::Cursor;
-use std::io::{Read, Write};
-use tracing::{debug, error, trace, warn};
-
-use super::context::RPCContext;
-use super::rpc::*;
-use super::xdr::*;
-
-use super::mount;
-use super::mount_handlers;
-
-use super::nfs;
-use super::nfs_handlers;
-
-use super::portmap;
-use super::portmap_handlers;
-use tokio::io::AsyncReadExt;
-use tokio::io::AsyncWriteExt;
-use tokio::io::DuplexStream;
-use tokio::sync::mpsc;
-
-// Information from RFC 5531
-// https://datatracker.ietf.org/doc/html/rfc5531
-
-const NFS_ACL_PROGRAM: u32 = 100227;
-const NFS_ID_MAP_PROGRAM: u32 = 100270;
-const NFS_METADATA_PROGRAM: u32 = 200024;
-
-async fn handle_rpc(
- input: &mut impl Read,
- output: &mut impl Write,
- mut context: RPCContext,
-) -> Result {
- let mut recv = rpc_msg::default();
- recv.deserialize(input)?;
- let xid = recv.xid;
- if let rpc_body::CALL(call) = recv.body {
- if let auth_flavor::AUTH_UNIX = call.cred.flavor {
- let mut auth = auth_unix::default();
- auth.deserialize(&mut Cursor::new(&call.cred.body))?;
- context.auth = auth;
- }
- if call.rpcvers != 2 {
- warn!("Invalid RPC version {} != 2", call.rpcvers);
- rpc_vers_mismatch(xid).serialize(output)?;
- return Ok(true);
- }
-
- if context
- .transaction_tracker
- .is_retransmission(xid, &context.client_addr)
- {
- // This is a retransmission
- // Drop the message and return
- debug!(
- "Retransmission detected, xid: {}, client_addr: {}, call: {:?}",
- xid, context.client_addr, call
- );
- return Ok(false);
- }
-
- let res = {
- if call.prog == nfs::PROGRAM {
- nfs_handlers::handle_nfs(xid, call, input, output, &context).await
- } else if call.prog == portmap::PROGRAM {
- portmap_handlers::handle_portmap(xid, call, input, output, &context)
- } else if call.prog == mount::PROGRAM {
- mount_handlers::handle_mount(xid, call, input, output, &context).await
- } else if call.prog == NFS_ACL_PROGRAM
- || call.prog == NFS_ID_MAP_PROGRAM
- || call.prog == NFS_METADATA_PROGRAM
- {
- trace!("ignoring NFS_ACL packet");
- prog_unavail_reply_message(xid).serialize(output)?;
- Ok(())
- } else {
- warn!(
- "Unknown RPC Program number {} != {}",
- call.prog,
- nfs::PROGRAM
- );
- prog_unavail_reply_message(xid).serialize(output)?;
- Ok(())
- }
- }
- .map(|_| true);
- context
- .transaction_tracker
- .mark_processed(xid, &context.client_addr);
- res
- } else {
- error!("Unexpectedly received a Reply instead of a Call");
- Err(anyhow!("Bad RPC Call format"))
- }
-}
-
-/// RFC 1057 Section 10
-/// When RPC messages are passed on top of a byte stream transport
-/// protocol (like TCP), it is necessary to delimit one message from
-/// another in order to detect and possibly recover from protocol errors.
-/// This is called record marking (RM). Sun uses this RM/TCP/IP
-/// transport for passing RPC messages on TCP streams. One RPC message
-/// fits into one RM record.
-///
-/// A record is composed of one or more record fragments. A record
-/// fragment is a four-byte header followed by 0 to (2**31) - 1 bytes of
-/// fragment data. The bytes encode an unsigned binary number; as with
-/// XDR integers, the byte order is from highest to lowest. The number
-/// encodes two values -- a boolean which indicates whether the fragment
-/// is the last fragment of the record (bit value 1 implies the fragment
-/// is the last fragment) and a 31-bit unsigned binary value which is the
-/// length in bytes of the fragment's data. The boolean value is the
-/// highest-order bit of the header; the length is the 31 low-order bits.
-/// (Note that this record specification is NOT in XDR standard form!)
-async fn read_fragment(
- socket: &mut DuplexStream,
- append_to: &mut Vec,
-) -> Result {
- let mut header_buf = [0_u8; 4];
- socket.read_exact(&mut header_buf).await?;
- let fragment_header = u32::from_be_bytes(header_buf);
- let is_last = (fragment_header & (1 << 31)) > 0;
- let length = (fragment_header & ((1 << 31) - 1)) as usize;
- trace!("Reading fragment length:{}, last:{}", length, is_last);
- let start_offset = append_to.len();
- append_to.resize(append_to.len() + length, 0);
- socket.read_exact(&mut append_to[start_offset..]).await?;
- trace!(
- "Finishing Reading fragment length:{}, last:{}",
- length,
- is_last
- );
- Ok(is_last)
-}
-
-pub async fn write_fragment(
- socket: &mut tokio::net::TcpStream,
- buf: &[u8],
-) -> Result<(), anyhow::Error> {
- // TODO: split into many fragments
- assert!(buf.len() < (1 << 31));
- // set the last flag
- let fragment_header = buf.len() as u32 + (1 << 31);
- let header_buf = u32::to_be_bytes(fragment_header);
- socket.write_all(&header_buf).await?;
- trace!("Writing fragment length:{}", buf.len());
- socket.write_all(buf).await?;
- Ok(())
-}
-
-pub type SocketMessageType = Result, anyhow::Error>;
-
-/// The Socket Message Handler reads from a TcpStream and spawns off
-/// subtasks to handle each message. replies are queued into the
-/// reply_send_channel.
-#[derive(Debug)]
-pub struct SocketMessageHandler {
- cur_fragment: Vec,
- socket_receive_channel: DuplexStream,
- reply_send_channel: mpsc::UnboundedSender,
- context: RPCContext,
-}
-
-impl SocketMessageHandler {
- /// Creates a new SocketMessageHandler with the receiver for queued message replies
- pub fn new(
- context: &RPCContext,
- ) -> (
- Self,
- DuplexStream,
- mpsc::UnboundedReceiver,
- ) {
- let (socksend, sockrecv) = tokio::io::duplex(256000);
- let (msgsend, msgrecv) = mpsc::unbounded_channel();
- (
- Self {
- cur_fragment: Vec::new(),
- socket_receive_channel: sockrecv,
- reply_send_channel: msgsend,
- context: context.clone(),
- },
- socksend,
- msgrecv,
- )
- }
-
- /// Reads a fragment from the socket. This should be looped.
- pub async fn read(&mut self) -> Result<(), anyhow::Error> {
- let is_last =
- read_fragment(&mut self.socket_receive_channel, &mut self.cur_fragment).await?;
- if is_last {
- let fragment = std::mem::take(&mut self.cur_fragment);
- let context = self.context.clone();
- let send = self.reply_send_channel.clone();
- tokio::spawn(async move {
- let mut write_buf: Vec = Vec::new();
- let mut write_cursor = Cursor::new(&mut write_buf);
- let maybe_reply =
- handle_rpc(&mut Cursor::new(fragment), &mut write_cursor, context).await;
- match maybe_reply {
- Err(e) => {
- error!("RPC Error: {:?}", e);
- let _ = send.send(Err(e));
- }
- Ok(true) => {
- let _ = std::io::Write::flush(&mut write_cursor);
- let _ = send.send(Ok(write_buf));
- }
- Ok(false) => {
- // do not reply
- }
- }
- });
- }
- Ok(())
- }
-}
diff --git a/cli/src/nfsserve/tcp.rs b/cli/src/nfsserve/tcp.rs
deleted file mode 100644
index fe27810b..00000000
--- a/cli/src/nfsserve/tcp.rs
+++ /dev/null
@@ -1,232 +0,0 @@
-use super::context::RPCContext;
-use super::rpcwire::*;
-use super::transaction_tracker::TransactionTracker;
-use super::vfs::NFSFileSystem;
-use anyhow;
-use async_trait::async_trait;
-use std::net::SocketAddr;
-use std::sync::Arc;
-use std::time::Duration;
-use std::{io, net::IpAddr};
-use tokio::io::AsyncWriteExt;
-use tokio::net::TcpListener;
-use tokio::sync::mpsc;
-use tracing::{debug, error};
-
-/// A NFS Tcp Connection Handler
-pub struct NFSTcpListener {
- listener: TcpListener,
- port: u16,
- arcfs: Arc,
- mount_signal: Option>,
- export_name: Arc,
- transaction_tracker: Arc,
-}
-
-pub fn generate_host_ip(hostnum: u16) -> String {
- format!(
- "127.88.{}.{}",
- ((hostnum >> 8) & 0xFF) as u8,
- (hostnum & 0xFF) as u8
- )
-}
-
-/// processes an established socket
-async fn process_socket(
- mut socket: tokio::net::TcpStream,
- context: RPCContext,
-) -> Result<(), anyhow::Error> {
- let (mut message_handler, mut socksend, mut msgrecvchan) = SocketMessageHandler::new(&context);
- let _ = socket.set_nodelay(true);
-
- tokio::spawn(async move {
- loop {
- if let Err(e) = message_handler.read().await {
- debug!("Message loop broken due to {:?}", e);
- break;
- }
- }
- });
- loop {
- tokio::select! {
- _ = socket.readable() => {
- let mut buf = [0; 128000];
-
- match socket.try_read(&mut buf) {
- Ok(0) => {
- return Ok(());
- }
- Ok(n) => {
- let _ = socksend.write_all(&buf[..n]).await;
- }
- Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => {
- continue;
- }
- Err(e) => {
- debug!("Message handling closed : {:?}", e);
- return Err(e.into());
- }
- }
-
- },
- reply = msgrecvchan.recv() => {
- match reply {
- Some(Err(e)) => {
- debug!("Message handling closed : {:?}", e);
- return Err(e);
- }
- Some(Ok(msg)) => {
- if let Err(e) = write_fragment(&mut socket, &msg).await {
- error!("Write error {:?}", e);
- }
- }
- None => {
- return Err(anyhow::anyhow!("Unexpected socket context termination"));
- }
- }
- }
- }
- }
-}
-
-#[async_trait]
-pub trait NFSTcp: Send + Sync {
- /// Gets the true listening port. Useful if the bound port number is 0
- fn get_listen_port(&self) -> u16;
-
- /// Gets the true listening IP. Useful on windows when the IP may be random
- fn get_listen_ip(&self) -> IpAddr;
-
- /// Sets a mount listener. A "true" signal will be sent on a mount
- /// and a "false" will be sent on an unmount
- fn set_mount_listener(&mut self, signal: mpsc::Sender);
-
- /// Loops forever and never returns handling all incoming connections.
- async fn handle_forever(&self) -> io::Result<()>;
-}
-
-impl NFSTcpListener {
- /// Binds to a ipstr of the form [ip address]:port. For instance
- /// "127.0.0.1:12000". fs is an instance of an implementation
- /// of NFSFileSystem.
- pub async fn bind(ipstr: &str, fs: T) -> io::Result> {
- let (ip, port) = ipstr.split_once(':').ok_or_else(|| {
- io::Error::new(
- io::ErrorKind::AddrNotAvailable,
- "IP Address must be of form ip:port",
- )
- })?;
- let port = port.parse::().map_err(|_| {
- io::Error::new(
- io::ErrorKind::AddrNotAvailable,
- "Port not in range 0..=65535",
- )
- })?;
-
- let arcfs: Arc = Arc::new(fs);
-
- if ip == "auto" {
- let mut num_tries_left = 32;
-
- for try_ip in 1u16.. {
- let ip = generate_host_ip(try_ip);
-
- let result = NFSTcpListener::bind_internal(&ip, port, arcfs.clone()).await;
-
- match &result {
- Err(_) => {
- if num_tries_left == 0 {
- return result;
- } else {
- num_tries_left -= 1;
- continue;
- }
- }
- Ok(_) => {
- return result;
- }
- }
- }
- unreachable!(); // Does not detect automatically that loop above never terminates.
- } else {
- // Otherwise, try this.
- NFSTcpListener::bind_internal(ip, port, arcfs).await
- }
- }
-
- async fn bind_internal(ip: &str, port: u16, arcfs: Arc) -> io::Result> {
- let ipstr = format!("{ip}:{port}");
- let listener = TcpListener::bind(&ipstr).await?;
- debug!("Listening on {:?}", &ipstr);
-
- let port = match listener.local_addr().unwrap() {
- SocketAddr::V4(s) => s.port(),
- SocketAddr::V6(s) => s.port(),
- };
- Ok(NFSTcpListener {
- listener,
- port,
- arcfs,
- mount_signal: None,
- export_name: Arc::from("/".to_string()),
- transaction_tracker: Arc::new(TransactionTracker::new(Duration::from_secs(60))),
- })
- }
-
- /// Sets an optional NFS export name.
- ///
- /// - `export_name`: The desired export name without slashes.
- ///
- /// Example: Name `foo` results in the export path `/foo`.
- /// Default path is `/` if not set.
- pub fn with_export_name>(&mut self, export_name: S) {
- self.export_name = Arc::new(format!(
- "/{}",
- export_name
- .as_ref()
- .trim_end_matches('/')
- .trim_start_matches('/')
- ))
- }
-}
-
-#[async_trait]
-impl NFSTcp for NFSTcpListener {
- /// Gets the true listening port. Useful if the bound port number is 0
- fn get_listen_port(&self) -> u16 {
- let addr = self.listener.local_addr().unwrap();
- addr.port()
- }
-
- fn get_listen_ip(&self) -> IpAddr {
- let addr = self.listener.local_addr().unwrap();
- addr.ip()
- }
-
- /// Sets a mount listener. A "true" signal will be sent on a mount
- /// and a "false" will be sent on an unmount
- fn set_mount_listener(&mut self, signal: mpsc::Sender) {
- self.mount_signal = Some(signal);
- }
-
- /// Loops forever and never returns handling all incoming connections.
- async fn handle_forever(&self) -> io::Result<()> {
- loop {
- let (socket, _) = self.listener.accept().await?;
- let context = RPCContext {
- local_port: self.port,
- client_addr: socket.peer_addr().unwrap().to_string(),
- auth: super::rpc::auth_unix::default(),
- vfs: self.arcfs.clone(),
- mount_signal: self.mount_signal.clone(),
- export_name: self.export_name.clone(),
- transaction_tracker: self.transaction_tracker.clone(),
- };
- debug!("Accepting connection from {}", context.client_addr);
- debug!("Accepting socket {:?} {:?}", socket, context);
- tokio::spawn(async move {
- let _ = process_socket(socket, context).await;
- });
- }
- }
-}
diff --git a/cli/src/nfsserve/transaction_tracker.rs b/cli/src/nfsserve/transaction_tracker.rs
deleted file mode 100644
index 18326150..00000000
--- a/cli/src/nfsserve/transaction_tracker.rs
+++ /dev/null
@@ -1,63 +0,0 @@
-use std::collections::HashMap;
-use std::sync::Mutex;
-use std::time::{Duration, SystemTime};
-
-/// `TransactionTracker` tracks the state of transactions to detect retransmissions.
-pub struct TransactionTracker {
- retention_period: Duration,
- transactions: Mutex>,
-}
-
-impl TransactionTracker {
- pub fn new(retention_period: Duration) -> Self {
- Self {
- retention_period,
- transactions: Mutex::new(HashMap::new()),
- }
- }
-
- /// Checks if the transaction is a retransmission.
- /// If it's a new transaction, it is marked as `InProgress`.
- ///
- /// Returns `true` if the transaction is a retransmission, `false` otherwise.
- pub fn is_retransmission(&self, xid: u32, client_addr: &str) -> bool {
- let key = (xid, client_addr.to_string());
- let mut transactions = self
- .transactions
- .lock()
- .expect("unable to unlock transactions mutex");
- housekeeping(&mut transactions, self.retention_period);
- if let std::collections::hash_map::Entry::Vacant(e) = transactions.entry(key) {
- e.insert(TransactionState::InProgress);
- false
- } else {
- true
- }
- }
-
- /// Marks the transaction as processed.
- pub fn mark_processed(&self, xid: u32, client_addr: &str) {
- let key = (xid, client_addr.to_string());
- let completion_time = SystemTime::now();
- let mut transactions = self
- .transactions
- .lock()
- .expect("unable to unlock transactions mutex");
- if let Some(tx) = transactions.get_mut(&key) {
- *tx = TransactionState::Completed(completion_time);
- }
- }
-}
-
-fn housekeeping(transactions: &mut HashMap<(u32, String), TransactionState>, max_age: Duration) {
- let mut cutoff = SystemTime::now() - max_age;
- transactions.retain(|_, v| match v {
- TransactionState::InProgress => true,
- TransactionState::Completed(completion_time) => completion_time >= &mut cutoff,
- });
-}
-
-pub enum TransactionState {
- InProgress,
- Completed(SystemTime),
-}
diff --git a/cli/src/sandbox/darwin.rs b/cli/src/sandbox/darwin.rs
deleted file mode 100644
index 2a21a1f6..00000000
--- a/cli/src/sandbox/darwin.rs
+++ /dev/null
@@ -1,287 +0,0 @@
-//! macOS Sandbox sandbox support for AgentFS.
-//!
-//! This module provides kernel-enforced sandboxing using macOS's sandbox-exec
-//! with dynamically generated Sandbox profiles. When enabled, the spawned
-//! process can only access the NFS mountpoint and explicitly allowed paths.
-//!
-//! # Example
-//!
-//! ```ignore
-//! let config = SandboxConfig {
-//! mountpoint: PathBuf::from("/Users/me/.agentfs/run/abc/mnt"),
-//! allow_paths: vec![PathBuf::from("/tmp")],
-//! allow_network: false,
-//! session_id: "abc123".to_string(),
-//! };
-//! let profile = generate_sandbox_profile(&config);
-//! let wrapped = wrap_command_with_sandbox(&config, "zsh", &[]);
-//! ```
-
-use std::path::{Path, PathBuf};
-use std::process::Command;
-
-/// Configuration for the Sandbox sandbox.
-#[derive(Debug, Clone)]
-pub struct SandboxConfig {
- /// The NFS mountpoint (primary read/write location).
- pub mountpoint: PathBuf,
-
- /// Additional paths to allow read/write access.
- pub allow_paths: Vec,
-
- /// Additional paths to allow read-only access.
- pub allow_read_paths: Vec,
-
- /// Whether to allow network access.
- pub allow_network: bool,
-
- /// Session ID for log filtering (used in violation messages).
- pub session_id: String,
-}
-
-impl Default for SandboxConfig {
- fn default() -> Self {
- Self {
- mountpoint: PathBuf::new(),
- allow_paths: Vec::new(),
- allow_read_paths: Vec::new(),
- allow_network: false,
- session_id: String::new(),
- }
- }
-}
-
-/// Generate a Sandbox profile for AgentFS.
-///
-/// The profile allows most operations but restricts file writes to:
-/// - The NFS mountpoint (which overlays CWD)
-/// - Temp directories (/tmp, /var/folders)
-/// - Explicitly allowed paths (e.g., ~/.claude, ~/.config, etc.)
-///
-/// This approach is simpler and more reliable than trying to enumerate
-/// all paths a process might need to read.
-pub fn generate_sandbox_profile(config: &SandboxConfig) -> String {
- let mut profile = Vec::new();
- let log_tag = format!("agentfs-{}", config.session_id);
-
- // Version and deny by default for file writes
- profile.push("(version 1)".to_string());
- profile.push(format!(
- r#"(deny default (with message "agentfs-{}: write denied"))"#,
- config.session_id
- ));
- profile.push(format!("; Log tag: {}", log_tag));
-
- // =========================================================================
- // Allow most operations - we only want to restrict file writes
- // =========================================================================
- profile.push("; Allow most operations".to_string());
- profile.push("(allow process*)".to_string());
- profile.push("(allow signal)".to_string());
- profile.push("(allow mach*)".to_string());
- profile.push("(allow sysctl*)".to_string());
- profile.push("(allow system*)".to_string());
- profile.push("(allow ipc*)".to_string());
- profile.push("(allow pseudo-tty)".to_string());
-
- // =========================================================================
- // Allow all file reads - the overlay handles copy-on-write
- // =========================================================================
- profile.push("; Allow all file reads".to_string());
- profile.push("(allow file-read*)".to_string());
-
- // =========================================================================
- // Writable paths - these are the only places writes are allowed
- // =========================================================================
- profile.push("; Writable paths".to_string());
-
- // The NFS mountpoint - primary workspace (overlays CWD)
- let mountpoint_str = config.mountpoint.to_string_lossy();
- profile.push(format!(
- r#"(allow file-write* (subpath "{}"))"#,
- mountpoint_str
- ));
-
- // The run directory (for zsh config, etc.)
- if let Some(parent) = config.mountpoint.parent() {
- let run_dir_str = parent.to_string_lossy();
- profile.push(format!(
- r#"(allow file-write* (subpath "{}"))"#,
- run_dir_str
- ));
- }
-
- // Temp directories (many tools require these)
- profile.push(r#"(allow file-write* (subpath "/private/tmp"))"#.to_string());
- profile.push(r#"(allow file-write* (subpath "/tmp"))"#.to_string());
- profile.push(r#"(allow file-write* (subpath "/var/tmp"))"#.to_string());
-
- // Private var folders (per-user temp space)
- profile.push(r#"(allow file-write* (subpath "/private/var/folders"))"#.to_string());
-
- // Device files (terminals, etc.)
- profile.push(r#"(allow file-write* (subpath "/dev"))"#.to_string());
- profile.push(r#"(allow file-ioctl (subpath "/dev"))"#.to_string());
-
- // Additional writable paths from config
- for path in &config.allow_paths {
- let path_str = path.to_string_lossy();
- profile.push(format!(r#"(allow file-write* (subpath "{}"))"#, path_str));
- }
-
- // =========================================================================
- // Network access
- // =========================================================================
- profile.push("; Network".to_string());
- if config.allow_network {
- profile.push("(allow network*)".to_string());
- } else {
- // Only allow localhost for NFS
- profile.push(r#"(allow network* (remote ip "localhost:*"))"#.to_string());
- profile.push(r#"(allow network* (local ip "localhost:*"))"#.to_string());
- }
-
- // =========================================================================
- // Security and Keychain - needed for credential storage
- // =========================================================================
- profile.push("; Security and Keychain".to_string());
- profile.push(r#"(allow file-write* (subpath "/private/var/db/mds"))"#.to_string());
- profile.push(
- r#"(allow file-write* (regex #"^/private/var/folders/[^/]+/[^/]+/C/mds/"))"#.to_string(),
- );
- profile
- .push(r#"(allow file-write* (regex #"^/private/var/folders/[^/]+/[^/]+/T/"))"#.to_string());
- // User Library paths for Keychain and security services
- if let Some(home) = dirs::home_dir() {
- let home_str = home.to_string_lossy();
- profile.push(format!(
- r#"(allow file-write* (subpath "{}/Library"))"#,
- home_str
- ));
- }
- // System Library for preferences
- profile.push(r#"(allow file-write* (subpath "/Library/Preferences"))"#.to_string());
- profile.push(r#"(allow file-write* (subpath "/Library/Keychains"))"#.to_string());
- // Authorization and user preference operations
- profile.push("(allow authorization-right-obtain)".to_string());
- profile.push("(allow user-preference-write)".to_string());
- profile.push("(allow user-preference-read)".to_string());
-
- profile.join("\n")
-}
-
-/// Wrap a command with sandbox-exec.
-///
-/// Returns a Command configured to run the given program inside the sandbox.
-pub fn wrap_command_with_sandbox(
- config: &SandboxConfig,
- program: &Path,
- args: &[String],
-) -> Command {
- let profile = generate_sandbox_profile(config);
-
- let mut cmd = Command::new("sandbox-exec");
- cmd.arg("-p").arg(&profile);
- cmd.arg(program);
- cmd.args(args);
- cmd.current_dir(&config.mountpoint);
-
- // Set environment variables
- cmd.env("AGENTFS", "1");
- cmd.env("AGENTFS_SANDBOX", "macos-sandbox");
-
- cmd
-}
-
-/// Generate a minimal Sandbox profile for testing.
-///
-/// This profile is more permissive and useful for debugging sandbox issues.
-pub fn generate_permissive_profile(config: &SandboxConfig) -> String {
- let mut profile = Vec::new();
- let log_tag = format!("agentfs-{}", config.session_id);
-
- profile.push("(version 1)".to_string());
-
- // Log denials but don't block most things
- profile.push(format!("(deny default (with message \"{}\")))", log_tag));
-
- // Allow almost everything for debugging
- profile.push("(allow process*)".to_string());
- profile.push("(allow file-read*)".to_string());
- profile.push("(allow mach*)".to_string());
- profile.push("(allow sysctl*)".to_string());
- profile.push("(allow signal)".to_string());
- profile.push("(allow ipc*)".to_string());
- profile.push("(allow pseudo-tty)".to_string());
- profile.push("(allow system*)".to_string());
-
- // Only restrict writes to outside mountpoint
- let mountpoint_str = config.mountpoint.to_string_lossy();
- profile.push(format!(
- r#"(allow file-write* (subpath "{}"))"#,
- mountpoint_str
- ));
- profile.push(r#"(allow file-write* (subpath "/private/tmp"))"#.to_string());
- profile.push(r#"(allow file-write* (subpath "/tmp"))"#.to_string());
- profile.push(r#"(allow file-write* (subpath "/private/var/folders"))"#.to_string());
-
- // Network
- if config.allow_network {
- profile.push("(allow network*)".to_string());
- } else {
- profile.push("(allow network* (remote ip \"localhost:*\"))".to_string());
- profile.push("(allow network* (local ip \"localhost:*\"))".to_string());
- }
-
- profile.join("\n")
-}
-
-#[cfg(test)]
-mod tests {
- use super::*;
-
- #[test]
- fn test_generate_profile() {
- let config = SandboxConfig {
- mountpoint: PathBuf::from("/Users/test/.agentfs/run/abc/mnt"),
- allow_paths: vec![],
- allow_read_paths: vec![],
- allow_network: false,
- session_id: "test123".to_string(),
- };
-
- let profile = generate_sandbox_profile(&config);
-
- assert!(profile.contains("(version 1)"));
- assert!(profile.contains("(deny default"));
- assert!(profile.contains("agentfs-test123: write denied"));
- assert!(profile.contains("/Users/test/.agentfs/run/abc/mnt"));
- }
-
- #[test]
- fn test_profile_with_network() {
- let config = SandboxConfig {
- mountpoint: PathBuf::from("/mnt"),
- allow_network: true,
- ..Default::default()
- };
-
- let profile = generate_sandbox_profile(&config);
- assert!(profile.contains("(allow network*)"));
- }
-
- #[test]
- fn test_profile_with_custom_paths() {
- let config = SandboxConfig {
- mountpoint: PathBuf::from("/mnt"),
- allow_paths: vec![PathBuf::from("/custom/writable")],
- allow_read_paths: vec![PathBuf::from("/custom/readonly")],
- ..Default::default()
- };
-
- let profile = generate_sandbox_profile(&config);
- // Writable paths should be included
- assert!(profile.contains("/custom/writable"));
- // Note: allow_read_paths is not used since we allow all reads by default
- }
-}
diff --git a/cli/src/sandbox/linux_ptrace.rs b/cli/src/sandbox/linux_ptrace.rs
deleted file mode 100644
index 5eb32ca6..00000000
--- a/cli/src/sandbox/linux_ptrace.rs
+++ /dev/null
@@ -1,50 +0,0 @@
-//! Ptrace-based sandbox implementation using reverie.
-//!
-//! This module provides syscall interception via ptrace for filesystem
-//! virtualization. This is experimental and requires root or CAP_SYS_PTRACE.
-
-use agentfs_sandbox::{
- init_fd_tables, init_mount_table, init_strace, MountTable, Sandbox, SqliteVfs,
-};
-use reverie_process::Command;
-use reverie_ptrace::TracerBuilder;
-use std::{path::PathBuf, sync::Arc};
-
-/// Run a command using the experimental ptrace-based syscall interception sandbox.
-pub async fn run_cmd(strace: bool, command: PathBuf, args: Vec) {
- eprintln!("Welcome to AgentFS!");
- eprintln!();
-
- let mut mount_table = MountTable::new();
-
- // Default mount: agent.db at /agent
- let db_path = PathBuf::from("agent.db");
- let mount_point = PathBuf::from("/agent");
-
- eprintln!("The following mount points are sandboxed:");
- eprintln!(
- " - {} -> {} (agentfs)",
- mount_point.display(),
- db_path.display()
- );
- eprintln!();
-
- let vfs = SqliteVfs::new(&db_path, mount_point.clone())
- .await
- .expect("Failed to create AgentFS VFS");
- mount_table.add_mount(mount_point, Arc::new(vfs));
-
- init_mount_table(mount_table);
- init_fd_tables();
- init_strace(strace);
-
- let mut cmd = Command::new(command);
- for arg in args {
- cmd.arg(arg);
- }
-
- let tracer = TracerBuilder::::new(cmd).spawn().await.unwrap();
-
- let (status, _) = tracer.wait().await.unwrap();
- status.raise_or_exit()
-}
diff --git a/cli/src/sandbox/mod.rs b/cli/src/sandbox/mod.rs
deleted file mode 100644
index a648265f..00000000
--- a/cli/src/sandbox/mod.rs
+++ /dev/null
@@ -1,58 +0,0 @@
-//! Sandbox implementations for running commands in isolated environments.
-//!
-//! This module provides platform-specific sandbox approaches:
-//! - `linux`: FUSE + namespace-based sandbox with copy-on-write filesystem
-//! - `linux_ptrace`: ptrace-based syscall interception sandbox (experimental)
-//! - `darwin`: Kernel-enforced sandbox using sandbox-exec
-
-use std::collections::BTreeMap;
-use std::path::PathBuf;
-
-#[cfg(all(target_os = "linux", feature = "sandbox"))]
-pub mod linux;
-
-#[cfg(all(target_os = "linux", feature = "sandbox"))]
-pub mod linux_ptrace;
-
-#[cfg(all(target_os = "macos", feature = "sandbox"))]
-pub mod darwin;
-
-/// Group paths by parent directory and format using brace expansion.
-///
-/// For example, given paths:
-/// - /home/user/.claude
-/// - /home/user/.claude.json
-/// - /home/user/.codex
-/// - /home/user/.npm
-///
-/// Returns: `["/home/user/{.claude, .claude.json, .codex, .npm}"]`
-pub fn group_paths_by_parent(paths: &[PathBuf]) -> Vec {
- let mut groups: BTreeMap> = BTreeMap::new();
-
- for path in paths {
- let (parent, name) = match (path.parent(), path.file_name()) {
- (Some(parent), Some(name)) => {
- (parent.to_path_buf(), name.to_string_lossy().to_string())
- }
- _ => (PathBuf::new(), path.display().to_string()),
- };
- groups.entry(parent).or_default().push(name);
- }
-
- groups
- .into_iter()
- .map(|(parent, mut names)| {
- names.sort();
- let parent_str = parent.display().to_string();
- if names.len() == 1 {
- if parent_str.is_empty() {
- names.remove(0)
- } else {
- format!("{}/{}", parent_str, names[0])
- }
- } else {
- format!("{}/{{{}}}", parent_str, names.join(", "))
- }
- })
- .collect()
-}
diff --git a/cli/tests/all.sh b/cli/tests/all.sh
deleted file mode 100755
index 3acff734..00000000
--- a/cli/tests/all.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/sh
-set -e
-
-DIR="$(dirname "$0")"
-
-"$DIR/test-init.sh"
-
-# Syscall tests in three configurations:
-# 1. Linux baseline - establishes expected behavior
-"$DIR/test-linux-syscalls.sh"
-
-# 2. ptrace-based sandbox (--experimental-sandbox)
-# TODO: The test cases don't currently pass with ptrace-based virtualization
-# because of compatibility issues.
-# "$DIR/test-run-experimental-syscalls.sh"
-
-# 3. FUSE overlay (agentfs run) - tests copy-on-write
-"$DIR/test-run-syscalls.sh" || true # Requires user namespaces (may fail in CI)
-
-"$DIR/test-run-bash.sh" || true # Requires user namespaces (may fail in CI)
-"$DIR/test-run-git.sh" || true # Requires user namespaces (may fail in CI)
-# Short corruption/concurrency smoke; the test prints SKIP and exits 0 if
-# Linux user namespace/FUSE prerequisites are unavailable.
-CORRUPTION_TORTURE_WORKERS="${CORRUPTION_TORTURE_WORKERS:-2}" \
-CORRUPTION_TORTURE_ITERATIONS="${CORRUPTION_TORTURE_ITERATIONS:-2}" \
-CORRUPTION_TORTURE_TIMEOUT="${CORRUPTION_TORTURE_TIMEOUT:-60}" \
-CORRUPTION_TORTURE_INTEGRITY_INTERVAL="${CORRUPTION_TORTURE_INTEGRITY_INTERVAL:-1}" \
-"$DIR/test-corruption-torture.sh"
-"$DIR/test-mount.sh"
-"$DIR/test-overlay-whiteout.sh"
-"$DIR/test-overlay-delta-in-base-dir.sh"
-"$DIR/test-fuse-cache-invalidation.sh"
-"$DIR/test-symlinks.sh" || true # Requires user namespaces (may fail in CI)
diff --git a/cli/tests/test-fuse-cache-invalidation.sh b/cli/tests/test-fuse-cache-invalidation.sh
deleted file mode 100755
index 6fff505d..00000000
--- a/cli/tests/test-fuse-cache-invalidation.sh
+++ /dev/null
@@ -1,255 +0,0 @@
-#!/bin/sh
-#
-# Test that FUSE kernel cache is properly invalidated after mutations.
-#
-# After readdirplus populates the dcache, unlink/rmdir/rename must
-# invalidate the affected entries so subsequent readdir sees the change.
-#
-set -e
-
-echo -n "TEST fuse cache invalidation after mutations... "
-
-TEST_AGENT_ID="test-fuse-cache-inval-agent"
-MOUNTPOINT="/tmp/agentfs-test-cache-inval-$$"
-
-cleanup() {
- # Unmount if mounted
- fusermount -u "$MOUNTPOINT" 2>/dev/null || true
- # Wait for FUSE process to exit after unmount
- [ -n "$MOUNT_PID" ] && wait $MOUNT_PID 2>/dev/null || true
- # Remove mountpoint
- rmdir "$MOUNTPOINT" 2>/dev/null || true
- # Remove test database
- rm -f ".agentfs/${TEST_AGENT_ID}.db" ".agentfs/${TEST_AGENT_ID}.db-shm" ".agentfs/${TEST_AGENT_ID}.db-wal"
-}
-
-# Ensure cleanup on exit
-trap cleanup EXIT
-
-# Clean up any existing test artifacts
-cleanup
-
-# Initialize the database
-cargo run -- init "$TEST_AGENT_ID" > /dev/null 2>&1
-
-# Create mountpoint
-mkdir -p "$MOUNTPOINT"
-
-# Mount in foreground mode (background it ourselves so we can control it)
-cargo run -- mount ".agentfs/${TEST_AGENT_ID}.db" "$MOUNTPOINT" --foreground &
-MOUNT_PID=$!
-
-# Wait for mount to be ready
-MAX_WAIT=10
-WAITED=0
-while [ $WAITED -lt $MAX_WAIT ]; do
- if mountpoint -q "$MOUNTPOINT" 2>/dev/null; then
- break
- fi
- sleep 0.5
- WAITED=$((WAITED + 1))
-done
-
-if ! mountpoint -q "$MOUNTPOINT" 2>/dev/null; then
- echo "FAILED: mount did not become ready in time"
- kill $MOUNT_PID 2>/dev/null || true
- wait $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Test 1: unlink should not leave stale entries in readdir
-# Populate the directory with files
-echo "content1" > "$MOUNTPOINT/file1.txt"
-echo "content2" > "$MOUNTPOINT/file2.txt"
-echo "content3" > "$MOUNTPOINT/file3.txt"
-
-# Prime the kernel dcache via stat + ls (readdirplus populates entries)
-ls -la "$MOUNTPOINT" > /dev/null
-stat "$MOUNTPOINT/file1.txt" > /dev/null 2>&1
-stat "$MOUNTPOINT/file2.txt" > /dev/null 2>&1
-stat "$MOUNTPOINT/file3.txt" > /dev/null 2>&1
-ls -la "$MOUNTPOINT" > /dev/null
-
-# Delete file1 and verify readdir no longer shows it
-rm "$MOUNTPOINT/file1.txt"
-
-LS_OUTPUT=$(ls "$MOUNTPOINT")
-if echo "$LS_OUTPUT" | grep -q "file1.txt"; then
- echo "FAILED: readdir still shows file1.txt after unlink"
- echo "ls output was: $LS_OUTPUT"
- kill $MOUNT_PID 2>/dev/null || true
- wait $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-if ! echo "$LS_OUTPUT" | grep -q "file2.txt"; then
- echo "FAILED: file2.txt disappeared"
- kill $MOUNT_PID 2>/dev/null || true
- wait $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-if stat "$MOUNTPOINT/file1.txt" > /dev/null 2>&1; then
- echo "FAILED: stat still resolves file1.txt after unlink"
- kill $MOUNT_PID 2>/dev/null || true
- wait $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Test 2: rmdir should not leave stale entries in readdir
-mkdir "$MOUNTPOINT/subdir"
-ls -la "$MOUNTPOINT" > /dev/null
-stat "$MOUNTPOINT/subdir" > /dev/null 2>&1
-ls -la "$MOUNTPOINT" > /dev/null
-
-rmdir "$MOUNTPOINT/subdir"
-
-LS_OUTPUT=$(ls "$MOUNTPOINT")
-if echo "$LS_OUTPUT" | grep -q "subdir"; then
- echo "FAILED: readdir still shows subdir after rmdir"
- echo "ls output was: $LS_OUTPUT"
- kill $MOUNT_PID 2>/dev/null || true
- wait $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-if stat "$MOUNTPOINT/subdir" > /dev/null 2>&1; then
- echo "FAILED: stat still resolves subdir after rmdir"
- kill $MOUNT_PID 2>/dev/null || true
- wait $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Test 3: rename should not leave stale source entry in readdir
-echo "rename me" > "$MOUNTPOINT/before.txt"
-ls -la "$MOUNTPOINT" > /dev/null
-stat "$MOUNTPOINT/before.txt" > /dev/null 2>&1
-ls -la "$MOUNTPOINT" > /dev/null
-
-mv "$MOUNTPOINT/before.txt" "$MOUNTPOINT/after.txt"
-
-LS_OUTPUT=$(ls "$MOUNTPOINT")
-if echo "$LS_OUTPUT" | grep -q "before.txt"; then
- echo "FAILED: readdir still shows before.txt after rename"
- echo "ls output was: $LS_OUTPUT"
- kill $MOUNT_PID 2>/dev/null || true
- wait $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-if ! echo "$LS_OUTPUT" | grep -q "after.txt"; then
- echo "FAILED: after.txt not visible after rename"
- echo "ls output was: $LS_OUTPUT"
- kill $MOUNT_PID 2>/dev/null || true
- wait $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-if stat "$MOUNTPOINT/before.txt" > /dev/null 2>&1; then
- echo "FAILED: stat still resolves before.txt after rename"
- kill $MOUNT_PID 2>/dev/null || true
- wait $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-if [ "$(cat "$MOUNTPOINT/after.txt")" != "rename me" ]; then
- echo "FAILED: after.txt content is stale after rename"
- kill $MOUNT_PID 2>/dev/null || true
- wait $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Test 4: create must defeat a cached negative dentry
-# Prime a negative dentry: stat a name that doesn't exist yet
-ls -la "$MOUNTPOINT" > /dev/null
-stat "$MOUNTPOINT/negfile.txt" > /dev/null 2>&1 || true # caches ENOENT
-ls -la "$MOUNTPOINT" > /dev/null # readdirplus confirms absence
-
-echo "new file" > "$MOUNTPOINT/negfile.txt"
-
-# stat must resolve (not serve cached ENOENT)
-if ! stat "$MOUNTPOINT/negfile.txt" > /dev/null 2>&1; then
- echo "FAILED: stat returns ENOENT for negfile.txt after create (negative dentry not invalidated)"
- kill $MOUNT_PID 2>/dev/null || true
- wait $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# readdir must list it
-LS_OUTPUT=$(ls "$MOUNTPOINT")
-if ! echo "$LS_OUTPUT" | grep -q "negfile.txt"; then
- echo "FAILED: readdir does not show negfile.txt after create"
- echo "ls output was: $LS_OUTPUT"
- kill $MOUNT_PID 2>/dev/null || true
- wait $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Test 5: mkdir must defeat a cached negative dentry
-ls -la "$MOUNTPOINT" > /dev/null
-stat "$MOUNTPOINT/negdir" > /dev/null 2>&1 || true # caches ENOENT
-ls -la "$MOUNTPOINT" > /dev/null # readdirplus confirms absence
-
-mkdir "$MOUNTPOINT/negdir"
-
-if ! stat "$MOUNTPOINT/negdir" > /dev/null 2>&1; then
- echo "FAILED: stat returns ENOENT for negdir after mkdir (negative dentry not invalidated)"
- kill $MOUNT_PID 2>/dev/null || true
- wait $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-LS_OUTPUT=$(ls "$MOUNTPOINT")
-if ! echo "$LS_OUTPUT" | grep -q "negdir"; then
- echo "FAILED: readdir does not show negdir after mkdir"
- echo "ls output was: $LS_OUTPUT"
- kill $MOUNT_PID 2>/dev/null || true
- wait $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Test 6: truncate must invalidate stale attrs and cached file data
-printf "abcdefghij" > "$MOUNTPOINT/truncate.txt"
-cat "$MOUNTPOINT/truncate.txt" > /dev/null
-stat "$MOUNTPOINT/truncate.txt" > /dev/null 2>&1
-truncate -s 4 "$MOUNTPOINT/truncate.txt"
-
-TRUNC_SIZE=$(wc -c < "$MOUNTPOINT/truncate.txt" | tr -d ' ')
-if [ "$TRUNC_SIZE" != "4" ]; then
- echo "FAILED: truncate.txt size is stale after truncate: $TRUNC_SIZE"
- kill $MOUNT_PID 2>/dev/null || true
- wait $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-TRUNC_CONTENT=$(cat "$MOUNTPOINT/truncate.txt")
-if [ "$TRUNC_CONTENT" != "abcd" ]; then
- echo "FAILED: truncate.txt content is stale after truncate: $TRUNC_CONTENT"
- kill $MOUNT_PID 2>/dev/null || true
- wait $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Test 7: repeated read/open cache must not serve stale data after write
-printf "cache-before" > "$MOUNTPOINT/keep-cache.txt"
-cat "$MOUNTPOINT/keep-cache.txt" > /dev/null
-cat "$MOUNTPOINT/keep-cache.txt" > /dev/null
-printf "cache-after" > "$MOUNTPOINT/keep-cache.txt"
-KEEP_CACHE_CONTENT=$(cat "$MOUNTPOINT/keep-cache.txt")
-if [ "$KEEP_CACHE_CONTENT" != "cache-after" ]; then
- echo "FAILED: keep-cache.txt content is stale after overwrite: $KEEP_CACHE_CONTENT"
- kill $MOUNT_PID 2>/dev/null || true
- wait $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-truncate -s 5 "$MOUNTPOINT/keep-cache.txt"
-KEEP_CACHE_CONTENT=$(cat "$MOUNTPOINT/keep-cache.txt")
-if [ "$KEEP_CACHE_CONTENT" != "cache" ]; then
- echo "FAILED: keep-cache.txt content is stale after truncate: $KEEP_CACHE_CONTENT"
- kill $MOUNT_PID 2>/dev/null || true
- wait $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Unmount
-fusermount -u "$MOUNTPOINT"
-
-# Wait for mount process to exit
-wait $MOUNT_PID 2>/dev/null || true
-
-echo "OK"
diff --git a/cli/tests/test-init.sh b/cli/tests/test-init.sh
deleted file mode 100755
index 7c669f71..00000000
--- a/cli/tests/test-init.sh
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/bin/sh
-set -e
-
-echo -n "TEST init... "
-
-TEST_AGENT_ID="test-agent"
-
-# Cleanup any existing test database (not the entire .agentfs directory!)
-rm -f ".agentfs/${TEST_AGENT_ID}.db" ".agentfs/${TEST_AGENT_ID}.db-shm" ".agentfs/${TEST_AGENT_ID}.db-wal"
-
-# Test: Run init command with specific ID
-if ! output=$(cargo run -- init "$TEST_AGENT_ID" 2>&1); then
- echo "FAILED: init command failed"
- echo "Output was: $output"
- exit 1
-fi
-
-# Check that .agentfs directory was created
-if [ ! -d .agentfs ]; then
- echo "FAILED: .agentfs directory was not created"
- echo "Output was: $output"
- exit 1
-fi
-
-# Check that the database file was created in .agentfs
-if [ ! -f ".agentfs/$TEST_AGENT_ID.db" ]; then
- echo "FAILED: agent database was not created in .agentfs directory"
- echo "Output was: $output"
- exit 1
-fi
-
-# Check that output contains success message with .agentfs path
-echo "$output" | grep -q "Created agent filesystem: .agentfs/$TEST_AGENT_ID.db" || {
- echo "FAILED: Expected success message not found in output"
- echo "Output was: $output"
- rm -f ".agentfs/${TEST_AGENT_ID}.db" ".agentfs/${TEST_AGENT_ID}.db-shm" ".agentfs/${TEST_AGENT_ID}.db-wal"
- exit 1
-}
-
-# Test: Running init again should fail without --force
-if cargo run -- init "$TEST_AGENT_ID" 2>&1 | grep -q "already exists"; then
- : # Expected behavior
-else
- echo "FAILED: init should fail when agent database already exists"
- rm -f ".agentfs/${TEST_AGENT_ID}.db" ".agentfs/${TEST_AGENT_ID}.db-shm" ".agentfs/${TEST_AGENT_ID}.db-wal"
- exit 1
-fi
-
-# Test: Running init with --force should succeed
-if ! output=$(cargo run -- init "$TEST_AGENT_ID" --force 2>&1); then
- echo "FAILED: init --force command failed"
- echo "Output was: $output"
- rm -f ".agentfs/${TEST_AGENT_ID}.db" ".agentfs/${TEST_AGENT_ID}.db-shm" ".agentfs/${TEST_AGENT_ID}.db-wal"
- exit 1
-fi
-
-# Check that output contains success message
-echo "$output" | grep -q "Created agent filesystem: .agentfs/$TEST_AGENT_ID.db" || {
- echo "FAILED: Expected success message not found in init --force output"
- echo "Output was: $output"
- rm -f ".agentfs/${TEST_AGENT_ID}.db" ".agentfs/${TEST_AGENT_ID}.db-shm" ".agentfs/${TEST_AGENT_ID}.db-wal"
- exit 1
-}
-
-# Cleanup test database only
-rm -f ".agentfs/${TEST_AGENT_ID}.db" ".agentfs/${TEST_AGENT_ID}.db-shm" ".agentfs/${TEST_AGENT_ID}.db-wal"
-
-echo "OK"
diff --git a/cli/tests/test-mount.sh b/cli/tests/test-mount.sh
deleted file mode 100755
index a5b2906e..00000000
--- a/cli/tests/test-mount.sh
+++ /dev/null
@@ -1,140 +0,0 @@
-#!/bin/sh
-set -e
-
-echo -n "TEST mount... "
-
-TEST_AGENT_ID="test-mount-agent"
-MOUNTPOINT="/tmp/agentfs-test-mount-$$"
-
-cleanup() {
- # Unmount if mounted
- fusermount -u "$MOUNTPOINT" 2>/dev/null || true
- # Remove mountpoint
- rmdir "$MOUNTPOINT" 2>/dev/null || true
- # Remove test database
- rm -f ".agentfs/${TEST_AGENT_ID}.db" ".agentfs/${TEST_AGENT_ID}.db-shm" ".agentfs/${TEST_AGENT_ID}.db-wal"
-}
-
-# Ensure cleanup on exit
-trap cleanup EXIT
-
-# Clean up any existing test artifacts
-cleanup
-
-# Initialize the database
-cargo run -- init "$TEST_AGENT_ID" > /dev/null 2>&1
-
-# Create mountpoint
-mkdir -p "$MOUNTPOINT"
-
-# Mount in foreground mode (background it ourselves so we can control it)
-cargo run -- mount ".agentfs/${TEST_AGENT_ID}.db" "$MOUNTPOINT" --foreground &
-MOUNT_PID=$!
-
-# Wait for mount to be ready (check if mountpoint has different device ID)
-MAX_WAIT=10
-WAITED=0
-while [ $WAITED -lt $MAX_WAIT ]; do
- if mountpoint -q "$MOUNTPOINT" 2>/dev/null; then
- break
- fi
- sleep 0.5
- WAITED=$((WAITED + 1))
-done
-
-if ! mountpoint -q "$MOUNTPOINT" 2>/dev/null; then
- echo "FAILED: mount did not become ready in time"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Test that 'agentfs mount' (no args) lists our mount
-if ! cargo run -- mount 2>/dev/null | grep -q "$MOUNTPOINT"; then
- echo "FAILED: 'agentfs mount' did not list our mountpoint"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Write a file through the FUSE mount
-echo "hello from fuse mount" > "$MOUNTPOINT/hello.txt"
-
-# Read it back
-CONTENT=$(cat "$MOUNTPOINT/hello.txt")
-
-if [ "$CONTENT" != "hello from fuse mount" ]; then
- echo "FAILED: file content mismatch"
- echo "Expected: hello from fuse mount"
- echo "Got: $CONTENT"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Test mkdir
-mkdir "$MOUNTPOINT/testdir"
-if [ ! -d "$MOUNTPOINT/testdir" ]; then
- echo "FAILED: mkdir did not create directory"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Test creating file in subdirectory
-echo "nested file" > "$MOUNTPOINT/testdir/nested.txt"
-NESTED_CONTENT=$(cat "$MOUNTPOINT/testdir/nested.txt")
-
-if [ "$NESTED_CONTENT" != "nested file" ]; then
- echo "FAILED: nested file content mismatch"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Test symlink creation
-ln -s nested.txt "$MOUNTPOINT/testdir/link_to_nested"
-if [ ! -L "$MOUNTPOINT/testdir/link_to_nested" ]; then
- echo "FAILED: symlink was not created"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Test reading symlink target
-LINK_TARGET=$(readlink "$MOUNTPOINT/testdir/link_to_nested")
-if [ "$LINK_TARGET" != "nested.txt" ]; then
- echo "FAILED: symlink target mismatch"
- echo "Expected: nested.txt"
- echo "Got: $LINK_TARGET"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Test following symlink to read file
-LINKED_CONTENT=$(cat "$MOUNTPOINT/testdir/link_to_nested")
-if [ "$LINKED_CONTENT" != "nested file" ]; then
- echo "FAILED: reading through symlink failed"
- echo "Expected: nested file"
- echo "Got: $LINKED_CONTENT"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Test symlink to directory
-ln -s testdir "$MOUNTPOINT/link_to_testdir"
-if [ ! -L "$MOUNTPOINT/link_to_testdir" ]; then
- echo "FAILED: symlink to directory was not created"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Test accessing file through directory symlink
-DIR_LINKED_CONTENT=$(cat "$MOUNTPOINT/link_to_testdir/nested.txt")
-if [ "$DIR_LINKED_CONTENT" != "nested file" ]; then
- echo "FAILED: reading through directory symlink failed"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Unmount
-fusermount -u "$MOUNTPOINT"
-
-# Wait for mount process to exit
-wait $MOUNT_PID 2>/dev/null || true
-
-echo "OK"
diff --git a/cli/tests/test-overlay-delta-in-base-dir.sh b/cli/tests/test-overlay-delta-in-base-dir.sh
deleted file mode 100755
index 7dc85531..00000000
--- a/cli/tests/test-overlay-delta-in-base-dir.sh
+++ /dev/null
@@ -1,165 +0,0 @@
-#!/bin/sh
-set -e
-
-echo -n "TEST overlay readdir/unlink for delta files in base directories... "
-
-TEST_AGENT_ID="test-overlay-delta-in-base-dir-agent"
-MOUNTPOINT="/tmp/agentfs-test-overlay-mount-$$"
-BASEDIR="/tmp/agentfs-test-overlay-base-$$"
-
-cleanup() {
- # Unmount if mounted
- fusermount -u "$MOUNTPOINT" 2>/dev/null || true
- # Remove directories
- rm -rf "$MOUNTPOINT" "$BASEDIR" 2>/dev/null || true
- # Remove test database
- rm -f ".agentfs/${TEST_AGENT_ID}.db" ".agentfs/${TEST_AGENT_ID}.db-shm" ".agentfs/${TEST_AGENT_ID}.db-wal"
-}
-
-# Ensure cleanup on exit
-trap cleanup EXIT
-
-# Clean up any existing test artifacts
-cleanup
-
-# Create base directory with a subdirectory (simulating .git)
-mkdir -p "$BASEDIR/.git"
-echo "[core]" > "$BASEDIR/.git/config"
-echo "ref: refs/heads/main" > "$BASEDIR/.git/HEAD"
-
-# Initialize the database with --base for overlay
-if ! output=$(cargo run -- init "$TEST_AGENT_ID" --base "$BASEDIR" 2>&1); then
- echo "FAILED: init with --base failed"
- echo "Output was: $output"
- exit 1
-fi
-
-# Create mountpoint
-mkdir -p "$MOUNTPOINT"
-
-# Mount in foreground mode (background it ourselves so we can control it)
-cargo run -- mount ".agentfs/${TEST_AGENT_ID}.db" "$MOUNTPOINT" --foreground &
-MOUNT_PID=$!
-
-# Wait for mount to be ready
-MAX_WAIT=10
-WAITED=0
-while [ $WAITED -lt $MAX_WAIT ]; do
- if mountpoint -q "$MOUNTPOINT" 2>/dev/null; then
- break
- fi
- sleep 0.5
- WAITED=$((WAITED + 1))
-done
-
-if ! mountpoint -q "$MOUNTPOINT" 2>/dev/null; then
- echo "FAILED: mount did not become ready in time"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Verify base directory structure is visible
-if [ ! -d "$MOUNTPOINT/.git" ]; then
- echo "FAILED: base .git directory not visible through overlay"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-if [ ! -f "$MOUNTPOINT/.git/config" ]; then
- echo "FAILED: base .git/config file not visible through overlay"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Create a new file in the base subdirectory through the overlay
-# This triggers ensure_parent_dirs which creates .git in delta with origin mapping
-echo "lock content" > "$MOUNTPOINT/.git/index.lock"
-
-# Verify the file was created
-if [ ! -f "$MOUNTPOINT/.git/index.lock" ]; then
- echo "FAILED: could not create index.lock in .git directory"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Verify readdir shows both base and delta files
-# This is the first bug: delta files in base directories were invisible in readdir
-LS_OUTPUT=$(ls "$MOUNTPOINT/.git")
-if ! echo "$LS_OUTPUT" | grep -q "index.lock"; then
- echo "FAILED: readdir does not show delta file index.lock"
- echo "ls output was: $LS_OUTPUT"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-if ! echo "$LS_OUTPUT" | grep -q "config"; then
- echo "FAILED: readdir does not show base file config"
- echo "ls output was: $LS_OUTPUT"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-if ! echo "$LS_OUTPUT" | grep -q "HEAD"; then
- echo "FAILED: readdir does not show base file HEAD"
- echo "ls output was: $LS_OUTPUT"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Delete the delta file
-# This is the second bug: unlink failed for delta files in base directories
-rm "$MOUNTPOINT/.git/index.lock"
-
-# Verify the file is actually deleted
-if [ -f "$MOUNTPOINT/.git/index.lock" ]; then
- echo "FAILED: index.lock still exists after deletion"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Verify readdir no longer shows it
-LS_OUTPUT_AFTER=$(ls "$MOUNTPOINT/.git")
-if echo "$LS_OUTPUT_AFTER" | grep -q "index.lock"; then
- echo "FAILED: readdir still shows index.lock after deletion"
- echo "ls output was: $LS_OUTPUT_AFTER"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Base files should still be visible
-if ! echo "$LS_OUTPUT_AFTER" | grep -q "config"; then
- echo "FAILED: base file config disappeared after delta file deletion"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Test creating and deleting a subdirectory in a base directory
-mkdir "$MOUNTPOINT/.git/objects"
-if [ ! -d "$MOUNTPOINT/.git/objects" ]; then
- echo "FAILED: could not create objects subdirectory in .git"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Verify readdir shows the new directory
-LS_WITH_DIR=$(ls "$MOUNTPOINT/.git")
-if ! echo "$LS_WITH_DIR" | grep -q "objects"; then
- echo "FAILED: readdir does not show delta directory objects"
- echo "ls output was: $LS_WITH_DIR"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Remove the directory (rmdir)
-rmdir "$MOUNTPOINT/.git/objects"
-if [ -d "$MOUNTPOINT/.git/objects" ]; then
- echo "FAILED: objects directory still exists after rmdir"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Unmount
-fusermount -u "$MOUNTPOINT"
-wait $MOUNT_PID 2>/dev/null || true
-
-echo "OK"
diff --git a/cli/tests/test-overlay-whiteout.sh b/cli/tests/test-overlay-whiteout.sh
deleted file mode 100755
index db5556de..00000000
--- a/cli/tests/test-overlay-whiteout.sh
+++ /dev/null
@@ -1,128 +0,0 @@
-#!/bin/sh
-set -e
-
-echo -n "TEST overlay whiteout persistence... "
-
-TEST_AGENT_ID="test-overlay-whiteout-agent"
-MOUNTPOINT="/tmp/agentfs-test-overlay-mount-$$"
-BASEDIR="/tmp/agentfs-test-overlay-base-$$"
-
-cleanup() {
- # Unmount if mounted
- fusermount -u "$MOUNTPOINT" 2>/dev/null || true
- # Remove directories
- rm -rf "$MOUNTPOINT" "$BASEDIR" 2>/dev/null || true
- # Remove test database
- rm -f ".agentfs/${TEST_AGENT_ID}.db" ".agentfs/${TEST_AGENT_ID}.db-shm" ".agentfs/${TEST_AGENT_ID}.db-wal"
-}
-
-# Ensure cleanup on exit
-trap cleanup EXIT
-
-# Clean up any existing test artifacts
-cleanup
-
-# Create base directory with a test file
-mkdir -p "$BASEDIR"
-echo "original content" > "$BASEDIR/testfile.txt"
-
-# Initialize the database with --base for overlay
-if ! output=$(cargo run -- init "$TEST_AGENT_ID" --base "$BASEDIR" 2>&1); then
- echo "FAILED: init with --base failed"
- echo "Output was: $output"
- exit 1
-fi
-
-# Create mountpoint
-mkdir -p "$MOUNTPOINT"
-
-# Mount in foreground mode (background it ourselves so we can control it)
-cargo run -- mount ".agentfs/${TEST_AGENT_ID}.db" "$MOUNTPOINT" --foreground &
-MOUNT_PID=$!
-
-# Wait for mount to be ready
-MAX_WAIT=10
-WAITED=0
-while [ $WAITED -lt $MAX_WAIT ]; do
- if mountpoint -q "$MOUNTPOINT" 2>/dev/null; then
- break
- fi
- sleep 0.5
- WAITED=$((WAITED + 1))
-done
-
-if ! mountpoint -q "$MOUNTPOINT" 2>/dev/null; then
- echo "FAILED: mount did not become ready in time"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Verify base file is visible through overlay
-if [ ! -f "$MOUNTPOINT/testfile.txt" ]; then
- echo "FAILED: base file not visible through overlay"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-CONTENT=$(cat "$MOUNTPOINT/testfile.txt")
-if [ "$CONTENT" != "original content" ]; then
- echo "FAILED: base file content mismatch"
- echo "Expected: original content"
- echo "Got: $CONTENT"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Delete the file through the overlay
-rm "$MOUNTPOINT/testfile.txt"
-
-# Verify file is deleted
-if [ -f "$MOUNTPOINT/testfile.txt" ]; then
- echo "FAILED: file still exists after deletion"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Unmount
-fusermount -u "$MOUNTPOINT"
-wait $MOUNT_PID 2>/dev/null || true
-
-# Remount to test persistence
-cargo run -- mount ".agentfs/${TEST_AGENT_ID}.db" "$MOUNTPOINT" --foreground &
-MOUNT_PID=$!
-
-# Wait for mount to be ready
-WAITED=0
-while [ $WAITED -lt $MAX_WAIT ]; do
- if mountpoint -q "$MOUNTPOINT" 2>/dev/null; then
- break
- fi
- sleep 0.5
- WAITED=$((WAITED + 1))
-done
-
-if ! mountpoint -q "$MOUNTPOINT" 2>/dev/null; then
- echo "FAILED: remount did not become ready in time"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Verify file is still deleted after remount (whiteout was persisted)
-if [ -f "$MOUNTPOINT/testfile.txt" ]; then
- echo "FAILED: deleted file reappeared after remount (whiteout not persisted)"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Verify base file still exists in original location (untouched)
-if [ ! -f "$BASEDIR/testfile.txt" ]; then
- echo "FAILED: base file was modified (should be untouched)"
- kill $MOUNT_PID 2>/dev/null || true
- exit 1
-fi
-
-# Unmount
-fusermount -u "$MOUNTPOINT"
-wait $MOUNT_PID 2>/dev/null || true
-
-echo "OK"
diff --git a/cli/tests/test-run-bash.sh b/cli/tests/test-run-bash.sh
deleted file mode 100755
index 564b0431..00000000
--- a/cli/tests/test-run-bash.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-set -e
-
-echo -n "TEST interactive bash session... "
-
-# Run bash session in overlay: write a file and read it back
-# The current directory becomes copy-on-write with the overlay sandbox
-output=$(cargo run -- run /bin/bash -c '
-echo "hello from agent" > hello.txt
-cat hello.txt
-' 2>&1)
-
-# Verify we got the expected output
-echo "$output" | grep -q "hello from agent" || {
- echo "FAILED"
- echo "$output"
- exit 1
-}
-
-# Verify the file was NOT written to the host (it's in the delta layer)
-if [ -f "hello.txt" ]; then
- echo "FAILED: hello.txt should not exist on host filesystem"
- rm -f hello.txt
- exit 1
-fi
-
-echo "OK"
diff --git a/cli/tests/test-run-experimental-syscalls.sh b/cli/tests/test-run-experimental-syscalls.sh
deleted file mode 100755
index 16e9729b..00000000
--- a/cli/tests/test-run-experimental-syscalls.sh
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/bin/sh
-#
-# Test syscalls through agentfs run --experimental-sandbox (ptrace-based).
-#
-# This tests AgentFS file operations using the ptrace-based sandbox
-# where files are stored in the AgentFS database at /agent.
-#
-set -e
-
-echo -n "TEST syscalls (agentfs run --experimental-sandbox)... "
-
-DIR="$(dirname "$0")"
-
-# Compile the test program
-make -C "$DIR/syscall" clean > /dev/null 2>&1
-make -C "$DIR/syscall" > /dev/null 2>&1
-
-TEST_DB="agent.db"
-
-# Clean up any existing test database
-rm -f "$TEST_DB" "${TEST_DB}-wal" "${TEST_DB}-shm"
-
-# Initialize the database
-cargo run -- init > /dev/null 2>&1
-
-# Populate with test files using experimental sandbox
-# The experimental sandbox mounts agent.db at /agent
-cargo run -- run --experimental-sandbox /bin/bash -c 'echo "Hello from virtual FD!" > /agent/test.txt' > /dev/null 2>&1
-
-# Create existing.txt for the append test
-cargo run -- run --experimental-sandbox /bin/bash -c 'echo -n "original content" > /agent/existing.txt' > /dev/null 2>&1
-
-# Note: The nested directory test (test_append_nested) is skipped for experimental sandbox
-# because it tests FUSE overlay COW behavior where parent dirs need to be created in delta.
-# The experimental sandbox has no base layer, so this scenario doesn't apply.
-
-# Run the syscall tests using the experimental ptrace-based sandbox
-if ! output=$(cargo run -- run --experimental-sandbox "$DIR/syscall/test-syscalls" /agent 2>&1); then
- echo "FAILED"
- echo "Output was: $output"
- rm -f "$TEST_DB" "${TEST_DB}-wal" "${TEST_DB}-shm"
- exit 1
-fi
-
-echo "$output" | grep -q "All tests passed!" || {
- echo "FAILED: 'All tests passed!' not found"
- echo "Output was: $output"
- rm -f "$TEST_DB" "${TEST_DB}-wal" "${TEST_DB}-shm"
- exit 1
-}
-
-# Verify output file was created (by reading it back)
-if ! output=$(cargo run -- run --experimental-sandbox /bin/cat /agent/output.txt 2>&1); then
- echo "FAILED: output.txt was not created or readable"
- rm -f "$TEST_DB" "${TEST_DB}-wal" "${TEST_DB}-shm"
- exit 1
-fi
-
-rm -f "$TEST_DB" "${TEST_DB}-wal" "${TEST_DB}-shm"
-
-echo "OK"
diff --git a/cli/tests/test-run-git.sh b/cli/tests/test-run-git.sh
deleted file mode 100755
index 972af49e..00000000
--- a/cli/tests/test-run-git.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-set -e
-
-echo -n "TEST git init and commit in overlay... "
-
-# Clean up any previous test directory
-rm -rf test-git-repo
-
-# Run git operations in overlay: init, add, commit
-output=$(cargo run -- run /bin/bash -c '
-mkdir test-git-repo
-cd test-git-repo
-git init
-echo "hello" > hello.txt
-git add hello.txt
-git commit -m "Initial commit"
-git log --oneline
-' 2>&1)
-
-# Verify we got a successful commit (git log shows commit hash and message)
-echo "$output" | grep -q "Initial commit" || {
- echo "FAILED"
- echo "$output"
- exit 1
-}
-
-# Verify the directory was NOT written to the host (it's in the delta layer)
-if [ -d "test-git-repo" ]; then
- echo "FAILED: test-git-repo should not exist on host filesystem"
- rm -rf test-git-repo
- exit 1
-fi
-
-echo "OK"
diff --git a/cli/.gitignore b/crates/agentfs-cli/.gitignore
similarity index 100%
rename from cli/.gitignore
rename to crates/agentfs-cli/.gitignore
diff --git a/cli/CONTRIBUTING.md b/crates/agentfs-cli/CONTRIBUTING.md
similarity index 100%
rename from cli/CONTRIBUTING.md
rename to crates/agentfs-cli/CONTRIBUTING.md
diff --git a/crates/agentfs-cli/Cargo.toml b/crates/agentfs-cli/Cargo.toml
new file mode 100644
index 00000000..7f909cdc
--- /dev/null
+++ b/crates/agentfs-cli/Cargo.toml
@@ -0,0 +1,52 @@
+[package]
+name = "agentfs-cli"
+version.workspace = true
+edition.workspace = true
+license.workspace = true
+repository.workspace = true
+description = "Command-line interface for AgentFS"
+
+[lib]
+name = "agentfs_cli"
+path = "src/lib.rs"
+
+[[bin]]
+name = "agentfs"
+path = "src/main.rs"
+
+[features]
+default = []
+strict = []
+
+[lints]
+workspace = true
+
+[dependencies]
+agentfs-core = { workspace = true }
+agentfs-mount = { workspace = true }
+tokio = { workspace = true }
+clap = { workspace = true }
+anyhow = { workspace = true }
+hex = { workspace = true }
+sha1 = { workspace = true }
+turso = { workspace = true }
+serde = { workspace = true }
+parking_lot = { workspace = true }
+clap_complete = { workspace = true }
+dirs = { workspace = true }
+serde_json = { workspace = true }
+tracing = { workspace = true }
+tracing-subscriber = { workspace = true }
+chrono = { workspace = true }
+
+# MCP Server support
+base64 = { workspace = true }
+
+uuid = { workspace = true }
+
+# Unix dependencies
+[target.'cfg(unix)'.dependencies]
+libc = { workspace = true }
+
+[dev-dependencies]
+tempfile = { workspace = true }
diff --git a/crates/agentfs-cli/build.rs b/crates/agentfs-cli/build.rs
new file mode 100644
index 00000000..091b2c1c
--- /dev/null
+++ b/crates/agentfs-cli/build.rs
@@ -0,0 +1,50 @@
+use std::path::Path;
+use std::process::Command;
+
+fn main() {
+ let repo_root = Path::new(env!("CARGO_MANIFEST_DIR"))
+ .parent()
+ .and_then(Path::parent)
+ .expect("agentfs-cli should live under crates/agentfs-cli");
+
+ // Capture git version from tags for --version flag
+ // Rerun if git HEAD changes (new commits or tags)
+ let git_dir = repo_root.join(".git");
+ println!("cargo:rerun-if-changed={}", git_dir.join("HEAD").display());
+ println!(
+ "cargo:rerun-if-changed={}",
+ git_dir.join("refs/tags").display()
+ );
+ // .git/HEAD only changes on branch switches. Commits move the branch ref
+ // HEAD points at, so track that file too (and packed-refs, where the ref
+ // lands after `git pack-refs`) or --version reports stale git metadata.
+ if let Ok(head) = std::fs::read_to_string(git_dir.join("HEAD")) {
+ if let Some(head_ref) = head.strip_prefix("ref: ") {
+ println!(
+ "cargo:rerun-if-changed={}",
+ git_dir.join(head_ref.trim()).display()
+ );
+ }
+ }
+ println!(
+ "cargo:rerun-if-changed={}",
+ git_dir.join("packed-refs").display()
+ );
+
+ let version = Command::new("git")
+ .current_dir(repo_root)
+ .args(["describe", "--tags", "--always", "--dirty"])
+ .output()
+ .ok()
+ .and_then(|output| {
+ if output.status.success() {
+ String::from_utf8(output.stdout).ok()
+ } else {
+ None
+ }
+ })
+ .map(|v| v.trim().to_string())
+ .unwrap_or_else(|| env!("CARGO_PKG_VERSION").to_string());
+
+ println!("cargo:rustc-env=AGENTFS_VERSION={}", version);
+}
diff --git a/cli/perf/simulate-npm-workload.sh b/crates/agentfs-cli/perf/simulate-npm-workload.sh
similarity index 100%
rename from cli/perf/simulate-npm-workload.sh
rename to crates/agentfs-cli/perf/simulate-npm-workload.sh
diff --git a/cli/perf/syscall/Makefile b/crates/agentfs-cli/perf/syscall/Makefile
similarity index 100%
rename from cli/perf/syscall/Makefile
rename to crates/agentfs-cli/perf/syscall/Makefile
diff --git a/cli/perf/syscall/hello.txt b/crates/agentfs-cli/perf/syscall/hello.txt
similarity index 100%
rename from cli/perf/syscall/hello.txt
rename to crates/agentfs-cli/perf/syscall/hello.txt
diff --git a/cli/perf/syscall/perf-open-close.c b/crates/agentfs-cli/perf/syscall/perf-open-close.c
similarity index 100%
rename from cli/perf/syscall/perf-open-close.c
rename to crates/agentfs-cli/perf/syscall/perf-open-close.c
diff --git a/cli/perf/syscall/perf-statx.c b/crates/agentfs-cli/perf/syscall/perf-statx.c
similarity index 100%
rename from cli/perf/syscall/perf-statx.c
rename to crates/agentfs-cli/perf/syscall/perf-statx.c
diff --git a/cli/perf/syscall/run.sh b/crates/agentfs-cli/perf/syscall/run.sh
similarity index 97%
rename from cli/perf/syscall/run.sh
rename to crates/agentfs-cli/perf/syscall/run.sh
index 18841ede..5b208ca5 100755
--- a/cli/perf/syscall/run.sh
+++ b/crates/agentfs-cli/perf/syscall/run.sh
@@ -10,9 +10,10 @@ set -e
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
CLI_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
+REPO_ROOT="$(cd "$CLI_DIR/../.." && pwd)"
TEST_FILE="$SCRIPT_DIR/hello.txt"
ITERATIONS="${1:-100000}"
-AGENTFS="$CLI_DIR/target/release/agentfs"
+AGENTFS="$REPO_ROOT/target/release/agentfs"
# Build benchmarks if needed
make -C "$SCRIPT_DIR" -s
diff --git a/cli/scripts/fmt-imports b/crates/agentfs-cli/scripts/fmt-imports
similarity index 100%
rename from cli/scripts/fmt-imports
rename to crates/agentfs-cli/scripts/fmt-imports
diff --git a/cli/scripts/mount.fuse.agentfs b/crates/agentfs-cli/scripts/mount.fuse.agentfs
similarity index 100%
rename from cli/scripts/mount.fuse.agentfs
rename to crates/agentfs-cli/scripts/mount.fuse.agentfs
diff --git a/cli/src/cmd/clone.rs b/crates/agentfs-cli/src/cmd/clone.rs
similarity index 86%
rename from cli/src/cmd/clone.rs
rename to crates/agentfs-cli/src/cmd/clone.rs
index d6abc448..ce8a2933 100644
--- a/cli/src/cmd/clone.rs
+++ b/crates/agentfs-cli/src/cmd/clone.rs
@@ -6,7 +6,7 @@
//! `git clone --no-checkout` through a temporary mount (pack files are a few
//! large sequential writes), then streams the worktree content out of the
//! object database: a producer thread parses `git ls-tree` + `git cat-file
-//! --batch` output while an [`agentfs_sdk::ImportSession`] consumer bulk
+//! --batch` output while an [`agentfs_core::ImportSession`] consumer bulk
//! imports each chunk (large multi-inode transactions), so blob decoding
//! overlaps SQLite writes instead of buffering every blob in memory first.
//! Finally it fabricates a git index whose cached stat data matches exactly
@@ -25,12 +25,17 @@ use std::process::{Command, Stdio};
use std::sync::Arc;
use std::time::{SystemTime, UNIX_EPOCH};
-use agentfs_sdk::{AgentFSOptions, FileSystem, ImportEntry, ImportOptions, ImportedEntry};
+use agentfs_core::{AgentFSOptions, FileSystem, ImportEntry, ImportOptions, ImportedEntry};
use anyhow::{bail, Context, Result};
use sha1::{Digest, Sha1};
use crate::cmd::init::open_agentfs;
-use crate::mount::{mount_fs, MountBackend, MountOpts};
+use crate::opts::MountBackend;
+use agentfs_mount::supervise::{
+ run_supervised_task, set_parent_death_signal_std, supervise_command, ChildOutcome,
+ SupervisedTaskOutcome,
+};
+use agentfs_mount::{mount_fs, MountOpts};
const S_IFDIR: u32 = 0o040000;
const MODE_FILE: u32 = 0o100644;
@@ -64,7 +69,7 @@ pub async fn handle_clone_command(
.unwrap_or_else(|_| AgentFSOptions::with_path(&id_or_path));
let agentfs = open_agentfs(options)
.await
- .with_context(|| format!("failed to open AgentFS database: {id_or_path}"))?;
+ .map_err(|err| super::migrate::open_error_with_guidance(err, &id_or_path))?;
let agent = agentfs.fs.clone();
let fs: Arc = Arc::new(agentfs.fs);
@@ -74,7 +79,7 @@ pub async fn handle_clone_command(
let mount_opts = MountOpts {
mountpoint: mountpoint.clone(),
- backend,
+ backend: backend.into(),
fsname: format!("agentfs:{id_or_path}"),
uid: None,
gid: None,
@@ -86,12 +91,27 @@ pub async fn handle_clone_command(
};
let mount_handle = mount_fs(fs, mount_opts).await?;
- let result = clone_into_mount(&agent, &mountpoint, &source, &repo_name, verify).await;
-
- drop(mount_handle);
+ let result = run_supervised_task(
+ mount_handle,
+ clone_into_mount(&agent, &mountpoint, &source, &repo_name, verify),
+ )
+ .await;
let _ = std::fs::remove_dir_all(&mountpoint);
- let summary = result?;
+ let summary = match result {
+ Ok(SupervisedTaskOutcome::Completed(summary)) => summary,
+ Ok(SupervisedTaskOutcome::Interrupted(signo)) => {
+ crate::profiling::emit_cli_report();
+ std::process::exit(128 + signo);
+ }
+ Err(error) => {
+ if let Some(interrupted) = error.downcast_ref::() {
+ crate::profiling::emit_cli_report();
+ std::process::exit(128 + interrupted.0);
+ }
+ return Err(error);
+ }
+ };
eprintln!(
"Cloned {} into {} ({} files, {} bytes imported)",
source, id_or_path, summary.files, summary.bytes
@@ -99,19 +119,30 @@ pub async fn handle_clone_command(
Ok(())
}
+#[derive(Debug)]
+struct InterruptedSignal(i32);
+
+impl std::fmt::Display for InterruptedSignal {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ write!(f, "interrupted by signal {}", self.0)
+ }
+}
+
+impl std::error::Error for InterruptedSignal {}
+
struct CloneSummary {
files: usize,
bytes: u64,
}
async fn clone_into_mount(
- agent: &agentfs_sdk::filesystem::AgentFS,
+ agent: &agentfs_core::fs::AgentFS,
mountpoint: &Path,
source: &str,
repo_name: &str,
verify: bool,
) -> Result {
- let timings = std::env::var("AGENTFS_CLONE_TIMINGS").is_ok_and(|v| v == "1");
+ let timings = crate::config::clone_timings_enabled();
let mut stage_start = std::time::Instant::now();
let mut stage = |name: &str| {
if timings {
@@ -128,7 +159,8 @@ async fn clone_into_mount(
run_git(
Path::new("."),
&["clone", "--no-checkout", "--quiet", source, repo_dir_str],
- )?;
+ )
+ .await?;
stage("git-clone-no-checkout");
let head = run_git_capture(&repo_dir, &["rev-parse", "--verify", "--quiet", "HEAD"]).ok();
@@ -220,25 +252,28 @@ fn derive_repo_name(source: &str) -> Result {
Ok(last.trim_end_matches(".git").to_string())
}
-fn run_git(cwd: &Path, args: &[&str]) -> Result<()> {
- let status = Command::new("git")
- .args(args)
- .current_dir(cwd)
- .status()
- .context("failed to run git")?;
- if !status.success() {
- bail!("git {} failed with {status}", args.join(" "));
+async fn run_git(cwd: &Path, args: &[&str]) -> Result<()> {
+ let mut command = tokio::process::Command::new("git");
+ command.args(args).current_dir(cwd);
+ match supervise_command(command)
+ .await
+ .context("failed to run git")?
+ {
+ ChildOutcome::Exited(status) => {
+ if !status.success() {
+ bail!("git {} failed with {status}", args.join(" "));
+ }
+ }
+ ChildOutcome::Interrupted(signo) => return Err(InterruptedSignal(signo).into()),
}
Ok(())
}
fn run_git_capture(repo: &Path, args: &[&str]) -> Result {
- let output = Command::new("git")
- .arg("-C")
- .arg(repo)
- .args(args)
- .output()
- .context("failed to run git")?;
+ let mut command = Command::new("git");
+ command.arg("-C").arg(repo).args(args);
+ set_parent_death_signal_std(&mut command);
+ let output = command.output().context("failed to run git")?;
if !output.status.success() {
bail!(
"git {} failed with {}: {}",
@@ -251,12 +286,13 @@ fn run_git_capture(repo: &Path, args: &[&str]) -> Result {
}
fn ls_tree(repo: &Path) -> Result> {
- let output = Command::new("git")
+ let mut command = Command::new("git");
+ command
.arg("-C")
.arg(repo)
- .args(["ls-tree", "-r", "-z", "HEAD"])
- .output()
- .context("failed to run git ls-tree")?;
+ .args(["ls-tree", "-r", "-z", "HEAD"]);
+ set_parent_death_signal_std(&mut command);
+ let output = command.output().context("failed to run git ls-tree")?;
if !output.status.success() {
bail!(
"git ls-tree failed: {}",
@@ -343,13 +379,16 @@ fn spawn_blob_producer(
refs.push((row.path.clone(), row.mode));
}
- let mut child = Command::new("git")
+ let mut command = Command::new("git");
+ command
.arg("-C")
.arg(&repo)
.args(["cat-file", "--batch"])
.stdin(Stdio::piped())
.stdout(Stdio::piped())
- .stderr(Stdio::null())
+ .stderr(Stdio::null());
+ set_parent_death_signal_std(&mut command);
+ let mut child = command
.spawn()
.context("failed to spawn git cat-file --batch")?;
let mut stdin = child.stdin.take().context("missing cat-file stdin")?;
diff --git a/cli/src/cmd/completions.rs b/crates/agentfs-cli/src/cmd/completions.rs
similarity index 75%
rename from cli/src/cmd/completions.rs
rename to crates/agentfs-cli/src/cmd/completions.rs
index ca409a23..559b6e44 100644
--- a/cli/src/cmd/completions.rs
+++ b/crates/agentfs-cli/src/cmd/completions.rs
@@ -32,7 +32,7 @@ impl fmt::Display for Shell {
impl Shell {
/// Detect the current shell from the `SHELL` environment variable
fn detect() -> Option {
- let shell_path = std::env::var("SHELL").ok()?;
+ let shell_path = crate::config::current_shell_path()?;
let shell_name = shell_path.rsplit('/').next()?;
match shell_name {
"bash" => Some(Shell::Bash),
@@ -71,40 +71,25 @@ impl Shell {
}
}
-pub fn handle_completions(command: CompletionsCommand) {
+pub fn handle_completions(command: CompletionsCommand) -> anyhow::Result<()> {
match command {
CompletionsCommand::Install { shell } => {
- let shell = match shell.or_else(Shell::detect) {
- Some(s) => s,
- None => {
- eprintln!(
- "Error: Could not detect current shell. Please specify a shell explicitly."
- );
- std::process::exit(1)
- }
- };
- if let Err(err) = install(shell) {
- eprintln!("Error: {err}");
- std::process::exit(1)
- }
+ let shell = detect_or_specified(shell)?;
+ install(shell)?;
}
CompletionsCommand::Uninstall { shell } => {
- let shell = match shell.or_else(Shell::detect) {
- Some(s) => s,
- None => {
- eprintln!(
- "Error: Could not detect current shell. Please specify a shell explicitly."
- );
- std::process::exit(1)
- }
- };
- if let Err(err) = uninstall(shell) {
- eprintln!("Error: {err}");
- std::process::exit(1)
- }
+ let shell = detect_or_specified(shell)?;
+ uninstall(shell)?;
}
CompletionsCommand::Show => show(),
}
+ Ok(())
+}
+
+fn detect_or_specified(shell: Option) -> anyhow::Result {
+ shell.or_else(Shell::detect).ok_or_else(|| {
+ anyhow::anyhow!("Could not detect current shell. Please specify a shell explicitly.")
+ })
}
fn install(shell: Shell) -> io::Result<()> {
@@ -206,3 +191,45 @@ fn show() {
println!("Then restart your shell or source your config file.");
}
+
+#[cfg(test)]
+mod tests {
+ use super::Shell;
+ use clap::ValueEnum;
+
+ #[test]
+ fn shell_enum_matches_clap_complete_builtins() {
+ let mut ours: Vec = Shell::value_variants()
+ .iter()
+ .map(|shell| shell.to_string())
+ .collect();
+ ours.sort();
+ let mut builtins: Vec = clap_complete::env::Shells::builtins()
+ .names()
+ .map(str::to_string)
+ .collect();
+ builtins.sort();
+ assert_eq!(
+ ours, builtins,
+ "Shell enum drifted from clap_complete's COMPLETE env shells"
+ );
+ }
+
+ #[test]
+ fn completions_help_names_every_supported_shell() {
+ use clap::CommandFactory;
+ let cmd = crate::opts::Args::command();
+ let about = cmd
+ .find_subcommand("completions")
+ .expect("completions subcommand")
+ .get_about()
+ .map(ToString::to_string)
+ .unwrap_or_default();
+ for shell in Shell::value_variants() {
+ assert!(
+ about.contains(&shell.to_string()),
+ "completions help must name {shell}; got: {about}"
+ );
+ }
+ }
+}
diff --git a/cli/src/cmd/exec.rs b/crates/agentfs-cli/src/cmd/exec.rs
similarity index 55%
rename from cli/src/cmd/exec.rs
rename to crates/agentfs-cli/src/cmd/exec.rs
index 36afbd68..5822b27a 100644
--- a/cli/src/cmd/exec.rs
+++ b/crates/agentfs-cli/src/cmd/exec.rs
@@ -4,14 +4,16 @@
//! filesystem to a temporary directory, runs a command with that as the
//! working directory, and automatically unmounts when done.
-use agentfs_sdk::{AgentFSOptions, EncryptionConfig, FileSystem, HostFS, OverlayFS};
+use agentfs_core::{AgentFSOptions, EncryptionConfig, FileSystem, HostFS, OverlayFS};
use anyhow::{Context, Result};
use std::path::PathBuf;
use std::sync::Arc;
use turso::value::Value;
use crate::cmd::init::open_agentfs;
-use crate::mount::{mount_fs, MountBackend, MountOpts};
+use crate::opts::MountBackend;
+use agentfs_mount::supervise::{exit_code_for_spawn_error, exit_code_for_status, run_supervised};
+use agentfs_mount::{mount_fs, MountOpts};
/// Handle the exec command.
///
@@ -33,7 +35,9 @@ pub async fn handle_exec_command(
}
// Open AgentFS
- let agentfs = open_agentfs(opts).await?;
+ let agentfs = open_agentfs(opts)
+ .await
+ .map_err(|err| super::migrate::open_error_with_guidance(err, &id_or_path))?;
// Check for overlay configuration
let fs: Arc = {
@@ -83,7 +87,7 @@ pub async fn handle_exec_command(
let mount_opts = MountOpts {
mountpoint: mountpoint.clone(),
- backend,
+ backend: backend.into(),
fsname,
uid: None,
gid: None,
@@ -99,80 +103,35 @@ pub async fn handle_exec_command(
// Mount the filesystem
let mount_handle = mount_fs(fs, mount_opts).await?;
- let outcome = supervise_child(&command, &args, &mountpoint).await;
+ let mut child = tokio::process::Command::new(&command);
+ child.args(&args).current_dir(&mountpoint);
+ // The CLI's private spill dir is process-internal; children keep the
+ // user's TMPDIR.
+ crate::config::restore_original_tmpdir(&mut child);
+ let status = run_supervised(mount_handle, child).await;
- // Unmount and remove the mountpoint even when the workload was
- // interrupted, so no dead mount table entry or temp directory survives.
- drop(mount_handle);
let _ = std::fs::remove_dir_all(&mountpoint);
- match outcome? {
- ChildOutcome::Exited(status) => {
- if !status.success() {
- std::process::exit(status.code().unwrap_or(1));
+ let status = match status {
+ Ok(status) => status,
+ Err(error) => {
+ // Missing / non-executable commands pass through as 127/126 like
+ // run's child exec path (VAL-CLI-019 exception); every other
+ // failure goes to the unified reporter.
+ if let Some(code) = error
+ .downcast_ref::()
+ .and_then(exit_code_for_spawn_error)
+ {
+ eprintln!("Error: Failed to execute: {}: {}", command.display(), error);
+ crate::profiling::emit_cli_report();
+ std::process::exit(code);
}
- Ok(())
+ return Err(error).with_context(|| format!("Failed to execute: {}", command.display()));
}
- ChildOutcome::Interrupted(signo) => std::process::exit(128 + signo),
- }
-}
-
-enum ChildOutcome {
- Exited(std::process::ExitStatus),
- Interrupted(i32),
-}
-
-/// Run the workload while listening for termination signals.
-///
-/// The default signal disposition would kill this process without running
-/// `MountHandle`'s unmount, leaving a dead mount table entry and the child
-/// orphaned but alive inside it. PR_SET_PDEATHSIG additionally guarantees the
-/// child cannot outlive us even under SIGKILL, which no userspace handler can
-/// intercept.
-async fn supervise_child(
- command: &std::path::Path,
- args: &[String],
- mountpoint: &std::path::Path,
-) -> Result {
- use tokio::signal::unix::{signal, SignalKind};
-
- let mut cmd = tokio::process::Command::new(command);
- cmd.args(args).current_dir(mountpoint);
- #[cfg(target_os = "linux")]
- unsafe {
- cmd.pre_exec(|| {
- if libc::prctl(libc::PR_SET_PDEATHSIG, libc::SIGKILL) != 0 {
- return Err(std::io::Error::last_os_error());
- }
- // The parent may have died between fork and prctl.
- if libc::getppid() == 1 {
- libc::raise(libc::SIGKILL);
- }
- Ok(())
- });
- }
- let mut child = cmd
- .spawn()
- .with_context(|| format!("Failed to execute: {}", command.display()))?;
-
- let mut sigterm = signal(SignalKind::terminate())?;
- let mut sigint = signal(SignalKind::interrupt())?;
- let mut sighup = signal(SignalKind::hangup())?;
- let signo = tokio::select! {
- status = child.wait() => return Ok(ChildOutcome::Exited(status?)),
- _ = sigterm.recv() => libc::SIGTERM,
- _ = sigint.recv() => libc::SIGINT,
- _ = sighup.recv() => libc::SIGHUP,
};
-
- if let Some(pid) = child.id() {
- unsafe { libc::kill(pid as i32, libc::SIGTERM) };
- }
- if tokio::time::timeout(std::time::Duration::from_secs(5), child.wait())
- .await
- .is_err()
- {
- let _ = child.kill().await;
+ if !status.success() {
+ crate::profiling::emit_cli_report();
+ std::process::exit(exit_code_for_status(status));
}
- Ok(ChildOutcome::Interrupted(signo))
+ Ok(())
}
diff --git a/cli/src/cmd/fs.rs b/crates/agentfs-cli/src/cmd/fs.rs
similarity index 63%
rename from cli/src/cmd/fs.rs
rename to crates/agentfs-cli/src/cmd/fs.rs
index 1e35fcbf..c8197f61 100644
--- a/cli/src/cmd/fs.rs
+++ b/crates/agentfs-cli/src/cmd/fs.rs
@@ -1,10 +1,10 @@
use std::collections::VecDeque;
-use agentfs_sdk::{AgentFSOptions, EncryptionConfig};
+use agentfs_core::{AgentFSOptions, EncryptionConfig};
use anyhow::{Context, Result as AnyhowResult};
use turso::Value;
-use crate::cmd::init::open_agentfs;
+use crate::cmd::init::{finalize_readonly, open_agentfs};
const ROOT_INO: i64 = 1;
const S_IFMT: u32 = 0o170000;
@@ -27,15 +27,25 @@ pub async fn ls_filesystem(
}
eprintln!("Using agent: {}", id_or_path);
- let agentfs = open_agentfs(options).await?;
+ let agentfs = open_agentfs(options)
+ .await
+ .map_err(|err| super::migrate::open_error_with_guidance(err, &id_or_path))?;
+ let result = ls_opened(stdout, &agentfs, path).await;
+ finalize_readonly(&agentfs).await;
+ result
+}
+
+async fn ls_opened(
+ stdout: &mut impl std::io::Write,
+ agentfs: &agentfs_core::AgentFS,
+ path: &str,
+) -> AnyhowResult<()> {
let conn = agentfs.get_connection().await?;
- if path != "/" {
- anyhow::bail!("Only root directory (/) is currently supported");
- }
+ let start_ino = resolve_directory_ino(&conn, path).await?;
let mut queue: VecDeque<(i64, String)> = VecDeque::new();
- queue.push_back((ROOT_INO, String::new()));
+ queue.push_back((start_ino, String::new()));
while let Some((parent_ino, prefix)) = queue.pop_front() {
let query = format!(
@@ -102,6 +112,42 @@ pub async fn ls_filesystem(
Ok(())
}
+/// Resolve a directory path (absolute or relative to `/`) to its inode.
+async fn resolve_directory_ino(conn: &turso::Connection, path: &str) -> AnyhowResult {
+ let mut ino = ROOT_INO;
+ let mut mode = S_IFDIR;
+
+ for component in path.split('/').filter(|component| !component.is_empty()) {
+ let mut rows = conn
+ .query(
+ "SELECT d.ino, i.mode FROM fs_dentry d
+ JOIN fs_inode i ON d.ino = i.ino
+ WHERE d.parent_ino = ? AND d.name = ?",
+ (ino, component),
+ )
+ .await
+ .context("Failed to query directory entry")?;
+ let Some(row) = rows.next().await.context("Failed to fetch row")? else {
+ anyhow::bail!("Path not found: {}", path);
+ };
+ ino = row
+ .get_value(0)
+ .ok()
+ .and_then(|v| v.as_integer().copied())
+ .with_context(|| format!("Corrupt dentry ino for {}", path))?;
+ mode = row
+ .get_value(1)
+ .ok()
+ .and_then(|v| v.as_integer().copied())
+ .with_context(|| format!("Corrupt inode mode for {}", path))? as u32;
+ }
+
+ if mode & S_IFMT != S_IFDIR {
+ anyhow::bail!("Not a directory: {}", path);
+ }
+ Ok(ino)
+}
+
pub async fn cat_filesystem(
stdout: &mut impl std::io::Write,
id_or_path: String,
@@ -115,15 +161,22 @@ pub async fn cat_filesystem(
cipher: cipher.clone(),
});
}
- let agentfs = open_agentfs(options).await?;
+ let agentfs = open_agentfs(options)
+ .await
+ .map_err(|err| super::migrate::open_error_with_guidance(err, &id_or_path))?;
- match agentfs.fs.read_file(path).await? {
- Some(file) => {
- stdout.write_all(&file)?;
- Ok(())
+ let result: AnyhowResult<()> = async {
+ match agentfs.fs.read_file(path).await? {
+ Some(file) => {
+ stdout.write_all(&file)?;
+ Ok(())
+ }
+ None => anyhow::bail!("File not found: {}", path),
}
- None => anyhow::bail!("File not found: {}", path),
}
+ .await;
+ finalize_readonly(&agentfs).await;
+ result
}
pub async fn write_filesystem(
@@ -139,8 +192,15 @@ pub async fn write_filesystem(
cipher: cipher.clone(),
});
}
- let agentfs = open_agentfs(options).await?;
+ let agentfs = open_agentfs(options)
+ .await
+ .map_err(|err| super::migrate::open_error_with_guidance(err, &id_or_path))?;
+ // Own created entries as the invoking user, matching mount-created files:
+ // uid/gid 0 would make a later chmod inside `agentfs exec` (running as the
+ // invoking uid) fail with EPERM.
+ // SAFETY: getuid/getgid are always safe
+ let (uid, gid) = unsafe { (libc::getuid(), libc::getgid()) };
let mut components = path.split("/").collect::>();
if !path.starts_with("/") {
components.insert(0, "");
@@ -150,20 +210,25 @@ pub async fn write_filesystem(
for i in 2..components.len() {
let dir_path = components[0..i].join("/");
if agentfs.fs.stat(&dir_path).await?.is_none() {
- agentfs.fs.mkdir(&dir_path, 0, 0).await?;
+ agentfs.fs.mkdir(&dir_path, uid, gid).await?;
}
}
// Remove file if it exists (overwrite behavior)
if agentfs.fs.stat(path).await?.is_some() {
agentfs.fs.remove(path).await?;
}
- let (_, file) = agentfs.fs.create_file(path, S_IFREG | 0o644, 0, 0).await?;
+ let (_, file) = agentfs
+ .fs
+ .create_file(path, S_IFREG | 0o644, uid, gid)
+ .await?;
file.pwrite(0, content.as_bytes()).await?;
// Tier Four: writes go into the in-memory batcher first. This CLI is a
- // one-shot operation — flush so the bytes are durable in SQLite before
- // we drop the AgentFS, otherwise a subsequent process or `cat` against
- // the same path would see only the pre-write state.
- agentfs.fs.drain_all().await?;
+ // one-shot operation — finalize so the bytes are durable in SQLite before
+ // we drop the AgentFS (otherwise a subsequent process or `cat` against
+ // the same path would see only the pre-write state) and the database
+ // family is single-file again (invariant I1) instead of keeping the
+ // truncated 0-byte -wal a bare drain leaves behind.
+ agentfs.fs.finalize().await?;
Ok(())
}
@@ -205,8 +270,15 @@ pub async fn diff_filesystem(id_or_path: String) -> AnyhowResult<()> {
let options = AgentFSOptions::resolve(&id_or_path)?;
eprintln!("Using agent: {}", id_or_path);
- let agent = open_agentfs(options).await?;
+ let agent = open_agentfs(options)
+ .await
+ .map_err(|err| super::migrate::open_error_with_guidance(err, &id_or_path))?;
+ let result = diff_opened(&agent).await;
+ finalize_readonly(&agent).await;
+ result
+}
+async fn diff_opened(agent: &agentfs_core::AgentFS) -> AnyhowResult<()> {
// Check if overlay is enabled
let base_path = match agent.is_overlay_enabled().await? {
Some(path) => path,
@@ -276,7 +348,7 @@ pub async fn diff_filesystem(id_or_path: String) -> AnyhowResult<()> {
#[cfg(test)]
mod tests {
- use agentfs_sdk::{AgentFS, AgentFSOptions, EncryptionConfig};
+ use agentfs_core::{AgentFS, AgentFSOptions, EncryptionConfig};
use tempfile::NamedTempFile;
use crate::cmd::fs::{cat_filesystem, ls_filesystem, write_filesystem};
@@ -407,6 +479,109 @@ f d/e/3.md
);
}
+ #[tokio::test]
+ pub async fn ls_subdir_lists_only_subtree() {
+ let (agentfs, path, _file) = agentfs().await;
+ agentfs.fs.mkdir("a", 0, 0).await.unwrap();
+ agentfs.fs.mkdir("a/b", 0, 0).await.unwrap();
+ agentfs.fs.mkdir("a/c", 0, 0).await.unwrap();
+ agentfs.fs.mkdir("d", 0, 0).await.unwrap();
+ write_file(&agentfs.fs, "a/b/1.md", b"1", 0, 0)
+ .await
+ .unwrap();
+ write_file(&agentfs.fs, "a/c/2.md", b"11", 0, 0)
+ .await
+ .unwrap();
+ write_file(&agentfs.fs, "d/3.md", b"111", 0, 0)
+ .await
+ .unwrap();
+ let mut buf = Vec::new();
+ ls_filesystem(&mut buf, path.clone(), "/a", None)
+ .await
+ .unwrap();
+ assert_eq!(
+ buf,
+ b"d b
+d c
+f b/1.md
+f c/2.md
+"
+ );
+
+ // Relative paths resolve the same as absolute ones.
+ let mut relative_buf = Vec::new();
+ ls_filesystem(&mut relative_buf, path.clone(), "a/b", None)
+ .await
+ .unwrap();
+ assert_eq!(relative_buf, b"f 1.md\n");
+ }
+
+ #[tokio::test]
+ pub async fn ls_missing_path_errors() {
+ let (_agentfs, path, _file) = agentfs().await;
+ let mut buf = Vec::new();
+ let err = ls_filesystem(&mut buf, path, "/missing", None)
+ .await
+ .unwrap_err();
+ assert!(
+ err.to_string().contains("Path not found"),
+ "unexpected error: {err}"
+ );
+ }
+
+ #[tokio::test]
+ pub async fn ls_file_path_errors() {
+ let (agentfs, path, _file) = agentfs().await;
+ write_file(&agentfs.fs, "file.md", b"1", 0, 0)
+ .await
+ .unwrap();
+ let mut buf = Vec::new();
+ let err = ls_filesystem(&mut buf, path, "/file.md", None)
+ .await
+ .unwrap_err();
+ assert!(
+ err.to_string().contains("Not a directory"),
+ "unexpected error: {err}"
+ );
+ }
+
+ #[tokio::test]
+ pub async fn read_commands_leave_no_wal_sidecar() {
+ let (agentfs, path, _file) = agentfs().await;
+ write_file(&agentfs.fs, "test.md", b"1", 0, 0)
+ .await
+ .unwrap();
+ drop(agentfs);
+ let wal = format!("{path}-wal");
+
+ let mut buf = Vec::new();
+ ls_filesystem(&mut buf, path.clone(), "/", None)
+ .await
+ .unwrap();
+ assert!(
+ !std::path::Path::new(&wal).exists(),
+ "fs ls must not leave a WAL sidecar"
+ );
+
+ let mut buf = Vec::new();
+ cat_filesystem(&mut buf, path.clone(), "test.md", None)
+ .await
+ .unwrap();
+ assert!(
+ !std::path::Path::new(&wal).exists(),
+ "fs cat must not leave a WAL sidecar"
+ );
+
+ let mut buf = Vec::new();
+ cat_filesystem(&mut buf, path.clone(), "missing.md", None)
+ .await
+ .unwrap_err();
+ assert!(
+ !std::path::Path::new(&wal).exists(),
+ "a failing fs cat must not leave a WAL sidecar"
+ );
+ }
+
// Encryption tests
#[tokio::test]
@@ -445,6 +620,34 @@ f d/e/3.md
assert_eq!(buf, b"f file1.txt\nf file2.txt\n");
}
+ #[tokio::test]
+ pub async fn write_filesystem_owns_entries_as_invoking_user() {
+ let (_agentfs, path, _file) = agentfs().await;
+ write_filesystem(path.clone(), "/subdir/owned.txt", "content", None)
+ .await
+ .unwrap();
+
+ // uid/gid 0 entries make a later chmod inside `agentfs exec` (running
+ // as the invoking uid) fail EPERM, unlike mount-created files.
+ // SAFETY: getuid/getgid are always safe
+ let (uid, gid) = unsafe { (libc::getuid(), libc::getgid()) };
+ let reader = AgentFS::open(AgentFSOptions::with_path(path))
+ .await
+ .unwrap();
+ let file_stats = reader.fs.stat("/subdir/owned.txt").await.unwrap().unwrap();
+ assert_eq!(
+ (file_stats.uid, file_stats.gid),
+ (uid, gid),
+ "fs write must create files owned by the invoking uid/gid"
+ );
+ let dir_stats = reader.fs.stat("/subdir").await.unwrap().unwrap();
+ assert_eq!(
+ (dir_stats.uid, dir_stats.gid),
+ (uid, gid),
+ "fs write must create intermediate directories owned by the invoking uid/gid"
+ );
+ }
+
#[tokio::test]
pub async fn encrypted_write_filesystem() {
let (_agentfs, path, _file) = encrypted_agentfs().await;
@@ -467,7 +670,7 @@ f d/e/3.md
}
async fn write_file(
- fs: &agentfs_sdk::filesystem::AgentFS,
+ fs: &agentfs_core::fs::AgentFS,
path: &str,
data: &[u8],
uid: u32,
diff --git a/cli/src/cmd/init.rs b/crates/agentfs-cli/src/cmd/init.rs
similarity index 80%
rename from cli/src/cmd/init.rs
rename to crates/agentfs-cli/src/cmd/init.rs
index 5adb7cd4..192c7728 100644
--- a/cli/src/cmd/init.rs
+++ b/crates/agentfs-cli/src/cmd/init.rs
@@ -1,7 +1,7 @@
use std::path::PathBuf;
use std::time::{SystemTime, UNIX_EPOCH};
-use agentfs_sdk::{
+use agentfs_core::{
agentfs_dir, AgentFS, AgentFSOptions, EncryptionConfig, OverlayFS, PartialBootstrapStrategy,
PartialSyncOpts, SyncOptions,
};
@@ -16,21 +16,34 @@ pub struct EncryptionOptions {
pub cipher: String,
}
-pub async fn open_agentfs(options: AgentFSOptions) -> Result {
+pub async fn open_agentfs(options: AgentFSOptions) -> Result {
let mut options = options;
+ if options.core_config.is_none() {
+ options = options.with_core_config(crate::config::core_config_from_env());
+ }
// CLI handles env var fallback for auth token
if options.sync.auth_token.is_none() {
- if let Ok(auth_token) = std::env::var("TURSO_DB_AUTH_TOKEN") {
- options.sync.auth_token = Some(auth_token);
- }
+ options.sync.auth_token = crate::config::turso_db_auth_token();
}
AgentFS::open(options).await
}
+/// Restore the single-file database family before a one-shot command exits:
+/// reopening a WAL-mode database materializes a header-only `-wal` sidecar
+/// even when the command never writes, which would undo the clean teardown
+/// the owning session performed (invariant I1). Best-effort — a finalize
+/// failure (e.g. a concurrent holder of the database) must not fail a
+/// command whose real work already succeeded.
+pub async fn finalize_readonly(agentfs: &AgentFS) {
+ if let Err(error) = agentfs.fs.finalize().await {
+ eprintln!("Warning: Failed to restore the single-file database family: {error:#}");
+ }
+}
+
pub fn build_sync_options(sync_cmd_options: &SyncCommandOptions) -> SyncOptions {
let mut sync = SyncOptions {
remote_url: sync_cmd_options.sync_remote_url.clone(),
- auth_token: std::env::var("TURSO_DB_AUTH_TOKEN").ok(),
+ auth_token: crate::config::turso_db_auth_token(),
partial_sync: None,
};
@@ -131,6 +144,7 @@ pub async fn init_database(
if let Some(base_path) = base.as_ref() {
open_options = open_options.with_base(base_path);
}
+ open_options = open_options.with_core_config(crate::config::core_config_from_env());
let encrypted = if let Some(enc_opts) = encryption {
if sync_options.sync_remote_url.is_some() {
@@ -193,6 +207,10 @@ pub async fn init_database(
// If a command was provided, mount the filesystem and execute it
if let Some(cmd_str) = command {
run_init_cmd(&id, cmd_str, backend, base, agent).await?;
+ } else {
+ // The schema writes above land in a -wal; checkpoint it away so init
+ // exits with a single-file database family (invariant I1).
+ finalize_readonly(&agent).await;
}
Ok(())
@@ -206,9 +224,9 @@ async fn run_init_cmd(
base: Option,
agent: AgentFS,
) -> AnyhowResult<()> {
- use crate::mount::{mount_fs, MountOpts};
- use agentfs_sdk::{FileSystem, HostFS};
- use std::process::Command;
+ use agentfs_core::{FileSystem, HostFS};
+ use agentfs_mount::supervise::{exit_code_for_status, run_supervised};
+ use agentfs_mount::{mount_fs, MountOpts};
use std::sync::Arc;
let fs: Arc = if let Some(ref base_path) = base {
@@ -228,7 +246,7 @@ async fn run_init_cmd(
let mount_opts = MountOpts {
mountpoint: mountpoint.clone(),
- backend,
+ backend: backend.into(),
fsname: format!("agentfs:{}", id),
uid: None,
gid: None,
@@ -241,21 +259,21 @@ async fn run_init_cmd(
let mount_handle = mount_fs(fs, mount_opts).await?;
- let status = Command::new("sh")
- .arg("-c")
- .arg(&cmd_str)
- .current_dir(&mountpoint)
- .status()
- .with_context(|| format!("Failed to execute: {}", cmd_str))?;
-
- drop(mount_handle);
-
- agentfs_sdk::profiling::report_summary("init_command_parent");
+ let mut command = tokio::process::Command::new("sh");
+ command.arg("-c").arg(&cmd_str).current_dir(&mountpoint);
+ // The CLI's private spill dir is process-internal; children keep the
+ // user's TMPDIR.
+ crate::config::restore_original_tmpdir(&mut command);
+ let status = run_supervised(mount_handle, command)
+ .await
+ .with_context(|| format!("Failed to execute: {}", cmd_str));
let _ = std::fs::remove_dir_all(&mountpoint);
+ let status = status?;
if !status.success() {
- std::process::exit(status.code().unwrap_or(1));
+ crate::profiling::emit_cli_report();
+ std::process::exit(exit_code_for_status(status));
}
Ok(())
diff --git a/crates/agentfs-cli/src/cmd/mcp_server.rs b/crates/agentfs-cli/src/cmd/mcp_server.rs
new file mode 100644
index 00000000..7f6b60f8
--- /dev/null
+++ b/crates/agentfs-cli/src/cmd/mcp_server.rs
@@ -0,0 +1,1175 @@
+use agentfs_core::fs::{FileSystem, DEFAULT_FILE_MODE};
+use agentfs_core::{AgentFS, AgentFSOptions, Stats};
+use anyhow::{Context, Result};
+use serde::{Deserialize, Serialize};
+use serde_json::{json, Value as JsonValue};
+use std::collections::HashSet;
+use std::io::{self, BufRead, Write};
+use std::path::Path;
+use std::sync::Arc;
+use tokio::sync::Mutex;
+
+use crate::cmd::init::{finalize_readonly, open_agentfs};
+
+/// The complete dispatchable tool surface. `tools/list`, `tools/call`
+/// dispatch, and `--tools` filter validation all key off this list; the
+/// parity tests in `mcp_server/tests.rs` keep it honest.
+const ALL_TOOLS: &[&str] = &[
+ "read_file",
+ "write_file",
+ "readdir",
+ "mkdir",
+ "remove",
+ "rename",
+ "stat",
+ "access",
+ "kv_get",
+ "kv_set",
+ "kv_delete",
+ "kv_list",
+];
+
+const METHOD_NOT_FOUND: i64 = -32601;
+const INVALID_PARAMS: i64 = -32602;
+const INTERNAL_ERROR: i64 = -32603;
+
+/// A JSON-RPC error with the code it must be reported under.
+#[derive(Debug)]
+struct RpcError {
+ code: i64,
+ message: String,
+}
+
+impl RpcError {
+ fn method_not_found(method: &str) -> Self {
+ Self {
+ code: METHOD_NOT_FOUND,
+ message: format!("Unknown method: {method}"),
+ }
+ }
+
+ fn invalid_params(message: String) -> Self {
+ Self {
+ code: INVALID_PARAMS,
+ message,
+ }
+ }
+
+ fn internal(message: String) -> Self {
+ Self {
+ code: INTERNAL_ERROR,
+ message,
+ }
+ }
+}
+
+impl From for RpcError {
+ fn from(err: anyhow::Error) -> Self {
+ Self::internal(format!("{err:#}"))
+ }
+}
+
+fn parse_tool_params(arguments: JsonValue) -> Result {
+ serde_json::from_value(arguments)
+ .map_err(|err| RpcError::invalid_params(format!("Invalid tool arguments: {err}")))
+}
+
+/// Main entry point for MCP server command
+pub async fn handle_mcp_server_command(
+ id_or_path: String,
+ tools_filter: Option>,
+) -> Result<()> {
+ // Resolve and open AgentFS
+ let options = AgentFSOptions::resolve(&id_or_path).context(format!(
+ "Failed to resolve agent ID or path: {}",
+ id_or_path
+ ))?;
+
+ eprintln!("Using agent: {}", id_or_path);
+
+ // Create MCP server with tool filtering
+ let server = McpServer::new(id_or_path, options, tools_filter).await?;
+
+ // Run server with stdio transport
+ eprintln!("Starting MCP server on stdio...");
+ eprintln!("Protocol: Model Context Protocol (MCP) over JSON-RPC 2.0");
+ server.serve().await?;
+
+ Ok(())
+}
+
+/// Where request handlers get their AgentFS from.
+enum AgentFsSource {
+ /// Ephemeral (in-memory) databases live exactly as long as this handle.
+ Held(Arc),
+ /// File-backed databases are reopened per request. The database file
+ /// lock is exclusive (one process at a time), so holding it across the
+ /// whole stdio session would block every other CLI command (including
+ /// `agentfs timeline` reading the tool audit) for as long as a client
+ /// keeps the server open. Reopening per request releases the lock while
+ /// the server is idle.
+ PerRequest(Box),
+}
+
+/// MCP Server implementation
+struct McpServer {
+ /// The user-supplied database identity, kept for schema-mismatch
+ /// guidance on the per-request reopens (the database can be replaced
+ /// underneath a long-lived stdio session).
+ id_or_path: String,
+ source: AgentFsSource,
+ enabled_tools: Option>,
+}
+
+impl McpServer {
+ async fn new(
+ id_or_path: String,
+ options: AgentFSOptions,
+ tools_filter: Option>,
+ ) -> Result {
+ let enabled_tools = match tools_filter {
+ None => {
+ eprintln!("No tool filter specified. Exposing all tools.");
+ None
+ }
+ Some(tools) => {
+ let mut unknown: Vec = tools
+ .iter()
+ .filter(|tool| !ALL_TOOLS.contains(&tool.as_str()))
+ .cloned()
+ .collect();
+ unknown.sort();
+ unknown.dedup();
+ if !unknown.is_empty() {
+ anyhow::bail!(
+ "unknown tool(s) in --tools filter: {}. Available tools: {}",
+ unknown.join(", "),
+ ALL_TOOLS.join(", ")
+ );
+ }
+ let set: HashSet = tools.into_iter().collect();
+ if set.is_empty() {
+ anyhow::bail!(
+ "--tools filter selected no tools. Available tools: {}",
+ ALL_TOOLS.join(", ")
+ );
+ }
+ eprintln!("Tool filter enabled. Exposing tools: {:?}", set);
+ Some(set)
+ }
+ };
+
+ let source = if options.db_path()? == ":memory:" {
+ let agentfs = open_agentfs(options)
+ .await
+ .map_err(|err| super::migrate::open_error_with_guidance(err, &id_or_path))?;
+ AgentFsSource::Held(Arc::new(agentfs))
+ } else {
+ // Open once up front so startup fails cleanly on a missing or
+ // incompatible database, then release the file lock with the
+ // single-file family restored: even this never-writing probe
+ // materializes a -wal sidecar (invariant I1).
+ let probe = open_agentfs(options.clone())
+ .await
+ .map_err(|err| super::migrate::open_error_with_guidance(err, &id_or_path))?;
+ finalize_readonly(&probe).await;
+ drop(probe);
+ AgentFsSource::PerRequest(Box::new(options))
+ };
+
+ Ok(Self {
+ id_or_path,
+ source,
+ enabled_tools,
+ })
+ }
+
+ async fn agentfs(&self) -> Result> {
+ match &self.source {
+ AgentFsSource::Held(agentfs) => Ok(agentfs.clone()),
+ AgentFsSource::PerRequest(options) => {
+ let agentfs = open_agentfs((**options).clone()).await.map_err(|err| {
+ super::migrate::open_error_with_guidance(err, &self.id_or_path)
+ })?;
+ Ok(Arc::new(agentfs))
+ }
+ }
+ }
+
+ /// Check if a tool is enabled based on filter
+ fn is_tool_enabled(&self, tool_name: &str) -> bool {
+ match &self.enabled_tools {
+ None => true, // No filter = all enabled
+ Some(set) => set.contains(tool_name),
+ }
+ }
+
+ async fn serve(self) -> Result<()> {
+ let server = Arc::new(Mutex::new(self));
+ let result = Self::serve_stdio(&server).await;
+ // Per-request opens leave a -wal next to a file-backed database
+ // while serving; restore the single-file family at exit even when
+ // the stdio loop errored, mirroring the NFS server's
+ // finalize-on-shutdown (agentfs-nfs server/tcp.rs).
+ server.lock().await.finalize_on_shutdown().await;
+ result
+ }
+
+ /// Restore the single-file database family before the server exits.
+ /// Best-effort like every one-shot command's finalize: a concurrent
+ /// holder of the database must not turn a clean shutdown into an error.
+ async fn finalize_on_shutdown(&self) {
+ // Ephemeral databases have no on-disk family to restore.
+ let AgentFsSource::PerRequest(options) = &self.source else {
+ return;
+ };
+ match open_agentfs((**options).clone())
+ .await
+ .map_err(|err| super::migrate::open_error_with_guidance(err, &self.id_or_path))
+ {
+ Ok(agentfs) => finalize_readonly(&agentfs).await,
+ Err(error) => eprintln!(
+ "Warning: Failed to reopen the database to restore the single-file family: {error:#}"
+ ),
+ }
+ }
+
+ async fn serve_stdio(server: &Arc>) -> Result<()> {
+ let stdin = io::stdin();
+ let mut stdout = io::stdout();
+
+ for line in stdin.lock().lines() {
+ let line = line?;
+ if line.trim().is_empty() {
+ continue;
+ }
+
+ // Parse JSON-RPC request
+ let request: JsonValue = match serde_json::from_str(&line) {
+ Ok(req) => req,
+ Err(e) => {
+ eprintln!("Failed to parse JSON-RPC request: {}", e);
+ continue;
+ }
+ };
+
+ // Handle request
+ let response = server.lock().await.handle_request(request).await;
+
+ // Write response to stdout
+ if let Some(resp) = response {
+ let resp_str = serde_json::to_string(&resp)?;
+ writeln!(stdout, "{}", resp_str)?;
+ stdout.flush()?;
+ }
+ }
+
+ Ok(())
+ }
+
+ async fn handle_request(&self, request: JsonValue) -> Option {
+ // Extract request fields
+ let method = request.get("method")?.as_str()?;
+ let id = request.get("id").cloned();
+ let params = request.get("params").cloned().unwrap_or(json!({}));
+
+ eprintln!("Received request: method={}", method);
+
+ // Handle method
+ let result = match method {
+ "initialize" => self.handle_initialize(params).await.map_err(RpcError::from),
+ // Spec notifications (e.g. notifications/initialized) are
+ // acknowledged by ignoring them; they must never get a response.
+ "initialized" => return None,
+ method if method.starts_with("notifications/") => return None,
+ "tools/list" => self.handle_tools_list().await.map_err(RpcError::from),
+ "tools/call" => self.handle_tools_call(params).await,
+ "resources/list" => self.handle_resources_list().await.map_err(RpcError::from),
+ "resources/read" => self
+ .handle_resources_read(params)
+ .await
+ .map_err(RpcError::from),
+ _ => Err(RpcError::method_not_found(method)),
+ };
+
+ // JSON-RPC requests without an id are notifications: process them
+ // above, but never respond (not even with an error).
+ let id = id.filter(|id| !id.is_null())?;
+
+ // Build JSON-RPC response
+ let response = match result {
+ Ok(result) => {
+ json!({
+ "jsonrpc": "2.0",
+ "id": id,
+ "result": result
+ })
+ }
+ Err(e) => {
+ eprintln!("Error handling {}: {}", method, e.message);
+ json!({
+ "jsonrpc": "2.0",
+ "id": id,
+ "error": {
+ "code": e.code,
+ "message": e.message
+ }
+ })
+ }
+ };
+
+ Some(response)
+ }
+
+ async fn handle_initialize(&self, _params: JsonValue) -> Result {
+ Ok(json!({
+ "protocolVersion": "2024-11-05",
+ "capabilities": {
+ "tools": {},
+ "resources": {}
+ },
+ "serverInfo": {
+ "name": "agentfs-mcp-server",
+ "version": env!("CARGO_PKG_VERSION")
+ }
+ }))
+ }
+
+ async fn handle_tools_list(&self) -> Result {
+ let tools = self.get_tool_definitions();
+ Ok(json!({ "tools": tools }))
+ }
+
+ async fn handle_tools_call(&self, params: JsonValue) -> Result {
+ let name = params
+ .get("name")
+ .and_then(|v| v.as_str())
+ .ok_or_else(|| RpcError::invalid_params("Missing tool name".to_string()))?;
+
+ let arguments = params.get("arguments").cloned().unwrap_or(json!({}));
+
+ let agentfs = self
+ .agentfs()
+ .await
+ .map_err(|err| RpcError::internal(format!("Failed to open database: {err:#}")))?;
+
+ // Every tools/call attempt is audited, including rejected ones, so
+ // `agentfs timeline` shows the full MCP activity for the database.
+ let audit_id = agentfs
+ .tools
+ .start(name, Some(arguments.clone()))
+ .await
+ .map_err(|err| {
+ RpcError::internal(format!("Failed to record tool call audit row: {err}"))
+ })?;
+
+ let outcome = self.dispatch_tool(&agentfs, name, arguments).await;
+
+ match &outcome {
+ Ok(text) => {
+ agentfs
+ .tools
+ .success(audit_id, Some(JsonValue::String(text.clone())))
+ .await
+ }
+ Err(err) => agentfs.tools.error(audit_id, &err.message).await,
+ }
+ .map_err(|err| {
+ RpcError::internal(format!("Failed to record tool call audit row: {err}"))
+ })?;
+
+ let result_text = outcome?;
+
+ Ok(json!({
+ "content": [
+ {
+ "type": "text",
+ "text": result_text
+ }
+ ]
+ }))
+ }
+
+ async fn dispatch_tool(
+ &self,
+ agentfs: &AgentFS,
+ name: &str,
+ arguments: JsonValue,
+ ) -> Result {
+ if !ALL_TOOLS.contains(&name) {
+ return Err(RpcError::invalid_params(format!("Unknown tool: {name}")));
+ }
+ if !self.is_tool_enabled(name) {
+ return Err(RpcError::invalid_params(format!(
+ "Tool not enabled by --tools filter: {name}"
+ )));
+ }
+
+ let result = match name {
+ "read_file" => handle_read_file(agentfs, parse_tool_params(arguments)?).await,
+ "write_file" => handle_write_file(agentfs, parse_tool_params(arguments)?).await,
+ "readdir" => handle_readdir(agentfs, parse_tool_params(arguments)?).await,
+ "mkdir" => handle_mkdir(agentfs, parse_tool_params(arguments)?).await,
+ "rename" => handle_rename(agentfs, parse_tool_params(arguments)?).await,
+ "remove" => handle_remove(agentfs, parse_tool_params(arguments)?).await,
+ "stat" => handle_stat(agentfs, parse_tool_params(arguments)?).await,
+ "access" => handle_access(agentfs, parse_tool_params(arguments)?).await,
+ "kv_get" => handle_kv_get(agentfs, parse_tool_params(arguments)?).await,
+ "kv_set" => handle_kv_set(agentfs, parse_tool_params(arguments)?).await,
+ "kv_delete" => handle_kv_delete(agentfs, parse_tool_params(arguments)?).await,
+ "kv_list" => handle_kv_list(agentfs, parse_tool_params(arguments)?).await,
+ _ => Err(anyhow::anyhow!(
+ "Tool {name} is advertised but has no dispatch arm; \
+ ALL_TOOLS and dispatch_tool are out of sync"
+ )),
+ };
+
+ result.map_err(RpcError::from)
+ }
+
+ async fn handle_resources_list(&self) -> Result {
+ let agentfs = self.agentfs().await?;
+ let resources = list_resources(&agentfs).await?;
+ Ok(json!({ "resources": resources }))
+ }
+
+ async fn handle_resources_read(&self, params: JsonValue) -> Result {
+ let uri = params
+ .get("uri")
+ .and_then(|v| v.as_str())
+ .ok_or_else(|| anyhow::anyhow!("Missing resource uri"))?;
+
+ let agentfs = self.agentfs().await?;
+ let contents = read_resource(&agentfs, uri).await?;
+ let mime_type = guess_mime_type(uri);
+
+ // Try to decode as UTF-8, fall back to base64
+ let resource_contents = if let Ok(text) = String::from_utf8(contents.clone()) {
+ json!({
+ "uri": uri,
+ "mimeType": mime_type,
+ "text": text
+ })
+ } else {
+ json!({
+ "uri": uri,
+ "mimeType": mime_type,
+ "blob": base64_encode(&contents)
+ })
+ };
+
+ Ok(json!({ "contents": [resource_contents] }))
+ }
+
+ fn get_tool_definitions(&self) -> Vec {
+ let mut tools = Vec::new();
+
+ // Filesystem tools
+ if self.is_tool_enabled("read_file") {
+ tools.push(json!({
+ "name": "read_file",
+ "description": "Read file contents from the filesystem",
+ "inputSchema": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "Path to the file to read"
+ },
+ "encoding": {
+ "type": "string",
+ "enum": ["utf8", "base64"],
+ "description": "Encoding to use for file contents (default: utf8)"
+ }
+ },
+ "required": ["path"]
+ }
+ }));
+ }
+
+ if self.is_tool_enabled("write_file") {
+ tools.push(json!({
+ "name": "write_file",
+ "description": "Write content to a file in the filesystem. Existing files are overwritten in place and keep their mode; new files are created with mode 0644.",
+ "inputSchema": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "Path to the file to write"
+ },
+ "content": {
+ "type": "string",
+ "description": "Content to write to the file"
+ },
+ "encoding": {
+ "type": "string",
+ "enum": ["utf8", "base64"],
+ "description": "Encoding of the content (default: utf8)"
+ },
+ "create_dirs": {
+ "type": "boolean",
+ "description": "Create parent directories if they don't exist"
+ }
+ },
+ "required": ["path", "content"]
+ }
+ }));
+ }
+
+ if self.is_tool_enabled("readdir") {
+ tools.push(json!({
+ "name": "readdir",
+ "description": "List contents of a directory",
+ "inputSchema": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "Path to the directory to list"
+ }
+ },
+ "required": ["path"]
+ }
+ }));
+ }
+
+ if self.is_tool_enabled("mkdir") {
+ tools.push(json!({
+ "name": "mkdir",
+ "description": "Create a directory",
+ "inputSchema": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "Path of the directory to create"
+ }
+ },
+ "required": ["path"]
+ }
+ }));
+ }
+
+ if self.is_tool_enabled("remove") {
+ tools.push(json!({
+ "name": "remove",
+ "description": "Remove a file or empty directory",
+ "inputSchema": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "Path of the file or directory to remove"
+ }
+ },
+ "required": ["path"]
+ }
+ }));
+ }
+
+ if self.is_tool_enabled("rename") {
+ tools.push(json!({
+ "name": "rename",
+ "description": "Move or rename a file or directory",
+ "inputSchema": {
+ "type": "object",
+ "properties": {
+ "from": {
+ "type": "string",
+ "description": "Source path"
+ },
+ "to": {
+ "type": "string",
+ "description": "Destination path"
+ }
+ },
+ "required": ["from", "to"]
+ }
+ }));
+ }
+
+ if self.is_tool_enabled("stat") {
+ tools.push(json!({
+ "name": "stat",
+ "description": "Get file or directory metadata",
+ "inputSchema": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "Path to stat"
+ }
+ },
+ "required": ["path"]
+ }
+ }));
+ }
+
+ if self.is_tool_enabled("access") {
+ tools.push(json!({
+ "name": "access",
+ "description": "Test if a path exists",
+ "inputSchema": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "Path to test"
+ }
+ },
+ "required": ["path"]
+ }
+ }));
+ }
+
+ // KV store tools
+ if self.is_tool_enabled("kv_get") {
+ tools.push(json!({
+ "name": "kv_get",
+ "description": "Get a value from the key-value store",
+ "inputSchema": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "Key to retrieve"
+ }
+ },
+ "required": ["key"]
+ }
+ }));
+ }
+
+ if self.is_tool_enabled("kv_set") {
+ tools.push(json!({
+ "name": "kv_set",
+ "description": "Set a value in the key-value store",
+ "inputSchema": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "Key to set"
+ },
+ "value": {
+ "description": "Value to store (any JSON value)"
+ }
+ },
+ "required": ["key", "value"]
+ }
+ }));
+ }
+
+ if self.is_tool_enabled("kv_delete") {
+ tools.push(json!({
+ "name": "kv_delete",
+ "description": "Delete a key from the key-value store",
+ "inputSchema": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "Key to delete"
+ }
+ },
+ "required": ["key"]
+ }
+ }));
+ }
+
+ if self.is_tool_enabled("kv_list") {
+ tools.push(json!({
+ "name": "kv_list",
+ "description": "List keys in the key-value store with optional prefix",
+ "inputSchema": {
+ "type": "object",
+ "properties": {
+ "prefix": {
+ "type": "string",
+ "description": "Optional prefix to filter keys"
+ }
+ }
+ }
+ }));
+ }
+
+ tools
+ }
+}
+
+// ============================================================================
+// Helper functions
+// ============================================================================
+
+/// Normalize a path to ensure it starts with /
+fn normalize_path(path: &str) -> Result {
+ let path = path.trim();
+
+ // Reject paths with .. for security
+ if path.contains("..") {
+ anyhow::bail!("Path traversal not allowed: {}", path);
+ }
+
+ // Convert relative to absolute
+ let normalized = if path.starts_with('/') {
+ path.to_string()
+ } else if path.is_empty() {
+ "/".to_string()
+ } else {
+ format!("/{}", path)
+ };
+
+ Ok(normalized)
+}
+
+/// Guess MIME type based on file extension
+fn guess_mime_type(path: &str) -> String {
+ match Path::new(path).extension().and_then(|s| s.to_str()) {
+ Some("txt") | Some("md") => "text/plain",
+ Some("json") => "application/json",
+ Some("html") | Some("htm") => "text/html",
+ Some("js") | Some("mjs") => "application/javascript",
+ Some("ts") => "application/typescript",
+ Some("css") => "text/css",
+ Some("xml") => "application/xml",
+ Some("png") => "image/png",
+ Some("jpg") | Some("jpeg") => "image/jpeg",
+ Some("gif") => "image/gif",
+ Some("svg") => "image/svg+xml",
+ Some("pdf") => "application/pdf",
+ Some("zip") => "application/zip",
+ Some("tar") => "application/x-tar",
+ Some("gz") => "application/gzip",
+ _ => "application/octet-stream",
+ }
+ .to_string()
+}
+
+/// Base64 encode bytes
+fn base64_encode(data: &[u8]) -> String {
+ use base64::{engine::general_purpose::STANDARD, Engine};
+ STANDARD.encode(data)
+}
+
+/// Base64 decode string
+fn base64_decode(s: &str) -> Result> {
+ use base64::{engine::general_purpose::STANDARD, Engine};
+ STANDARD
+ .decode(s)
+ .map_err(|e| anyhow::anyhow!("Base64 decode error: {}", e))
+}
+
+// ============================================================================
+// Tool parameter types
+// ============================================================================
+
+#[derive(Debug, Serialize, Deserialize)]
+struct ReadFileParams {
+ path: String,
+ #[serde(default)]
+ encoding: Option,
+}
+
+#[derive(Debug, Serialize, Deserialize)]
+struct WriteFileParams {
+ path: String,
+ content: String,
+ #[serde(default)]
+ encoding: Option,
+ #[serde(default)]
+ create_dirs: Option,
+}
+
+#[derive(Debug, Serialize, Deserialize)]
+struct ReaddirParams {
+ path: String,
+}
+
+#[derive(Debug, Serialize, Deserialize)]
+struct MkdirParams {
+ path: String,
+}
+
+#[derive(Debug, Serialize, Deserialize)]
+struct RenameParams {
+ from: String,
+ to: String,
+}
+
+#[derive(Debug, Serialize, Deserialize)]
+struct RemoveParams {
+ path: String,
+}
+
+#[derive(Debug, Serialize, Deserialize)]
+struct StatParams {
+ path: String,
+}
+
+#[derive(Debug, Serialize, Deserialize)]
+struct AccessParams {
+ path: String,
+}
+
+#[derive(Debug, Serialize, Deserialize)]
+struct KvGetParams {
+ key: String,
+}
+
+#[derive(Debug, Serialize, Deserialize)]
+struct KvSetParams {
+ key: String,
+ value: JsonValue,
+}
+
+#[derive(Debug, Serialize, Deserialize)]
+struct KvDeleteParams {
+ key: String,
+}
+
+#[derive(Debug, Serialize, Deserialize)]
+struct KvListParams {
+ #[serde(default)]
+ prefix: Option,
+}
+
+// ============================================================================
+// Tool implementations
+// ============================================================================
+
+/// Read file contents
+async fn handle_read_file(agentfs: &AgentFS, params: ReadFileParams) -> Result {
+ let path = normalize_path(¶ms.path)?;
+
+ let data = agentfs
+ .fs
+ .read_file(&path)
+ .await
+ .context("Failed to read file")?
+ .ok_or_else(|| anyhow::anyhow!("File not found: {}", path))?;
+
+ let content = match params.encoding.as_deref() {
+ Some("base64") => base64_encode(&data),
+ _ => String::from_utf8(data)
+ .context("File is not valid UTF-8. Use encoding=base64 for binary files.")?,
+ };
+
+ Ok(content)
+}
+
+/// Write file contents.
+///
+/// Existing files are overwritten in place so they keep their inode and
+/// mode; new files are created with the default mode (0644).
+async fn handle_write_file(agentfs: &AgentFS, params: WriteFileParams) -> Result {
+ let path = normalize_path(¶ms.path)?;
+
+ let data = match params.encoding.as_deref() {
+ Some("base64") => base64_decode(¶ms.content)?,
+ _ => params.content.into_bytes(),
+ };
+
+ // Create parent directories if requested
+ if params.create_dirs.unwrap_or(false) {
+ ensure_parent_dirs(agentfs, &path).await?;
+ }
+
+ let file = match agentfs.fs.stat(&path).await? {
+ Some(stats) if stats.is_file() => {
+ let file = FileSystem::open(&agentfs.fs, stats.ino, libc::O_WRONLY)
+ .await
+ .context("Failed to open file")?;
+ file.truncate(0).await.context("Failed to truncate file")?;
+ file
+ }
+ Some(_) => anyhow::bail!("Not a regular file: {}", path),
+ None => {
+ let (_, file) = agentfs
+ .fs
+ .create_file(&path, DEFAULT_FILE_MODE, 0, 0)
+ .await
+ .context("Failed to create file")?;
+ file
+ }
+ };
+ file.pwrite(0, &data)
+ .await
+ .context("Failed to write file")?;
+ // Flush batched writes so the data is durable even if the server
+ // exits right after this call (each MCP call is a complete exchange).
+ file.drain_writes().await.context("Failed to flush file")?;
+
+ Ok(format!("Wrote {} bytes to {}", data.len(), path))
+}
+
+/// Helper to create parent directories recursively
+fn ensure_parent_dirs<'a>(
+ agentfs: &'a AgentFS,
+ path: &'a str,
+) -> std::pin::Pin> + Send + 'a>> {
+ Box::pin(async move {
+ let path_obj = Path::new(path);
+ let parent = match path_obj.parent() {
+ Some(p) if !p.as_os_str().is_empty() && p != Path::new("/") => p,
+ _ => return Ok(()),
+ };
+
+ let parent_str = parent.to_string_lossy().to_string();
+ let parent_path = normalize_path(&parent_str)?;
+
+ // Check if parent exists
+ if agentfs.fs.stat(&parent_path).await?.is_some() {
+ return Ok(());
+ }
+
+ // Recursively ensure grandparent exists
+ ensure_parent_dirs(agentfs, &parent_path).await?;
+
+ // Create parent
+ agentfs
+ .fs
+ .mkdir(&parent_path, 0, 0)
+ .await
+ .context(format!("Failed to create directory: {}", parent_path))?;
+
+ Ok(())
+ })
+}
+
+/// List directory contents
+async fn handle_readdir(agentfs: &AgentFS, params: ReaddirParams) -> Result {
+ let path = normalize_path(¶ms.path)?;
+
+ let stats = agentfs
+ .fs
+ .stat(&path)
+ .await
+ .context("Failed to stat directory")?
+ .ok_or_else(|| anyhow::anyhow!("Directory not found: {}", path))?;
+
+ let entries = agentfs
+ .fs
+ .readdir(stats.ino)
+ .await
+ .context("Failed to read directory")?
+ .ok_or_else(|| anyhow::anyhow!("Directory not found: {}", path))?;
+
+ Ok(serde_json::to_string_pretty(&entries)?)
+}
+
+/// Create directory
+async fn handle_mkdir(agentfs: &AgentFS, params: MkdirParams) -> Result {
+ let path = normalize_path(¶ms.path)?;
+
+ agentfs
+ .fs
+ .mkdir(&path, 0, 0)
+ .await
+ .context("Failed to create directory")?;
+
+ Ok(format!("Created directory: {}", path))
+}
+
+/// Remove empty directory
+async fn handle_remove(agentfs: &AgentFS, params: RemoveParams) -> Result {
+ let path = normalize_path(¶ms.path)?;
+
+ agentfs
+ .fs
+ .remove(&path)
+ .await
+ .context("Failed to remove directory")?;
+
+ Ok(format!("Removed directory: {}", path))
+}
+
+/// Rename/move file or directory
+async fn handle_rename(agentfs: &AgentFS, params: RenameParams) -> Result {
+ let from = normalize_path(¶ms.from)?;
+ let to = normalize_path(¶ms.to)?;
+ let (from_parent, from_name) = agentfs.fs.resolve_parent_and_name(&from).await?;
+ let (to_parent, to_name) = agentfs.fs.resolve_parent_and_name(&to).await?;
+
+ FileSystem::rename(&agentfs.fs, from_parent, &from_name, to_parent, &to_name)
+ .await
+ .context("Failed to rename")?;
+
+ Ok(format!("Renamed {} to {}", from, to))
+}
+
+/// Get file metadata
+async fn handle_stat(agentfs: &AgentFS, params: StatParams) -> Result {
+ let path = normalize_path(¶ms.path)?;
+
+ let stats = agentfs
+ .fs
+ .stat(&path)
+ .await
+ .context("Failed to stat")?
+ .ok_or_else(|| anyhow::anyhow!("Path not found: {}", path))?;
+
+ Ok(serde_json::to_string_pretty(&StatsResponse::from(stats))?)
+}
+
+/// Test if path exists
+async fn handle_access(agentfs: &AgentFS, params: AccessParams) -> Result {
+ let path = normalize_path(¶ms.path)?;
+
+ let exists = agentfs.fs.stat(&path).await?.is_some();
+
+ Ok(serde_json::to_string(&json!({ "exists": exists }))?)
+}
+
+/// Get KV value
+async fn handle_kv_get(agentfs: &AgentFS, params: KvGetParams) -> Result {
+ let value: Option = agentfs
+ .kv
+ .get(¶ms.key)
+ .await
+ .context("Failed to get value")?;
+
+ Ok(serde_json::to_string_pretty(&value)?)
+}
+
+/// Set KV value
+async fn handle_kv_set(agentfs: &AgentFS, params: KvSetParams) -> Result {
+ agentfs
+ .kv
+ .set(¶ms.key, ¶ms.value)
+ .await
+ .context("Failed to set value")?;
+
+ Ok(format!("Set key: {}", params.key))
+}
+
+/// Delete KV value
+async fn handle_kv_delete(agentfs: &AgentFS, params: KvDeleteParams) -> Result {
+ agentfs
+ .kv
+ .delete(¶ms.key)
+ .await
+ .context("Failed to delete key")?;
+
+ Ok(format!("Deleted key: {}", params.key))
+}
+
+/// List KV keys, optionally filtered by prefix
+async fn handle_kv_list(agentfs: &AgentFS, params: KvListParams) -> Result {
+ let mut keys = agentfs.kv.keys().await.context("Failed to list keys")?;
+ if let Some(prefix) = ¶ms.prefix {
+ keys.retain(|key| key.starts_with(prefix.as_str()));
+ }
+ keys.sort();
+
+ Ok(serde_json::to_string_pretty(&keys)?)
+}
+
+/// List all files as resources
+async fn list_resources(agentfs: &AgentFS) -> Result> {
+ let mut resources = Vec::new();
+ collect_file_resources(agentfs, "/", &mut resources).await?;
+ Ok(resources)
+}
+
+/// Recursively collect file resources
+fn collect_file_resources<'a>(
+ agentfs: &'a AgentFS,
+ path: &'a str,
+ resources: &'a mut Vec,
+) -> std::pin::Pin> + Send + 'a>> {
+ Box::pin(async move {
+ let dir_stats = match agentfs.fs.stat(path).await? {
+ Some(s) => s,
+ None => return Ok(()),
+ };
+
+ let entries = match agentfs.fs.readdir(dir_stats.ino).await? {
+ Some(entries) => entries,
+ None => return Ok(()),
+ };
+
+ for entry in entries {
+ let full_path = if path == "/" {
+ format!("/{}", entry)
+ } else {
+ format!("{}/{}", path, entry)
+ };
+
+ let stats = match agentfs.fs.stat(&full_path).await? {
+ Some(s) => s,
+ None => continue,
+ };
+
+ if stats.is_file() {
+ resources.push(json!({
+ "uri": full_path,
+ "name": entry,
+ "description": format!("File at {}", full_path),
+ "mimeType": guess_mime_type(&full_path)
+ }));
+ } else if stats.is_directory() {
+ // Recurse into subdirectory
+ collect_file_resources(agentfs, &full_path, resources).await?;
+ }
+ }
+
+ Ok(())
+ })
+}
+
+/// Read a resource by path
+async fn read_resource(agentfs: &AgentFS, path: &str) -> Result> {
+ let normalized = normalize_path(path)?;
+
+ let data = agentfs
+ .fs
+ .read_file(&normalized)
+ .await
+ .context("Failed to read file")?
+ .ok_or_else(|| anyhow::anyhow!("File not found: {}", normalized))?;
+
+ Ok(data)
+}
+
+// ============================================================================
+// Response types
+// ============================================================================
+
+#[derive(Debug, Serialize)]
+struct StatsResponse {
+ ino: i64,
+ mode: u32,
+ nlink: u32,
+ uid: u32,
+ gid: u32,
+ size: i64,
+ atime: i64,
+ mtime: i64,
+ ctime: i64,
+ is_file: bool,
+ is_directory: bool,
+ is_symlink: bool,
+}
+
+impl From for StatsResponse {
+ fn from(stats: Stats) -> Self {
+ Self {
+ ino: stats.ino,
+ mode: stats.mode,
+ nlink: stats.nlink,
+ uid: stats.uid,
+ gid: stats.gid,
+ size: stats.size,
+ atime: stats.atime,
+ mtime: stats.mtime,
+ ctime: stats.ctime,
+ is_file: stats.is_file(),
+ is_directory: stats.is_directory(),
+ is_symlink: stats.is_symlink(),
+ }
+ }
+}
+
+#[cfg(test)]
+mod tests;
diff --git a/crates/agentfs-cli/src/cmd/mcp_server/tests.rs b/crates/agentfs-cli/src/cmd/mcp_server/tests.rs
new file mode 100644
index 00000000..1c1974bb
--- /dev/null
+++ b/crates/agentfs-cli/src/cmd/mcp_server/tests.rs
@@ -0,0 +1,449 @@
+use super::*;
+use agentfs_core::fs::S_IFREG;
+use agentfs_core::{error::Error as SdkError, FsError, ToolCallStatus};
+
+const ROOT_INO: i64 = 1;
+
+/// Unit tests run against an ephemeral database (Held source) so state and
+/// audit rows are shared across requests within one server. The PerRequest
+/// reopen semantics are inherently cross-process and are covered by the
+/// stdio shell suite (tests/test-mcp-server.sh).
+async fn create_test_server() -> Result<(McpServer, Arc)> {
+ create_filtered_test_server(None).await
+}
+
+async fn create_filtered_test_server(
+ tools_filter: Option>,
+) -> Result<(McpServer, Arc)> {
+ let server = McpServer::new(
+ ":memory:".to_string(),
+ AgentFSOptions::ephemeral(),
+ tools_filter,
+ )
+ .await?;
+ let agentfs = server.agentfs().await?;
+ Ok((server, agentfs))
+}
+
+async fn call_tool(server: &McpServer, id: i64, name: &str, arguments: JsonValue) -> JsonValue {
+ server
+ .handle_request(json!({
+ "jsonrpc": "2.0",
+ "id": id,
+ "method": "tools/call",
+ "params": { "name": name, "arguments": arguments }
+ }))
+ .await
+ .expect("tools/call requests must produce a response")
+}
+
+fn advertised_tool_names(server: &McpServer) -> Vec {
+ server
+ .get_tool_definitions()
+ .iter()
+ .map(|tool| {
+ tool.get("name")
+ .and_then(|name| name.as_str())
+ .expect("every tool definition has a name")
+ .to_string()
+ })
+ .collect()
+}
+
+#[tokio::test]
+async fn tools_list_equals_dispatch_surface() -> Result<()> {
+ let (server, agentfs) = create_test_server().await?;
+
+ assert_eq!(
+ advertised_tool_names(&server),
+ ALL_TOOLS.to_vec(),
+ "tools/list must advertise exactly the canonical tool surface"
+ );
+
+ // Every advertised tool must dispatch with minimal valid arguments.
+ agentfs.fs.mkdir("/dir", 0, 0).await?;
+ let minimal_args = |name: &str| -> JsonValue {
+ match name {
+ "read_file" => json!({"path": "/seed.txt"}),
+ "write_file" => json!({"path": "/seed.txt", "content": "seed"}),
+ "readdir" => json!({"path": "/"}),
+ "mkdir" => json!({"path": "/made"}),
+ "remove" => json!({"path": "/made"}),
+ "rename" => json!({"from": "/seed.txt", "to": "/renamed.txt"}),
+ "stat" => json!({"path": "/renamed.txt"}),
+ "access" => json!({"path": "/renamed.txt"}),
+ "kv_get" => json!({"key": "k"}),
+ "kv_set" => json!({"key": "k", "value": {"nested": true}}),
+ "kv_delete" => json!({"key": "k"}),
+ "kv_list" => json!({}),
+ other => panic!("no minimal arguments defined for tool {other}"),
+ }
+ };
+ // Dispatch order satisfies data dependencies (write before read/rename).
+ let order = [
+ "write_file",
+ "read_file",
+ "readdir",
+ "mkdir",
+ "remove",
+ "rename",
+ "stat",
+ "access",
+ "kv_set",
+ "kv_get",
+ "kv_list",
+ "kv_delete",
+ ];
+ assert_eq!(
+ {
+ let mut sorted = order.to_vec();
+ sorted.sort_unstable();
+ sorted
+ },
+ {
+ let mut sorted = ALL_TOOLS.to_vec();
+ sorted.sort_unstable();
+ sorted
+ },
+ "dispatch-order fixture must cover the canonical tool surface"
+ );
+
+ for (idx, name) in order.iter().enumerate() {
+ let response = call_tool(&server, idx as i64 + 1, name, minimal_args(name)).await;
+ assert!(
+ response.get("error").is_none(),
+ "advertised tool {name} failed to dispatch: {response}"
+ );
+ }
+ Ok(())
+}
+
+#[tokio::test]
+async fn kv_list_dispatches_and_honors_prefix() -> Result<()> {
+ let (_server, agentfs) = create_test_server().await?;
+ agentfs.kv.set("app/one", &json!(1)).await?;
+ agentfs.kv.set("app/two", &json!(2)).await?;
+ agentfs.kv.set("other", &json!(3)).await?;
+
+ let all = handle_kv_list(&agentfs, KvListParams { prefix: None }).await?;
+ let all: Vec = serde_json::from_str(&all)?;
+ assert_eq!(all, vec!["app/one", "app/two", "other"]);
+
+ let filtered = handle_kv_list(
+ &agentfs,
+ KvListParams {
+ prefix: Some("app/".to_string()),
+ },
+ )
+ .await?;
+ let filtered: Vec = serde_json::from_str(&filtered)?;
+ assert_eq!(filtered, vec!["app/one", "app/two"]);
+ Ok(())
+}
+
+#[tokio::test]
+async fn tool_calls_are_audited_with_status_and_timing() -> Result<()> {
+ let (server, agentfs) = create_test_server().await?;
+
+ let ok = call_tool(
+ &server,
+ 1,
+ "write_file",
+ json!({"path": "/audit.txt", "content": "hello"}),
+ )
+ .await;
+ assert!(ok.get("error").is_none(), "write_file failed: {ok}");
+
+ let failed = call_tool(&server, 2, "read_file", json!({"path": "/missing.txt"})).await;
+ assert!(
+ failed.get("error").is_some(),
+ "read_file on a missing path must fail"
+ );
+
+ let calls = agentfs.tools.recent(None).await?;
+ assert_eq!(calls.len(), 2, "each tools/call must write one audit row");
+
+ // recent() orders by started_at, which can tie at millisecond
+ // resolution; look rows up by name instead.
+ let read_call = calls
+ .iter()
+ .find(|call| call.name == "read_file")
+ .expect("read_file audit row");
+ assert_eq!(read_call.status, ToolCallStatus::Error);
+ assert!(
+ read_call
+ .error
+ .as_deref()
+ .unwrap_or("")
+ .contains("/missing.txt"),
+ "audit row should record the tool error, got {:?}",
+ read_call.error
+ );
+
+ let write_call = calls
+ .iter()
+ .find(|call| call.name == "write_file")
+ .expect("write_file audit row");
+ assert_eq!(write_call.status, ToolCallStatus::Success);
+ assert_eq!(
+ write_call.parameters,
+ Some(json!({"path": "/audit.txt", "content": "hello"})),
+ "audit row should record the tool arguments"
+ );
+ assert_eq!(
+ write_call.result,
+ Some(json!("Wrote 5 bytes to /audit.txt")),
+ "audit row should record the tool result"
+ );
+ assert!(write_call.duration_ms.is_some());
+ assert!(write_call.completed_at.is_some());
+ Ok(())
+}
+
+#[tokio::test]
+async fn write_file_preserves_existing_mode_and_creates_with_default() -> Result<()> {
+ let (server, agentfs) = create_test_server().await?;
+
+ let (created, file) = agentfs
+ .fs
+ .create_file("/mode.txt", S_IFREG | 0o755, 0, 0)
+ .await?;
+ file.pwrite(0, b"original content").await?;
+ file.drain_writes().await?;
+ assert_eq!(created.mode, S_IFREG | 0o755);
+
+ let response = call_tool(
+ &server,
+ 1,
+ "write_file",
+ json!({"path": "/mode.txt", "content": "overwritten"}),
+ )
+ .await;
+ assert!(response.get("error").is_none(), "write failed: {response}");
+
+ let stats = agentfs.fs.stat("/mode.txt").await?.unwrap();
+ assert_eq!(
+ stats.mode,
+ S_IFREG | 0o755,
+ "overwriting an existing file must not change its mode"
+ );
+ assert_eq!(stats.size, "overwritten".len() as i64);
+ assert_eq!(
+ agentfs.fs.read_file("/mode.txt").await?.unwrap(),
+ b"overwritten".to_vec()
+ );
+
+ let response = call_tool(
+ &server,
+ 2,
+ "write_file",
+ json!({"path": "/fresh.txt", "content": "new"}),
+ )
+ .await;
+ assert!(response.get("error").is_none(), "write failed: {response}");
+ let stats = agentfs.fs.stat("/fresh.txt").await?.unwrap();
+ assert_eq!(
+ stats.mode, DEFAULT_FILE_MODE,
+ "new files must be created with the documented default mode 0644"
+ );
+ Ok(())
+}
+
+#[tokio::test]
+async fn unknown_tool_is_rejected_with_invalid_params_and_audited() -> Result<()> {
+ let (server, agentfs) = create_test_server().await?;
+
+ let response = call_tool(&server, 1, "copy_file", json!({})).await;
+ let error = response
+ .get("error")
+ .expect("unknown tool must produce a JSON-RPC error");
+ assert_eq!(
+ error.get("code").and_then(|c| c.as_i64()),
+ Some(INVALID_PARAMS)
+ );
+ assert!(
+ error
+ .get("message")
+ .and_then(|m| m.as_str())
+ .unwrap_or("")
+ .contains("copy_file"),
+ "error should name the unknown tool: {error}"
+ );
+
+ let calls = agentfs.tools.recent(None).await?;
+ assert_eq!(calls.len(), 1, "rejected calls are audited too");
+ assert_eq!(calls[0].name, "copy_file");
+ assert_eq!(calls[0].status, ToolCallStatus::Error);
+ Ok(())
+}
+
+#[tokio::test]
+async fn notifications_are_accepted_without_response() -> Result<()> {
+ let (server, _agentfs) = create_test_server().await?;
+
+ // The standard post-initialize notification from strict clients.
+ assert_eq!(
+ server
+ .handle_request(json!({
+ "jsonrpc": "2.0",
+ "method": "notifications/initialized"
+ }))
+ .await,
+ None,
+ "notifications/initialized must be accepted without a response"
+ );
+ // Legacy spelling.
+ assert_eq!(
+ server
+ .handle_request(json!({"jsonrpc": "2.0", "method": "initialized"}))
+ .await,
+ None
+ );
+ // Any request without an id is a notification and never gets a response,
+ // even when it would error.
+ assert_eq!(
+ server
+ .handle_request(json!({"jsonrpc": "2.0", "method": "bogus/method"}))
+ .await,
+ None
+ );
+ Ok(())
+}
+
+#[tokio::test]
+async fn unknown_method_with_id_returns_method_not_found() -> Result<()> {
+ let (server, _agentfs) = create_test_server().await?;
+
+ let response = server
+ .handle_request(json!({"jsonrpc": "2.0", "id": 7, "method": "bogus/method"}))
+ .await
+ .expect("requests with an id must produce a response");
+ let error = response.get("error").expect("unknown method must error");
+ assert_eq!(
+ error.get("code").and_then(|c| c.as_i64()),
+ Some(METHOD_NOT_FOUND)
+ );
+ assert_eq!(response.get("id").and_then(|id| id.as_i64()), Some(7));
+ Ok(())
+}
+
+#[tokio::test]
+async fn tools_filter_limits_both_listing_and_dispatch() -> Result<()> {
+ let (server, agentfs) =
+ create_filtered_test_server(Some(vec!["read_file".to_string(), "kv_list".to_string()]))
+ .await?;
+
+ assert_eq!(
+ advertised_tool_names(&server),
+ vec!["read_file".to_string(), "kv_list".to_string()],
+ "tools/list must contain exactly the filtered tools"
+ );
+
+ let response = call_tool(
+ &server,
+ 1,
+ "write_file",
+ json!({"path": "/blocked.txt", "content": "nope"}),
+ )
+ .await;
+ let error = response
+ .get("error")
+ .expect("disabled tools must be rejected at call time");
+ assert_eq!(
+ error.get("code").and_then(|c| c.as_i64()),
+ Some(INVALID_PARAMS)
+ );
+ assert!(
+ agentfs.fs.stat("/blocked.txt").await?.is_none(),
+ "disabled tool must not have side effects"
+ );
+
+ let calls = agentfs.tools.recent(None).await?;
+ assert_eq!(calls.len(), 1);
+ assert_eq!(calls[0].status, ToolCallStatus::Error);
+ Ok(())
+}
+
+#[tokio::test]
+async fn unknown_tools_filter_is_rejected_at_startup() -> Result<()> {
+ let error = match McpServer::new(
+ ":memory:".to_string(),
+ AgentFSOptions::ephemeral(),
+ Some(vec!["copy_file".to_string()]),
+ )
+ .await
+ {
+ Ok(_) => panic!("phantom tool names must be rejected at startup"),
+ Err(error) => error,
+ };
+ let message = format!("{error:#}");
+ assert!(
+ message.contains("copy_file") && message.contains("kv_list"),
+ "startup error should name the unknown tool and list the available ones: {message}"
+ );
+ Ok(())
+}
+
+#[tokio::test]
+async fn mcp_rename_directory_into_own_subtree_returns_error_and_preserves_namespace() -> Result<()>
+{
+ let (server, agentfs) = create_test_server().await?;
+ agentfs.fs.mkdir("/parent", 0, 0).await?;
+ agentfs.fs.mkdir("/parent/child", 0, 0).await?;
+
+ let parent_ino = agentfs.fs.stat("/parent").await?.unwrap().ino;
+ let child_ino = agentfs.fs.stat("/parent/child").await?.unwrap().ino;
+ let root_before = agentfs.fs.readdir(ROOT_INO).await?.unwrap();
+ let parent_before = agentfs.fs.readdir(parent_ino).await?.unwrap();
+ let child_before = agentfs.fs.readdir(child_ino).await?.unwrap();
+
+ let direct_error = handle_rename(
+ &agentfs,
+ RenameParams {
+ from: "/parent".to_string(),
+ to: "/parent/child/parent".to_string(),
+ },
+ )
+ .await
+ .expect_err("cycle rename should fail");
+ assert!(
+ direct_error.chain().any(|cause| {
+ matches!(
+ cause.downcast_ref::(),
+ Some(SdkError::Fs(FsError::InvalidRename))
+ )
+ }),
+ "expected InvalidRename in error chain, got {direct_error:#}"
+ );
+
+ let response = server
+ .handle_request(json!({
+ "jsonrpc": "2.0",
+ "id": 1,
+ "method": "tools/call",
+ "params": {
+ "name": "rename",
+ "arguments": {
+ "from": "/parent",
+ "to": "/parent/child/parent"
+ }
+ }
+ }))
+ .await
+ .expect("tools/call requests must produce a response");
+ assert!(
+ response.get("error").is_some(),
+ "cycle rename should return a JSON-RPC error response: {response}"
+ );
+
+ assert_eq!(agentfs.fs.readdir(ROOT_INO).await?.unwrap(), root_before);
+ assert_eq!(
+ agentfs.fs.readdir(parent_ino).await?.unwrap(),
+ parent_before
+ );
+ assert_eq!(agentfs.fs.readdir(child_ino).await?.unwrap(), child_before);
+ assert!(agentfs.fs.stat("/parent").await?.is_some());
+ assert!(agentfs.fs.stat("/parent/child").await?.is_some());
+ assert!(agentfs.fs.stat("/parent/child/parent").await?.is_none());
+ Ok(())
+}
diff --git a/cli/src/cmd/migrate.rs b/crates/agentfs-cli/src/cmd/migrate.rs
similarity index 60%
rename from cli/src/cmd/migrate.rs
rename to crates/agentfs-cli/src/cmd/migrate.rs
index ae6c2c66..93bb8c3a 100644
--- a/cli/src/cmd/migrate.rs
+++ b/crates/agentfs-cli/src/cmd/migrate.rs
@@ -1,8 +1,16 @@
//! Database schema migration command.
//!
-//! Migrates an agentfs SQLite database to the current schema version.
-
-use agentfs_sdk::{AgentFSOptions, SchemaVersion};
+//! One `agentfs migrate` lands any supported old schema at the current
+//! version: in place by default (every supported migration is an additive,
+//! transactional ALTER), or copy-based via `--copy ` for users who
+//! want a rebuilt database with the current chunk layout, keeping the
+//! hash/verify engine from the historical `migrate-v0-5` command.
+
+use agentfs_core::{
+ config::{DEFAULT_CHUNK_SIZE, DEFAULT_INLINE_THRESHOLD},
+ error::Error as SdkError,
+ schema, AgentFSOptions, SchemaVersion,
+};
use anyhow::{Context, Result as AnyhowResult};
use std::collections::{hash_map::DefaultHasher, HashSet};
use std::fs;
@@ -10,19 +18,50 @@ use std::hash::{Hash, Hasher};
use std::io::{Read as IoRead, Write};
use std::path::{Path, PathBuf};
use turso::transaction::{Transaction, TransactionBehavior};
-use turso::{Builder, Connection, Value};
+use turso::{Connection, Value};
+
+use super::safety::{build_local_database, ReadOnlyOpenSidecars};
-const V0_5_SCHEMA_VERSION: &str = "0.5";
-const V0_5_CHUNK_SIZE: usize = 65_536;
-const V0_5_INLINE_THRESHOLD: usize = 4_096;
const S_IFMT: i64 = 0o170000;
const S_IFREG: i64 = 0o100000;
-/// Handle the migrate command.
+/// Guidance for a schema-version mismatch surfaced by an open path.
+///
+/// Names a command that actually finishes the job: supported old versions get
+/// `agentfs migrate ` (which lands at CURRENT in one invocation);
+/// anything else is from a newer agentfs and no local command can help.
+pub fn schema_upgrade_guidance(found: &str, expected: &str, id_or_path: &str) -> String {
+ match SchemaVersion::parse(found) {
+ Some(version) if version < schema::CURRENT => format!(
+ "Filesystem `{id_or_path}` requires migration\n\n\
+ Found schema version {found}, but this version of agentfs requires {expected}.\n\n\
+ To upgrade, run:\n\n agentfs migrate {id_or_path}\n"
+ ),
+ _ => format!(
+ "Filesystem `{id_or_path}` has unsupported schema version {found}; \
+ this version of agentfs supports up to {expected}.\n\
+ The database was likely created by a newer agentfs. Upgrade agentfs to open it."
+ ),
+ }
+}
+
+/// Convert an SDK open error into an anyhow error, attaching migrate guidance
+/// when the failure is a schema-version mismatch.
+pub fn open_error_with_guidance(err: SdkError, id_or_path: &str) -> anyhow::Error {
+ match &err {
+ SdkError::SchemaVersionMismatch { found, expected } => {
+ anyhow::anyhow!("{}", schema_upgrade_guidance(found, expected, id_or_path))
+ }
+ _ => err.into(),
+ }
+}
+
+/// Handle the in-place migrate command.
pub async fn handle_migrate_command(
stdout: &mut impl Write,
id_or_path: String,
dry_run: bool,
+ encryption: Option<&(String, String)>,
) -> AnyhowResult<()> {
let options = AgentFSOptions::resolve(&id_or_path)?;
let db_path_str = options
@@ -36,30 +75,47 @@ pub async fn handle_migrate_command(
writeln!(stdout, "Database: {}", db_path.display())?;
- // Open database directly using turso::Builder (not SDK) to avoid version check
- let db = Builder::new_local(&db_path_str)
- .build()
- .await
- .context("Failed to open database")?;
+ let sidecars = ReadOnlyOpenSidecars::capture(db_path);
+ let result = migrate_in_place(stdout, db_path, dry_run, encryption, &sidecars).await;
+ if result.is_err() {
+ // A failed migrate must not leave behind the frameless WAL/SHM its
+ // own open materialized (single-file invariant I1); the database and
+ // connection are already dropped when migrate_in_place returns.
+ sidecars.remove_created_frameless();
+ }
+ result
+}
+
+/// The open-to-finish body of the in-place migrate. Owns the database handle
+/// so every return path (success or error) has dropped it before the caller
+/// runs sidecar cleanup.
+async fn migrate_in_place(
+ stdout: &mut impl Write,
+ db_path: &Path,
+ dry_run: bool,
+ encryption: Option<&(String, String)>,
+ sidecars: &ReadOnlyOpenSidecars,
+) -> AnyhowResult<()> {
+ // Open directly via turso::Builder (not the SDK) so the open-path version
+ // gate does not reject the database migrate exists to upgrade.
+ let db = build_local_database(db_path, encryption).await?;
let conn = db.connect().context("Failed to connect to database")?;
- // Detect current schema version using SDK
- let current_version = agentfs_sdk::schema::detect_schema_version(&conn)
+ let current_version = schema::detect_schema_version(&conn)
.await?
.unwrap_or(SchemaVersion::V0_0);
writeln!(stdout, "Current schema version: {}", current_version)?;
- writeln!(stdout, "Target schema version: 0.4 (legacy in-place)")?;
-
- if current_version == SchemaVersion::V0_5 {
- writeln!(stdout, "Database is already at schema v0.5.")?;
- return Ok(());
- }
-
- if current_version == SchemaVersion::V0_4 {
- writeln!(
- stdout,
- "Database is at legacy schema v0.4. Use migrate-v0-5 for copy-based v0.5 migration."
- )?;
+ writeln!(
+ stdout,
+ "Target schema version: {} (CURRENT)",
+ schema::CURRENT
+ )?;
+
+ if current_version == schema::CURRENT {
+ writeln!(stdout, "Database is already at schema {}.", schema::CURRENT)?;
+ drop(conn);
+ drop(db);
+ sidecars.remove_created_frameless();
return Ok(());
}
@@ -70,17 +126,21 @@ pub async fn handle_migrate_command(
)?;
print_pending_migrations(stdout, current_version)?;
writeln!(stdout, "\nRun without --dry-run to apply migrations.")?;
+ drop(conn);
+ drop(db);
+ sidecars.remove_created_frameless();
} else {
writeln!(stdout, "\nApplying migrations...")?;
- apply_migrations(&conn, current_version, stdout).await?;
+ schema::ensure_current(&conn)
+ .await
+ .context("Failed to migrate schema to current")?;
- // Store schema version in fs_config for future use
- conn.execute(
- "INSERT OR REPLACE INTO fs_config (key, value) VALUES ('schema_version', ?)",
- ["0.4"],
- )
- .await
- .context("Failed to store schema version")?;
+ // Leave a single portable main-db file behind: checkpoint the WAL and
+ // drop the now-empty sidecars.
+ checkpoint_target(&conn, db_path).await?;
+ drop(conn);
+ drop(db);
+ super::safety::remove_sqlite_sidecars_after_checkpoint(db_path)?;
writeln!(stdout, "\nMigration completed successfully.")?;
}
@@ -88,15 +148,29 @@ pub async fn handle_migrate_command(
Ok(())
}
-/// Handle the copy-based v0.4 -> v0.5 migration command.
-pub async fn handle_migrate_v0_5_command(
+/// Handle the copy-based migration mode (`migrate --copy `).
+pub async fn handle_migrate_copy_command(
stdout: &mut impl Write,
- source: PathBuf,
+ id_or_path: String,
target: PathBuf,
verify: bool,
overwrite_target: bool,
+ encryption: Option<&(String, String)>,
) -> AnyhowResult<()> {
- migrate_v0_4_to_v0_5(stdout, &source, &target, verify, overwrite_target).await
+ let options = AgentFSOptions::resolve(&id_or_path)?;
+ let source_path_str = options
+ .db_path()
+ .context("Failed to resolve database path")?;
+ let source = PathBuf::from(source_path_str);
+ copy_migrate_to_current(
+ stdout,
+ &source,
+ &target,
+ verify,
+ overwrite_target,
+ encryption,
+ )
+ .await
}
/// Print pending migrations without applying them.
@@ -105,163 +179,27 @@ fn print_pending_migrations(
from_version: SchemaVersion,
) -> AnyhowResult<()> {
match from_version {
- SchemaVersion::V0_0 => {
- writeln!(stdout, " - v0.0 -> v0.2: Add nlink column to fs_inode")?;
- writeln!(stdout, " - v0.2 -> v0.4: Add atime_nsec, mtime_nsec, ctime_nsec, rdev columns to fs_inode")?;
- }
- SchemaVersion::V0_2 => {
- writeln!(stdout, " - v0.2 -> v0.4: Add atime_nsec, mtime_nsec, ctime_nsec, rdev columns to fs_inode")?;
- }
- SchemaVersion::V0_4 => {
- // Already at latest
- }
- SchemaVersion::V0_5 => {
- // v0.5 uses the copy-based migrate-v0-5 command.
- }
- }
- Ok(())
-}
-
-/// Apply migrations from the current version to the target version.
-async fn apply_migrations(
- conn: &turso::Connection,
- from_version: SchemaVersion,
- stdout: &mut impl Write,
-) -> AnyhowResult<()> {
- match from_version {
- SchemaVersion::V0_0 => {
- // Migrate v0.0 -> v0.2
- migrate_v0_0_to_v0_2(conn, stdout).await?;
- // Then v0.2 -> v0.4
- migrate_v0_2_to_v0_4(conn, stdout).await?;
- }
- SchemaVersion::V0_2 => {
- // Migrate v0.2 -> v0.4
- migrate_v0_2_to_v0_4(conn, stdout).await?;
- }
- SchemaVersion::V0_4 => {
- // Already at latest version
- }
- SchemaVersion::V0_5 => {
- // v0.5 uses the copy-based migrate-v0-5 command.
- }
- }
- Ok(())
-}
-
-/// Migrate from v0.0 to v0.2: Add nlink column to fs_inode.
-async fn migrate_v0_0_to_v0_2(
- conn: &turso::Connection,
- stdout: &mut impl Write,
-) -> AnyhowResult<()> {
- writeln!(stdout, " Migrating v0.0 -> v0.2...")?;
-
- // Add nlink column (idempotent - ignore if exists)
- let result = conn
- .execute(
- "ALTER TABLE fs_inode ADD COLUMN nlink INTEGER NOT NULL DEFAULT 0",
- (),
- )
- .await;
-
- match result {
- Ok(_) => writeln!(stdout, " Added nlink column to fs_inode")?,
- Err(e) => {
- // Check if it's a "duplicate column" error (column already exists)
- let err_msg = e.to_string();
- if err_msg.contains("duplicate column") {
- writeln!(stdout, " nlink column already exists (skipping)")?;
- } else {
- return Err(e).context("Failed to add nlink column");
- }
- }
- }
-
- writeln!(stdout, " v0.0 -> v0.2 migration complete.")?;
- Ok(())
-}
-
-/// Migrate from v0.2 to v0.4: Add nanosecond timestamp columns and rdev.
-async fn migrate_v0_2_to_v0_4(
- conn: &turso::Connection,
- stdout: &mut impl Write,
-) -> AnyhowResult<()> {
- writeln!(stdout, " Migrating v0.2 -> v0.4...")?;
-
- // Add atime_nsec column (idempotent)
- add_column_idempotent(
- conn,
- stdout,
- "atime_nsec",
- "ALTER TABLE fs_inode ADD COLUMN atime_nsec INTEGER NOT NULL DEFAULT 0",
- )
- .await?;
-
- // Add mtime_nsec column (idempotent)
- add_column_idempotent(
- conn,
- stdout,
- "mtime_nsec",
- "ALTER TABLE fs_inode ADD COLUMN mtime_nsec INTEGER NOT NULL DEFAULT 0",
- )
- .await?;
-
- // Add ctime_nsec column (idempotent)
- add_column_idempotent(
- conn,
- stdout,
- "ctime_nsec",
- "ALTER TABLE fs_inode ADD COLUMN ctime_nsec INTEGER NOT NULL DEFAULT 0",
- )
- .await?;
-
- // Add rdev column (idempotent)
- add_column_idempotent(
- conn,
- stdout,
- "rdev",
- "ALTER TABLE fs_inode ADD COLUMN rdev INTEGER NOT NULL DEFAULT 0",
- )
- .await?;
-
- writeln!(stdout, " v0.2 -> v0.4 migration complete.")?;
- Ok(())
-}
-
-/// Add a column idempotently (ignore duplicate column errors).
-async fn add_column_idempotent(
- conn: &turso::Connection,
- stdout: &mut impl Write,
- column_name: &str,
- sql: &str,
-) -> AnyhowResult<()> {
- let result = conn.execute(sql, ()).await;
-
- match result {
- Ok(_) => writeln!(stdout, " Added {} column to fs_inode", column_name)?,
- Err(e) => {
- let err_msg = e.to_string();
- if err_msg.contains("duplicate column") {
+ version if version == schema::CURRENT => {}
+ version => {
+ for migration in schema::pending_migrations(version) {
writeln!(
stdout,
- " {} column already exists (skipping)",
- column_name
+ " - {} -> {}: {}",
+ migration.from, migration.to, migration.description
)?;
- } else {
- return Err(e).context(format!("Failed to add {} column", column_name));
}
}
}
-
Ok(())
}
-async fn migrate_v0_4_to_v0_5(
+async fn copy_migrate_to_current(
stdout: &mut impl Write,
source_path: &Path,
target_path: &Path,
verify: bool,
overwrite_target: bool,
+ encryption: Option<&(String, String)>,
) -> AnyhowResult<()> {
if !source_path.exists() {
anyhow::bail!("Source database not found: {}", source_path.display());
@@ -282,11 +220,7 @@ async fn migrate_v0_4_to_v0_5(
remove_db_family(target_path)?;
}
- let source_db_path = source_path
- .to_str()
- .context("Source database path is not valid UTF-8")?;
- let source_db = Builder::new_local(source_db_path)
- .build()
+ let source_db = build_local_database(source_path, encryption)
.await
.context("Failed to open source database")?;
let source_conn = source_db
@@ -300,22 +234,20 @@ async fn migrate_v0_4_to_v0_5(
.with_context(|| format!("Failed to hash source {}", source_path.display()))?;
run_integrity_check(&source_conn, "source").await?;
- let source_version = agentfs_sdk::schema::detect_schema_version(&source_conn)
+ let source_version = schema::detect_schema_version(&source_conn)
.await?
.unwrap_or(SchemaVersion::V0_0);
- if source_version != SchemaVersion::V0_4 {
+ if source_version == schema::CURRENT {
anyhow::bail!(
- "Expected source schema v0.4, found {}. Run the existing migrate command first.",
- source_version
+ "Source database is already at schema {}. Run `agentfs migrate {}` for in-place \
+ normalization or `agentfs backup` for a portable copy.",
+ schema::CURRENT,
+ source_path.display()
);
}
let source_chunk_size = read_config_usize(&source_conn, "chunk_size", 4096).await?;
- let target_db_path = target_path
- .to_str()
- .context("Target database path is not valid UTF-8")?;
- let target_db = Builder::new_local(target_db_path)
- .build()
+ let target_db = build_local_database(target_path, encryption)
.await
.context("Failed to create target database")?;
let target_conn = target_db
@@ -325,15 +257,20 @@ async fn migrate_v0_4_to_v0_5(
writeln!(stdout, "Source: {}", source_path.display())?;
writeln!(stdout, "Target: {}", target_path.display())?;
writeln!(stdout, "Source schema version: {source_version}")?;
- writeln!(stdout, "Target schema version: {V0_5_SCHEMA_VERSION}")?;
+ writeln!(
+ stdout,
+ "Target schema version: {} (CURRENT)",
+ schema::CURRENT
+ )?;
- create_v0_5_schema(&target_conn).await?;
+ create_current_schema(&target_conn).await?;
let txn = Transaction::new_unchecked(&target_conn, TransactionBehavior::Immediate).await?;
let copy_result: AnyhowResult<()> = async {
copy_fs_config(&source_conn, &target_conn).await?;
migrate_inodes_and_file_data(&source_conn, &target_conn, source_chunk_size).await?;
copy_table_common_columns(&source_conn, &target_conn, "fs_dentry").await?;
+ backfill_target_nlink_if_missing(&source_conn, &target_conn).await?;
copy_table_common_columns(&source_conn, &target_conn, "fs_symlink").await?;
copy_optional_whiteouts(&source_conn, &target_conn).await?;
copy_optional_table_common_columns(&source_conn, &target_conn, "fs_origin").await?;
@@ -354,7 +291,8 @@ async fn migrate_v0_4_to_v0_5(
if verify {
verify_migration_equivalence(&source_conn, &target_conn).await?;
- checkpoint_target_and_verify_copy(&source_conn, &target_conn, target_path).await?;
+ checkpoint_target_and_verify_copy(&source_conn, &target_conn, target_path, encryption)
+ .await?;
} else {
checkpoint_target(&target_conn, target_path).await?;
}
@@ -374,164 +312,56 @@ async fn migrate_v0_4_to_v0_5(
Ok(())
}
-async fn create_v0_5_schema(conn: &Connection) -> AnyhowResult<()> {
- conn.execute(
- "CREATE TABLE fs_config (
- key TEXT PRIMARY KEY,
- value TEXT NOT NULL
- )",
- (),
- )
- .await?;
- conn.execute(
- "CREATE TABLE fs_inode (
- ino INTEGER PRIMARY KEY AUTOINCREMENT,
- mode INTEGER NOT NULL,
- nlink INTEGER NOT NULL DEFAULT 0,
- uid INTEGER NOT NULL DEFAULT 0,
- gid INTEGER NOT NULL DEFAULT 0,
- size INTEGER NOT NULL DEFAULT 0,
- atime INTEGER NOT NULL,
- mtime INTEGER NOT NULL,
- ctime INTEGER NOT NULL,
- rdev INTEGER NOT NULL DEFAULT 0,
- atime_nsec INTEGER NOT NULL DEFAULT 0,
- mtime_nsec INTEGER NOT NULL DEFAULT 0,
- ctime_nsec INTEGER NOT NULL DEFAULT 0,
- data_inline BLOB,
- storage_kind INTEGER NOT NULL DEFAULT 0
- )",
- (),
- )
- .await?;
- conn.execute(
- "CREATE TABLE fs_dentry (
- id INTEGER PRIMARY KEY AUTOINCREMENT,
- name TEXT NOT NULL,
- parent_ino INTEGER NOT NULL,
- ino INTEGER NOT NULL,
- UNIQUE(parent_ino, name)
- )",
- (),
- )
- .await?;
- conn.execute(
- "CREATE INDEX idx_fs_dentry_parent ON fs_dentry(parent_ino, name)",
- (),
- )
- .await?;
- conn.execute(
- "CREATE TABLE fs_data (
- ino INTEGER NOT NULL,
- chunk_index INTEGER NOT NULL,
- data BLOB NOT NULL,
- PRIMARY KEY (ino, chunk_index)
- )",
- (),
- )
- .await?;
- conn.execute(
- "CREATE TABLE fs_symlink (
- ino INTEGER PRIMARY KEY,
- target TEXT NOT NULL
- )",
- (),
- )
- .await?;
- conn.execute(
- "CREATE TABLE fs_whiteout (
- path TEXT PRIMARY KEY,
- parent_path TEXT NOT NULL,
- created_at INTEGER NOT NULL
- )",
- (),
- )
- .await?;
- conn.execute(
- "CREATE INDEX idx_fs_whiteout_parent ON fs_whiteout(parent_path)",
- (),
- )
- .await?;
- conn.execute(
- "CREATE TABLE fs_origin (
- delta_ino INTEGER PRIMARY KEY,
- base_ino INTEGER NOT NULL
- )",
- (),
- )
- .await?;
- conn.execute(
- "CREATE TABLE fs_overlay_config (
- key TEXT PRIMARY KEY,
- value TEXT NOT NULL
- )",
- (),
- )
- .await?;
- conn.execute(
- "CREATE TABLE kv_store (
- key TEXT PRIMARY KEY,
- value TEXT NOT NULL,
- created_at INTEGER DEFAULT (unixepoch()),
- updated_at INTEGER DEFAULT (unixepoch())
- )",
- (),
- )
- .await?;
- conn.execute(
- "CREATE INDEX idx_kv_store_created_at ON kv_store(created_at)",
- (),
- )
- .await?;
- conn.execute(
- "CREATE TABLE tool_calls (
- id INTEGER PRIMARY KEY AUTOINCREMENT,
- name TEXT NOT NULL,
- parameters TEXT,
- result TEXT,
- error TEXT,
- status TEXT NOT NULL DEFAULT 'pending',
- started_at INTEGER NOT NULL,
- completed_at INTEGER,
- duration_ms INTEGER
- )",
- (),
- )
- .await?;
- conn.execute("CREATE INDEX idx_tool_calls_name ON tool_calls(name)", ())
- .await?;
- conn.execute(
- "CREATE INDEX idx_tool_calls_started_at ON tool_calls(started_at)",
- (),
- )
- .await?;
-
- conn.execute(
- "INSERT INTO fs_config (key, value) VALUES ('schema_version', ?)",
- (V0_5_SCHEMA_VERSION,),
- )
- .await?;
- conn.execute(
- "INSERT INTO fs_config (key, value) VALUES ('chunk_size', ?)",
- (V0_5_CHUNK_SIZE.to_string(),),
- )
- .await?;
- conn.execute(
- "INSERT INTO fs_config (key, value) VALUES ('inline_threshold', ?)",
- (V0_5_INLINE_THRESHOLD.to_string(),),
- )
- .await?;
+async fn create_current_schema(conn: &Connection) -> AnyhowResult<()> {
+ schema::ensure_current(conn)
+ .await
+ .map_err(anyhow::Error::from)
+}
+/// The v0.0 -> v0.2 nlink backfill rule, applied on the copy target when the
+/// source predates the nlink column. Must stay in step with the in-place
+/// migration in `agentfs_core::schema`.
+const NLINK_BACKFILL_CASE: &str = "CASE
+ WHEN fs_inode.ino = 1 THEN 2
+ WHEN (fs_inode.mode & 61440) = 16384
+ THEN MAX(1, (SELECT COUNT(*) FROM fs_dentry d WHERE d.ino = fs_inode.ino))
+ ELSE (SELECT COUNT(*) FROM fs_dentry d WHERE d.ino = fs_inode.ino)
+ END";
+
+async fn backfill_target_nlink_if_missing(
+ source: &Connection,
+ target: &Connection,
+) -> AnyhowResult<()> {
+ if source_has_column(source, "fs_inode", "nlink").await? {
+ return Ok(());
+ }
+ target
+ .execute(
+ &format!("UPDATE fs_inode SET nlink = {NLINK_BACKFILL_CASE}"),
+ (),
+ )
+ .await?;
Ok(())
}
+async fn source_has_column(conn: &Connection, table: &str, column: &str) -> AnyhowResult {
+ Ok(get_table_columns(conn, table)
+ .await?
+ .iter()
+ .any(|name| name == column))
+}
+
async fn copy_fs_config(source: &Connection, target: &Connection) -> AnyhowResult<()> {
let mut rows = source
.query(
"SELECT key, value FROM fs_config
- WHERE key NOT IN ('schema_version', 'chunk_size', 'inline_threshold')
+ WHERE key NOT IN (?, ?, ?)
ORDER BY key",
- (),
+ (
+ schema::CONFIG_SCHEMA_VERSION_KEY,
+ schema::CONFIG_CHUNK_SIZE_KEY,
+ schema::CONFIG_INLINE_THRESHOLD_KEY,
+ ),
)
.await?;
@@ -548,20 +378,26 @@ async fn copy_fs_config(source: &Connection, target: &Connection) -> AnyhowResul
target
.execute(
- "INSERT OR REPLACE INTO fs_config (key, value) VALUES ('schema_version', ?)",
- (V0_5_SCHEMA_VERSION,),
+ "INSERT OR REPLACE INTO fs_config (key, value) VALUES (?, ?)",
+ (schema::CONFIG_SCHEMA_VERSION_KEY, schema::CURRENT.as_str()),
)
.await?;
target
.execute(
- "INSERT OR REPLACE INTO fs_config (key, value) VALUES ('chunk_size', ?)",
- (V0_5_CHUNK_SIZE.to_string(),),
+ "INSERT OR REPLACE INTO fs_config (key, value) VALUES (?, ?)",
+ (
+ schema::CONFIG_CHUNK_SIZE_KEY,
+ DEFAULT_CHUNK_SIZE.to_string(),
+ ),
)
.await?;
target
.execute(
- "INSERT OR REPLACE INTO fs_config (key, value) VALUES ('inline_threshold', ?)",
- (V0_5_INLINE_THRESHOLD.to_string(),),
+ "INSERT OR REPLACE INTO fs_config (key, value) VALUES (?, ?)",
+ (
+ schema::CONFIG_INLINE_THRESHOLD_KEY,
+ DEFAULT_INLINE_THRESHOLD.to_string(),
+ ),
)
.await?;
Ok(())
@@ -572,15 +408,28 @@ async fn migrate_inodes_and_file_data(
target: &Connection,
source_chunk_size: usize,
) -> AnyhowResult<()> {
- let mut rows = source
- .query(
- "SELECT ino, mode, nlink, uid, gid, size, atime, mtime, ctime, rdev,
- atime_nsec, mtime_nsec, ctime_nsec
- FROM fs_inode
- ORDER BY ino",
- (),
- )
- .await?;
+ // Older schemas predate some inode columns (v0.0: nlink; v0.0/v0.2:
+ // rdev and the *_nsec columns); select zeros for the missing ones so one
+ // copy loop serves every supported source version.
+ let source_columns = get_table_columns(source, "fs_inode").await?;
+ let select_column = |name: &str| {
+ if source_columns.iter().any(|column| column == name) {
+ quote_identifier(name)
+ } else {
+ format!("0 AS {}", quote_identifier(name))
+ }
+ };
+ let select_sql = format!(
+ "SELECT ino, mode, {}, uid, gid, size, atime, mtime, ctime, {}, {}, {}, {}
+ FROM fs_inode
+ ORDER BY ino",
+ select_column("nlink"),
+ select_column("rdev"),
+ select_column("atime_nsec"),
+ select_column("mtime_nsec"),
+ select_column("ctime_nsec"),
+ );
+ let mut rows = source.query(&select_sql, ()).await?;
while let Some(row) = rows.next().await? {
let ino = row_i64(&row, 0)?;
@@ -598,18 +447,18 @@ async fn migrate_inodes_and_file_data(
let ctime_nsec = row_i64(&row, 12)?;
let is_regular = (mode & S_IFMT) == S_IFREG;
- let (storage_kind, data_inline) = if is_regular && (size as usize) <= V0_5_INLINE_THRESHOLD
- {
- let (bytes, dense) =
- read_source_file_bytes(source, ino, size as usize, source_chunk_size).await?;
- if dense {
- (1_i64, Value::Blob(bytes))
+ let (storage_kind, data_inline) =
+ if is_regular && (size as usize) <= DEFAULT_INLINE_THRESHOLD {
+ let (bytes, dense) =
+ read_source_file_bytes(source, ino, size as usize, source_chunk_size).await?;
+ if dense {
+ (1_i64, Value::Blob(bytes))
+ } else {
+ (0_i64, Value::Null)
+ }
} else {
(0_i64, Value::Null)
- }
- } else {
- (0_i64, Value::Null)
- };
+ };
target
.execute(
@@ -682,7 +531,7 @@ async fn copy_source_file_chunks_to_target(
let mut remaining = &chunk_data[..std::cmp::min(chunk_data.len(), size - source_offset)];
while !remaining.is_empty() {
- let next_target_index = (source_offset / V0_5_CHUNK_SIZE) as i64;
+ let next_target_index = (source_offset / DEFAULT_CHUNK_SIZE) as i64;
if target_chunk_index != Some(next_target_index) {
flush_target_chunk(
target,
@@ -693,12 +542,12 @@ async fn copy_source_file_chunks_to_target(
)
.await?;
target_chunk_index = Some(next_target_index);
- let chunk_start = next_target_index as usize * V0_5_CHUNK_SIZE;
- let chunk_len = std::cmp::min(V0_5_CHUNK_SIZE, size - chunk_start);
+ let chunk_start = next_target_index as usize * DEFAULT_CHUNK_SIZE;
+ let chunk_len = std::cmp::min(DEFAULT_CHUNK_SIZE, size - chunk_start);
target_chunk = vec![0; chunk_len];
}
- let in_chunk_offset = source_offset % V0_5_CHUNK_SIZE;
+ let in_chunk_offset = source_offset % DEFAULT_CHUNK_SIZE;
let copy_len = std::cmp::min(remaining.len(), target_chunk.len() - in_chunk_offset);
target_chunk[in_chunk_offset..in_chunk_offset + copy_len]
.copy_from_slice(&remaining[..copy_len]);
@@ -892,27 +741,11 @@ async fn verify_migration_equivalence(
run_integrity_check(target, "target").await?;
verify_target_v0_5_invariants(target).await?;
verify_target_v0_5_config(target).await?;
- compare_table_rows(
- source,
- target,
- "fs_inode",
- &[
- "ino",
- "mode",
- "nlink",
- "uid",
- "gid",
- "size",
- "atime",
- "mtime",
- "ctime",
- "rdev",
- "atime_nsec",
- "mtime_nsec",
- "ctime_nsec",
- ],
- )
- .await?;
+ // Compare the inode columns both sides share; columns the source predates
+ // (nlink for v0.0, rdev/*_nsec for v0.0/v0.2) are zero-defaulted or
+ // backfilled on the target and verified against their rule below.
+ compare_common_table_rows(source, target, "fs_inode").await?;
+ verify_target_nlink_rule_if_source_missing(source, target).await?;
compare_table_rows(
source,
target,
@@ -936,10 +769,27 @@ async fn verify_migration_equivalence(
Ok(())
}
+async fn verify_target_nlink_rule_if_source_missing(
+ source: &Connection,
+ target: &Connection,
+) -> AnyhowResult<()> {
+ if source_has_column(source, "fs_inode", "nlink").await? {
+ return Ok(());
+ }
+ let sql = format!("SELECT ino FROM fs_inode WHERE nlink != {NLINK_BACKFILL_CASE} LIMIT 1");
+ let mut rows = target.query(&sql, ()).await?;
+ if let Some(row) = rows.next().await? {
+ let ino = row_i64(&row, 0).unwrap_or_default();
+ anyhow::bail!("Target nlink backfill violates the migration rule (ino {ino})");
+ }
+ Ok(())
+}
+
async fn checkpoint_target_and_verify_copy(
source: &Connection,
target: &Connection,
target_path: &Path,
+ encryption: Option<&(String, String)>,
) -> AnyhowResult<()> {
checkpoint_target(target, target_path).await?;
let snapshot_path = target_path.with_extension("snapshot-check.db");
@@ -951,11 +801,7 @@ async fn checkpoint_target_and_verify_copy(
snapshot_path.display()
)
})?;
- let snapshot_db_path = snapshot_path
- .to_str()
- .context("Snapshot check database path is not valid UTF-8")?;
- let snapshot_db = Builder::new_local(snapshot_db_path)
- .build()
+ let snapshot_db = build_local_database(&snapshot_path, encryption)
.await
.context("Failed to open target main-db snapshot")?;
let snapshot_conn = snapshot_db
@@ -984,7 +830,7 @@ async fn compare_regular_file_contents(
target: &Connection,
) -> AnyhowResult<()> {
let source_chunk_size = read_config_usize(source, "chunk_size", 4096).await?;
- let target_chunk_size = read_config_usize(target, "chunk_size", V0_5_CHUNK_SIZE).await?;
+ let target_chunk_size = read_config_usize(target, "chunk_size", DEFAULT_CHUNK_SIZE).await?;
let mut rows = source
.query("SELECT ino, mode, size FROM fs_inode ORDER BY ino", ())
.await?;
@@ -1113,17 +959,21 @@ async fn read_target_file_bytes(
}
async fn verify_target_v0_5_config(conn: &Connection) -> AnyhowResult<()> {
- let schema_version = read_config_string(conn, "schema_version").await?;
- if schema_version.as_deref() != Some(V0_5_SCHEMA_VERSION) {
- anyhow::bail!("Target schema_version is not {V0_5_SCHEMA_VERSION}");
+ let schema_version = read_config_string(conn, schema::CONFIG_SCHEMA_VERSION_KEY).await?;
+ if schema_version.as_deref() != Some(schema::CURRENT.as_str()) {
+ anyhow::bail!(
+ "Target {} is not {}",
+ schema::CONFIG_SCHEMA_VERSION_KEY,
+ schema::CURRENT
+ );
}
- let chunk_size = read_config_usize(conn, "chunk_size", 0).await?;
- if chunk_size != V0_5_CHUNK_SIZE {
- anyhow::bail!("Target chunk_size is not {V0_5_CHUNK_SIZE}");
+ let chunk_size = read_config_usize(conn, schema::CONFIG_CHUNK_SIZE_KEY, 0).await?;
+ if chunk_size != DEFAULT_CHUNK_SIZE {
+ anyhow::bail!("Target chunk_size is not {DEFAULT_CHUNK_SIZE}");
}
- let inline_threshold = read_config_usize(conn, "inline_threshold", 0).await?;
- if inline_threshold != V0_5_INLINE_THRESHOLD {
- anyhow::bail!("Target inline_threshold is not {V0_5_INLINE_THRESHOLD}");
+ let inline_threshold = read_config_usize(conn, schema::CONFIG_INLINE_THRESHOLD_KEY, 0).await?;
+ if inline_threshold != DEFAULT_INLINE_THRESHOLD {
+ anyhow::bail!("Target inline_threshold is not {DEFAULT_INLINE_THRESHOLD}");
}
Ok(())
}
@@ -1453,6 +1303,7 @@ fn sidecar_path(path: &Path, suffix: &str) -> PathBuf {
mod tests {
use super::*;
use tempfile::NamedTempFile;
+ use turso::Builder;
async fn create_test_db_v0_0() -> (turso::Database, NamedTempFile) {
let file = NamedTempFile::new().unwrap();
@@ -1571,7 +1422,7 @@ mod tests {
async fn detect_schema_version_for_test(
conn: &turso::Connection,
) -> AnyhowResult {
- Ok(agentfs_sdk::schema::detect_schema_version(conn)
+ Ok(schema::detect_schema_version(conn)
.await?
.unwrap_or(SchemaVersion::V0_0))
}
@@ -1604,7 +1455,7 @@ mod tests {
}
#[tokio::test]
- async fn test_migrate_v0_0_to_v0_4() {
+ async fn test_migrate_v0_0_to_current() {
let (db, _file) = create_test_db_v0_0().await;
let conn = db.connect().unwrap();
@@ -1614,21 +1465,16 @@ mod tests {
SchemaVersion::V0_0
);
- // Apply migrations
- let mut stdout = Vec::new();
- apply_migrations(&conn, SchemaVersion::V0_0, &mut stdout)
- .await
- .unwrap();
+ schema::ensure_current(&conn).await.unwrap();
- // Verify now at v0.4
assert_eq!(
detect_schema_version_for_test(&conn).await.unwrap(),
- SchemaVersion::V0_4
+ schema::CURRENT
);
}
#[tokio::test]
- async fn test_migrate_v0_2_to_v0_4() {
+ async fn test_migrate_v0_2_to_current() {
let (db, _file) = create_test_db_v0_2().await;
let conn = db.connect().unwrap();
@@ -1638,16 +1484,11 @@ mod tests {
SchemaVersion::V0_2
);
- // Apply migrations
- let mut stdout = Vec::new();
- apply_migrations(&conn, SchemaVersion::V0_2, &mut stdout)
- .await
- .unwrap();
+ schema::ensure_current(&conn).await.unwrap();
- // Verify now at v0.4
assert_eq!(
detect_schema_version_for_test(&conn).await.unwrap(),
- SchemaVersion::V0_4
+ schema::CURRENT
);
}
@@ -1656,19 +1497,12 @@ mod tests {
let (db, _file) = create_test_db_v0_0().await;
let conn = db.connect().unwrap();
- // Apply migrations twice - should not error
- let mut stdout = Vec::new();
- apply_migrations(&conn, SchemaVersion::V0_0, &mut stdout)
- .await
- .unwrap();
- apply_migrations(&conn, SchemaVersion::V0_0, &mut stdout)
- .await
- .unwrap();
+ schema::ensure_current(&conn).await.unwrap();
+ schema::ensure_current(&conn).await.unwrap();
- // Should still be at v0.4
assert_eq!(
detect_schema_version_for_test(&conn).await.unwrap(),
- SchemaVersion::V0_4
+ schema::CURRENT
);
}
@@ -1678,7 +1512,7 @@ mod tests {
let source = temp_dir.path().join("source.db");
let target = temp_dir.path().join("target.db");
let small_content = b"inline payload".to_vec();
- let large_content = patterned_bytes(V0_5_CHUNK_SIZE + 123, 0x42);
+ let large_content = patterned_bytes(DEFAULT_CHUNK_SIZE + 123, 0x42);
let sparse_tail = b"tail!".to_vec();
create_synthetic_v0_4_database(&source, &small_content, &large_content, &sparse_tail).await;
@@ -1686,9 +1520,16 @@ mod tests {
let source_bytes_before = fs::read(&source).unwrap();
let mut stdout = Vec::new();
- handle_migrate_v0_5_command(&mut stdout, source.clone(), target.clone(), true, false)
- .await
- .unwrap();
+ handle_migrate_copy_command(
+ &mut stdout,
+ source.to_string_lossy().into_owned(),
+ target.clone(),
+ true,
+ false,
+ None,
+ )
+ .await
+ .unwrap();
assert_eq!(hash_file(&source).unwrap(), source_hash_before);
assert_eq!(fs::read(&source).unwrap(), source_bytes_before);
@@ -1725,13 +1566,14 @@ mod tests {
assert!(matches!(row.get_value(1).unwrap(), Value::Null));
assert_eq!(table_count_for_test(&conn, "fs_data", "ino = 4").await, 2);
- let migrated_large = read_target_file_bytes(&conn, 4, large_content.len(), V0_5_CHUNK_SIZE)
- .await
- .unwrap();
+ let migrated_large =
+ read_target_file_bytes(&conn, 4, large_content.len(), DEFAULT_CHUNK_SIZE)
+ .await
+ .unwrap();
assert_eq!(migrated_large, large_content);
let sparse_size = 2 * 4096 + sparse_tail.len();
- let migrated_sparse = read_target_file_bytes(&conn, 5, sparse_size, V0_5_CHUNK_SIZE)
+ let migrated_sparse = read_target_file_bytes(&conn, 5, sparse_size, DEFAULT_CHUNK_SIZE)
.await
.unwrap();
let mut expected_sparse = vec![0; 2 * 4096];
@@ -1791,7 +1633,7 @@ mod tests {
.await
.unwrap();
let target_conn = target_db.connect().unwrap();
- create_v0_5_schema(&target_conn).await.unwrap();
+ create_current_schema(&target_conn).await.unwrap();
copy_optional_whiteouts(&source_conn, &target_conn)
.await
.unwrap();
@@ -1811,32 +1653,132 @@ mod tests {
.unwrap();
}
- async fn create_synthetic_v0_4_database(
- path: &Path,
- small_content: &[u8],
- large_content: &[u8],
- sparse_tail: &[u8],
- ) {
- let db = Builder::new_local(path.to_str().unwrap())
+ #[tokio::test]
+ async fn test_in_place_migrate_backfills_legacy_whiteout_parent_path() {
+ let temp_dir = tempfile::tempdir().unwrap();
+ let db_path = temp_dir.path().join("legacy-whiteout.db");
+ create_synthetic_v0_4_database(&db_path, b"small", b"larger than inline", b"tail").await;
+
+ let db = Builder::new_local(db_path.to_str().unwrap())
+ .build()
+ .await
+ .unwrap();
+ let conn = db.connect().unwrap();
+ rewrite_whiteouts_without_parent_path(&conn).await;
+ drop(conn);
+ drop(db);
+
+ let mut stdout = Vec::new();
+ handle_migrate_command(
+ &mut stdout,
+ db_path.to_string_lossy().into_owned(),
+ false,
+ None,
+ )
+ .await
+ .unwrap();
+ let stdout = String::from_utf8(stdout).unwrap();
+ assert!(
+ stdout.contains("Migration completed successfully."),
+ "unexpected migrate output: {stdout}"
+ );
+
+ let db = Builder::new_local(db_path.to_str().unwrap())
.build()
.await
.unwrap();
let conn = db.connect().unwrap();
+ let columns = get_table_columns(&conn, "fs_whiteout").await.unwrap();
+ assert!(
+ columns.iter().any(|column| column == "parent_path"),
+ "cli migrate did not add fs_whiteout.parent_path; columns={columns:?}"
+ );
+ let mut rows = conn
+ .query(
+ "SELECT parent_path, created_at FROM fs_whiteout WHERE path = '/dir/deleted'",
+ (),
+ )
+ .await
+ .unwrap();
+ let row = rows.next().await.unwrap().unwrap();
+ let parent_path = row.get::(0).unwrap();
+ let created_at = row_i64(&row, 1).unwrap();
+ println!(
+ "cli migrate: fs_whiteout columns={columns:?}; /dir/deleted parent_path={parent_path}"
+ );
+ assert_eq!(parent_path, "/dir");
+ assert_eq!(created_at, 123);
+ let mut rows = conn.query("PRAGMA user_version", ()).await.unwrap();
+ let row = rows.next().await.unwrap().unwrap();
+ assert_eq!(row_i64(&row, 0).unwrap(), schema::CURRENT.user_version());
+ }
+
+ async fn rewrite_whiteouts_without_parent_path(conn: &Connection) {
conn.execute(
- "CREATE TABLE fs_config (
- key TEXT PRIMARY KEY,
- value TEXT NOT NULL
+ "CREATE TABLE fs_whiteout_legacy_rows (
+ path TEXT PRIMARY KEY,
+ created_at INTEGER NOT NULL
)",
(),
)
.await
.unwrap();
conn.execute(
- "INSERT INTO fs_config (key, value) VALUES
- ('schema_version', '0.4'),
- ('chunk_size', '4096'),
- ('custom_metadata', 'preserve-me')",
+ "INSERT INTO fs_whiteout_legacy_rows (path, created_at)
+ SELECT path, created_at FROM fs_whiteout",
+ (),
+ )
+ .await
+ .unwrap();
+ conn.execute("DROP TABLE fs_whiteout", ()).await.unwrap();
+ conn.execute(
+ "CREATE TABLE fs_whiteout (
+ path TEXT PRIMARY KEY,
+ created_at INTEGER NOT NULL
+ )",
+ (),
+ )
+ .await
+ .unwrap();
+ conn.execute(
+ "INSERT INTO fs_whiteout (path, created_at)
+ SELECT path, created_at FROM fs_whiteout_legacy_rows",
+ (),
+ )
+ .await
+ .unwrap();
+ conn.execute("DROP TABLE fs_whiteout_legacy_rows", ())
+ .await
+ .unwrap();
+ }
+
+ async fn create_synthetic_v0_4_database(
+ path: &Path,
+ small_content: &[u8],
+ large_content: &[u8],
+ sparse_tail: &[u8],
+ ) {
+ let db = Builder::new_local(path.to_str().unwrap())
+ .build()
+ .await
+ .unwrap();
+ let conn = db.connect().unwrap();
+
+ conn.execute(
+ "CREATE TABLE fs_config (
+ key TEXT PRIMARY KEY,
+ value TEXT NOT NULL
+ )",
+ (),
+ )
+ .await
+ .unwrap();
+ conn.execute(
+ "INSERT INTO fs_config (key, value) VALUES
+ ('schema_version', '0.4'),
+ ('chunk_size', '4096'),
+ ('custom_metadata', 'preserve-me')",
(),
)
.await
@@ -2077,6 +2019,586 @@ mod tests {
.unwrap();
}
+ #[test]
+ fn schema_upgrade_guidance_names_a_command_that_finishes_the_job() {
+ for (found, id_or_path) in [
+ ("0.0", "my-agent"),
+ ("0.2", "/tmp/old.db"),
+ ("0.4", "other-agent"),
+ ] {
+ let guidance = schema_upgrade_guidance(found, "0.5", id_or_path);
+ assert!(
+ guidance.contains(&format!("agentfs migrate {id_or_path}")),
+ "{found}: {guidance}"
+ );
+ assert!(!guidance.contains("migrate-v0-5"), "{found}: {guidance}");
+ }
+
+ let future = schema_upgrade_guidance("user_version 7", "0.5", "my-agent");
+ assert!(
+ !future.contains("agentfs migrate"),
+ "future versions must not promise migrate can fix them: {future}"
+ );
+ assert!(future.contains("newer agentfs"), "{future}");
+ }
+
+ #[tokio::test]
+ async fn test_copy_migrate_v0_0_source_lands_current_with_nlink_backfill() {
+ let temp_dir = tempfile::tempdir().unwrap();
+ let source = temp_dir.path().join("source-v00.db");
+ let target = temp_dir.path().join("target.db");
+ let small = b"tiny".to_vec();
+ let large = patterned_bytes(DEFAULT_CHUNK_SIZE + 77, 0x21);
+ create_synthetic_legacy_database(&source, SchemaVersion::V0_0, &small, &large).await;
+
+ let mut stdout = Vec::new();
+ handle_migrate_copy_command(
+ &mut stdout,
+ source.to_string_lossy().into_owned(),
+ target.clone(),
+ true,
+ false,
+ None,
+ )
+ .await
+ .unwrap();
+ let stdout = String::from_utf8(stdout).unwrap();
+ assert!(stdout.contains("Source schema version: 0.0"), "{stdout}");
+ assert!(stdout.contains("Verification completed successfully."));
+
+ let db = Builder::new_local(target.to_str().unwrap())
+ .build()
+ .await
+ .unwrap();
+ let conn = db.connect().unwrap();
+ let mut rows = conn.query("PRAGMA user_version", ()).await.unwrap();
+ let row = rows.next().await.unwrap().unwrap();
+ assert_eq!(row_i64(&row, 0).unwrap(), schema::CURRENT.user_version());
+
+ for (ino, expected_nlink) in [(1, 2), (2, 1), (3, 1), (4, 2)] {
+ let mut rows = conn
+ .query("SELECT nlink FROM fs_inode WHERE ino = ?", (ino,))
+ .await
+ .unwrap();
+ let row = rows.next().await.unwrap().unwrap();
+ assert_eq!(
+ row_i64(&row, 0).unwrap(),
+ expected_nlink,
+ "nlink for ino {ino}"
+ );
+ }
+
+ let migrated_small = read_target_file_bytes(&conn, 3, small.len(), DEFAULT_CHUNK_SIZE)
+ .await
+ .unwrap();
+ assert_eq!(migrated_small, small);
+ let migrated_large = read_target_file_bytes(&conn, 4, large.len(), DEFAULT_CHUNK_SIZE)
+ .await
+ .unwrap();
+ assert_eq!(migrated_large, large);
+ }
+
+ #[tokio::test]
+ async fn test_copy_migrate_v0_2_source_lands_current() {
+ let temp_dir = tempfile::tempdir().unwrap();
+ let source = temp_dir.path().join("source-v02.db");
+ let target = temp_dir.path().join("target.db");
+ let small = b"inline me".to_vec();
+ let large = patterned_bytes(2 * DEFAULT_CHUNK_SIZE + 5, 0x55);
+ create_synthetic_legacy_database(&source, SchemaVersion::V0_2, &small, &large).await;
+
+ let mut stdout = Vec::new();
+ handle_migrate_copy_command(
+ &mut stdout,
+ source.to_string_lossy().into_owned(),
+ target.clone(),
+ true,
+ false,
+ None,
+ )
+ .await
+ .unwrap();
+ let stdout = String::from_utf8(stdout).unwrap();
+ assert!(stdout.contains("Source schema version: 0.2"), "{stdout}");
+
+ let db = Builder::new_local(target.to_str().unwrap())
+ .build()
+ .await
+ .unwrap();
+ let conn = db.connect().unwrap();
+ let mut rows = conn.query("PRAGMA user_version", ()).await.unwrap();
+ let row = rows.next().await.unwrap().unwrap();
+ assert_eq!(row_i64(&row, 0).unwrap(), schema::CURRENT.user_version());
+ let migrated_large = read_target_file_bytes(&conn, 4, large.len(), DEFAULT_CHUNK_SIZE)
+ .await
+ .unwrap();
+ assert_eq!(migrated_large, large);
+ }
+
+ #[tokio::test]
+ async fn test_copy_migrate_rejects_current_source() {
+ let temp_dir = tempfile::tempdir().unwrap();
+ let source = temp_dir.path().join("current.db");
+ let target = temp_dir.path().join("target.db");
+ {
+ let db = Builder::new_local(source.to_str().unwrap())
+ .build()
+ .await
+ .unwrap();
+ let conn = db.connect().unwrap();
+ schema::ensure_current(&conn).await.unwrap();
+ }
+
+ let mut stdout = Vec::new();
+ let err = handle_migrate_copy_command(
+ &mut stdout,
+ source.to_string_lossy().into_owned(),
+ target.clone(),
+ false,
+ false,
+ None,
+ )
+ .await
+ .unwrap_err();
+ assert!(err.to_string().contains("already at schema"), "{err}");
+ }
+
+ #[tokio::test]
+ async fn test_in_place_migrate_read_path_leaves_single_file_family() {
+ let temp_dir = tempfile::tempdir().unwrap();
+ let db_path = temp_dir.path().join("current.db");
+ {
+ let agent = agentfs_core::AgentFS::open(agentfs_core::AgentFSOptions::with_path(
+ db_path.to_string_lossy(),
+ ))
+ .await
+ .unwrap();
+ agent.fs.finalize().await.unwrap();
+ }
+ let wal = PathBuf::from(format!("{}-wal", db_path.display()));
+ let shm = PathBuf::from(format!("{}-shm", db_path.display()));
+ assert!(!wal.exists(), "fixture must start as a single file");
+
+ let mut stdout = Vec::new();
+ handle_migrate_command(
+ &mut stdout,
+ db_path.to_string_lossy().into_owned(),
+ false,
+ None,
+ )
+ .await
+ .unwrap();
+ let stdout = String::from_utf8(stdout).unwrap();
+ assert!(stdout.contains("already at schema"), "{stdout}");
+ assert!(
+ !wal.exists(),
+ "already-current migrate must not leave a WAL sidecar it created"
+ );
+ assert!(
+ !shm.exists(),
+ "already-current migrate must not leave an SHM sidecar it created"
+ );
+ }
+
+ #[tokio::test]
+ async fn test_failing_migrate_removes_frameless_sidecars_it_created() {
+ let temp_dir = tempfile::tempdir().unwrap();
+ let db_path = temp_dir.path().join("future.db");
+ {
+ let db = Builder::new_local(db_path.to_str().unwrap())
+ .build()
+ .await
+ .unwrap();
+ let conn = db.connect().unwrap();
+ // A user_version no SchemaVersion maps to makes detect_schema_version
+ // (and thus the migrate) fail after the open already succeeded.
+ conn.execute("PRAGMA user_version = 999", ()).await.unwrap();
+ let mut rows = conn
+ .query("PRAGMA wal_checkpoint(TRUNCATE)", ())
+ .await
+ .unwrap();
+ while rows.next().await.unwrap().is_some() {}
+ }
+ let wal = PathBuf::from(format!("{}-wal", db_path.display()));
+ let shm = PathBuf::from(format!("{}-shm", db_path.display()));
+ let _ = std::fs::remove_file(&wal);
+ let _ = std::fs::remove_file(&shm);
+ assert!(!wal.exists(), "fixture must start as a single file");
+
+ let mut stdout = Vec::new();
+ let err = handle_migrate_command(
+ &mut stdout,
+ db_path.to_string_lossy().into_owned(),
+ false,
+ None,
+ )
+ .await
+ .unwrap_err();
+ assert!(
+ err.to_string().contains("user_version 999"),
+ "migrate must fail on the unsupported version, got: {err:#}"
+ );
+ assert!(
+ !wal.exists(),
+ "failing migrate must not leave the frameless WAL sidecar its own open created"
+ );
+ assert!(
+ !shm.exists(),
+ "failing migrate must not leave the SHM sidecar its own open created"
+ );
+ }
+
+ #[tokio::test]
+ async fn test_in_place_migrate_encrypted_v0_4_with_key() {
+ let key = "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff";
+ let cipher = "aes256gcm";
+ let temp_dir = tempfile::tempdir().unwrap();
+ let db_path = temp_dir.path().join("encrypted-v04.db");
+
+ {
+ let db = Builder::new_local(db_path.to_str().unwrap())
+ .experimental_encryption(true)
+ .with_encryption(turso::EncryptionOpts {
+ cipher: cipher.to_string(),
+ hexkey: key.to_string(),
+ })
+ .build()
+ .await
+ .unwrap();
+ let conn = db.connect().unwrap();
+ create_synthetic_v0_4_fixture_tables(&conn).await;
+ }
+
+ let encryption = (key.to_string(), cipher.to_string());
+ let mut stdout = Vec::new();
+ handle_migrate_command(
+ &mut stdout,
+ db_path.to_string_lossy().into_owned(),
+ false,
+ Some(&encryption),
+ )
+ .await
+ .unwrap();
+ let stdout = String::from_utf8(stdout).unwrap();
+ assert!(stdout.contains("Current schema version: 0.4"), "{stdout}");
+ assert!(
+ stdout.contains("Migration completed successfully."),
+ "{stdout}"
+ );
+
+ // No plaintext copy may appear next to the fixture during migration.
+ let names = fs::read_dir(temp_dir.path())
+ .unwrap()
+ .map(|entry| entry.unwrap().file_name().to_string_lossy().into_owned())
+ .filter(|name| !name.starts_with("encrypted-v04.db"))
+ .collect::>();
+ assert!(names.is_empty(), "unexpected files: {names:?}");
+
+ let db = build_local_database(&db_path, Some(&encryption))
+ .await
+ .unwrap();
+ let conn = db.connect().unwrap();
+ let mut rows = conn.query("PRAGMA user_version", ()).await.unwrap();
+ let row = rows.next().await.unwrap().unwrap();
+ assert_eq!(row_i64(&row, 0).unwrap(), schema::CURRENT.user_version());
+ assert_eq!(
+ table_count_for_test(&conn, "fs_data", "ino = 2").await,
+ 1,
+ "file data must survive the encrypted migration"
+ );
+ drop(conn);
+ drop(db);
+
+ let without_key = async {
+ let db = build_local_database(&db_path, None).await?;
+ let conn = db.connect()?;
+ let mut rows = conn.query("SELECT COUNT(*) FROM fs_inode", ()).await?;
+ rows.next().await?;
+ Ok::<_, anyhow::Error>(())
+ }
+ .await;
+ assert!(
+ without_key.is_err(),
+ "encrypted database must not open without the key"
+ );
+ }
+
+ async fn create_synthetic_v0_4_fixture_tables(conn: &Connection) {
+ conn.execute(
+ "CREATE TABLE fs_config (key TEXT PRIMARY KEY, value TEXT NOT NULL)",
+ (),
+ )
+ .await
+ .unwrap();
+ conn.execute(
+ "INSERT INTO fs_config (key, value) VALUES
+ ('schema_version', '0.4'),
+ ('chunk_size', '4096')",
+ (),
+ )
+ .await
+ .unwrap();
+ conn.execute(
+ "CREATE TABLE fs_inode (
+ ino INTEGER PRIMARY KEY AUTOINCREMENT,
+ mode INTEGER NOT NULL,
+ nlink INTEGER NOT NULL DEFAULT 0,
+ uid INTEGER NOT NULL DEFAULT 0,
+ gid INTEGER NOT NULL DEFAULT 0,
+ size INTEGER NOT NULL DEFAULT 0,
+ atime INTEGER NOT NULL,
+ mtime INTEGER NOT NULL,
+ ctime INTEGER NOT NULL,
+ rdev INTEGER NOT NULL DEFAULT 0,
+ atime_nsec INTEGER NOT NULL DEFAULT 0,
+ mtime_nsec INTEGER NOT NULL DEFAULT 0,
+ ctime_nsec INTEGER NOT NULL DEFAULT 0
+ )",
+ (),
+ )
+ .await
+ .unwrap();
+ conn.execute(
+ "CREATE TABLE fs_dentry (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ name TEXT NOT NULL,
+ parent_ino INTEGER NOT NULL,
+ ino INTEGER NOT NULL,
+ UNIQUE(parent_ino, name)
+ )",
+ (),
+ )
+ .await
+ .unwrap();
+ conn.execute(
+ "CREATE TABLE fs_data (
+ ino INTEGER NOT NULL,
+ chunk_index INTEGER NOT NULL,
+ data BLOB NOT NULL,
+ PRIMARY KEY (ino, chunk_index)
+ )",
+ (),
+ )
+ .await
+ .unwrap();
+ let dir_mode = 0o040000 | 0o755;
+ let file_mode = 0o100000 | 0o644;
+ conn.execute(
+ "INSERT INTO fs_inode
+ (ino, mode, nlink, uid, gid, size, atime, mtime, ctime, rdev,
+ atime_nsec, mtime_nsec, ctime_nsec)
+ VALUES
+ (1, ?, 2, 1000, 1000, 0, 10, 10, 10, 0, 0, 0, 0),
+ (2, ?, 1, 1000, 1000, 6, 11, 11, 11, 0, 0, 0, 0)",
+ (dir_mode, file_mode),
+ )
+ .await
+ .unwrap();
+ conn.execute(
+ "INSERT INTO fs_dentry (id, name, parent_ino, ino) VALUES (1, 'file.txt', 1, 2)",
+ (),
+ )
+ .await
+ .unwrap();
+ conn.execute(
+ "INSERT INTO fs_data (ino, chunk_index, data) VALUES (2, 0, ?)",
+ (Value::Blob(b"secret".to_vec()),),
+ )
+ .await
+ .unwrap();
+ }
+
+ async fn create_synthetic_legacy_database(
+ path: &Path,
+ version: SchemaVersion,
+ small_content: &[u8],
+ large_content: &[u8],
+ ) {
+ assert!(matches!(version, SchemaVersion::V0_0 | SchemaVersion::V0_2));
+ let db = Builder::new_local(path.to_str().unwrap())
+ .build()
+ .await
+ .unwrap();
+ let conn = db.connect().unwrap();
+
+ conn.execute(
+ "CREATE TABLE fs_config (key TEXT PRIMARY KEY, value TEXT NOT NULL)",
+ (),
+ )
+ .await
+ .unwrap();
+ conn.execute(
+ "INSERT INTO fs_config (key, value) VALUES
+ ('schema_version', ?),
+ ('chunk_size', '4096'),
+ ('custom_metadata', 'preserve-me')",
+ (version.as_str(),),
+ )
+ .await
+ .unwrap();
+
+ let nlink_column = if version >= SchemaVersion::V0_2 {
+ "nlink INTEGER NOT NULL DEFAULT 0,"
+ } else {
+ ""
+ };
+ conn.execute(
+ &format!(
+ "CREATE TABLE fs_inode (
+ ino INTEGER PRIMARY KEY AUTOINCREMENT,
+ mode INTEGER NOT NULL,
+ {nlink_column}
+ uid INTEGER NOT NULL DEFAULT 0,
+ gid INTEGER NOT NULL DEFAULT 0,
+ size INTEGER NOT NULL DEFAULT 0,
+ atime INTEGER NOT NULL,
+ mtime INTEGER NOT NULL,
+ ctime INTEGER NOT NULL
+ )"
+ ),
+ (),
+ )
+ .await
+ .unwrap();
+ conn.execute(
+ "CREATE TABLE fs_dentry (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ name TEXT NOT NULL,
+ parent_ino INTEGER NOT NULL,
+ ino INTEGER NOT NULL,
+ UNIQUE(parent_ino, name)
+ )",
+ (),
+ )
+ .await
+ .unwrap();
+ conn.execute(
+ "CREATE TABLE fs_data (
+ ino INTEGER NOT NULL,
+ chunk_index INTEGER NOT NULL,
+ data BLOB NOT NULL,
+ PRIMARY KEY (ino, chunk_index)
+ )",
+ (),
+ )
+ .await
+ .unwrap();
+ conn.execute(
+ "CREATE TABLE fs_symlink (ino INTEGER PRIMARY KEY, target TEXT NOT NULL)",
+ (),
+ )
+ .await
+ .unwrap();
+ conn.execute(
+ "CREATE TABLE kv_store (
+ key TEXT PRIMARY KEY,
+ value TEXT NOT NULL,
+ created_at INTEGER DEFAULT (unixepoch()),
+ updated_at INTEGER DEFAULT (unixepoch())
+ )",
+ (),
+ )
+ .await
+ .unwrap();
+ conn.execute(
+ "CREATE TABLE tool_calls (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ name TEXT NOT NULL,
+ parameters TEXT,
+ result TEXT,
+ error TEXT,
+ status TEXT NOT NULL DEFAULT 'pending',
+ started_at INTEGER NOT NULL,
+ completed_at INTEGER,
+ duration_ms INTEGER
+ )",
+ (),
+ )
+ .await
+ .unwrap();
+
+ let dir_mode = 0o040000 | 0o755;
+ let file_mode = 0o100000 | 0o644;
+ let (columns, nlink_values): (&str, Vec) = if version >= SchemaVersion::V0_2 {
+ (
+ "ino, mode, nlink, uid, gid, size, atime, mtime, ctime",
+ vec![2, 1, 1, 2],
+ )
+ } else {
+ ("ino, mode, uid, gid, size, atime, mtime, ctime", Vec::new())
+ };
+ for (index, (ino, mode, size)) in [
+ (1_i64, dir_mode, 0_i64),
+ (2, dir_mode, 0),
+ (3, file_mode, small_content.len() as i64),
+ (4, file_mode, large_content.len() as i64),
+ ]
+ .into_iter()
+ .enumerate()
+ {
+ let mut values = vec![Value::Integer(ino), Value::Integer(mode)];
+ if version >= SchemaVersion::V0_2 {
+ values.push(Value::Integer(nlink_values[index]));
+ }
+ values.extend([
+ Value::Integer(1000),
+ Value::Integer(1000),
+ Value::Integer(size),
+ Value::Integer(10),
+ Value::Integer(10),
+ Value::Integer(10),
+ ]);
+ let placeholders = std::iter::repeat_n("?", values.len())
+ .collect::>()
+ .join(", ");
+ conn.execute(
+ &format!("INSERT INTO fs_inode ({columns}) VALUES ({placeholders})"),
+ values,
+ )
+ .await
+ .unwrap();
+ }
+ conn.execute(
+ "INSERT INTO fs_dentry (id, name, parent_ino, ino) VALUES
+ (1, 'dir', 1, 2),
+ (2, 'small.txt', 2, 3),
+ (3, 'large.bin', 2, 4),
+ (4, 'large-hardlink.bin', 2, 4)",
+ (),
+ )
+ .await
+ .unwrap();
+ conn.execute(
+ "INSERT INTO fs_data (ino, chunk_index, data) VALUES (3, 0, ?)",
+ (Value::Blob(small_content.to_vec()),),
+ )
+ .await
+ .unwrap();
+ for (chunk_index, chunk) in large_content.chunks(4096).enumerate() {
+ conn.execute(
+ "INSERT INTO fs_data (ino, chunk_index, data) VALUES (4, ?, ?)",
+ (chunk_index as i64, Value::Blob(chunk.to_vec())),
+ )
+ .await
+ .unwrap();
+ }
+ conn.execute(
+ "INSERT INTO kv_store (key, value, created_at, updated_at)
+ VALUES ('metadata', '{\"ok\":true}', 20, 21)",
+ (),
+ )
+ .await
+ .unwrap();
+ conn.execute(
+ "INSERT INTO tool_calls
+ (id, name, parameters, result, error, status, started_at, completed_at, duration_ms)
+ VALUES (1, 'legacy-test', '{}', '{}', '', 'success', 30, 31, 42)",
+ (),
+ )
+ .await
+ .unwrap();
+ }
+
async fn table_count_for_test(conn: &Connection, table: &str, where_clause: &str) -> i64 {
let sql = format!("SELECT COUNT(*) FROM {table} WHERE {where_clause}");
let mut rows = conn.query(&sql, ()).await.unwrap();
diff --git a/cli/src/cmd/mod.rs b/crates/agentfs-cli/src/cmd/mod.rs
similarity index 77%
rename from cli/src/cmd/mod.rs
rename to crates/agentfs-cli/src/cmd/mod.rs
index e9da5af0..dfdb41f9 100644
--- a/cli/src/cmd/mod.rs
+++ b/crates/agentfs-cli/src/cmd/mod.rs
@@ -3,6 +3,7 @@ pub mod fs;
pub mod init;
pub mod mcp_server;
pub mod migrate;
+pub mod profiling;
pub mod ps;
pub mod safety;
pub mod sync;
@@ -10,9 +11,6 @@ pub mod timeline;
#[cfg(unix)]
pub mod mount;
-#[cfg(not(unix))]
-#[path = "mount_stub.rs"]
-pub mod mount;
mod run;
@@ -28,5 +26,8 @@ pub mod exec;
#[cfg(unix)]
pub mod clone;
-pub use mount::{mount, MountArgs, MountBackend};
+#[cfg(unix)]
+pub use crate::opts::MountBackend;
+#[cfg(unix)]
+pub use mount::{mount, MountArgs};
pub use run::handle_run_command;
diff --git a/cli/src/cmd/mount.rs b/crates/agentfs-cli/src/cmd/mount.rs
similarity index 54%
rename from cli/src/cmd/mount.rs
rename to crates/agentfs-cli/src/cmd/mount.rs
index a485e2a0..b16e1e38 100644
--- a/cli/src/cmd/mount.rs
+++ b/crates/agentfs-cli/src/cmd/mount.rs
@@ -1,37 +1,24 @@
-use agentfs_sdk::{
- error::Error as SdkError, AgentFSOptions, FileSystem, HostFS, OverlayFS, PartialOriginPolicy,
-};
-use anyhow::{Context, Result};
-use std::{
- path::{Path, PathBuf},
- process::Command,
- sync::Arc,
+use agentfs_core::{
+ AgentFSOptions, EncryptionConfig, FileSystem, HostFS, OverlayFS, PartialOriginPolicy,
};
+use agentfs_mount::{mount_fs, Backend, MountOpts};
+use anyhow::Result;
+use std::{path::PathBuf, sync::Arc};
use turso::value::Value;
#[cfg(target_os = "linux")]
-use crate::mount::unmount;
-use crate::mount::{mount_fs, MountOpts};
-use crate::nfs::AgentNFS;
-use crate::nfsserve::tcp::NFSTcp;
-
-#[cfg(target_os = "linux")]
-use agentfs_sdk::{get_mounts, Mount};
+use agentfs_core::{error::Error as SdkError, get_mounts, Mount};
#[cfg(target_os = "linux")]
use std::{
io::{self, Write},
os::unix::fs::MetadataExt,
+ path::Path,
};
#[cfg(target_os = "linux")]
use crate::cmd::init::open_agentfs;
-#[cfg(target_os = "linux")]
-use crate::fuse::FuseMountOptions;
-pub use crate::opts::MountBackend;
-
-/// Default NFS port to try (use a high port to avoid needing root)
-const DEFAULT_NFS_PORT: u32 = 11111;
+use crate::opts::MountBackend;
/// Arguments for the mount command.
#[derive(Debug, Clone)]
@@ -56,6 +43,21 @@ pub struct MountArgs {
pub backend: MountBackend,
/// Partial-origin policy for overlay copy-up.
pub partial_origin_policy: Option,
+ /// Encryption key and cipher for encrypted databases.
+ pub encryption: Option<(String, String)>,
+}
+
+fn apply_encryption(
+ options: AgentFSOptions,
+ encryption: &Option<(String, String)>,
+) -> AgentFSOptions {
+ match encryption {
+ Some((key, cipher)) => options.with_encryption(EncryptionConfig {
+ hex_key: key.clone(),
+ cipher: cipher.clone(),
+ }),
+ None => options,
+ }
}
/// Mount the agent filesystem (Linux).
@@ -63,10 +65,7 @@ pub struct MountArgs {
pub fn mount(args: MountArgs) -> Result<()> {
match args.backend {
MountBackend::Fuse => mount_fuse(args),
- MountBackend::Nfs => {
- let rt = crate::get_runtime();
- rt.block_on(mount_nfs_backend(args))
- }
+ MountBackend::Nfs => mount_nfs(args),
}
}
@@ -80,31 +79,61 @@ pub fn mount(args: MountArgs) -> Result<()> {
Use --backend nfs (default) or `agentfs nfs` instead."
);
}
- MountBackend::Nfs => {
- let rt = crate::get_runtime();
- rt.block_on(mount_nfs_backend(args))
- }
+ MountBackend::Nfs => mount_nfs(args),
+ }
+}
+
+/// Mount the agent filesystem via the NFS backend.
+///
+/// Deliberately synchronous: the non-foreground arm must fork before any
+/// tokio runtime exists (forking inside a live multi-threaded runtime can
+/// deadlock the child), so each arm creates its own runtime and the daemon
+/// child builds its runtime after the fork. Errors from the child still
+/// reach the user through the daemonize readiness pipe.
+fn mount_nfs(args: MountArgs) -> Result<()> {
+ if !args.mountpoint.exists() {
+ anyhow::bail!("Mountpoint does not exist: {}", args.mountpoint.display());
+ }
+ let mountpoint = std::fs::canonicalize(args.mountpoint.clone())?;
+
+ if args.foreground {
+ let rt = crate::get_runtime();
+ rt.block_on(mount_nfs_backend(args, mountpoint))
+ } else {
+ let ready_mountpoint = mountpoint.clone();
+ agentfs_mount::daemon::daemonize(
+ move || {
+ // The forked daemon shares the parent's spill dir, which the
+ // parent removes when it exits; move off it before DB work.
+ crate::config::adopt_private_spill_dir();
+ let rt = crate::get_runtime();
+ rt.block_on(mount_nfs_backend(args, mountpoint))
+ },
+ move || agentfs_mount::is_mountpoint(&ready_mountpoint),
+ std::time::Duration::from_secs(10),
+ )
}
}
/// Mount the agent filesystem using FUSE (Linux only).
#[cfg(target_os = "linux")]
fn mount_fuse(args: MountArgs) -> Result<()> {
- let opts = AgentFSOptions::resolve(&args.id_or_path)?;
+ let opts = apply_encryption(AgentFSOptions::resolve(&args.id_or_path)?, &args.encryption);
// Check schema version before daemonizing. This allows us to show the error
// message to the user directly, rather than having it appear in daemon logs.
{
let rt = crate::get_runtime();
let db_path = opts.db_path()?;
- let result: Result<(), SdkError> = rt.block_on(async {
- let db = turso::Builder::new_local(&db_path).build().await?;
- let conn = db.connect()?;
- agentfs_sdk::schema::check_schema_version(&conn).await?;
- Ok(())
- });
- if let Err(SdkError::SchemaVersionMismatch { found, expected }) = result {
- exit_schema_version_mismatch(&found, &expected, &args.id_or_path);
+ let result = rt.block_on(require_schema_current_for_mount_precheck(
+ &db_path,
+ args.encryption.as_ref(),
+ ));
+ if let Err(err @ SdkError::SchemaVersionMismatch { .. }) = result {
+ return Err(super::migrate::open_error_with_guidance(
+ err,
+ &args.id_or_path,
+ ));
}
}
@@ -127,29 +156,27 @@ fn mount_fuse(args: MountArgs) -> Result<()> {
.ino()
};
- let fuse_opts = FuseMountOptions {
+ let mount_opts = MountOpts {
mountpoint: args.mountpoint.clone(),
+ backend: Backend::Fuse,
auto_unmount: args.auto_unmount,
allow_root: args.allow_root,
allow_other: args.allow_other,
fsname,
uid: args.uid,
gid: args.gid,
+ lazy_unmount: true,
+ timeout: std::time::Duration::from_secs(10),
};
let id_or_path = args.id_or_path.clone();
let foreground = args.foreground;
let partial_origin_policy = args.partial_origin_policy;
- let mountpoint_for_shutdown = mountpoint.clone();
let mount = move || {
let rt = crate::get_runtime();
- let agentfs = match rt.block_on(open_agentfs(opts)) {
- Ok(fs) => fs,
- Err(SdkError::SchemaVersionMismatch { found, expected }) => {
- exit_schema_version_mismatch(&found, &expected, &id_or_path);
- }
- Err(e) => return Err(e.into()),
- };
+ let agentfs = rt
+ .block_on(open_agentfs(opts))
+ .map_err(|err| super::migrate::open_error_with_guidance(err, &id_or_path))?;
// Check for overlay configuration
let fs: Arc = rt.block_on(async {
@@ -193,54 +220,47 @@ fn mount_fuse(args: MountArgs) -> Result<()> {
}
})?;
- // Run the session on its own thread so termination signals can tear
- // the mount down; the default disposition would kill the process
- // without unmounting, stranding a dead mount table entry.
- let session = std::thread::spawn(move || crate::fuse::mount(fs, fuse_opts, rt));
- let interrupted = crate::get_runtime().block_on(async {
- tokio::select! {
- result = crate::mount::shutdown_signal() => result.map(|_| true),
- _ = async {
- loop {
- tokio::time::sleep(std::time::Duration::from_millis(250)).await;
- if session.is_finished() {
- break;
- }
- }
- } => Ok(false),
- }
- })?;
- if interrupted {
- let _ = unmount(&mountpoint_for_shutdown, MountBackend::Fuse, true);
- }
- match session.join() {
- Ok(result) => result,
- Err(panic) => Err(anyhow::anyhow!("FUSE session thread panicked: {panic:?}")),
- }
+ rt.block_on(run_mount_session(fs, mount_opts, foreground))
};
if foreground {
mount()
} else {
- crate::daemon::daemonize(
- mount,
- move || is_mounted(&mountpoint),
+ agentfs_mount::daemon::daemonize(
+ move || {
+ // The forked daemon shares the parent's spill dir, which the
+ // parent removes when it exits; move off it before DB work.
+ crate::config::adopt_private_spill_dir();
+ mount()
+ },
+ move || agentfs_mount::is_mountpoint(&mountpoint),
std::time::Duration::from_secs(10),
)
}
}
+/// Open the database for the pre-daemonize schema check with the same keyed
+/// open as the real mount, so an encrypted CURRENT database classifies as
+/// current instead of failing before classification.
+#[cfg(target_os = "linux")]
+async fn require_schema_current_for_mount_precheck(
+ db_path: &str,
+ encryption: Option<&(String, String)>,
+) -> std::result::Result<(), SdkError> {
+ let db = super::safety::build_local_database(Path::new(db_path), encryption)
+ .await
+ .map_err(|err| SdkError::Internal(format!("{err:#}")))?;
+ let conn = db.connect()?;
+ agentfs_core::schema::require_current(&conn).await
+}
+
/// Mount the agent filesystem using NFS over localhost.
-async fn mount_nfs_backend(args: MountArgs) -> Result<()> {
+///
+/// `mountpoint` is pre-canonicalized by `mount_nfs` before any fork.
+async fn mount_nfs_backend(args: MountArgs, mountpoint: PathBuf) -> Result<()> {
use crate::cmd::init::open_agentfs;
- let opts = AgentFSOptions::resolve(&args.id_or_path)?;
-
- if !args.mountpoint.exists() {
- anyhow::bail!("Mountpoint does not exist: {}", args.mountpoint.display());
- }
-
- let mountpoint = std::fs::canonicalize(args.mountpoint.clone())?;
+ let opts = apply_encryption(AgentFSOptions::resolve(&args.id_or_path)?, &args.encryption);
let fsname = format!(
"agentfs:{}",
@@ -250,13 +270,9 @@ async fn mount_nfs_backend(args: MountArgs) -> Result<()> {
);
// Open AgentFS
- let agentfs = match open_agentfs(opts).await {
- Ok(fs) => fs,
- Err(SdkError::SchemaVersionMismatch { found, expected }) => {
- exit_schema_version_mismatch(&found, &expected, &args.id_or_path);
- }
- Err(e) => return Err(e.into()),
- };
+ let agentfs = open_agentfs(opts)
+ .await
+ .map_err(|err| super::migrate::open_error_with_guidance(err, &args.id_or_path))?;
// Check for overlay configuration
// Query base_path in a separate scope so connection is released before load_whiteouts
@@ -297,149 +313,34 @@ async fn mount_nfs_backend(args: MountArgs) -> Result<()> {
Arc::new(agentfs.fs) as Arc
};
- if args.foreground {
- // Use the unified mount API for foreground mode
- let mount_opts = MountOpts {
- mountpoint: mountpoint.clone(),
- backend: MountBackend::Nfs,
- fsname,
- uid: args.uid,
- gid: args.gid,
- allow_other: args.allow_other,
- allow_root: args.allow_root,
- auto_unmount: args.auto_unmount,
- lazy_unmount: true,
- timeout: std::time::Duration::from_secs(10),
- };
-
- let _mount_handle = mount_fs(fs, mount_opts).await?;
-
- eprintln!("Mounted at {}", mountpoint.display());
- eprintln!("Press Ctrl+C to unmount and exit.");
- crate::mount::shutdown_signal().await?;
-
- // Handle drops automatically when we exit this scope
- } else {
- // Daemon mode: use manual NFS server setup for persistent background operation
- let nfs = AgentNFS::new(fs);
- let port = find_available_port(DEFAULT_NFS_PORT)?;
-
- let bind_addr = format!("127.0.0.1:{}", port);
- let listener = crate::nfsserve::tcp::NFSTcpListener::bind(&bind_addr, nfs)
- .await
- .context("Failed to bind NFS server")?;
-
- eprintln!("Starting NFS server on 127.0.0.1:{}", port);
-
- tokio::spawn(async move {
- if let Err(e) = listener.handle_forever().await {
- eprintln!("NFS server error: {}", e);
- }
- });
-
- tokio::time::sleep(tokio::time::Duration::from_millis(100)).await;
- nfs_mount(port, &mountpoint)?;
-
- eprintln!("Mounted at {}", mountpoint.display());
- eprintln!(
- "Running in background. Use 'umount {}' to unmount.",
- mountpoint.display()
- );
-
- // Block forever (server runs in background task)
- std::future::pending::<()>().await;
- }
-
- Ok(())
-}
-
-/// Find an available TCP port starting from the given port.
-fn find_available_port(start_port: u32) -> Result {
- for port in start_port..start_port + 100 {
- if std::net::TcpListener::bind(format!("127.0.0.1:{}", port)).is_ok() {
- return Ok(port);
- }
- }
- anyhow::bail!(
- "Could not find an available port in range {}-{}",
- start_port,
- start_port + 100
- );
-}
-
-/// Mount the NFS filesystem (Linux version).
-#[cfg(target_os = "linux")]
-fn nfs_mount(port: u32, mountpoint: &Path) -> Result<()> {
- let output = Command::new("mount")
- .args([
- "-t",
- "nfs",
- "-o",
- &format!(
- "vers=3,tcp,port={},mountport={},nolock,soft,timeo=10,retrans=2",
- port, port
- ),
- "127.0.0.1:/",
- mountpoint.to_str().unwrap(),
- ])
- .output()
- .context("Failed to execute mount command")?;
-
- if !output.status.success() {
- let stderr = String::from_utf8_lossy(&output.stderr);
- anyhow::bail!(
- "Failed to mount NFS: {}. Make sure NFS client tools are installed (nfs-common on Debian/Ubuntu, nfs-utils on Fedora/RHEL) and you have permission to mount (try running with sudo).",
- stderr.trim()
- );
- }
+ let mount_opts = MountOpts {
+ mountpoint: mountpoint.clone(),
+ backend: Backend::Nfs,
+ fsname,
+ uid: args.uid,
+ gid: args.gid,
+ allow_other: args.allow_other,
+ allow_root: args.allow_root,
+ auto_unmount: args.auto_unmount,
+ lazy_unmount: true,
+ timeout: std::time::Duration::from_secs(10),
+ };
- Ok(())
+ run_mount_session(fs, mount_opts, args.foreground).await
}
-/// Mount the NFS filesystem (macOS version).
-#[cfg(target_os = "macos")]
-fn nfs_mount(port: u32, mountpoint: &Path) -> Result<()> {
- let output = Command::new("/sbin/mount_nfs")
- .args([
- "-o",
- &format!(
- "locallocks,vers=3,tcp,port={},mountport={},wsize=1048576,rsize=1048576,soft,timeo=10,retrans=2",
- port, port
- ),
- "127.0.0.1:/",
- mountpoint.to_str().unwrap(),
- ])
- .output()
- .context("Failed to execute mount_nfs")?;
-
- if !output.status.success() {
- let stderr = String::from_utf8_lossy(&output.stderr);
- anyhow::bail!("Failed to mount NFS: {}", stderr.trim());
+async fn run_mount_session(
+ fs: Arc,
+ mount_opts: MountOpts,
+ foreground: bool,
+) -> Result<()> {
+ let handle = mount_fs(fs, mount_opts).await?;
+ if foreground {
+ eprintln!("Mounted at {}", handle.mountpoint().display());
+ eprintln!("Press Ctrl+C to unmount and exit.");
}
- Ok(())
-}
-
-/// Check if a path is a mountpoint by comparing device IDs
-#[cfg(target_os = "linux")]
-fn is_mounted(path: &std::path::Path) -> bool {
- let path_meta = match std::fs::metadata(path) {
- Ok(m) => m,
- Err(_) => return false,
- };
-
- let parent = match path.parent() {
- Some(p) if !p.as_os_str().is_empty() => p,
- _ => std::path::Path::new("/"),
- };
-
- let parent_meta = match std::fs::metadata(parent) {
- Ok(m) => m,
- Err(_) => return false,
- };
-
- // Different device IDs means it's a mountpoint
- path_meta.dev() != parent_meta.dev()
+ agentfs_mount::supervise::supervise_mount(handle).await
}
/// List all currently mounted agentfs filesystems (Linux)
@@ -650,18 +551,196 @@ pub fn prune_mounts(_force: bool) -> Result<()> {
anyhow::bail!("Mount pruning is only available on Linux")
}
-/// Print schema version mismatch error and exit.
-fn exit_schema_version_mismatch(found: &str, expected: &str, id_or_path: &str) -> ! {
- eprintln!("Error: Filesystem `{}` requires migration", id_or_path);
- eprintln!();
- eprintln!(
- "Found schema version {}, but this version of agentfs requires {}.",
- found, expected
- );
- eprintln!();
- eprintln!("To upgrade, run:");
- eprintln!();
- eprintln!(" agentfs migrate {}", id_or_path);
- eprintln!();
- std::process::exit(1);
+#[cfg(all(test, target_os = "linux"))]
+mod tests {
+ use super::*;
+ use std::path::Path;
+ use tempfile::tempdir;
+ use turso::{Builder, Connection};
+
+ #[tokio::test]
+ async fn mount_precheck_backfills_legacy_whiteout_parent_path() {
+ let dir = tempdir().unwrap();
+ let db_path = dir.path().join("legacy-whiteout.db");
+ create_currentish_db_with_legacy_whiteout(&db_path).await;
+
+ require_schema_current_for_mount_precheck(db_path.to_str().unwrap(), None)
+ .await
+ .unwrap();
+
+ let db = Builder::new_local(db_path.to_str().unwrap())
+ .build()
+ .await
+ .unwrap();
+ let conn = db.connect().unwrap();
+ let columns = table_columns(&conn, "fs_whiteout").await;
+ assert!(
+ columns.iter().any(|column| column == "parent_path"),
+ "mount precheck did not add fs_whiteout.parent_path; columns={columns:?}"
+ );
+ let mut rows = conn
+ .query(
+ "SELECT parent_path, created_at FROM fs_whiteout WHERE path = '/dir/deleted'",
+ (),
+ )
+ .await
+ .unwrap();
+ let row = rows.next().await.unwrap().unwrap();
+ let parent_path = row.get::(0).unwrap();
+ let created_at = row.get::(1).unwrap();
+ println!(
+ "mount precheck: fs_whiteout columns={columns:?}; /dir/deleted parent_path={parent_path}"
+ );
+ assert_eq!(parent_path, "/dir");
+ assert_eq!(created_at, 123);
+ }
+
+ #[tokio::test]
+ async fn mount_precheck_opens_encrypted_current_db_with_key() {
+ const TEST_KEY: &str = "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef";
+ const TEST_CIPHER: &str = "aes256gcm";
+
+ let dir = tempdir().unwrap();
+ let db_path = dir.path().join("encrypted.db");
+ let agentfs = agentfs_core::AgentFS::open(
+ AgentFSOptions::with_path(db_path.to_str().unwrap().to_string()).with_encryption(
+ EncryptionConfig {
+ hex_key: TEST_KEY.to_string(),
+ cipher: TEST_CIPHER.to_string(),
+ },
+ ),
+ )
+ .await
+ .unwrap();
+ drop(agentfs);
+
+ let encryption = (TEST_KEY.to_string(), TEST_CIPHER.to_string());
+ require_schema_current_for_mount_precheck(db_path.to_str().unwrap(), Some(&encryption))
+ .await
+ .expect("keyed precheck must classify an encrypted CURRENT database as current");
+
+ let err = require_schema_current_for_mount_precheck(db_path.to_str().unwrap(), None)
+ .await
+ .expect_err("keyless precheck of an encrypted database must fail, not classify");
+ assert!(
+ !matches!(err, SdkError::SchemaVersionMismatch { .. }),
+ "keyless open must not misclassify as a schema mismatch: {err}"
+ );
+ }
+
+ async fn create_currentish_db_with_legacy_whiteout(db_path: &Path) {
+ let db = Builder::new_local(db_path.to_str().unwrap())
+ .build()
+ .await
+ .unwrap();
+ let conn = db.connect().unwrap();
+ conn.execute(
+ "CREATE TABLE fs_inode (
+ ino INTEGER PRIMARY KEY AUTOINCREMENT,
+ mode INTEGER NOT NULL,
+ nlink INTEGER NOT NULL DEFAULT 0,
+ uid INTEGER NOT NULL DEFAULT 0,
+ gid INTEGER NOT NULL DEFAULT 0,
+ size INTEGER NOT NULL DEFAULT 0,
+ atime INTEGER NOT NULL,
+ mtime INTEGER NOT NULL,
+ ctime INTEGER NOT NULL,
+ rdev INTEGER NOT NULL DEFAULT 0,
+ atime_nsec INTEGER NOT NULL DEFAULT 0,
+ mtime_nsec INTEGER NOT NULL DEFAULT 0,
+ ctime_nsec INTEGER NOT NULL DEFAULT 0,
+ data_inline BLOB,
+ storage_kind INTEGER NOT NULL DEFAULT 0
+ )",
+ (),
+ )
+ .await
+ .unwrap();
+ conn.execute(
+ "CREATE TABLE fs_dentry (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ name TEXT NOT NULL,
+ parent_ino INTEGER NOT NULL,
+ ino INTEGER NOT NULL,
+ UNIQUE(parent_ino, name)
+ )",
+ (),
+ )
+ .await
+ .unwrap();
+ conn.execute(
+ "CREATE TABLE fs_data (
+ ino INTEGER NOT NULL,
+ chunk_index INTEGER NOT NULL,
+ data BLOB NOT NULL,
+ PRIMARY KEY (ino, chunk_index)
+ )",
+ (),
+ )
+ .await
+ .unwrap();
+ conn.execute(
+ "CREATE TABLE fs_symlink (
+ ino INTEGER PRIMARY KEY,
+ target TEXT NOT NULL
+ )",
+ (),
+ )
+ .await
+ .unwrap();
+ conn.execute(
+ "CREATE TABLE fs_whiteout (
+ path TEXT PRIMARY KEY,
+ created_at INTEGER NOT NULL
+ )",
+ (),
+ )
+ .await
+ .unwrap();
+ conn.execute(
+ "INSERT INTO fs_whiteout (path, created_at) VALUES ('/dir/deleted', 123)",
+ (),
+ )
+ .await
+ .unwrap();
+ conn.execute(
+ "CREATE TABLE kv_store (
+ key TEXT PRIMARY KEY,
+ value TEXT NOT NULL,
+ created_at INTEGER DEFAULT (unixepoch()),
+ updated_at INTEGER DEFAULT (unixepoch())
+ )",
+ (),
+ )
+ .await
+ .unwrap();
+ conn.execute(
+ "CREATE TABLE tool_calls (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ name TEXT NOT NULL,
+ parameters TEXT,
+ result TEXT,
+ error TEXT,
+ status TEXT NOT NULL DEFAULT 'pending',
+ started_at INTEGER NOT NULL,
+ completed_at INTEGER,
+ duration_ms INTEGER
+ )",
+ (),
+ )
+ .await
+ .unwrap();
+ }
+
+ async fn table_columns(conn: &Connection, table_name: &str) -> Vec {
+ let mut rows = conn
+ .query(&format!("PRAGMA table_info({table_name})"), ())
+ .await
+ .unwrap();
+ let mut columns = Vec::new();
+ while let Some(row) = rows.next().await.unwrap() {
+ columns.push(row.get::(1).unwrap());
+ }
+ columns
+ }
}
diff --git a/cli/src/cmd/nfs.rs b/crates/agentfs-cli/src/cmd/nfs.rs
similarity index 71%
rename from cli/src/cmd/nfs.rs
rename to crates/agentfs-cli/src/cmd/nfs.rs
index 507b0b79..cfa7421e 100644
--- a/cli/src/cmd/nfs.rs
+++ b/crates/agentfs-cli/src/cmd/nfs.rs
@@ -4,17 +4,22 @@
//! filesystem over the network, allowing remote systems (like VMs) to mount
//! it as their root filesystem.
-use agentfs_sdk::{agentfs_dir, AgentFSOptions, FileSystem, HostFS, OverlayFS};
+use agentfs_core::{agentfs_dir, AgentFSOptions, EncryptionConfig, FileSystem, HostFS, OverlayFS};
+use agentfs_mount::{serve_nfs, NfsServerOptions};
use anyhow::{Context, Result};
use std::path::PathBuf;
use std::sync::Arc;
use tokio::signal;
use crate::cmd::init::open_agentfs;
-use crate::nfs::AgentNFS;
/// Handle the `nfs` command - start a standalone NFS server.
-pub async fn handle_nfs_command(id_or_path: String, bind: String, port: u32) -> Result<()> {
+pub async fn handle_nfs_command(
+ id_or_path: String,
+ bind: String,
+ port: u32,
+ encryption: Option<(String, String)>,
+) -> Result<()> {
// Resolve database path
let db_path = resolve_db_path(&id_or_path)?;
@@ -23,8 +28,16 @@ pub async fn handle_nfs_command(id_or_path: String, bind: String, port: u32) ->
.to_str()
.context("Database path contains non-UTF8 characters")?;
- let options = AgentFSOptions::with_path(db_path_str);
- let agentfs = open_agentfs(options).await?;
+ let mut options = AgentFSOptions::with_path(db_path_str);
+ if let Some((key, cipher)) = encryption {
+ options = options.with_encryption(EncryptionConfig {
+ hex_key: key,
+ cipher,
+ });
+ }
+ let agentfs = open_agentfs(options)
+ .await
+ .map_err(|err| super::migrate::open_error_with_guidance(err, &id_or_path))?;
// Check if overlay is configured in the database
let base_path = agentfs
@@ -45,39 +58,29 @@ pub async fn handle_nfs_command(id_or_path: String, bind: String, port: u32) ->
Arc::new(agentfs.fs)
};
- // Create NFS adapter
- let nfs = AgentNFS::new(fs);
-
// Bind NFS server
- let bind_addr_str = format!("{}:{}", bind, port);
- let listener = crate::nfsserve::tcp::NFSTcpListener::bind(&bind_addr_str, nfs)
+ let server_handle = serve_nfs(fs, NfsServerOptions::new(bind.clone(), port))
.await
- .with_context(|| format!("Failed to bind NFS server to {}", bind_addr_str))?;
+ .with_context(|| format!("Failed to bind NFS server to {bind}:{port}"))?;
+ let listen_addr = server_handle.local_addr();
+ let listen_port = u32::from(server_handle.local_port());
// Print server info
eprintln!();
eprintln!("AgentFS NFS Server");
eprintln!(" Database: {}", db_path.display());
- eprintln!(" Listening: {}", bind_addr_str);
+ eprintln!(" Listening: {}", listen_addr);
eprintln!(" Export: /");
eprintln!();
eprintln!("Mount from client:");
eprintln!(
" mount -t nfs -o vers=3,tcp,port={},mountport={},nolock {}:/ /mnt",
- port, port, bind
+ listen_port, listen_port, bind
);
eprintln!();
eprintln!("Press Ctrl+C to stop.");
eprintln!();
- // Spawn the NFS server task
- use crate::nfsserve::tcp::NFSTcp;
- let server_handle = tokio::spawn(async move {
- if let Err(e) = listener.handle_forever().await {
- eprintln!("NFS server error: {}", e);
- }
- });
-
// Wait for Ctrl+C
signal::ctrl_c()
.await
@@ -86,8 +89,11 @@ pub async fn handle_nfs_command(id_or_path: String, bind: String, port: u32) ->
eprintln!();
eprintln!("Shutting down...");
- // Abort the server task (no graceful shutdown support)
- server_handle.abort();
+ server_handle.cancel();
+ server_handle
+ .join()
+ .await
+ .context("NFS server shutdown failed")?;
Ok(())
}
diff --git a/crates/agentfs-cli/src/cmd/profiling.rs b/crates/agentfs-cli/src/cmd/profiling.rs
new file mode 100644
index 00000000..6bfcb318
--- /dev/null
+++ b/crates/agentfs-cli/src/cmd/profiling.rs
@@ -0,0 +1,56 @@
+//! CLI-owned profile sink helpers.
+//!
+//! Adapter-specific counters register from their owning crates when those
+//! adapters are constructed; the CLI owns only the process report lifecycle.
+
+pub use agentfs_core::telemetry::ProfileSnapshot;
+
+const PROFILE_SUMMARY_EVENT: &str = "agentfs_profile_summary";
+
+/// Drop guard installed by the CLI binary for a single process summary.
+#[derive(Debug)]
+pub struct ProfileReportGuard {
+ source: &'static str,
+}
+
+impl ProfileReportGuard {
+ fn new(source: &'static str) -> Self {
+ Self { source }
+ }
+
+ pub fn emit_now(&self) {
+ emit_profile_summary(self.source);
+ }
+}
+
+impl Drop for ProfileReportGuard {
+ fn drop(&mut self) {
+ self.emit_now();
+ }
+}
+
+pub fn install_cli_sink() -> ProfileReportGuard {
+ ProfileReportGuard::new("cli")
+}
+
+pub fn emit_cli_report() {
+ emit_profile_summary("cli");
+}
+
+pub fn report_checkpoint() {
+ if let Some(payload) = agentfs_core::telemetry::checkpoint_payload(PROFILE_SUMMARY_EVENT) {
+ eprintln!("{payload}");
+ }
+}
+
+fn emit_profile_summary(source: &str) {
+ if let Some(payload) =
+ agentfs_core::telemetry::take_summary_payload(PROFILE_SUMMARY_EVENT, source)
+ {
+ eprintln!("{payload}");
+ }
+}
+
+pub fn snapshot() -> ProfileSnapshot {
+ agentfs_core::telemetry::snapshot()
+}
diff --git a/cli/src/cmd/ps.rs b/crates/agentfs-cli/src/cmd/ps.rs
similarity index 88%
rename from cli/src/cmd/ps.rs
rename to crates/agentfs-cli/src/cmd/ps.rs
index 752bef91..f49aaca2 100644
--- a/cli/src/cmd/ps.rs
+++ b/crates/agentfs-cli/src/cmd/ps.rs
@@ -65,8 +65,20 @@ pub fn remove_proc_file(session_id: &str) {
}
/// Check if a process is still running.
+///
+/// `kill(pid, 0)` probes liveness without signalling; EPERM still proves the
+/// pid exists. This works on every Unix (a /proc scan would be Linux-only).
+#[cfg(unix)]
fn is_process_alive(pid: u32) -> bool {
- PathBuf::from(format!("/proc/{}", pid)).exists()
+ let result = unsafe { libc::kill(pid as libc::pid_t, 0) };
+ result == 0 || std::io::Error::last_os_error().raw_os_error() == Some(libc::EPERM)
+}
+
+/// `agentfs run` sessions only exist on Unix platforms, so nothing can be
+/// alive here.
+#[cfg(not(unix))]
+fn is_process_alive(_pid: u32) -> bool {
+ false
}
/// Information about a session with its processes.
@@ -183,6 +195,19 @@ fn truncate(s: &str, max_len: usize) -> String {
}
}
+#[cfg(all(test, unix))]
+mod liveness {
+ #[test]
+ fn probe_distinguishes_live_and_reaped_pids() {
+ assert!(super::is_process_alive(std::process::id()));
+
+ let mut child = std::process::Command::new("true").spawn().unwrap();
+ let pid = child.id();
+ child.wait().unwrap();
+ assert!(!super::is_process_alive(pid));
+ }
+}
+
// Column widths for table output
const COL_SESSION: usize = 36;
const COL_PID: usize = 8;
diff --git a/crates/agentfs-cli/src/cmd/run/darwin.rs b/crates/agentfs-cli/src/cmd/run/darwin.rs
new file mode 100644
index 00000000..11c80d6d
--- /dev/null
+++ b/crates/agentfs-cli/src/cmd/run/darwin.rs
@@ -0,0 +1,589 @@
+//! Darwin (macOS) run command implementation.
+//!
+//! This module provides a sandboxed execution environment using NFS for
+//! filesystem mounting. The current working directory becomes a
+//! copy-on-write overlay backed by AgentFS, mounted via a localhost NFS server.
+//!
+//! Sandboxing is enforced using macOS sandbox-exec with dynamically generated
+//! profiles. Writes are restricted to the NFS mountpoint and allowed paths;
+//! reads are default-deny and limited to the session paths, the allowed
+//! paths, and a curated set of platform roots the runtime needs (see
+//! `PLATFORM_READ_ROOTS`).
+
+use crate::opts::RunOptions;
+use agentfs_core::{AgentFS, AgentFSOptions, FileSystem, HostFS, OverlayFS};
+use anyhow::{Context, Result};
+use std::path::{Path, PathBuf};
+use std::sync::Arc;
+
+use agentfs_mount::supervise::{
+ exit_code_for_spawn_error, exit_code_for_status, run_supervised, supervise_command,
+ ChildOutcome,
+};
+use agentfs_mount::{mount_fs, Backend, MountOpts};
+
+/// Configuration for the macOS sandbox profile.
+#[derive(Debug, Clone)]
+pub(super) struct SandboxConfig {
+ /// The NFS mountpoint (primary read/write location).
+ pub(super) mountpoint: PathBuf,
+ /// Additional paths to allow read/write access.
+ pub(super) allow_paths: Vec,
+ /// Whether to allow network access.
+ pub(super) allow_network: bool,
+ /// Session ID for log filtering.
+ pub(super) session_id: String,
+}
+
+/// System roots that stay readable under the default-deny read posture.
+///
+/// Curated from the Codex restricted platform defaults and the
+/// Chromium/Mozilla Seatbelt profiles: the dyld shared cache cryptex,
+/// system libraries, executable directories, package managers, system
+/// config (`/private/etc`), terminfo/locale data (`/usr/share`), temp
+/// directories (already writable below), and `/dev` essentials. `/System`
+/// is handled separately: `/System/Volumes` firmlinks back into the data
+/// volume, so a plain `(subpath "/System")` would reopen every read the
+/// posture is meant to deny.
+pub(super) const PLATFORM_READ_ROOTS: &[&str] = &[
+ "/Applications",
+ "/Library/Apple",
+ "/Library/Preferences",
+ "/System/Volumes/Preboot/Cryptexes",
+ "/bin",
+ "/dev",
+ "/etc",
+ "/opt",
+ "/private/etc",
+ "/private/tmp",
+ "/private/var/db",
+ "/private/var/folders",
+ "/private/var/select",
+ "/private/var/tmp",
+ "/sbin",
+ "/tmp",
+ "/usr/bin",
+ "/usr/lib",
+ "/usr/libexec",
+ "/usr/local",
+ "/usr/sbin",
+ "/usr/share",
+ "/var/tmp",
+];
+
+/// Standard symlinks and firmlink components that need metadata access for
+/// path resolution (`/var` -> `/private/var`, the `/System/Volumes/Data`
+/// firmlink chain, the `/System/Volumes/Preboot` ancestor of the dyld
+/// cryptex read root), mirroring the Codex restricted defaults.
+const PLATFORM_METADATA_PATHS: &[&str] = &[
+ "/System/Volumes",
+ "/System/Volumes/Data",
+ "/System/Volumes/Data/Users",
+ "/System/Volumes/Data/private",
+ "/System/Volumes/Preboot",
+ "/etc",
+ "/private/etc/localtime",
+ "/tmp",
+ "/var",
+];
+
+/// Proper ancestors of every read root (excluding `/`), deduplicated and
+/// sorted, so path resolution can stat each component on the way down
+/// without granting data reads outside the roots themselves.
+fn read_root_ancestors(roots: &[PathBuf]) -> Vec {
+ let mut ancestors = std::collections::BTreeSet::new();
+ for root in roots {
+ for ancestor in root.ancestors().skip(1) {
+ if ancestor != Path::new("/") && !ancestor.as_os_str().is_empty() {
+ ancestors.insert(ancestor.to_path_buf());
+ }
+ }
+ }
+ ancestors.into_iter().collect()
+}
+
+/// A generated Seatbelt policy plus the dynamic path parameters it
+/// references.
+///
+/// Dynamic paths (session, allow-listed, home) never appear in the SBPL
+/// text: rules reference them as `(param "NAME")` and the values are passed
+/// to `/usr/bin/sandbox-exec` as `-D NAME=value` definitions, so a path
+/// containing SBPL metacharacters (a double quote) cannot corrupt the
+/// profile. This is the Chromium/Codex parameter model
+/// (research/darwin-seatbelt-read-scoping.md).
+#[derive(Debug, Clone)]
+pub(super) struct SandboxProfile {
+ pub(super) policy: String,
+ pub(super) params: Vec<(String, PathBuf)>,
+}
+
+/// Dynamic-path parameter table, deduplicated by value so a path referenced
+/// by several rules (e.g. the mountpoint's read and write allows) is defined
+/// exactly once on the sandbox-exec command line.
+#[derive(Default)]
+struct SandboxParams(Vec<(String, PathBuf)>);
+
+impl SandboxParams {
+ fn define(&mut self, name: impl Into, path: &Path) -> String {
+ if let Some((existing, _)) = self.0.iter().find(|(_, value)| value == path) {
+ return existing.clone();
+ }
+ let name = name.into();
+ debug_assert!(self.0.iter().all(|(existing, _)| existing != &name));
+ self.0.push((name.clone(), path.to_path_buf()));
+ name
+ }
+}
+
+/// The session id reaches the profile text itself (deny message and log-tag
+/// comment) where Seatbelt parameters are not available, so restrict it to a
+/// conservative charset instead of trusting `--session` input. A session id
+/// with no surviving characters falls back to a fixed placeholder so the
+/// deny message never degrades to a bare `agentfs-:` tag.
+fn sandbox_log_tag(session_id: &str) -> String {
+ let tag: String = session_id
+ .chars()
+ .filter(|c| c.is_ascii_alphanumeric() || matches!(c, '-' | '_' | '.'))
+ .collect();
+ if tag.is_empty() {
+ "session".to_string()
+ } else {
+ tag
+ }
+}
+
+/// Generate a sandbox-exec profile for AgentFS.
+///
+/// The profile allows most operations but restricts file writes to the NFS
+/// mountpoint, temp directories, and explicitly allowed paths, and file
+/// reads to the session paths, allowed paths, and `PLATFORM_READ_ROOTS`.
+/// Every dynamic path is emitted as a `(param "NAME")` reference; the values
+/// travel out-of-band in [`SandboxProfile::params`].
+pub(super) fn generate_sandbox_profile(config: &SandboxConfig) -> SandboxProfile {
+ let mut profile = Vec::new();
+ let mut params = SandboxParams::default();
+ let log_tag = format!("agentfs-{}", sandbox_log_tag(&config.session_id));
+
+ profile.push("(version 1)".to_string());
+ profile.push(format!(
+ r#"(deny default (with message "{log_tag}: access denied"))"#
+ ));
+ profile.push(format!("; Log tag: {}", log_tag));
+
+ profile.push("; Allow most operations".to_string());
+ profile.push("(allow process*)".to_string());
+ profile.push("(allow signal)".to_string());
+ profile.push("(allow mach*)".to_string());
+ profile.push("(allow sysctl*)".to_string());
+ profile.push("(allow system*)".to_string());
+ profile.push("(allow ipc*)".to_string());
+ profile.push("(allow pseudo-tty)".to_string());
+
+ profile.push(
+ "; Readable paths: session and allow-listed roots (reads are default-deny)".to_string(),
+ );
+ let mut read_roots = vec![config.mountpoint.clone()];
+ let mountpoint_param = params.define("MOUNTPOINT", &config.mountpoint);
+ let mut read_root_params = vec![mountpoint_param.clone()];
+ let mut run_dir_param = None;
+ if let Some(parent) = config.mountpoint.parent() {
+ read_roots.push(parent.to_path_buf());
+ let name = params.define("RUN_DIR", parent);
+ read_root_params.push(name.clone());
+ run_dir_param = Some(name);
+ }
+ let mut allow_path_params = Vec::new();
+ for (index, path) in config.allow_paths.iter().enumerate() {
+ read_roots.push(path.clone());
+ let name = params.define(format!("ALLOW_PATH_{index}"), path);
+ read_root_params.push(name.clone());
+ allow_path_params.push(name);
+ }
+ for name in &read_root_params {
+ profile.push(format!(
+ r#"(allow file-read* file-map-executable file-test-existence (subpath (param "{name}")))"#
+ ));
+ }
+
+ profile
+ .push("; Platform read roots (loader, frameworks, executables, config, temp)".to_string());
+ profile.push(r#"(allow file-read* file-test-existence (literal "/"))"#.to_string());
+ profile.push(
+ r#"(allow file-read* file-map-executable file-test-existence (require-all (subpath "/System") (require-not (subpath "/System/Volumes"))))"#
+ .to_string(),
+ );
+ for root in PLATFORM_READ_ROOTS {
+ profile.push(format!(
+ r#"(allow file-read* file-map-executable file-test-existence (subpath "{root}"))"#
+ ));
+ }
+
+ profile
+ .push("; Metadata for path resolution (symlinks, firmlinks, root ancestors)".to_string());
+ for path in PLATFORM_METADATA_PATHS {
+ profile.push(format!(
+ r#"(allow file-read-metadata file-test-existence (literal "{path}"))"#
+ ));
+ }
+ for (index, ancestor) in read_root_ancestors(&read_roots).iter().enumerate() {
+ let name = params.define(format!("ANCESTOR_{index}"), ancestor);
+ profile.push(format!(
+ r#"(allow file-read-metadata file-test-existence (literal (param "{name}")))"#
+ ));
+ }
+
+ profile.push("; Writable paths".to_string());
+ profile.push(format!(
+ r#"(allow file-write* (subpath (param "{mountpoint_param}")))"#
+ ));
+
+ if let Some(name) = &run_dir_param {
+ profile.push(format!(r#"(allow file-write* (subpath (param "{name}")))"#));
+ }
+
+ profile.push(r#"(allow file-write* (subpath "/private/tmp"))"#.to_string());
+ profile.push(r#"(allow file-write* (subpath "/tmp"))"#.to_string());
+ profile.push(r#"(allow file-write* (subpath "/var/tmp"))"#.to_string());
+ profile.push(r#"(allow file-write* (subpath "/private/var/folders"))"#.to_string());
+ profile.push(r#"(allow file-write* (subpath "/dev"))"#.to_string());
+ profile.push(r#"(allow file-ioctl (subpath "/dev"))"#.to_string());
+
+ for name in &allow_path_params {
+ profile.push(format!(r#"(allow file-write* (subpath (param "{name}")))"#));
+ }
+
+ profile.push("; Network".to_string());
+ if config.allow_network {
+ profile.push("(allow network*)".to_string());
+ } else {
+ profile.push(r#"(allow network* (remote ip "localhost:*"))"#.to_string());
+ profile.push(r#"(allow network* (local ip "localhost:*"))"#.to_string());
+ }
+
+ profile.push("; Security and Keychain".to_string());
+ profile.push(r#"(allow file-write* (subpath "/private/var/db/mds"))"#.to_string());
+ profile.push(
+ r#"(allow file-write* (regex #"^/private/var/folders/[^/]+/[^/]+/C/mds/"))"#.to_string(),
+ );
+ profile
+ .push(r#"(allow file-write* (regex #"^/private/var/folders/[^/]+/[^/]+/T/"))"#.to_string());
+ if let Some(home) = dirs::home_dir() {
+ let name = params.define("HOME_LIBRARY", &home.join("Library"));
+ profile.push(format!(r#"(allow file-write* (subpath (param "{name}")))"#));
+ }
+ profile.push(r#"(allow file-write* (subpath "/Library/Preferences"))"#.to_string());
+ profile.push(r#"(allow file-write* (subpath "/Library/Keychains"))"#.to_string());
+ profile.push("(allow authorization-right-obtain)".to_string());
+ profile.push("(allow user-preference-write)".to_string());
+ profile.push("(allow user-preference-read)".to_string());
+
+ SandboxProfile {
+ policy: profile.join("\n"),
+ params: params.0,
+ }
+}
+
+/// Missing / non-executable commands pass through as 127/126 like the
+/// shared exec path (VAL-CLI-019 exception); every other supervision error
+/// goes to the unified reporter.
+pub(super) fn spawn_error_exit_code(error: &anyhow::Error) -> Option {
+ error
+ .downcast_ref::()
+ .and_then(exit_code_for_spawn_error)
+}
+
+/// Run the command in a Darwin sandbox.
+pub async fn run(options: RunOptions) -> Result<()> {
+ let RunOptions {
+ allow,
+ no_default_allows,
+ session,
+ system: _,
+ encryption,
+ partial_origin_policy,
+ command,
+ args,
+ } = options;
+ let cwd = std::env::current_dir().context("Failed to get current directory")?;
+ let home = dirs::home_dir().context("Failed to get home directory")?;
+
+ let session = setup_run_directory(session, allow, no_default_allows, &cwd, &home)?;
+
+ // Check if we're joining an existing session
+ if is_mountpoint(&session.mountpoint) {
+ if is_mount_healthy(&session.mountpoint) {
+ eprintln!("Joining existing session: {}", session.session_id);
+ eprintln!();
+ let outcome = run_command_in_mount(&session, command, args).await?;
+ crate::profiling::emit_cli_report();
+ std::process::exit(exit_code_for_outcome(outcome));
+ } else {
+ eprintln!("Cleaning up stale NFS mount...");
+ if let Err(e) = agentfs_mount::unmount(&session.mountpoint, Backend::Nfs, true) {
+ eprintln!("Warning: Failed to unmount stale mount: {}", e);
+ }
+ }
+ }
+
+ // Initialize the AgentFS database
+ let db_path_str = session
+ .db_path
+ .to_str()
+ .context("Database path contains non-UTF8 characters")?;
+
+ let encrypted = encryption.is_some();
+ let mut options = AgentFSOptions::with_path(db_path_str)
+ .with_core_config(crate::config::core_config_from_env());
+ if let Some(encryption) = encryption {
+ options = options.with_encryption(encryption);
+ }
+ let agentfs = AgentFS::open(options)
+ .await
+ .map_err(|err| crate::cmd::migrate::open_error_with_guidance(err, db_path_str))
+ .context("Failed to create AgentFS")?;
+
+ // Create overlay filesystem with CWD as base
+ let base_str = cwd.to_string_lossy().to_string();
+ let hostfs = HostFS::new(&base_str).context("Failed to create HostFS")?;
+ let overlay = if let Some(policy) = partial_origin_policy {
+ OverlayFS::new_with_partial_origin_policy(Arc::new(hostfs), agentfs.fs, policy)
+ } else {
+ OverlayFS::new(Arc::new(hostfs), agentfs.fs)
+ };
+
+ // Initialize the overlay (copies directory structure)
+ overlay
+ .init(&base_str)
+ .await
+ .context("Failed to initialize overlay")?;
+
+ let fs: Arc = Arc::new(overlay);
+
+ let mut mount_opts = MountOpts::new(session.mountpoint.clone(), Backend::Nfs);
+ mount_opts.fsname = format!("agentfs:{}", session.session_id);
+ mount_opts.lazy_unmount = true;
+ mount_opts.timeout = std::time::Duration::from_secs(10);
+ let mount_handle = mount_fs(fs, mount_opts).await?;
+
+ print_welcome_banner(&session, encrypted);
+
+ let command_display = command.display().to_string();
+ let child_command = command_in_mount(&session, command, args);
+ let status = run_supervised(mount_handle, child_command).await;
+ if let Err(e) = std::fs::remove_dir(&session.mountpoint) {
+ eprintln!(
+ "Warning: Failed to clean up mountpoint {}: {}",
+ session.mountpoint.display(),
+ e
+ );
+ }
+
+ // Print session info for the user
+ eprintln!();
+ eprintln!("Session: {}", session.session_id);
+ eprintln!();
+ eprintln!("To resume this session:");
+ eprintln!(" agentfs run --session {}", session.session_id);
+ eprintln!();
+ eprintln!("To see what changed:");
+ eprintln!(" agentfs diff {}", session.session_id);
+
+ crate::profiling::emit_cli_report();
+ match status {
+ Ok(status) => std::process::exit(exit_code_for_status(status)),
+ Err(error) => {
+ if let Some(code) = spawn_error_exit_code(&error) {
+ eprintln!("Error: Failed to execute: {command_display}: {error}");
+ std::process::exit(code);
+ }
+ Err(error.context(format!(
+ "Darwin/NFS run supervision failed for {command_display}"
+ )))
+ }
+ }
+}
+
+fn exit_code_for_outcome(outcome: ChildOutcome) -> i32 {
+ match outcome {
+ ChildOutcome::Exited(status) => status.code().unwrap_or(1),
+ ChildOutcome::Interrupted(signo) => 128 + signo,
+ }
+}
+
+/// Print the welcome banner showing sandbox configuration (macOS).
+#[cfg(target_os = "macos")]
+fn print_welcome_banner(session: &RunSession, encrypted: bool) {
+ use super::group_paths_by_parent;
+
+ eprintln!("Welcome to AgentFS!");
+ eprintln!();
+ eprintln!("The following directories are writable:");
+ eprintln!();
+ eprintln!(" - {} (copy-on-write)", session.cwd.display());
+ eprintln!(" - /tmp");
+ for grouped_path in group_paths_by_parent(&session.allow_paths) {
+ eprintln!(" - {}", grouped_path);
+ }
+ eprintln!();
+ eprintln!("🔒 System paths are read-only.");
+ eprintln!("🙈 Everything else (including the rest of your home directory) is unreadable.");
+ if encrypted {
+ eprintln!("🔐 Delta layer is encrypted.");
+ }
+ eprintln!();
+ eprintln!("To join this session from another terminal:");
+ eprintln!();
+ eprintln!(" agentfs run --session {} ", session.session_id);
+ eprintln!();
+}
+
+/// Configuration for a sandbox run session.
+struct RunSession {
+ /// Directory containing session artifacts.
+ run_dir: PathBuf,
+ /// Path to the delta database.
+ db_path: PathBuf,
+ /// Path where NFS filesystem will be mounted.
+ mountpoint: PathBuf,
+ /// Session ID for the sandbox profile.
+ session_id: String,
+ /// Additional paths to allow write access.
+ allow_paths: Vec,
+ /// Original working directory.
+ cwd: PathBuf,
+}
+
+/// Create a run directory with database and mountpoint paths.
+///
+/// If `session_id` is provided, uses that as the run ID (allowing multiple
+/// runs to share the same delta layer). Otherwise generates a unique UUID.
+fn setup_run_directory(
+ session_id: Option,
+ user_allow_paths: Vec,
+ no_default_allows: bool,
+ cwd: &Path,
+ home: &Path,
+) -> Result {
+ let run_id = session_id.unwrap_or_else(|| uuid::Uuid::new_v4().to_string());
+ let run_dir = home.join(".agentfs").join("run").join(&run_id);
+ std::fs::create_dir_all(&run_dir).context("Failed to create run directory")?;
+
+ let db_path = run_dir.join("delta.db");
+ let mountpoint = run_dir.join("mnt");
+ std::fs::create_dir_all(&mountpoint).context("Failed to create mountpoint")?;
+
+ // Build allowed paths list
+ let mut allow_paths = user_allow_paths;
+ if !no_default_allows {
+ allow_paths.extend(super::default_allowed_paths(home));
+ }
+
+ // Create zsh config directory with custom prompt
+ let zsh_dir = run_dir.join("zsh");
+ std::fs::create_dir_all(&zsh_dir).context("Failed to create zsh config directory")?;
+ std::fs::write(zsh_dir.join(".zshrc"), "PROMPT='🤖 %~%# '\n")
+ .context("Failed to write zsh config")?;
+
+ Ok(RunSession {
+ run_dir,
+ db_path,
+ mountpoint,
+ session_id: run_id,
+ allow_paths,
+ cwd: cwd.to_path_buf(),
+ })
+}
+
+/// Check if a path is a mountpoint by comparing device IDs with parent.
+fn is_mountpoint(path: &Path) -> bool {
+ use std::os::unix::fs::MetadataExt;
+
+ let Ok(path_meta) = std::fs::metadata(path) else {
+ return false;
+ };
+
+ let parent = path
+ .parent()
+ .filter(|p| !p.as_os_str().is_empty())
+ .unwrap_or(Path::new("/"));
+
+ let Ok(parent_meta) = std::fs::metadata(parent) else {
+ return false;
+ };
+
+ path_meta.dev() != parent_meta.dev()
+}
+
+/// Check if a mount is healthy (not stale).
+///
+/// Stale NFS mounts will fail when trying to access them.
+fn is_mount_healthy(mountpoint: &Path) -> bool {
+ std::fs::read_dir(mountpoint).is_ok()
+}
+
+/// Run a command with the working directory set to the mounted filesystem (macOS).
+///
+/// On macOS, the command is wrapped with sandbox-exec using a Sandbox profile
+/// that restricts file writes to the NFS mountpoint and allowed paths.
+/// The mountpoint overlays CWD, and additional paths in HOME are made writable
+/// through the allow_paths configuration.
+#[cfg(target_os = "macos")]
+fn command_in_mount(
+ session: &RunSession,
+ command: PathBuf,
+ args: Vec,
+) -> tokio::process::Command {
+ // Generate the Sandbox profile
+ let config = SandboxConfig {
+ mountpoint: session.mountpoint.clone(),
+ allow_paths: session.allow_paths.clone(),
+ allow_network: true,
+ session_id: session.session_id.clone(),
+ };
+ let profile = generate_sandbox_profile(&config);
+
+ // Wrap the command with sandbox-exec, pinned to the system binary so a
+ // PATH-injected replacement cannot supplant the sandbox. Dynamic paths
+ // travel as -D parameter definitions, never inside the profile text.
+ let mut cmd = tokio::process::Command::new("/usr/bin/sandbox-exec");
+ cmd.arg("-p").arg(&profile.policy);
+ for (name, value) in &profile.params {
+ let mut definition = std::ffi::OsString::from(format!("{name}="));
+ definition.push(value.as_os_str());
+ cmd.arg("-D").arg(definition);
+ }
+ cmd.arg(&command)
+ .args(&args)
+ .current_dir(&session.mountpoint)
+ .env("AGENTFS", "1")
+ .env("AGENTFS_SANDBOX", "macos-sandbox")
+ // Bash prompt - show full path since we're not changing HOME
+ .env("PS1", "🤖 \\w\\$ ")
+ // Zsh: use custom ZDOTDIR to override prompt
+ .env("ZDOTDIR", session.run_dir.join("zsh"));
+ // The CLI's private spill dir is process-internal; children keep the
+ // user's TMPDIR.
+ crate::config::restore_original_tmpdir(&mut cmd);
+
+ cmd
+}
+
+async fn run_command_in_mount(
+ session: &RunSession,
+ command: PathBuf,
+ args: Vec