feat(storage): rationalize read path OTEL#2831
Conversation
❌ 6 Tests Failed:
View the full list of 6 ❄️ flaky test(s)
To view more test analytics, go to the Test Analytics Dashboard |
Adds an orchestrator.read.* metric family with consistent attributes
(file_type/source/codec/outcome) covering each stage of a read, plus
per-layer chunker and build-file timers, so dashboards can attribute
latency end-to-end from sandbox-visible read to backend fetch.
Does not remove any of the prior metrics, this will be done separately
after the dashboards are updated.
Metrics:
- orchestrator.file.read_at build.File.ReadAt — per-fault
unit, aggregates all underlying
mappings into one record
- orchestrator.chunk.slice Chunker.Slice — per per-mapping
unit, source=mmap on cache hit
else the backend that served
- orchestrator.read.open OpenRangeReader (open / TTFB)
- orchestrator.read.read source-read wall, compressed bytes
- orchestrator.read.decompress decompress CPU + uncompressed bytes
- orchestrator.read.fetch total fetch wall + bytes delivered
- orchestrator.read.writeback NFS cache writeback wall + bytes
- orchestrator.read.pipeline.efficiency fetch / (open+read+decompress)
- orchestrator.read.cache NFS hit/miss/writeback events
- orchestrator.read.inflight concurrent fetches gauge
Spans:
- chunk.fetch runFetch goroutine span
f1d1973 to
f7a0b35
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a8b2cff410
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2035d4a86c
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Adds to #2570 which should be merged first.
Adds an orchestrator.read.* metric family with consistent attributes
(file_type/source/codec/outcome) covering each stage of a read, plus
per-layer chunker and build-file timers, so dashboards can attribute
latency end-to-end from sandbox-visible read to backend fetch.
Does not remove any of the prior metrics, this will be done separately
after the dashboards are updated.
Metrics:
orchestrator.file.read_atbuild.File.ReadAt - per-fault unit, aggregates all underlying mappings into one recordorchestrator.chunk.sliceChunker.Slice - per per-mapping unit, source=mmap on cache hit else the backend that servedorchestrator.read.open- OpenRangeReader (open / TTFB)orchestrator.read.read- source-read wall time, raw bytesorchestrator.read.decompress- decompress wall time + uncompressed bytesorchestrator.read.fetch- total fetch wall time + uncompressed bytes deliveredorchestrator.read.writeback- NFS cache writeback wall + bytesorchestrator.read.pipeline.efficiency- fetch / (open+read+decompress)orchestrator.read.cache- NFS hit/miss/writeback eventsorchestrator.read.inflight- concurrent fetches gaugeSpans:
chunk.fetch- runFetch goroutine span