mirror of
https://github.com/element-hq/matrix-authentication-service.git
synced 2026-06-04 14:41:51 +00:00
Update the rest of the OTEL deps and use the new APIs
This commit is contained in:
Generated
+113
-147
@@ -120,9 +120,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "allocator-api2"
|
||||
version = "0.2.18"
|
||||
version = "0.2.20"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f"
|
||||
checksum = "45862d1c77f2228b9e10bc609d5bc203d86ebc9b87ad8d5d5167a6c9abf739d9"
|
||||
|
||||
[[package]]
|
||||
name = "android-tzdata"
|
||||
@@ -546,9 +546,9 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
|
||||
|
||||
[[package]]
|
||||
name = "aws-lc-rs"
|
||||
version = "1.10.0"
|
||||
version = "1.11.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cdd82dba44d209fddb11c190e0a94b78651f95299598e472215667417a03ff1d"
|
||||
checksum = "fe7c2840b66236045acd2607d5866e274380afd87ef99d6226e961e2cb47df45"
|
||||
dependencies = [
|
||||
"aws-lc-sys",
|
||||
"mirai-annotations",
|
||||
@@ -558,9 +558,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "aws-lc-sys"
|
||||
version = "0.22.0"
|
||||
version = "0.23.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "df7a4168111d7eb622a31b214057b8509c0a7e1794f44c546d742330dc793972"
|
||||
checksum = "ad3a619a9de81e1d7de1f1186dcba4506ed661a0e483d84410fdef0ee87b2f96"
|
||||
dependencies = [
|
||||
"bindgen",
|
||||
"cc",
|
||||
@@ -874,9 +874,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.1.31"
|
||||
version = "1.2.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c2e7962b54006dcfcc61cb72735f4d89bb97061dd6a7ed882ec6b8ee53714c6f"
|
||||
checksum = "f34d93e62b03caf570cccc334cbc6c2fceca82f39211051345108adcba3eebdc"
|
||||
dependencies = [
|
||||
"jobserver",
|
||||
"libc",
|
||||
@@ -904,6 +904,12 @@ version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
|
||||
[[package]]
|
||||
name = "cfg_aliases"
|
||||
version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
|
||||
|
||||
[[package]]
|
||||
name = "chacha20"
|
||||
version = "0.9.1"
|
||||
@@ -1709,9 +1715,9 @@ checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
|
||||
|
||||
[[package]]
|
||||
name = "encoding_rs"
|
||||
version = "0.8.34"
|
||||
version = "0.8.35"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59"
|
||||
checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
]
|
||||
@@ -1783,7 +1789,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "531e46835a22af56d1e3b66f04844bed63158bc094a628bec1d321d9b4c44bf2"
|
||||
dependencies = [
|
||||
"bit-set",
|
||||
"regex-automata 0.4.8",
|
||||
"regex-automata 0.4.9",
|
||||
"regex-syntax 0.8.5",
|
||||
]
|
||||
|
||||
@@ -2834,9 +2840,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "itoa"
|
||||
version = "1.0.11"
|
||||
version = "1.0.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
|
||||
checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674"
|
||||
|
||||
[[package]]
|
||||
name = "jni"
|
||||
@@ -2869,10 +2875,11 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "js-sys"
|
||||
version = "0.3.72"
|
||||
version = "0.3.74"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9"
|
||||
checksum = "a865e038f7f6ed956f788f0d7d60c541fff74c7bd74272c5d4cf15c63743e705"
|
||||
dependencies = [
|
||||
"once_cell",
|
||||
"wasm-bindgen",
|
||||
]
|
||||
|
||||
@@ -3051,9 +3058,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "litemap"
|
||||
version = "0.7.3"
|
||||
version = "0.7.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704"
|
||||
checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104"
|
||||
|
||||
[[package]]
|
||||
name = "litrs"
|
||||
@@ -3171,15 +3178,15 @@ dependencies = [
|
||||
"mas-templates",
|
||||
"mas-tower",
|
||||
"oauth2-types",
|
||||
"opentelemetry 0.24.0",
|
||||
"opentelemetry-http 0.13.0",
|
||||
"opentelemetry",
|
||||
"opentelemetry-http",
|
||||
"opentelemetry-jaeger-propagator",
|
||||
"opentelemetry-otlp",
|
||||
"opentelemetry-prometheus",
|
||||
"opentelemetry-resource-detectors",
|
||||
"opentelemetry-semantic-conventions 0.16.0",
|
||||
"opentelemetry-semantic-conventions",
|
||||
"opentelemetry-stdout",
|
||||
"opentelemetry_sdk 0.27.1",
|
||||
"opentelemetry_sdk",
|
||||
"prometheus",
|
||||
"rand",
|
||||
"rand_chacha",
|
||||
@@ -3313,8 +3320,8 @@ dependencies = [
|
||||
"minijinja-contrib",
|
||||
"nonzero_ext",
|
||||
"oauth2-types",
|
||||
"opentelemetry 0.24.0",
|
||||
"opentelemetry-semantic-conventions 0.16.0",
|
||||
"opentelemetry",
|
||||
"opentelemetry-semantic-conventions",
|
||||
"pbkdf2",
|
||||
"pkcs8",
|
||||
"psl",
|
||||
@@ -3352,9 +3359,9 @@ dependencies = [
|
||||
"headers",
|
||||
"http",
|
||||
"hyper-util",
|
||||
"opentelemetry 0.24.0",
|
||||
"opentelemetry-http 0.13.0",
|
||||
"opentelemetry-semantic-conventions 0.16.0",
|
||||
"opentelemetry",
|
||||
"opentelemetry-http",
|
||||
"opentelemetry-semantic-conventions",
|
||||
"reqwest",
|
||||
"rustls-platform-verifier",
|
||||
"tokio",
|
||||
@@ -3629,7 +3636,7 @@ dependencies = [
|
||||
"mas-iana",
|
||||
"mas-jose",
|
||||
"oauth2-types",
|
||||
"opentelemetry 0.24.0",
|
||||
"opentelemetry",
|
||||
"rand_core",
|
||||
"serde",
|
||||
"serde_json",
|
||||
@@ -3652,7 +3659,7 @@ dependencies = [
|
||||
"mas-jose",
|
||||
"mas-storage",
|
||||
"oauth2-types",
|
||||
"opentelemetry-semantic-conventions 0.16.0",
|
||||
"opentelemetry-semantic-conventions",
|
||||
"rand",
|
||||
"rand_chacha",
|
||||
"sea-query",
|
||||
@@ -3687,7 +3694,7 @@ dependencies = [
|
||||
"mas-storage-pg",
|
||||
"mas-templates",
|
||||
"mas-tower",
|
||||
"opentelemetry 0.24.0",
|
||||
"opentelemetry",
|
||||
"rand",
|
||||
"rand_chacha",
|
||||
"serde",
|
||||
@@ -3737,9 +3744,9 @@ name = "mas-tower"
|
||||
version = "0.12.0"
|
||||
dependencies = [
|
||||
"http",
|
||||
"opentelemetry 0.24.0",
|
||||
"opentelemetry-http 0.13.0",
|
||||
"opentelemetry-semantic-conventions 0.16.0",
|
||||
"opentelemetry",
|
||||
"opentelemetry-http",
|
||||
"opentelemetry-semantic-conventions",
|
||||
"pin-project-lite",
|
||||
"tower",
|
||||
"tracing",
|
||||
@@ -4070,20 +4077,6 @@ version = "0.1.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
|
||||
|
||||
[[package]]
|
||||
name = "opentelemetry"
|
||||
version = "0.24.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4c365a63eec4f55b7efeceb724f1336f26a9cf3427b70e59e2cd2a5b947fba96"
|
||||
dependencies = [
|
||||
"futures-core",
|
||||
"futures-sink",
|
||||
"js-sys",
|
||||
"once_cell",
|
||||
"pin-project-lite",
|
||||
"thiserror 1.0.69",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "opentelemetry"
|
||||
version = "0.27.1"
|
||||
@@ -4098,19 +4091,6 @@ dependencies = [
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "opentelemetry-http"
|
||||
version = "0.13.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ad31e9de44ee3538fb9d64fe3376c1362f406162434609e79aea2a41a0af78ab"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"bytes",
|
||||
"http",
|
||||
"opentelemetry 0.24.0",
|
||||
"reqwest",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "opentelemetry-http"
|
||||
version = "0.27.0"
|
||||
@@ -4120,7 +4100,8 @@ dependencies = [
|
||||
"async-trait",
|
||||
"bytes",
|
||||
"http",
|
||||
"opentelemetry 0.27.1",
|
||||
"opentelemetry",
|
||||
"reqwest",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -4129,7 +4110,7 @@ version = "0.27.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4e33208695c9d3049c848d2abf32f7336ec05cb5c02af1b710e89a99500edeb0"
|
||||
dependencies = [
|
||||
"opentelemetry 0.27.1",
|
||||
"opentelemetry",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -4141,10 +4122,10 @@ dependencies = [
|
||||
"async-trait",
|
||||
"futures-core",
|
||||
"http",
|
||||
"opentelemetry 0.27.1",
|
||||
"opentelemetry-http 0.27.0",
|
||||
"opentelemetry",
|
||||
"opentelemetry-http",
|
||||
"opentelemetry-proto",
|
||||
"opentelemetry_sdk 0.27.1",
|
||||
"opentelemetry_sdk",
|
||||
"prost",
|
||||
"thiserror 1.0.69",
|
||||
]
|
||||
@@ -4156,8 +4137,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1b834e966ea5e2d03dfe5f2253f03d22cce21403ee940265070eeee96cee0bcc"
|
||||
dependencies = [
|
||||
"once_cell",
|
||||
"opentelemetry 0.27.1",
|
||||
"opentelemetry_sdk 0.27.1",
|
||||
"opentelemetry",
|
||||
"opentelemetry_sdk",
|
||||
"prometheus",
|
||||
"protobuf",
|
||||
"tracing",
|
||||
@@ -4169,8 +4150,8 @@ version = "0.27.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a6e05acbfada5ec79023c85368af14abd0b307c015e9064d249b2a950ef459a6"
|
||||
dependencies = [
|
||||
"opentelemetry 0.27.1",
|
||||
"opentelemetry_sdk 0.27.1",
|
||||
"opentelemetry",
|
||||
"opentelemetry_sdk",
|
||||
"prost",
|
||||
"tonic",
|
||||
]
|
||||
@@ -4181,17 +4162,11 @@ version = "0.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cf6e83d3dca8fe93cfac95cd07313721c9e6e9f8655e7b06d061d4924df1a0cd"
|
||||
dependencies = [
|
||||
"opentelemetry 0.27.1",
|
||||
"opentelemetry-semantic-conventions 0.27.0",
|
||||
"opentelemetry_sdk 0.27.1",
|
||||
"opentelemetry",
|
||||
"opentelemetry-semantic-conventions",
|
||||
"opentelemetry_sdk",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "opentelemetry-semantic-conventions"
|
||||
version = "0.16.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1cefe0543875379e47eb5f1e68ff83f45cc41366a92dfd0d073d513bf68e9a05"
|
||||
|
||||
[[package]]
|
||||
name = "opentelemetry-semantic-conventions"
|
||||
version = "0.27.0"
|
||||
@@ -4207,31 +4182,14 @@ dependencies = [
|
||||
"async-trait",
|
||||
"chrono",
|
||||
"futures-util",
|
||||
"opentelemetry 0.27.1",
|
||||
"opentelemetry_sdk 0.27.1",
|
||||
"opentelemetry",
|
||||
"opentelemetry_sdk",
|
||||
"ordered-float",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror 1.0.69",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "opentelemetry_sdk"
|
||||
version = "0.24.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "692eac490ec80f24a17828d49b40b60f5aeaccdfe6a503f939713afd22bc28df"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"futures-channel",
|
||||
"futures-executor",
|
||||
"futures-util",
|
||||
"once_cell",
|
||||
"opentelemetry 0.24.0",
|
||||
"percent-encoding",
|
||||
"rand",
|
||||
"thiserror 1.0.69",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "opentelemetry_sdk"
|
||||
version = "0.27.1"
|
||||
@@ -4243,7 +4201,7 @@ dependencies = [
|
||||
"futures-executor",
|
||||
"futures-util",
|
||||
"glob",
|
||||
"opentelemetry 0.27.1",
|
||||
"opentelemetry",
|
||||
"percent-encoding",
|
||||
"rand",
|
||||
"serde_json",
|
||||
@@ -4667,9 +4625,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "prettyplease"
|
||||
version = "0.2.24"
|
||||
version = "0.2.25"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "910d41a655dac3b764f1ade94821093d3610248694320cd072303a8eedcf221d"
|
||||
checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"syn",
|
||||
@@ -4695,9 +4653,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.88"
|
||||
version = "1.0.92"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7c3a7fc5db1e57d5a779a352c8cdb57b29aa4c40cc69c3a68a7fedc815fbf2f9"
|
||||
checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
@@ -4811,9 +4769,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "quinn"
|
||||
version = "0.11.5"
|
||||
version = "0.11.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8c7c5fdde3cdae7203427dc4f0a68fe0ed09833edc525a03456b153b79828684"
|
||||
checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"pin-project-lite",
|
||||
@@ -4822,34 +4780,38 @@ dependencies = [
|
||||
"rustc-hash 2.0.0",
|
||||
"rustls",
|
||||
"socket2",
|
||||
"thiserror 1.0.69",
|
||||
"thiserror 2.0.3",
|
||||
"tokio",
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quinn-proto"
|
||||
version = "0.11.8"
|
||||
version = "0.11.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fadfaed2cd7f389d0161bb73eeb07b7b78f8691047a6f3e73caaeae55310a4a6"
|
||||
checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"getrandom",
|
||||
"rand",
|
||||
"ring",
|
||||
"rustc-hash 2.0.0",
|
||||
"rustls",
|
||||
"rustls-pki-types",
|
||||
"slab",
|
||||
"thiserror 1.0.69",
|
||||
"thiserror 2.0.3",
|
||||
"tinyvec",
|
||||
"tracing",
|
||||
"web-time",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quinn-udp"
|
||||
version = "0.5.5"
|
||||
version = "0.5.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4fe68c2e9e1a1234e218683dbdf9f9dfcb094113c5ac2b938dfcb9bab4c4140b"
|
||||
checksum = "7d5a626c6807713b15cac82a6acaccd6043c9a5408c24baae07611fec3f243da"
|
||||
dependencies = [
|
||||
"cfg_aliases",
|
||||
"libc",
|
||||
"once_cell",
|
||||
"socket2",
|
||||
@@ -4961,7 +4923,7 @@ checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
"regex-automata 0.4.8",
|
||||
"regex-automata 0.4.9",
|
||||
"regex-syntax 0.8.5",
|
||||
]
|
||||
|
||||
@@ -4985,9 +4947,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "regex-automata"
|
||||
version = "0.4.8"
|
||||
version = "0.4.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3"
|
||||
checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
@@ -5189,9 +5151,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "rustix"
|
||||
version = "0.38.37"
|
||||
version = "0.38.41"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811"
|
||||
checksum = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6"
|
||||
dependencies = [
|
||||
"bitflags 2.6.0",
|
||||
"errno",
|
||||
@@ -5243,6 +5205,9 @@ name = "rustls-pki-types"
|
||||
version = "1.10.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b"
|
||||
dependencies = [
|
||||
"web-time",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rustls-platform-verifier"
|
||||
@@ -6124,9 +6089,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.87"
|
||||
version = "2.0.90"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d"
|
||||
checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -6561,14 +6526,14 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "tracing-opentelemetry"
|
||||
version = "0.25.0"
|
||||
version = "0.28.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a9784ed4da7d921bc8df6963f8c80a0e4ce34ba6ba76668acadd3edbd985ff3b"
|
||||
checksum = "97a971f6058498b5c0f1affa23e7ea202057a7301dbff68e968b2d578bcbd053"
|
||||
dependencies = [
|
||||
"js-sys",
|
||||
"once_cell",
|
||||
"opentelemetry 0.24.0",
|
||||
"opentelemetry_sdk 0.24.1",
|
||||
"opentelemetry",
|
||||
"opentelemetry_sdk",
|
||||
"tracing",
|
||||
"tracing-core",
|
||||
"tracing-subscriber",
|
||||
@@ -6656,9 +6621,9 @@ checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.13"
|
||||
version = "1.0.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe"
|
||||
checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-normalization"
|
||||
@@ -6774,9 +6739,9 @@ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
|
||||
|
||||
[[package]]
|
||||
name = "value-bag"
|
||||
version = "1.9.0"
|
||||
version = "1.10.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5a84c137d37ab0142f0f2ddfe332651fdbf252e7b7dbb4e67b6c1f1b2e925101"
|
||||
checksum = "3ef4c4aa54d5d05a279399bfa921ec387b7aba77caf7a682ae8d86785b8fdad2"
|
||||
|
||||
[[package]]
|
||||
name = "vcpkg"
|
||||
@@ -6823,9 +6788,9 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b"
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen"
|
||||
version = "0.2.95"
|
||||
version = "0.2.97"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e"
|
||||
checksum = "d15e63b4482863c109d70a7b8706c1e364eb6ea449b201a76c5b89cedcec2d5c"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"once_cell",
|
||||
@@ -6834,9 +6799,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-backend"
|
||||
version = "0.2.95"
|
||||
version = "0.2.97"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358"
|
||||
checksum = "8d36ef12e3aaca16ddd3f67922bc63e48e953f126de60bd33ccc0101ef9998cd"
|
||||
dependencies = [
|
||||
"bumpalo",
|
||||
"log",
|
||||
@@ -6849,21 +6814,22 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-futures"
|
||||
version = "0.4.45"
|
||||
version = "0.4.47"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b"
|
||||
checksum = "9dfaf8f50e5f293737ee323940c7d8b08a66a95a419223d9f41610ca08b0833d"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"js-sys",
|
||||
"once_cell",
|
||||
"wasm-bindgen",
|
||||
"web-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-macro"
|
||||
version = "0.2.95"
|
||||
version = "0.2.97"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56"
|
||||
checksum = "705440e08b42d3e4b36de7d66c944be628d579796b8090bfa3471478a2260051"
|
||||
dependencies = [
|
||||
"quote",
|
||||
"wasm-bindgen-macro-support",
|
||||
@@ -6871,9 +6837,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-macro-support"
|
||||
version = "0.2.95"
|
||||
version = "0.2.97"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68"
|
||||
checksum = "98c9ae5a76e46f4deecd0f0255cc223cfa18dc9b261213b8aa0c7b36f61b3f1d"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -6884,9 +6850,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-shared"
|
||||
version = "0.2.95"
|
||||
version = "0.2.97"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d"
|
||||
checksum = "6ee99da9c5ba11bd675621338ef6fa52296b76b83305e9b6e5c77d4c286d6d49"
|
||||
|
||||
[[package]]
|
||||
name = "wasm-encoder"
|
||||
@@ -7102,9 +7068,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "web-sys"
|
||||
version = "0.3.72"
|
||||
version = "0.3.74"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112"
|
||||
checksum = "a98bc3c33f0fe7e59ad7cd041b89034fa82a7c2d4365ca538dda6cdaf513863c"
|
||||
dependencies = [
|
||||
"js-sys",
|
||||
"wasm-bindgen",
|
||||
@@ -7179,7 +7145,7 @@ version = "0.1.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
|
||||
dependencies = [
|
||||
"windows-sys 0.59.0",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -7466,9 +7432,9 @@ checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049"
|
||||
|
||||
[[package]]
|
||||
name = "yoke"
|
||||
version = "0.7.4"
|
||||
version = "0.7.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5"
|
||||
checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"stable_deref_trait",
|
||||
@@ -7478,9 +7444,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "yoke-derive"
|
||||
version = "0.7.4"
|
||||
version = "0.7.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95"
|
||||
checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -7511,18 +7477,18 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "zerofrom"
|
||||
version = "0.1.4"
|
||||
version = "0.1.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55"
|
||||
checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e"
|
||||
dependencies = [
|
||||
"zerofrom-derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zerofrom-derive"
|
||||
version = "0.1.4"
|
||||
version = "0.1.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5"
|
||||
checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
||||
+4
-5
@@ -5,7 +5,6 @@ resolver = "2"
|
||||
|
||||
# Updated in the CI with a `sed` command
|
||||
package.version = "0.12.0"
|
||||
|
||||
package.license = "AGPL-3.0-only"
|
||||
package.authors = ["Element Backend Team"]
|
||||
package.edition = "2021"
|
||||
@@ -337,15 +336,15 @@ version = "0.3.19"
|
||||
|
||||
# OpenTelemetry
|
||||
[workspace.dependencies.opentelemetry]
|
||||
version = "0.24.0"
|
||||
version = "0.27.1"
|
||||
features = ["trace", "metrics"]
|
||||
[workspace.dependencies.opentelemetry-http]
|
||||
version = "0.13.0"
|
||||
version = "0.27.0"
|
||||
features = ["reqwest"]
|
||||
[workspace.dependencies.opentelemetry-semantic-conventions]
|
||||
version = "0.16.0"
|
||||
version = "0.27.0"
|
||||
[workspace.dependencies.tracing-opentelemetry]
|
||||
version = "0.25.0"
|
||||
version = "0.28.0"
|
||||
default-features = false
|
||||
|
||||
# URL manipulation
|
||||
|
||||
+24
-32
@@ -25,10 +25,7 @@ use mas_router::UrlBuilder;
|
||||
use mas_storage::{BoxClock, BoxRepository, BoxRng, SystemClock};
|
||||
use mas_storage_pg::PgRepository;
|
||||
use mas_templates::Templates;
|
||||
use opentelemetry::{
|
||||
metrics::{Histogram, MetricsError},
|
||||
KeyValue,
|
||||
};
|
||||
use opentelemetry::{metrics::Histogram, KeyValue};
|
||||
use rand::SeedableRng;
|
||||
use sqlx::PgPool;
|
||||
|
||||
@@ -55,50 +52,45 @@ pub struct AppState {
|
||||
|
||||
impl AppState {
|
||||
/// Init the metrics for the app state.
|
||||
///
|
||||
/// # Errors
|
||||
///
|
||||
/// Returns an error if the metrics could not be initialized.
|
||||
pub fn init_metrics(&mut self) -> Result<(), MetricsError> {
|
||||
pub fn init_metrics(&mut self) {
|
||||
// XXX: do we want to put that somewhere else?
|
||||
let meter = opentelemetry::global::meter_with_version(
|
||||
env!("CARGO_PKG_NAME"),
|
||||
Some(env!("CARGO_PKG_VERSION")),
|
||||
Some(opentelemetry_semantic_conventions::SCHEMA_URL),
|
||||
None,
|
||||
);
|
||||
let scope = opentelemetry::InstrumentationScope::builder(env!("CARGO_PKG_NAME"))
|
||||
.with_version(env!("CARGO_PKG_VERSION"))
|
||||
.with_schema_url(opentelemetry_semantic_conventions::SCHEMA_URL)
|
||||
.build();
|
||||
let meter = opentelemetry::global::meter_with_scope(scope);
|
||||
|
||||
let pool = self.pool.clone();
|
||||
let usage = meter
|
||||
meter
|
||||
.i64_observable_up_down_counter("db.connections.usage")
|
||||
.with_description("The number of connections that are currently in `state` described by the state attribute.")
|
||||
.with_unit("{connection}")
|
||||
.init();
|
||||
.with_callback(move |instrument| {
|
||||
let idle = u32::try_from(pool.num_idle()).unwrap_or(u32::MAX);
|
||||
let used = pool.size() - idle;
|
||||
instrument.observe(i64::from(idle), &[KeyValue::new("state", "idle")]);
|
||||
instrument.observe(i64::from(used), &[KeyValue::new("state", "used")]);
|
||||
})
|
||||
.build();
|
||||
|
||||
let max = meter
|
||||
let pool = self.pool.clone();
|
||||
meter
|
||||
.i64_observable_up_down_counter("db.connections.max")
|
||||
.with_description("The maximum number of open connections allowed.")
|
||||
.with_unit("{connection}")
|
||||
.init();
|
||||
|
||||
// Observe the number of active and idle connections in the pool
|
||||
meter.register_callback(&[usage.as_any(), max.as_any()], move |observer| {
|
||||
let idle = u32::try_from(pool.num_idle()).unwrap_or(u32::MAX);
|
||||
let used = pool.size() - idle;
|
||||
let max_conn = pool.options().get_max_connections();
|
||||
observer.observe_i64(&usage, i64::from(idle), &[KeyValue::new("state", "idle")]);
|
||||
observer.observe_i64(&usage, i64::from(used), &[KeyValue::new("state", "used")]);
|
||||
observer.observe_i64(&max, i64::from(max_conn), &[]);
|
||||
})?;
|
||||
.with_callback(move |instrument| {
|
||||
let max_conn = pool.options().get_max_connections();
|
||||
instrument.observe(i64::from(max_conn), &[]);
|
||||
})
|
||||
.build();
|
||||
|
||||
// Track the connection acquisition time
|
||||
let histogram = meter
|
||||
.u64_histogram("db.client.connections.create_time")
|
||||
.with_description("The time it took to create a new connection.")
|
||||
.with_unit("ms")
|
||||
.init();
|
||||
.build();
|
||||
self.conn_acquisition_histogram = Some(histogram);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// Init the metadata cache.
|
||||
|
||||
@@ -228,7 +228,7 @@ impl Options {
|
||||
limiter,
|
||||
conn_acquisition_histogram: None,
|
||||
};
|
||||
s.init_metrics()?;
|
||||
s.init_metrics();
|
||||
// XXX: this might panic
|
||||
s.init_metadata_cache().await;
|
||||
s
|
||||
|
||||
@@ -248,14 +248,14 @@ pub fn build_router(
|
||||
router
|
||||
.layer(
|
||||
InFlightCounterLayer::new("http.server.active_requests").on_request((
|
||||
name.map(|name| MAS_LISTENER_NAME.string(name.to_owned())),
|
||||
name.map(|name| KeyValue::new(MAS_LISTENER_NAME, name.to_owned())),
|
||||
metrics_attributes_fn(on_http_request_labels),
|
||||
)),
|
||||
)
|
||||
.layer(
|
||||
DurationRecorderLayer::new("http.server.duration")
|
||||
.on_request((
|
||||
name.map(|name| MAS_LISTENER_NAME.string(name.to_owned())),
|
||||
name.map(|name| KeyValue::new(MAS_LISTENER_NAME, name.to_owned())),
|
||||
metrics_attributes_fn(on_http_request_labels),
|
||||
))
|
||||
.on_response_fn(on_http_response_labels),
|
||||
|
||||
+24
-45
@@ -18,16 +18,13 @@ use opentelemetry::{
|
||||
global,
|
||||
propagation::{TextMapCompositePropagator, TextMapPropagator},
|
||||
trace::TracerProvider as _,
|
||||
KeyValue,
|
||||
InstrumentationScope, KeyValue,
|
||||
};
|
||||
use opentelemetry_otlp::MetricsExporterBuilder;
|
||||
use opentelemetry_otlp::{WithExportConfig, WithHttpConfig};
|
||||
use opentelemetry_prometheus::PrometheusExporter;
|
||||
use opentelemetry_sdk::{
|
||||
self,
|
||||
metrics::{
|
||||
reader::{DefaultAggregationSelector, DefaultTemporalitySelector},
|
||||
ManualReader, PeriodicReader, SdkMeterProvider,
|
||||
},
|
||||
metrics::{ManualReader, PeriodicReader, SdkMeterProvider},
|
||||
propagation::{BaggagePropagator, TraceContextPropagator},
|
||||
trace::{Sampler, Tracer, TracerProvider},
|
||||
Resource,
|
||||
@@ -41,16 +38,6 @@ static METER_PROVIDER: OnceCell<SdkMeterProvider> = OnceCell::const_new();
|
||||
static PROMETHEUS_REGISTRY: OnceCell<Registry> = OnceCell::const_new();
|
||||
|
||||
pub fn setup(config: &TelemetryConfig) -> anyhow::Result<Option<Tracer>> {
|
||||
global::set_error_handler(|e| {
|
||||
// Don't log the propagation errors, else we'll log an error on each request if
|
||||
// the propagation errors aren't there
|
||||
if matches!(e, opentelemetry::global::Error::Propagation(_)) {
|
||||
return;
|
||||
}
|
||||
|
||||
tracing::error!(error = &e as &dyn std::error::Error);
|
||||
})?;
|
||||
|
||||
let propagator = propagator(&config.tracing.propagators);
|
||||
|
||||
// The CORS filter needs to know what headers it should whitelist for
|
||||
@@ -96,22 +83,22 @@ fn stdout_tracer_provider() -> TracerProvider {
|
||||
}
|
||||
|
||||
fn otlp_tracer_provider(endpoint: Option<&Url>) -> anyhow::Result<TracerProvider> {
|
||||
use opentelemetry_otlp::WithExportConfig;
|
||||
|
||||
let mut exporter = opentelemetry_otlp::new_exporter()
|
||||
.http()
|
||||
let mut exporter = opentelemetry_otlp::SpanExporter::builder()
|
||||
.with_http()
|
||||
.with_http_client(mas_http::reqwest_client());
|
||||
if let Some(endpoint) = endpoint {
|
||||
exporter = exporter.with_endpoint(endpoint.to_string());
|
||||
}
|
||||
|
||||
let tracer = opentelemetry_otlp::new_pipeline()
|
||||
.tracing()
|
||||
.with_exporter(exporter)
|
||||
.with_trace_config(trace_config())
|
||||
.install_batch(opentelemetry_sdk::runtime::Tokio)
|
||||
let exporter = exporter
|
||||
.build()
|
||||
.context("Failed to configure OTLP trace exporter")?;
|
||||
|
||||
let tracer = opentelemetry_sdk::trace::TracerProvider::builder()
|
||||
.with_batch_exporter(exporter, opentelemetry_sdk::runtime::Tokio)
|
||||
.with_resource(resource())
|
||||
.with_sampler(Sampler::AlwaysOn)
|
||||
.build();
|
||||
|
||||
Ok(tracer)
|
||||
}
|
||||
|
||||
@@ -122,37 +109,35 @@ fn tracer(config: &TracingConfig) -> anyhow::Result<Option<Tracer>> {
|
||||
TracingExporterKind::Otlp => otlp_tracer_provider(config.endpoint.as_ref())?,
|
||||
};
|
||||
|
||||
let tracer = tracer_provider
|
||||
.tracer_builder(env!("CARGO_PKG_NAME"))
|
||||
let scope = InstrumentationScope::builder(env!("CARGO_PKG_NAME"))
|
||||
.with_version(env!("CARGO_PKG_VERSION"))
|
||||
.with_schema_url(semcov::SCHEMA_URL)
|
||||
.build();
|
||||
|
||||
let tracer = tracer_provider.tracer_with_scope(scope);
|
||||
|
||||
global::set_tracer_provider(tracer_provider);
|
||||
|
||||
Ok(Some(tracer))
|
||||
}
|
||||
|
||||
fn otlp_metric_reader(endpoint: Option<&url::Url>) -> anyhow::Result<PeriodicReader> {
|
||||
use opentelemetry_otlp::WithExportConfig;
|
||||
|
||||
let mut exporter = opentelemetry_otlp::new_exporter()
|
||||
.http()
|
||||
let mut exporter = opentelemetry_otlp::MetricExporter::builder()
|
||||
.with_http()
|
||||
.with_http_client(mas_http::reqwest_client());
|
||||
if let Some(endpoint) = endpoint {
|
||||
exporter = exporter.with_endpoint(endpoint.to_string());
|
||||
}
|
||||
let exporter = exporter
|
||||
.build()
|
||||
.context("Failed to configure OTLP metric exporter")?;
|
||||
|
||||
let exporter = MetricsExporterBuilder::from(exporter).build_metrics_exporter(
|
||||
Box::new(DefaultTemporalitySelector::new()),
|
||||
Box::new(DefaultAggregationSelector::new()),
|
||||
)?;
|
||||
|
||||
Ok(PeriodicReader::builder(exporter, opentelemetry_sdk::runtime::Tokio).build())
|
||||
let reader = PeriodicReader::builder(exporter, opentelemetry_sdk::runtime::Tokio).build();
|
||||
Ok(reader)
|
||||
}
|
||||
|
||||
fn stdout_metric_reader() -> PeriodicReader {
|
||||
let exporter = opentelemetry_stdout::MetricsExporter::default();
|
||||
let exporter = opentelemetry_stdout::MetricExporter::builder().build();
|
||||
PeriodicReader::builder(exporter, opentelemetry_sdk::runtime::Tokio).build()
|
||||
}
|
||||
|
||||
@@ -230,12 +215,6 @@ fn init_meter(config: &MetricsConfig) -> anyhow::Result<()> {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn trace_config() -> opentelemetry_sdk::trace::Config {
|
||||
opentelemetry_sdk::trace::Config::default()
|
||||
.with_resource(resource())
|
||||
.with_sampler(Sampler::AlwaysOn)
|
||||
}
|
||||
|
||||
fn resource() -> Resource {
|
||||
let resource = Resource::new([
|
||||
KeyValue::new(semcov::resource::SERVICE_NAME, env!("CARGO_PKG_NAME")),
|
||||
|
||||
@@ -10,7 +10,7 @@ use chrono::{DateTime, Utc};
|
||||
use mas_storage::{user::BrowserSessionRepository, RepositoryAccess};
|
||||
use opentelemetry::{
|
||||
metrics::{Counter, Histogram},
|
||||
Key,
|
||||
Key, KeyValue,
|
||||
};
|
||||
use sqlx::PgPool;
|
||||
use tokio_util::sync::CancellationToken;
|
||||
@@ -48,18 +48,17 @@ pub struct Worker {
|
||||
|
||||
impl Worker {
|
||||
pub(crate) fn new(pool: PgPool) -> Self {
|
||||
let meter = opentelemetry::global::meter_with_version(
|
||||
env!("CARGO_PKG_NAME"),
|
||||
Some(env!("CARGO_PKG_VERSION")),
|
||||
Some(opentelemetry_semantic_conventions::SCHEMA_URL),
|
||||
None,
|
||||
);
|
||||
let scope = opentelemetry::InstrumentationScope::builder(env!("CARGO_PKG_NAME"))
|
||||
.with_version(env!("CARGO_PKG_VERSION"))
|
||||
.with_schema_url(opentelemetry_semantic_conventions::SCHEMA_URL)
|
||||
.build();
|
||||
let meter = opentelemetry::global::meter_with_scope(scope);
|
||||
|
||||
let message_counter = meter
|
||||
.u64_counter("mas.activity_tracker.messages")
|
||||
.with_description("The number of messages received by the activity tracker")
|
||||
.with_unit("{messages}")
|
||||
.init();
|
||||
.build();
|
||||
|
||||
// Record stuff on the counter so that the metrics are initialized
|
||||
for kind in &[
|
||||
@@ -69,17 +68,20 @@ impl Worker {
|
||||
] {
|
||||
message_counter.add(
|
||||
0,
|
||||
&[TYPE.string("record"), SESSION_KIND.string(kind.as_str())],
|
||||
&[
|
||||
KeyValue::new(TYPE, "record"),
|
||||
KeyValue::new(SESSION_KIND, kind.as_str()),
|
||||
],
|
||||
);
|
||||
}
|
||||
message_counter.add(0, &[TYPE.string("flush")]);
|
||||
message_counter.add(0, &[TYPE.string("shutdown")]);
|
||||
message_counter.add(0, &[KeyValue::new(TYPE, "flush")]);
|
||||
message_counter.add(0, &[KeyValue::new(TYPE, "shutdown")]);
|
||||
|
||||
let flush_time_histogram = meter
|
||||
.u64_histogram("mas.activity_tracker.flush_time")
|
||||
.with_description("The time it took to flush the activity tracker")
|
||||
.with_unit("ms")
|
||||
.init();
|
||||
.build();
|
||||
|
||||
Self {
|
||||
pool,
|
||||
@@ -137,7 +139,10 @@ impl Worker {
|
||||
|
||||
self.message_counter.add(
|
||||
1,
|
||||
&[TYPE.string("record"), SESSION_KIND.string(kind.as_str())],
|
||||
&[
|
||||
KeyValue::new(TYPE, "record"),
|
||||
KeyValue::new(SESSION_KIND, kind.as_str()),
|
||||
],
|
||||
);
|
||||
|
||||
let record =
|
||||
@@ -153,7 +158,7 @@ impl Worker {
|
||||
}
|
||||
|
||||
Message::Flush(tx) => {
|
||||
self.message_counter.add(1, &[TYPE.string("flush")]);
|
||||
self.message_counter.add(1, &[KeyValue::new(TYPE, "flush")]);
|
||||
|
||||
self.flush().await;
|
||||
let _ = tx.send(());
|
||||
@@ -182,11 +187,11 @@ impl Worker {
|
||||
match res {
|
||||
Ok(()) => {
|
||||
self.flush_time_histogram
|
||||
.record(duration_ms, &[RESULT.string("success")]);
|
||||
.record(duration_ms, &[KeyValue::new(RESULT, "success")]);
|
||||
}
|
||||
Err(e) => {
|
||||
self.flush_time_histogram
|
||||
.record(duration_ms, &[RESULT.string("failure")]);
|
||||
.record(duration_ms, &[KeyValue::new(RESULT, "failure")]);
|
||||
tracing::error!("Failed to flush activity tracker: {}", e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,10 +20,10 @@ pub use self::{
|
||||
};
|
||||
|
||||
static METER: LazyLock<opentelemetry::metrics::Meter> = LazyLock::new(|| {
|
||||
opentelemetry::global::meter_with_version(
|
||||
env!("CARGO_PKG_NAME"),
|
||||
Some(env!("CARGO_PKG_VERSION")),
|
||||
Some(opentelemetry_semantic_conventions::SCHEMA_URL),
|
||||
None,
|
||||
)
|
||||
let scope = opentelemetry::InstrumentationScope::builder(env!("CARGO_PKG_NAME"))
|
||||
.with_version(env!("CARGO_PKG_VERSION"))
|
||||
.with_schema_url(opentelemetry_semantic_conventions::SCHEMA_URL)
|
||||
.build();
|
||||
|
||||
opentelemetry::global::meter_with_scope(scope)
|
||||
});
|
||||
|
||||
@@ -44,7 +44,7 @@ static HTTP_REQUESTS_DURATION_HISTOGRAM: LazyLock<Histogram<u64>> = LazyLock::ne
|
||||
.u64_histogram(HTTP_CLIENT_REQUEST_DURATION)
|
||||
.with_unit("ms")
|
||||
.with_description("Duration of HTTP client requests")
|
||||
.init()
|
||||
.build()
|
||||
});
|
||||
|
||||
static HTTP_REQUESTS_IN_FLIGHT: LazyLock<UpDownCounter<i64>> = LazyLock::new(|| {
|
||||
@@ -52,7 +52,7 @@ static HTTP_REQUESTS_IN_FLIGHT: LazyLock<UpDownCounter<i64>> = LazyLock::new(||
|
||||
.i64_up_down_counter(HTTP_CLIENT_ACTIVE_REQUESTS)
|
||||
.with_unit("{requests}")
|
||||
.with_description("Number of HTTP client requests in flight")
|
||||
.init()
|
||||
.build()
|
||||
});
|
||||
|
||||
struct TracingResolver {
|
||||
|
||||
@@ -14,10 +14,10 @@ mod utils;
|
||||
pub use self::{metrics::*, trace_context::*, tracing::*, utils::*};
|
||||
|
||||
fn meter() -> opentelemetry::metrics::Meter {
|
||||
opentelemetry::global::meter_with_version(
|
||||
env!("CARGO_PKG_NAME"),
|
||||
Some(env!("CARGO_PKG_VERSION")),
|
||||
Some(opentelemetry_semantic_conventions::SCHEMA_URL),
|
||||
None,
|
||||
)
|
||||
let scope = opentelemetry::InstrumentationScope::builder(env!("CARGO_PKG_NAME"))
|
||||
.with_version(env!("CARGO_PKG_VERSION"))
|
||||
.with_schema_url(opentelemetry_semantic_conventions::SCHEMA_URL)
|
||||
.build();
|
||||
|
||||
opentelemetry::global::meter_with_scope(scope)
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ impl DurationRecorderLayer {
|
||||
/// Create a new [`DurationRecorderLayer`].
|
||||
#[must_use]
|
||||
pub fn new(name: &'static str) -> Self {
|
||||
let histogram = crate::meter().u64_histogram(name).init();
|
||||
let histogram = crate::meter().u64_histogram(name).build();
|
||||
Self {
|
||||
histogram,
|
||||
on_request: (),
|
||||
|
||||
@@ -31,7 +31,7 @@ impl InFlightCounterLayer {
|
||||
.i64_up_down_counter(name)
|
||||
.with_unit("{request}")
|
||||
.with_description("The number of in-flight requests")
|
||||
.init();
|
||||
.build();
|
||||
|
||||
Self {
|
||||
counter,
|
||||
|
||||
Reference in New Issue
Block a user