Skip to content

Commit

Permalink
Add support for more numeric types to oximeter (#4091)
Browse files Browse the repository at this point in the history
- Adds support for all integral widths to fields
- Adds support for all integral widths to gauge and cumulative types
- Adds support for all integral widths to the histogram types
- Reworks methods for generating log-linear bins. This supports
generating histograms with bin counts other than 10 and using bases
other than 10. The handling of floating point values has also been
reworked, including several stringent tests against a reference
implementation for linearly-spaced values (NumPy). This is all pretty
tricky given the well-known difficulties of comparing floating point
types for equality, and we may want to avoid using floats for histogram
supports in the future. Cautionary warnings in the type's documentation
have been added in the meantime.
- Adds support for new types to the ClickHouse client, including tests
for serialization of fields and measurements to the actual tables.
- Adds some USDT probes at the start / end of queries, including raw
SQL.
  • Loading branch information
bnaecker authored Sep 16, 2023
1 parent 41fb704 commit 23eee1a
Show file tree
Hide file tree
Showing 17 changed files with 6,503 additions and 1,126 deletions.
88 changes: 87 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,7 @@ resolver = "2"
[workspace.dependencies]
anyhow = "1.0"
api_identity = { path = "api_identity" }
approx = "0.5.1"
assert_matches = "1.5.0"
assert_cmd = "2.0.12"
async-bb8-diesel = { git = "https://github.com/oxidecomputer/async-bb8-diesel", rev = "be3d9bce50051d8c0e0c06078e8066cc27db3001" }
Expand Down Expand Up @@ -231,7 +232,7 @@ nexus-test-utils-macros = { path = "nexus/test-utils-macros" }
nexus-test-utils = { path = "nexus/test-utils" }
nexus-types = { path = "nexus/types" }
num-integer = "0.1.45"
num-traits = "0.2.16"
num = { version = "0.4.1", default-features = false, features = [ "libm" ] }
omicron-common = { path = "common" }
omicron-dev-tools = { path = "dev-tools" }
omicron-gateway = { path = "gateway" }
Expand Down Expand Up @@ -290,6 +291,7 @@ regress = "0.7.1"
reqwest = { version = "0.11", default-features = false }
ring = "0.16"
rpassword = "7.2.0"
rstest = "0.18.2"
rustfmt-wrapper = "0.2"
rustls = "0.21.7"
samael = { git = "https://github.com/njaremko/samael", features = ["xmlsec"], branch = "master" }
Expand Down
4 changes: 2 additions & 2 deletions nexus/src/context.rs
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,8 @@ impl ServerContext {
name: name.to_string(),
id: config.deployment.id,
};
const START_LATENCY_DECADE: i8 = -6;
const END_LATENCY_DECADE: i8 = 3;
const START_LATENCY_DECADE: i16 = -6;
const END_LATENCY_DECADE: i16 = 3;
LatencyTracker::with_latency_decades(
target,
START_LATENCY_DECADE,
Expand Down
Loading

0 comments on commit 23eee1a

Please sign in to comment.