oxidecomputer / oxidecomputer/omicron
Log parameters of SledAgent POST requests
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 572
- Forks
- 97
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 96
Description
Currently, SledAgent does not log parameters of POST requests, only occasionally logging the request parameters of if it results in a failure:
2026-04-03 18:17:14.152Z INFO SledAgent/656 (dropshot (SledAgent)) on BRM44220009: request completed
error_message_external = Service Unavailable
error_message_internal = Failed to ensure volume 'oxp_a5a52f47-9c9a-4519-83dc-abc56619495d/local_storage_unencrypted/1d843bb7-4ec7-4ff4-adb7-f82d39f9fe85/vol': created but not ready yet: still zero initializing
file = /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/dropshot-0.16.7/src/server.rs:855
latency_us = 1776444
local_addr = [fd00:1122:3344:11d::1]:12345
method = POST
remote_addr = [fd00:1122:3344:11d::22]:38647
req_id = 036ec691-1cfa-451e-a81d-63f84b6f28b0
response_code = 503
uri = /local-storage
Successful request shows no parameters:
2026-04-03 18:10:14.689Z INFO SledAgent/656 (dropshot (SledAgent)) on BRM44220009: request completed
file = /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/dropshot-0.16.7/src/server.rs:867
latency_us = 110199
local_addr = [fd00:1122:3344:11d::1]:12345
method = POST
remote_addr = [fd00:1122:3344:11d::22]:58440
req_id = a523f7ea-7b17-49b8-816d-aa77f7ffe6f5
response_code = 204
uri = /local-storage
We need a way to correlate successful requests against Nexus, which also does not log requests parameters. This makes tracing distributed operations difficult.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating SledAgent's request-completion logging and POST endpoint handlers, then compare the successful and failed request records shown in the issue. Check how the Dropshot server logging in server.rs represents request data; done means successful POST logs expose parameters sufficient to correlate operations against Nexus while retaining the existing request fields.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- api, observability
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100