From 200785012de02dc85d4dd74c69ea50afd9d35d0d Mon Sep 17 00:00:00 2001 From: Benjamin Naecker Date: Tue, 14 Nov 2023 22:18:10 +0000 Subject: [PATCH] Add kind field to metric registration request --- Cargo.lock | 304 ++++++++++++++------------- Cargo.toml | 14 +- bin/propolis-server/src/lib/stats.rs | 2 + openapi/propolis-server.json | 24 +-- 4 files changed, 184 insertions(+), 160 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c3a941cda..365ec11c5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -155,7 +155,7 @@ dependencies = [ [[package]] name = "api_identity" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#6cf8181ba678855e3f131ad2914e90d06de02ac3" +source = "git+https://github.com/oxidecomputer/omicron?branch=add-oximeter-producer-kind#af5ec52b2bc067542bb80c825b7259913ee217c5" dependencies = [ "omicron-workspace-hack", "proc-macro2", @@ -239,9 +239,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.73" +version = "0.1.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" +checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" dependencies = [ "proc-macro2", "quote", @@ -308,9 +308,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.4" +version = "0.21.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" +checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" [[package]] name = "base64ct" @@ -690,13 +690,13 @@ dependencies = [ [[package]] name = "crucible" version = "0.0.1" -source = "git+https://github.com/oxidecomputer/crucible?rev=51a3121c8318fc7ac97d74f917ce1d37962e785f#51a3121c8318fc7ac97d74f917ce1d37962e785f" +source = "git+https://github.com/oxidecomputer/crucible?rev=e164d994d14c2019d12e78f22180b75d3e8197be#e164d994d14c2019d12e78f22180b75d3e8197be" dependencies = [ "aes-gcm-siv", "anyhow", "async-recursion 1.0.5", "async-trait", - "base64 0.21.4", + "base64 0.21.5", "bytes", "chrono", "crucible-client-types", @@ -725,7 +725,7 @@ dependencies = [ "tokio", "tokio-rustls", "tokio-util", - "toml 0.8.1", + "toml 0.8.8", "tracing", "usdt", "uuid", @@ -735,9 +735,9 @@ dependencies = [ [[package]] name = "crucible-client-types" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/crucible?rev=51a3121c8318fc7ac97d74f917ce1d37962e785f#51a3121c8318fc7ac97d74f917ce1d37962e785f" +source = "git+https://github.com/oxidecomputer/crucible?rev=e164d994d14c2019d12e78f22180b75d3e8197be#e164d994d14c2019d12e78f22180b75d3e8197be" dependencies = [ - "base64 0.21.4", + "base64 0.21.5", "crucible-workspace-hack", "schemars", "serde", @@ -748,7 +748,7 @@ dependencies = [ [[package]] name = "crucible-common" version = "0.0.1" -source = "git+https://github.com/oxidecomputer/crucible?rev=51a3121c8318fc7ac97d74f917ce1d37962e785f#51a3121c8318fc7ac97d74f917ce1d37962e785f" +source = "git+https://github.com/oxidecomputer/crucible?rev=e164d994d14c2019d12e78f22180b75d3e8197be#e164d994d14c2019d12e78f22180b75d3e8197be" dependencies = [ "anyhow", "atty", @@ -768,7 +768,7 @@ dependencies = [ "tempfile", "thiserror", "tokio-rustls", - "toml 0.8.1", + "toml 0.8.8", "twox-hash", "uuid", "vergen", @@ -777,7 +777,7 @@ dependencies = [ [[package]] name = "crucible-protocol" version = "0.0.0" -source = "git+https://github.com/oxidecomputer/crucible?rev=51a3121c8318fc7ac97d74f917ce1d37962e785f#51a3121c8318fc7ac97d74f917ce1d37962e785f" +source = "git+https://github.com/oxidecomputer/crucible?rev=e164d994d14c2019d12e78f22180b75d3e8197be#e164d994d14c2019d12e78f22180b75d3e8197be" dependencies = [ "anyhow", "bincode", @@ -961,7 +961,7 @@ dependencies = [ [[package]] name = "dns-service-client" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#6cf8181ba678855e3f131ad2914e90d06de02ac3" +source = "git+https://github.com/oxidecomputer/omicron?branch=add-oximeter-producer-kind#af5ec52b2bc067542bb80c825b7259913ee217c5" dependencies = [ "chrono", "http", @@ -970,9 +970,7 @@ dependencies = [ "reqwest", "schemars", "serde", - "serde_json", "slog", - "uuid", ] [[package]] @@ -994,11 +992,11 @@ checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" [[package]] name = "dropshot" version = "0.9.1-dev" -source = "git+https://github.com/oxidecomputer/dropshot?branch=main#b5645fcd0cc325c0d162edfb02a4251485b2fd55" +source = "git+https://github.com/oxidecomputer/dropshot?branch=main#1e187aff50fc8559330c63e6693cc4deade22e28" dependencies = [ "async-stream", "async-trait", - "base64 0.21.4", + "base64 0.21.5", "bytes", "camino", "chrono", @@ -1009,7 +1007,7 @@ dependencies = [ "hostname", "http", "hyper", - "indexmap 2.0.0", + "indexmap 2.1.0", "multer", "openapiv3", "paste", @@ -1030,7 +1028,7 @@ dependencies = [ "slog-term", "tokio", "tokio-rustls", - "toml 0.8.1", + "toml 0.8.8", "usdt", "uuid", "version_check", @@ -1040,7 +1038,7 @@ dependencies = [ [[package]] name = "dropshot_endpoint" version = "0.9.1-dev" -source = "git+https://github.com/oxidecomputer/dropshot?branch=main#b5645fcd0cc325c0d162edfb02a4251485b2fd55" +source = "git+https://github.com/oxidecomputer/dropshot?branch=main#1e187aff50fc8559330c63e6693cc4deade22e28" dependencies = [ "proc-macro2", "quote", @@ -1275,9 +1273,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335" dependencies = [ "futures-channel", "futures-core", @@ -1290,9 +1288,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" dependencies = [ "futures-core", "futures-sink", @@ -1300,15 +1298,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" +checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" [[package]] name = "futures-executor" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" dependencies = [ "futures-core", "futures-task", @@ -1317,15 +1315,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" +checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" [[package]] name = "futures-macro" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" dependencies = [ "proc-macro2", "quote", @@ -1334,21 +1332,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" +checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" [[package]] name = "futures-task" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" +checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" [[package]] name = "futures-util" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" dependencies = [ "futures-channel", "futures-core", @@ -1476,9 +1474,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.0" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" +checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" dependencies = [ "ahash", "allocator-api2", @@ -1490,7 +1488,7 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "312f66718a2d7789ffef4f4b7b213138ed9f1eb3aa1d0d82fc99f88fb3ffd26f" dependencies = [ - "hashbrown 0.14.0", + "hashbrown 0.14.2", ] [[package]] @@ -1697,12 +1695,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" dependencies = [ "equivalent", - "hashbrown 0.14.0", + "hashbrown 0.14.2", "serde", ] @@ -1740,7 +1738,7 @@ dependencies = [ [[package]] name = "internal-dns" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#6cf8181ba678855e3f131ad2914e90d06de02ac3" +source = "git+https://github.com/oxidecomputer/omicron?branch=add-oximeter-producer-kind#af5ec52b2bc067542bb80c825b7259913ee217c5" dependencies = [ "anyhow", "chrono", @@ -1752,7 +1750,6 @@ dependencies = [ "reqwest", "slog", "thiserror", - "trust-dns-proto", "trust-dns-resolver", "uuid", ] @@ -1769,7 +1766,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "socket2 0.5.3", + "socket2 0.5.5", "widestring", "windows-sys 0.48.0", "winreg", @@ -1860,9 +1857,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.149" +version = "0.2.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" +checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" [[package]] name = "libdlpi-sys" @@ -1997,9 +1994,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.5.0" +version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] name = "memoffset" @@ -2027,9 +2024,9 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" dependencies = [ "libc", "wasi", @@ -2111,7 +2108,7 @@ dependencies = [ [[package]] name = "nexus-client" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#6cf8181ba678855e3f131ad2914e90d06de02ac3" +source = "git+https://github.com/oxidecomputer/omicron?branch=add-oximeter-producer-kind#af5ec52b2bc067542bb80c825b7259913ee217c5" dependencies = [ "chrono", "futures", @@ -2318,7 +2315,7 @@ dependencies = [ [[package]] name = "omicron-common" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#6cf8181ba678855e3f131ad2914e90d06de02ac3" +source = "git+https://github.com/oxidecomputer/omicron?branch=add-oximeter-producer-kind#af5ec52b2bc067542bb80c825b7259913ee217c5" dependencies = [ "anyhow", "api_identity", @@ -2330,7 +2327,6 @@ dependencies = [ "futures", "hex", "http", - "hyper", "ipnetwork", "lazy_static", "macaddr", @@ -2339,11 +2335,9 @@ dependencies = [ "progenitor", "rand", "reqwest", - "ring", "schemars", "semver", "serde", - "serde_derive", "serde_human_bytes", "serde_json", "serde_with", @@ -2352,14 +2346,14 @@ dependencies = [ "thiserror", "tokio", "tokio-postgres", - "toml 0.7.8", + "toml 0.8.8", "uuid", ] [[package]] name = "omicron-passwords" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#6cf8181ba678855e3f131ad2914e90d06de02ac3" +source = "git+https://github.com/oxidecomputer/omicron?branch=add-oximeter-producer-kind#af5ec52b2bc067542bb80c825b7259913ee217c5" dependencies = [ "argon2", "omicron-workspace-hack", @@ -2416,11 +2410,11 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openapiv3" -version = "1.0.3" +version = "2.0.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75e56d5c441965b6425165b7e3223cc933ca469834f4a8b4786817a1f9dc4f13" +checksum = "25316406f0191559189c56d99731b63130775de7284d98df5e976ce67882ca8a" dependencies = [ - "indexmap 2.0.0", + "indexmap 2.1.0", "serde", "serde_json", ] @@ -2484,7 +2478,7 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "oximeter" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#6cf8181ba678855e3f131ad2914e90d06de02ac3" +source = "git+https://github.com/oxidecomputer/omicron?branch=add-oximeter-producer-kind#af5ec52b2bc067542bb80c825b7259913ee217c5" dependencies = [ "bytes", "chrono", @@ -2494,6 +2488,7 @@ dependencies = [ "oximeter-macro-impl", "schemars", "serde", + "strum", "thiserror", "uuid", ] @@ -2501,7 +2496,7 @@ dependencies = [ [[package]] name = "oximeter-macro-impl" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#6cf8181ba678855e3f131ad2914e90d06de02ac3" +source = "git+https://github.com/oxidecomputer/omicron?branch=add-oximeter-producer-kind#af5ec52b2bc067542bb80c825b7259913ee217c5" dependencies = [ "omicron-workspace-hack", "proc-macro2", @@ -2512,7 +2507,7 @@ dependencies = [ [[package]] name = "oximeter-producer" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#6cf8181ba678855e3f131ad2914e90d06de02ac3" +source = "git+https://github.com/oxidecomputer/omicron?branch=add-oximeter-producer-kind#af5ec52b2bc067542bb80c825b7259913ee217c5" dependencies = [ "chrono", "dropshot", @@ -2520,7 +2515,6 @@ dependencies = [ "omicron-common", "omicron-workspace-hack", "oximeter", - "reqwest", "schemars", "serde", "slog", @@ -2617,9 +2611,9 @@ dependencies = [ [[package]] name = "parse-display" -version = "0.7.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac6b32f6c8212838b74c0f5ba412194e88897923020810d9bec72d3594c2588d" +checksum = "c6509d08722b53e8dafe97f2027b22ccbe3a5db83cb352931e9716b0aa44bc5c" dependencies = [ "once_cell", "parse-display-derive", @@ -2628,17 +2622,17 @@ dependencies = [ [[package]] name = "parse-display-derive" -version = "0.7.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed6ec9ab2477935d04fcdf7c51c9ee94a1be988938886de3239aed40980b7180" +checksum = "68517892c8daf78da08c0db777fcc17e07f2f63ef70041718f8a7630ad84f341" dependencies = [ "once_cell", "proc-macro2", "quote", "regex", - "regex-syntax 0.6.29", + "regex-syntax 0.7.4", "structmeta", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] @@ -2714,7 +2708,7 @@ version = "0.1.0" dependencies = [ "anyhow", "backoff", - "base64 0.21.4", + "base64 0.21.5", "bhyve_api", "camino", "cfg-if", @@ -2850,7 +2844,7 @@ version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49b6c5ef183cd3ab4ba005f1ca64c21e8bd97ce4699cfea9e8d9a2c4958ca520" dependencies = [ - "base64 0.21.4", + "base64 0.21.5", "byteorder", "bytes", "fallible-iterator", @@ -2953,9 +2947,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" dependencies = [ "unicode-ident", ] @@ -2963,7 +2957,7 @@ dependencies = [ [[package]] name = "progenitor" version = "0.4.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=main#4dcba5928c6efe52d1cb95e191995c5316381281" +source = "git+https://github.com/oxidecomputer/progenitor?branch=main#9339b57628e1e76b1d7131ef93a6c0db2ab0a762" dependencies = [ "progenitor-client", "progenitor-impl", @@ -2974,7 +2968,7 @@ dependencies = [ [[package]] name = "progenitor-client" version = "0.4.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=main#4dcba5928c6efe52d1cb95e191995c5316381281" +source = "git+https://github.com/oxidecomputer/progenitor?branch=main#9339b57628e1e76b1d7131ef93a6c0db2ab0a762" dependencies = [ "bytes", "futures-core", @@ -2988,12 +2982,12 @@ dependencies = [ [[package]] name = "progenitor-impl" version = "0.4.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=main#4dcba5928c6efe52d1cb95e191995c5316381281" +source = "git+https://github.com/oxidecomputer/progenitor?branch=main#9339b57628e1e76b1d7131ef93a6c0db2ab0a762" dependencies = [ "getopts", "heck", "http", - "indexmap 2.0.0", + "indexmap 2.1.0", "openapiv3", "proc-macro2", "quote", @@ -3010,7 +3004,7 @@ dependencies = [ [[package]] name = "progenitor-macro" version = "0.4.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=main#4dcba5928c6efe52d1cb95e191995c5316381281" +source = "git+https://github.com/oxidecomputer/progenitor?branch=main#9339b57628e1e76b1d7131ef93a6c0db2ab0a762" dependencies = [ "openapiv3", "proc-macro2", @@ -3073,7 +3067,7 @@ name = "propolis-cli" version = "0.1.0" dependencies = [ "anyhow", - "base64 0.21.4", + "base64 0.21.5", "clap 4.4.0", "futures", "libc", @@ -3094,7 +3088,7 @@ name = "propolis-client" version = "0.1.0" dependencies = [ "async-trait", - "base64 0.21.4", + "base64 0.21.5", "futures", "progenitor", "rand", @@ -3115,7 +3109,7 @@ version = "0.0.0" dependencies = [ "anyhow", "atty", - "base64 0.21.4", + "base64 0.21.5", "clap 4.4.0", "dropshot", "futures", @@ -3155,7 +3149,7 @@ dependencies = [ "anyhow", "async-trait", "atty", - "base64 0.21.4", + "base64 0.21.5", "bit_field", "bitvec", "bytes", @@ -3371,14 +3365,14 @@ dependencies = [ [[package]] name = "regex" -version = "1.9.3" +version = "1.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.3.6", - "regex-syntax 0.7.4", + "regex-automata 0.4.3", + "regex-syntax 0.8.2", ] [[package]] @@ -3392,13 +3386,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.3.6" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.7.4", + "regex-syntax 0.8.2", ] [[package]] @@ -3413,6 +3407,12 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" +[[package]] +name = "regex-syntax" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" + [[package]] name = "regress" version = "0.7.1" @@ -3425,11 +3425,11 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.20" +version = "0.11.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e9ad3fe7488d7e34558a2033d45a0c90b72d97b4f80705666fea71472e2e6a1" +checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" dependencies = [ - "base64 0.21.4", + "base64 0.21.5", "bytes", "encoding_rs", "futures-core", @@ -3453,6 +3453,7 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", + "system-configuration", "tokio", "tokio-native-tls", "tokio-rustls", @@ -3580,11 +3581,11 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" dependencies = [ - "base64 0.21.4", + "base64 0.21.5", ] [[package]] @@ -3695,18 +3696,18 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.18" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918" +checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" dependencies = [ "serde", ] [[package]] name = "serde" -version = "1.0.188" +version = "1.0.192" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" +checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001" dependencies = [ "serde_derive", ] @@ -3722,9 +3723,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.188" +version = "1.0.192" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" +checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1" dependencies = [ "proc-macro2", "quote", @@ -3753,9 +3754,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.107" +version = "1.0.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65" +checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" dependencies = [ "itoa", "ryu", @@ -3785,9 +3786,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" +checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80" dependencies = [ "serde", ] @@ -3870,7 +3871,7 @@ version = "0.9.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a49e178e4452f45cb61d0cd8cebc1b0fafd3e41929e996cef79aa3aca91f574" dependencies = [ - "indexmap 2.0.0", + "indexmap 2.1.0", "itoa", "ryu", "serde", @@ -3879,9 +3880,9 @@ dependencies = [ [[package]] name = "sha1" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", "cpufeatures", @@ -4062,9 +4063,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.3" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877" +checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" dependencies = [ "libc", "windows-sys 0.48.0", @@ -4132,25 +4133,25 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "structmeta" -version = "0.1.6" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "104842d6278bf64aa9d2f182ba4bde31e8aec7a131d29b7f444bb9b344a09e2a" +checksum = "78ad9e09554f0456d67a69c1584c9798ba733a5b50349a6c0d0948710523922d" dependencies = [ "proc-macro2", "quote", "structmeta-derive", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] name = "structmeta-derive" -version = "0.1.6" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24420be405b590e2d746d83b01f09af673270cf80e9b003a5fa7b651c58c7d93" +checksum = "a60bcaff7397072dca0017d1db428e30d5002e00b6847703e2e42005c95fbe00" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] @@ -4215,6 +4216,27 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "take_mut" version = "0.2.2" @@ -4371,9 +4393,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.33.0" +version = "1.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653" +checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9" dependencies = [ "backtrace", "bytes", @@ -4383,16 +4405,16 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.3", + "socket2 0.5.5", "tokio-macros", "windows-sys 0.48.0", ] [[package]] name = "tokio-macros" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", @@ -4429,7 +4451,7 @@ dependencies = [ "postgres-protocol", "postgres-types", "rand", - "socket2 0.5.3", + "socket2 0.5.5", "tokio", "tokio-util", "whoami", @@ -4494,21 +4516,21 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.1" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc1433177506450fe920e46a4f9812d0c211f5dd556da10e731a0a3dfa151f0" +checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.20.1", + "toml_edit 0.21.0", ] [[package]] name = "toml_datetime" -version = "0.6.3" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" dependencies = [ "serde", ] @@ -4519,7 +4541,7 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.0.0", + "indexmap 2.1.0", "serde", "serde_spanned", "toml_datetime", @@ -4528,11 +4550,11 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.20.1" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca676d9ba1a322c1b64eb8045a5ec5c0cfb0c9d08e15e9ff622589ad5221c8fe" +checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" dependencies = [ - "indexmap 2.0.0", + "indexmap 2.1.0", "serde", "serde_spanned", "toml_datetime", @@ -4727,7 +4749,7 @@ checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "typify" version = "0.0.14" -source = "git+https://github.com/oxidecomputer/typify#5e4af2bb273942bec53f7d9f007b7d0ab8a64914" +source = "git+https://github.com/oxidecomputer/typify#c9d6453fc3cf69726d539925b838b267f886cb53" dependencies = [ "typify-impl", "typify-macro", @@ -4736,7 +4758,7 @@ dependencies = [ [[package]] name = "typify-impl" version = "0.0.14" -source = "git+https://github.com/oxidecomputer/typify#5e4af2bb273942bec53f7d9f007b7d0ab8a64914" +source = "git+https://github.com/oxidecomputer/typify#c9d6453fc3cf69726d539925b838b267f886cb53" dependencies = [ "heck", "log", @@ -4753,7 +4775,7 @@ dependencies = [ [[package]] name = "typify-macro" version = "0.0.14" -source = "git+https://github.com/oxidecomputer/typify#5e4af2bb273942bec53f7d9f007b7d0ab8a64914" +source = "git+https://github.com/oxidecomputer/typify#c9d6453fc3cf69726d539925b838b267f886cb53" dependencies = [ "proc-macro2", "quote", @@ -4918,9 +4940,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "uuid" -version = "1.4.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" +checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc" dependencies = [ "getrandom", "serde", diff --git a/Cargo.toml b/Cargo.toml index ae08f3fd5..602a9f2fd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -70,16 +70,16 @@ p9ds = { git = "https://github.com/oxidecomputer/p9fs" } softnpu-lib = { git = "https://github.com/oxidecomputer/softnpu", rev = "88f5f1334364e5580fe778c44ac0746a35927351", package = "softnpu" } # Omicron-related -internal-dns = { git = "https://github.com/oxidecomputer/omicron", branch = "main" } -nexus-client = { git = "https://github.com/oxidecomputer/omicron", branch = "main" } -omicron-common = { git = "https://github.com/oxidecomputer/omicron", branch = "main" } +internal-dns = { git = "https://github.com/oxidecomputer/omicron", branch = "add-oximeter-producer-kind" } +nexus-client = { git = "https://github.com/oxidecomputer/omicron", branch = "add-oximeter-producer-kind" } +omicron-common = { git = "https://github.com/oxidecomputer/omicron", branch = "add-oximeter-producer-kind" } omicron-zone-package = "0.9.0" -oximeter-producer = { git = "https://github.com/oxidecomputer/omicron", branch = "main" } -oximeter = { git = "https://github.com/oxidecomputer/omicron", branch = "main" } +oximeter-producer = { git = "https://github.com/oxidecomputer/omicron", branch = "add-oximeter-producer-kind" } +oximeter = { git = "https://github.com/oxidecomputer/omicron", branch = "add-oximeter-producer-kind" } # Crucible -crucible = { git = "https://github.com/oxidecomputer/crucible", rev = "51a3121c8318fc7ac97d74f917ce1d37962e785f" } -crucible-client-types = { git = "https://github.com/oxidecomputer/crucible", rev = "51a3121c8318fc7ac97d74f917ce1d37962e785f" } +crucible = { git = "https://github.com/oxidecomputer/crucible", rev = "e164d994d14c2019d12e78f22180b75d3e8197be" } +crucible-client-types = { git = "https://github.com/oxidecomputer/crucible", rev = "e164d994d14c2019d12e78f22180b75d3e8197be" } # External dependencies anyhow = "1.0" diff --git a/bin/propolis-server/src/lib/stats.rs b/bin/propolis-server/src/lib/stats.rs index 772464b1f..36fea6508 100644 --- a/bin/propolis-server/src/lib/stats.rs +++ b/bin/propolis-server/src/lib/stats.rs @@ -8,6 +8,7 @@ use dropshot::{ ConfigDropshot, ConfigLogging, ConfigLoggingLevel, HandlerTaskMode, }; use omicron_common::api::internal::nexus::ProducerEndpoint; +use omicron_common::api::internal::nexus::ProducerKind; use oximeter::{ types::{Cumulative, Sample}, Metric, MetricsError, Producer, Target, @@ -125,6 +126,7 @@ pub async fn start_oximeter_server( let server_info = ProducerEndpoint { id, + kind: Some(ProducerKind::Instance), address: my_address, base_route: "/collect".to_string(), interval: OXIMETER_STAT_INTERVAL, diff --git a/openapi/propolis-server.json b/openapi/propolis-server.json index 11175db8a..86c7c6b5a 100644 --- a/openapi/propolis-server.json +++ b/openapi/propolis-server.json @@ -436,18 +436,6 @@ } }, "components": { - "responses": { - "Error": { - "description": "Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - } - }, "schemas": { "BackendSpecV0": { "type": "object", @@ -1717,6 +1705,18 @@ } ] } + }, + "responses": { + "Error": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } } } } \ No newline at end of file