From 1af6a170c18dcda17b50fe5226193645b1e3758a Mon Sep 17 00:00:00 2001 From: Fletcher Nichol Date: Tue, 20 Sep 2022 11:28:00 -0600 Subject: [PATCH] build(deps): update Rust dependencies (2022-W39) Some notable changes: - Upgrade to latest tracing/openteletetry dependencies: - opentelemetry 0.18.0 - opentelemetry-otlp 0.11.0 - opentelemetry-semantic-conventions 0.10.0 - tracing-opentelemetry 0.18.0 - Due to updates in opentelemetry-api dropping some Display trait implementations some changes had to be made to preserve the string representations (in one case static strings is used, and in another case a wrapping unit type is used to ship a similar Display impl) References: open-telemetry/opentelemetry-rust#758 References: tokio-rs/tracing#1218 Signed-off-by: Fletcher Nichol --- Cargo.lock | 305 +++++++++++++++------------ lib/dal/src/func/backend.rs | 4 +- lib/si-data/src/nats.rs | 28 +-- lib/si-data/src/nats/message.rs | 8 +- lib/si-data/src/nats/subscription.rs | 8 +- lib/telemetry-rs/Cargo.toml | 10 +- lib/telemetry-rs/src/library.rs | 28 ++- 7 files changed, 218 insertions(+), 173 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e2302ab8e2..e68ccc0b40 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -58,9 +58,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.64" +version = "1.0.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9a8f622bcf6ff3df478e9deba3e03e4e04b300f8e6a139e192c05fa3490afc7" +checksum = "98161a4e3e2184da77bb14f02184cdd111e83bbbcc9979dfee3c44b9a85f5602" [[package]] name = "async-channel" @@ -210,7 +210,7 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6293dae2ec708e679da6736e857cf8532886ef258e92930f38279c12641628b8" dependencies = [ - "heck 0.4.0", + "heck", "proc-macro2", "quote", "syn", @@ -323,7 +323,7 @@ dependencies = [ "serde", "tokio", "tokio-serde", - "tokio-util 0.7.4", + "tokio-util", "tracing", ] @@ -363,9 +363,9 @@ dependencies = [ [[package]] name = "clap" -version = "3.2.20" +version = "3.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b71c3ce99b7611011217b366d923f1d0a7e07a92bb2dbf1e84508c673ca3bd" +checksum = "86447ad904c7fb335a790c9d7fe3d0d971dc523b8ccd1561a520de9a85302750" dependencies = [ "atty", "bitflags", @@ -384,7 +384,7 @@ version = "3.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65" dependencies = [ - "heck 0.4.0", + "heck", "proc-macro-error", "proc-macro2", "quote", @@ -550,7 +550,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f83bd3bb4314701c568e340cd8cf78c975aa0ca79e03d3f6d1677d5b0c9c0c03" dependencies = [ "generic-array", - "rand_core 0.6.3", + "rand_core 0.6.4", "subtle", ] @@ -561,7 +561,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" dependencies = [ "generic-array", - "rand_core 0.6.3", + "rand_core 0.6.4", "subtle", "zeroize", ] @@ -688,7 +688,7 @@ dependencies = [ "thiserror", "tokio", "tokio-serde", - "tokio-util 0.7.4", + "tokio-util", "tower", "tower-http", ] @@ -785,6 +785,19 @@ dependencies = [ "ordered-float", ] +[[package]] +name = "dashmap" +version = "5.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc" +dependencies = [ + "cfg-if", + "hashbrown", + "lock_api", + "once_cell", + "parking_lot_core", +] + [[package]] name = "data-encoding" version = "2.3.2" @@ -928,9 +941,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.3" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" dependencies = [ "block-buffer 0.10.3", "crypto-common", @@ -986,9 +999,9 @@ dependencies = [ [[package]] name = "ed25519-compact" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24e1f30f0312ac83726c1197abeacd91c9557f8a623e904a009ae6bc529ae8d8" +checksum = "c25036262e9b9c81fe4c6decb438f753f66a8f06aac5dbe9eb2b28355c85c3f5" dependencies = [ "ct-codecs", "getrandom", @@ -1037,7 +1050,7 @@ dependencies = [ "generic-array", "group", "pem-rfc7468 0.3.1", - "rand_core 0.6.3", + "rand_core 0.6.4", "sec1", "subtle", "zeroize", @@ -1118,7 +1131,7 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "131655483be284720a17d74ff97592b8e76576dc25563148601df2d7c9080924" dependencies = [ - "rand_core 0.6.3", + "rand_core 0.6.4", "subtle", ] @@ -1281,7 +1294,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89" dependencies = [ "ff", - "rand_core 0.6.3", + "rand_core 0.6.4", "subtle", ] @@ -1300,7 +1313,7 @@ dependencies = [ "indexmap", "slab", "tokio", - "tokio-util 0.7.4", + "tokio-util", "tracing", ] @@ -1310,15 +1323,6 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -[[package]] -name = "heck" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" -dependencies = [ - "unicode-segmentation", -] - [[package]] name = "heck" version = "0.4.0" @@ -1356,7 +1360,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.3", + "digest 0.10.5", ] [[package]] @@ -1482,9 +1486,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.47" +version = "0.1.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c495f162af0bf17656d0014a0eded5f3cd2f365fdd204548c2869db89359dc7" +checksum = "237a0714f28b1ee39ccec0770ccb544eb02c9ef2c82bb096230eefcffa6468b0" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -1544,9 +1548,9 @@ dependencies = [ [[package]] name = "itertools" -version = "0.10.3" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" dependencies = [ "either", ] @@ -1619,9 +1623,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.132" +version = "0.2.133" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" +checksum = "c0f80d65747a3e43d1596c7c5492d95d5edddaabd45a7fcdb02b95f644164966" [[package]] name = "libm" @@ -1649,9 +1653,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "lock_api" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f80bf5aacaf25cbfc8210d1cfb718f2bf3b11c4c54e5afe36c236853a8ec390" +checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" dependencies = [ "autocfg 1.1.0", "scopeguard", @@ -1687,7 +1691,7 @@ version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "66b48670c893079d3c2ed79114e3644b7004df1c361a4e0ad52e2e6940d07c3d" dependencies = [ - "digest 0.10.3", + "digest 0.10.5", ] [[package]] @@ -1945,52 +1949,93 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "opentelemetry" -version = "0.17.0" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6105e89802af13fdf48c49d7646d3b533a70e536d818aae7e78ba0433d01acb8" +checksum = "69d6c3d7288a106c0a363e4b0e8d308058d56902adefb16f4936f417ffef086e" dependencies = [ - "async-trait", - "crossbeam-channel", - "futures-channel", - "futures-executor", - "futures-util", - "js-sys", - "lazy_static", - "percent-encoding", - "pin-project", - "rand", - "thiserror", - "tokio", - "tokio-stream", + "opentelemetry_api", + "opentelemetry_sdk", ] [[package]] name = "opentelemetry-otlp" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1a6ca9de4c8b00aa7f1a153bd76cb263287155cec642680d79d98706f3d28a" +checksum = "d1c928609d087790fc936a1067bdc310ae702bdf3b090c3f281b713622c8bbde" dependencies = [ "async-trait", "futures", "futures-util", "http", "opentelemetry", + "opentelemetry-proto", "prost", "thiserror", "tokio", "tonic", +] + +[[package]] +name = "opentelemetry-proto" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d61a2f56df5574508dd86aaca016c917489e589ece4141df1b5e349af8d66c28" +dependencies = [ + "futures", + "futures-util", + "opentelemetry", + "prost", + "tonic", "tonic-build", ] [[package]] name = "opentelemetry-semantic-conventions" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "985cc35d832d412224b2cffe2f9194b1b89b6aa5d0bef76d080dce09d90e62bd" +checksum = "9b02e0230abb0ab6636d18e2ba8fa02903ea63772281340ccac18e0af3ec9eeb" dependencies = [ "opentelemetry", ] +[[package]] +name = "opentelemetry_api" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c24f96e21e7acc813c7a8394ee94978929db2bcc46cf6b5014fc612bf7760c22" +dependencies = [ + "fnv", + "futures-channel", + "futures-util", + "indexmap", + "js-sys", + "once_cell", + "pin-project-lite", + "thiserror", +] + +[[package]] +name = "opentelemetry_sdk" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ca41c4933371b61c2a2f214bf16931499af4ec90543604ec828f7a625c09113" +dependencies = [ + "async-trait", + "crossbeam-channel", + "dashmap", + "fnv", + "futures-channel", + "futures-executor", + "futures-util", + "once_cell", + "opentelemetry_api", + "percent-encoding", + "rand", + "thiserror", + "tokio", + "tokio-stream", +] + [[package]] name = "ordered-float" version = "2.10.0" @@ -2008,9 +2053,9 @@ checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff" [[package]] name = "ouroboros" -version = "0.15.4" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f56a2b0aa5fc88687aaf63e85a7974422790ce3419a2e1a15870f8a55227822" +checksum = "dfbb50b356159620db6ac971c6d5c9ab788c9cc38a6f49619fca2a27acb062ca" dependencies = [ "aliasable", "ouroboros_macro", @@ -2018,9 +2063,9 @@ dependencies = [ [[package]] name = "ouroboros_macro" -version = "0.15.4" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c40641e27d0eb38cae3dee081d920104d2db47a8e853c1a592ef68d33f5ebf4" +checksum = "4a0d9d1a6191c4f391f87219d1ea42b23f09ee84d64763cd05ee6ea88d9f384d" dependencies = [ "Inflector", "proc-macro-error", @@ -2268,7 +2313,7 @@ dependencies = [ "md-5", "memchr", "rand", - "sha2 0.10.5", + "sha2 0.10.6", "stringprep", ] @@ -2315,6 +2360,16 @@ dependencies = [ "pretty_assertions", ] +[[package]] +name = "prettyplease" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a49e86d2c26a24059894a3afa13fd17d063419b05dfb83f06d9c3566060c3f5a" +dependencies = [ + "proc-macro2", + "syn", +] + [[package]] name = "proc-macro-error" version = "1.0.4" @@ -2350,9 +2405,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.9.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001" +checksum = "399c3c31cdec40583bb68f0b18403400d01ec4289c383aa047560439952c4dd7" dependencies = [ "bytes", "prost-derive", @@ -2360,12 +2415,12 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.9.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62941722fb675d463659e49c4f3fe1fe792ff24fe5bbaa9c08cd3b98a1c354f5" +checksum = "7f835c582e6bd972ba8347313300219fed5bfa52caf175298d860b61ff6069bb" dependencies = [ "bytes", - "heck 0.3.3", + "heck", "itertools", "lazy_static", "log", @@ -2380,9 +2435,9 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.9.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe" +checksum = "7345d5f0e08c0536d7ac7229952590239e77abf0a0100a1b1d890add6ea96364" dependencies = [ "anyhow", "itertools", @@ -2393,9 +2448,9 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.9.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a" +checksum = "4dfaa718ad76a44b3415e6c4d53b17c8f99160dcb3a99b10470fce8ad43f6e3e" dependencies = [ "bytes", "prost", @@ -2418,7 +2473,7 @@ checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha", - "rand_core 0.6.3", + "rand_core 0.6.4", ] [[package]] @@ -2428,7 +2483,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core 0.6.3", + "rand_core 0.6.4", ] [[package]] @@ -2439,9 +2494,9 @@ checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" [[package]] name = "rand_core" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ "getrandom", ] @@ -2780,9 +2835,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f6841e709003d68bb2deee8c343572bf446003ec20a583e76f7b15cebf3711" +checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" [[package]] name = "serde" @@ -2899,9 +2954,9 @@ dependencies = [ [[package]] name = "serde_yaml" -version = "0.9.11" +version = "0.9.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89f31df3f50926cdf2855da5fd8812295c34752cb20438dae42a67f79e021ac3" +checksum = "8613d593412a0deb7bbd8de9d908efff5a0cb9ccd8f62c641e7b2ed2f57291d1" dependencies = [ "indexmap", "itoa", @@ -2918,7 +2973,7 @@ checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.3", + "digest 0.10.5", ] [[package]] @@ -2936,13 +2991,13 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9db03534dff993187064c4e0c05a5708d2a9728ace9a8959b77bedf415dac5" +checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.3", + "digest 0.10.5", ] [[package]] @@ -3016,7 +3071,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5dfecc059e81632eef1dd9b79e22fc28b8fe69b30d3357512a77a0ad8ee3c782" dependencies = [ "pkcs8 0.7.6", - "rand_core 0.6.3", + "rand_core 0.6.4", "signature", "zeroize", ] @@ -3028,7 +3083,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" dependencies = [ "digest 0.9.0", - "rand_core 0.6.3", + "rand_core 0.6.4", ] [[package]] @@ -3127,7 +3182,7 @@ version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" dependencies = [ - "heck 0.4.0", + "heck", "proc-macro2", "quote", "rustversion", @@ -3142,9 +3197,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.99" +version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13" +checksum = "52205623b1b0f064a4e71182c3b18ae902267282930c6d5462c91b859668426e" dependencies = [ "proc-macro2", "quote", @@ -3221,24 +3276,24 @@ dependencies = [ [[package]] name = "textwrap" -version = "0.15.0" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb" +checksum = "949517c0cf1bf4ee812e2e07e08ab448e3ae0d23472aee8a06c985f0c8815b16" [[package]] name = "thiserror" -version = "1.0.34" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c1b05ca9d106ba7d2e31a9dab4a64e7be2cce415321966ea3132c49a656e252" +checksum = "c53f98874615aea268107765aa1ed8f6116782501d18e53d08b471733bea6c85" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.34" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8f2591983642de85c921015f3f070c665a197ed69e417af436115e3a1407487" +checksum = "f8b463991b4eab2d801e724172285ec4195c650e8ec79b149e6c2a8e6dd3f783" dependencies = [ "proc-macro2", "quote", @@ -3294,9 +3349,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.21.0" +version = "1.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89797afd69d206ccd11fb0ea560a44bbb87731d020670e79416d442919257d42" +checksum = "0020c875007ad96677dcc890298f4b942882c5d4eb7cc8f439fc3bf813dc9c95" dependencies = [ "autocfg 1.1.0", "bytes", @@ -3355,7 +3410,7 @@ dependencies = [ "postgres-types", "socket2", "tokio", - "tokio-util 0.7.4", + "tokio-util", ] [[package]] @@ -3375,9 +3430,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df54d54117d6fdc4e4fea40fe1e4e566b3505700e148a6827e59b34b0d2600d9" +checksum = "f6edf2d6bc038a43d31353570e27270603f4648d18f5ed10c0e179abe43255af" dependencies = [ "futures-core", "pin-project-lite", @@ -3409,20 +3464,6 @@ dependencies = [ "tungstenite", ] -[[package]] -name = "tokio-util" -version = "0.6.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36943ee01a6d67977dd3f84a5a1d2efeb4ada3a1ae771cadfaa535d9d9fc6507" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "log", - "pin-project-lite", - "tokio", -] - [[package]] name = "tokio-util" version = "0.7.4" @@ -3448,12 +3489,13 @@ dependencies = [ [[package]] name = "tonic" -version = "0.6.2" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff08f4649d10a70ffa3522ca559031285d8e421d727ac85c60825761818f5d0a" +checksum = "11cd56bdb54ef93935a6a79dbd1d91f1ebd4c64150fd61654031fd6b8b775c91" dependencies = [ "async-stream", "async-trait", + "axum", "base64", "bytes", "futures-core", @@ -3469,7 +3511,7 @@ dependencies = [ "prost-derive", "tokio", "tokio-stream", - "tokio-util 0.6.10", + "tokio-util", "tower", "tower-layer", "tower-service", @@ -3479,10 +3521,11 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.6.2" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9403f1bafde247186684b230dc6f38b5cd514584e8bec1dd32514be4745fa757" +checksum = "2fbcd2800e34e743b9ae795867d5f77b535d3a3be69fd731e39145719752df8c" dependencies = [ + "prettyplease", "proc-macro2", "prost-build", "quote", @@ -3503,7 +3546,7 @@ dependencies = [ "rand", "slab", "tokio", - "tokio-util 0.7.4", + "tokio-util", "tower-layer", "tower-service", "tracing", @@ -3608,9 +3651,9 @@ dependencies = [ [[package]] name = "tracing-opentelemetry" -version = "0.17.4" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbbe89715c1dbbb790059e2565353978564924ee85017b5fff365c872ff6721f" +checksum = "21ebb87a95ea13271332df069020513ab70bdb5637ca42d6e492dc3bbbad48de" dependencies = [ "once_cell", "opentelemetry", @@ -3677,36 +3720,30 @@ checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" [[package]] name = "unicode-ident" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf" +checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd" [[package]] name = "unicode-normalization" -version = "0.1.21" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" dependencies = [ "tinyvec", ] -[[package]] -name = "unicode-segmentation" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99" - [[package]] name = "unicode-xid" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] name = "unsafe-libyaml" -version = "0.2.2" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "931179334a56395bcf64ba5e0ff56781381c1a5832178280c7d7f91d1679aeb0" +checksum = "c1e5fa573d8ac5f1a856f8d7be41d390ee973daf97c806b2c1a465e4e1406e68" [[package]] name = "untrusted" diff --git a/lib/dal/src/func/backend.rs b/lib/dal/src/func/backend.rs index 00d1f586a4..70f8d541ae 100644 --- a/lib/dal/src/func/backend.rs +++ b/lib/dal/src/func/backend.rs @@ -195,7 +195,7 @@ pub trait FuncDispatch: std::fmt::Debug { skip_all, level = "debug", fields( - otel.kind = % SpanKind::Client, + otel.kind = %FormattedSpanKind(SpanKind::Client), otel.status_code = Empty, otel.status_message = Empty, si.func.result = Empty @@ -260,7 +260,7 @@ pub trait FuncBackend { skip_all, level = "debug", fields( - otel.kind = % SpanKind::Client, + otel.kind = %FormattedSpanKind(SpanKind::Client), otel.status_code = Empty, otel.status_message = Empty, si.func.result = Empty diff --git a/lib/si-data/src/nats.rs b/lib/si-data/src/nats.rs index 9672b43316..c3b9f3aaa4 100644 --- a/lib/si-data/src/nats.rs +++ b/lib/si-data/src/nats.rs @@ -112,7 +112,7 @@ impl Client { messaging.system = Empty, messaging.url = Empty, net.transport = Empty, - otel.kind = %SpanKind::Client, + otel.kind = %FormattedSpanKind(SpanKind::Client), otel.status_code = Empty, otel.status_message = Empty, ) @@ -176,7 +176,7 @@ impl Client { messaging.url = %self.metadata.messaging_url, messaging.subject = Empty, net.transport = %self.metadata.net_transport, - otel.kind = %SpanKind::Client, + otel.kind = %FormattedSpanKind(SpanKind::Client), otel.name = Empty, otel.status_code = Empty, otel.status_message = Empty, @@ -222,7 +222,7 @@ impl Client { messaging.system = %self.metadata.messaging_system, messaging.url = %self.metadata.messaging_url, net.transport = %self.metadata.net_transport, - otel.kind = %SpanKind::Client, + otel.kind = %FormattedSpanKind(SpanKind::Client), otel.name = Empty, otel.status_code = Empty, otel.status_message = Empty, @@ -289,7 +289,7 @@ impl Client { messaging.system = %self.metadata.messaging_system, messaging.url = %self.metadata.messaging_url, net.transport = %self.metadata.net_transport, - otel.kind = %SpanKind::Producer, + otel.kind = %FormattedSpanKind(SpanKind::Producer), otel.name = Empty, otel.status_code = Empty, otel.status_message = Empty, @@ -359,7 +359,7 @@ impl Client { messaging.system = %self.metadata.messaging_system, messaging.url = %self.metadata.messaging_url, net.transport = %self.metadata.net_transport, - otel.kind = %SpanKind::Client, + otel.kind = %FormattedSpanKind(SpanKind::Client), otel.name = Empty, otel.status_code = Empty, otel.status_message = Empty, @@ -413,7 +413,7 @@ impl Client { messaging.system = %self.metadata.messaging_system, messaging.url = %self.metadata.messaging_url, net.transport = %self.metadata.net_transport, - otel.kind = %SpanKind::Client, + otel.kind = %FormattedSpanKind(SpanKind::Client), otel.name = Empty, otel.status_code = Empty, otel.status_message = Empty, @@ -465,7 +465,7 @@ impl Client { messaging.system = %self.metadata.messaging_system, messaging.url = %self.metadata.messaging_url, net.transport = %self.metadata.net_transport, - otel.kind = %SpanKind::Client, + otel.kind = %FormattedSpanKind(SpanKind::Client), otel.name = Empty, otel.status_code = Empty, otel.status_message = Empty, @@ -501,7 +501,7 @@ impl Client { messaging.system = %self.metadata.messaging_system, messaging.url = %self.metadata.messaging_url, net.transport = %self.metadata.net_transport, - otel.kind = %SpanKind::Client, + otel.kind = %FormattedSpanKind(SpanKind::Client), otel.name = %format!("{} receive", &sub_span_subject), otel.status_code = Empty, otel.status_message = Empty, @@ -540,7 +540,7 @@ impl Client { messaging.system = %self.metadata.messaging_system, messaging.url = %self.metadata.messaging_url, net.transport = %self.metadata.net_transport, - otel.kind = %SpanKind::Client, + otel.kind = %FormattedSpanKind(SpanKind::Client), otel.status_code = Empty, otel.status_message = Empty, ) @@ -581,7 +581,7 @@ impl Client { messaging.system = %self.metadata.messaging_system, messaging.url = %self.metadata.messaging_url, net.transport = %self.metadata.net_transport, - otel.kind = %SpanKind::Client, + otel.kind = %FormattedSpanKind(SpanKind::Client), otel.status_code = Empty, otel.status_message = Empty, ) @@ -622,7 +622,7 @@ impl Client { messaging.system = %self.metadata.messaging_system, messaging.url = %self.metadata.messaging_url, net.transport = %self.metadata.net_transport, - otel.kind = %SpanKind::Client, + otel.kind = %FormattedSpanKind(SpanKind::Client), otel.status_code = Empty, otel.status_message = Empty, ) @@ -661,7 +661,7 @@ impl Client { messaging.system = %self.metadata.messaging_system, messaging.url = %self.metadata.messaging_url, net.transport = %self.metadata.net_transport, - otel.kind = %SpanKind::Client, + otel.kind = %FormattedSpanKind(SpanKind::Client), otel.status_code = Empty, otel.status_message = Empty, ) @@ -746,7 +746,7 @@ impl Client { messaging.system = %self.metadata.messaging_system, messaging.url = %self.metadata.messaging_url, net.transport = %self.metadata.net_transport, - otel.kind = %SpanKind::Client, + otel.kind = %FormattedSpanKind(SpanKind::Client), otel.status_code = Empty, otel.status_message = Empty, ) @@ -799,7 +799,7 @@ impl Client { messaging.system = %self.metadata.messaging_system, messaging.url = %self.metadata.messaging_url, net.transport = %self.metadata.net_transport, - otel.kind = %SpanKind::Producer, + otel.kind = %FormattedSpanKind(SpanKind::Producer), otel.name = Empty, otel.status_code = Empty, otel.status_message = Empty, diff --git a/lib/si-data/src/nats/message.rs b/lib/si-data/src/nats/message.rs index ae7302be10..c04f3a7b80 100644 --- a/lib/si-data/src/nats/message.rs +++ b/lib/si-data/src/nats/message.rs @@ -69,7 +69,7 @@ impl Message { messaging.system = %self.metadata.messaging_system, messaging.url = %self.metadata.messaging_url, net.transport = %self.metadata.net_transport, - otel.kind = %SpanKind::Producer, + otel.kind = %FormattedSpanKind(SpanKind::Producer), otel.name = Empty, otel.status_code = Empty, otel.status_message = Empty, @@ -112,7 +112,7 @@ impl Message { messaging.system = %self.metadata.messaging_system, messaging.url = %self.metadata.messaging_url, net.transport = %self.metadata.net_transport, - otel.kind = %SpanKind::Producer, + otel.kind = %FormattedSpanKind(SpanKind::Producer), otel.name = Empty, otel.status_code = Empty, otel.status_message = Empty, @@ -153,7 +153,7 @@ impl Message { messaging.system = %self.metadata.messaging_system, messaging.url = %self.metadata.messaging_url, net.transport = %self.metadata.net_transport, - otel.kind = %SpanKind::Producer, + otel.kind = %FormattedSpanKind(SpanKind::Producer), otel.name = Empty, otel.status_code = Empty, otel.status_message = Empty, @@ -195,7 +195,7 @@ impl Message { messaging.system = %self.metadata.messaging_system, messaging.url = %self.metadata.messaging_url, net.transport = %self.metadata.net_transport, - otel.kind = %SpanKind::Producer, + otel.kind = %FormattedSpanKind(SpanKind::Producer), otel.name = Empty, otel.status_code = Empty, otel.status_message = Empty, diff --git a/lib/si-data/src/nats/subscription.rs b/lib/si-data/src/nats/subscription.rs index 926e86431b..37aac39063 100644 --- a/lib/si-data/src/nats/subscription.rs +++ b/lib/si-data/src/nats/subscription.rs @@ -48,7 +48,7 @@ impl Subscription { messaging_destination_kind: "topic", messaging_operation: "process", messaging_subject: subject.clone(), - process_otel_kind: SpanKind::Consumer.to_string(), + process_otel_kind: FormattedSpanKind(SpanKind::Consumer).to_string(), process_otel_name: format!("{} process", subject), }; @@ -85,7 +85,7 @@ impl Subscription { messaging.system = %self.metadata.messaging_system(), messaging.url = %self.metadata.messaging_url(), net.transport = %self.metadata.net_transport(), - otel.kind = %SpanKind::Client, + otel.kind = %FormattedSpanKind(SpanKind::Client), otel.status_code = Empty, otel.status_message = Empty, ) @@ -126,7 +126,7 @@ impl Subscription { messaging.system = %self.metadata.messaging_system(), messaging.url = %self.metadata.messaging_url(), net.transport = %self.metadata.net_transport(), - otel.kind = %SpanKind::Client, + otel.kind = %FormattedSpanKind(SpanKind::Client), otel.status_code = Empty, otel.status_message = Empty, ) @@ -184,7 +184,7 @@ impl Subscription { messaging.system = %self.metadata.messaging_system(), messaging.url = %self.metadata.messaging_url(), net.transport = %self.metadata.net_transport(), - otel.kind = %SpanKind::Client, + otel.kind = %FormattedSpanKind(SpanKind::Client), otel.status_code = Empty, otel.status_message = Empty, ) diff --git a/lib/telemetry-rs/Cargo.toml b/lib/telemetry-rs/Cargo.toml index 6777c9c1bf..53e8a885ea 100644 --- a/lib/telemetry-rs/Cargo.toml +++ b/lib/telemetry-rs/Cargo.toml @@ -22,9 +22,9 @@ library = [ ] [dependencies] -opentelemetry = { version = "0.17.0", features = ["rt-tokio", "trace"] } +opentelemetry = { version = "0.18.0", features = ["rt-tokio", "trace"] } thiserror = { version = "1.0" } -tokio = { version = "1.12.0", features = ["rt", "sync"] } +tokio = { version = "1.12.0", features = ["rt", "signal", "sync"] } tracing = { version = "0.1" } # library only @@ -32,7 +32,7 @@ async-trait = { version = "0.1.51", optional = true } # application only derive_builder = { version = "0.11.2", optional = true } -opentelemetry-otlp = { version = "0.10.0", optional = true } -opentelemetry-semantic-conventions = { version = "0.9.0", optional = true } -tracing-opentelemetry = { version = "0.17.2", optional = true } +opentelemetry-otlp = { version = "0.11.0", optional = true } +opentelemetry-semantic-conventions = { version = "0.10.0", optional = true } +tracing-opentelemetry = { version = "0.18.0", optional = true } tracing-subscriber = { version = "0.3.11", optional = true, features = ['env-filter', 'std'] } diff --git a/lib/telemetry-rs/src/library.rs b/lib/telemetry-rs/src/library.rs index 026ff2a101..cfbe079dc2 100644 --- a/lib/telemetry-rs/src/library.rs +++ b/lib/telemetry-rs/src/library.rs @@ -1,4 +1,4 @@ -use std::{borrow::Cow, env, result::Result}; +use std::{borrow::Cow, env, fmt, result::Result}; use async_trait::async_trait; use thiserror::Error; @@ -7,13 +7,27 @@ use tokio::sync::mpsc; pub use opentelemetry::trace::SpanKind; pub mod prelude { - pub use super::{SpanExt, SpanKind}; + pub use super::{FormattedSpanKind, SpanExt, SpanKind}; pub use tracing::{ self, debug, debug_span, error, event, field::Empty, info, info_span, instrument, span, trace, trace_span, warn, Instrument, Level, Span, }; } +pub struct FormattedSpanKind(pub SpanKind); + +impl fmt::Display for FormattedSpanKind { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self.0 { + SpanKind::Client => write!(f, "client"), + SpanKind::Server => write!(f, "server"), + SpanKind::Producer => write!(f, "producer"), + SpanKind::Consumer => write!(f, "consumer"), + SpanKind::Internal => write!(f, "internal"), + } + } +} + pub trait SpanExt { fn record_ok(&self); fn record_err(&self, err: E) -> E @@ -23,20 +37,14 @@ pub trait SpanExt { impl SpanExt for tracing::Span { fn record_ok(&self) { - self.record( - "otel.status_code", - &opentelemetry::trace::StatusCode::Ok.as_str(), - ); + self.record("otel.status_code", "OK"); } fn record_err(&self, err: E) -> E where E: std::error::Error, { - self.record( - "otel.status_code", - &opentelemetry::trace::StatusCode::Error.as_str(), - ); + self.record("otel.status_code", "ERROR"); self.record("otel.status_message", &err.to_string().as_str()); err }