oxidecomputer / oxidecomputer/dendrite
Oximeter types probably shouldn't be in the Dendrite API
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 20
- Forks
- 3
- Avg merge
- 3d 11h
- Merged PRs (30d)
- 4
Description
While resolving #357, we found that some of the Oximeter types, e.g., OximeterMetadata appear in the dpd OpenAPI document. That's because they are returned by the (unpublished) oximeter_collect_meta_endpoint() API endpoint. They probably shouldn't be. The type here is entirely internal to Dendrite, and even for debugging purposes, the data it exposes is almost never relevant and can be retrieved through other means (SMF, pfiles, omdb, etc.).
If we remove this, then we can follow @jgallagher's good suggestion on #358, and move the oximeter configuration data to a shared crate, and then have specific methods for the tfportd or dpd producer IDs, or whatever new ones are added.
Contributor guide
No contributing guide indexed for this repository
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 tracing the unpublished oximeter_collect_meta_endpoint() and the Oximeter types, such as OximeterMetadata, into the dpd OpenAPI document. Review the context from issues #357 and #358, then confirm that removing this API exposure permits the oximeter configuration data to move to a shared crate with producer-specific methods. Done means the internal Oximeter types no longer appear in the Dendrite API.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- api, backend
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100