oxidecomputer / oxidecomputer/omicron

Log user agent for console requests

Open
#3,317 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Debugging
Dominant language
Rust
Stars
572
Forks
97
Avg merge
2d 12h
Merged PRs (30d)
96

Description

Low priority but also probably pretty easy. It would be useful to know the browser (and, to a lesser extend, OS) people are using to access the console. We could store it in clickhouse and do it in the function we already have in place to instrument latencies. Then we would get it more or less for free everywhere. Ideally we'd log by path + user agent.

https://github.com/oxidecomputer/omicron/blob/f5346f1dcb3d4399f0c8088fa0d2f1583240e93f/oximeter/instruments/src/http.rs#L159

We're not using that in the console routes right now because I couldn't get it working (and those routes generally don't do anything interesting) but we obviously should be.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with oximeter/instruments/src/http.rs around line 159 and inspect the existing latency instrumentation. Trace how console routes are wired and how instrumentation data is stored in ClickHouse. Done means console requests are recorded with their path and user-agent, including browser and available OS information.

Written by the indexing model from the issue text.

Assessment

Tech stack
clickhouse, rust
Domain
api, observability
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.