mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-28 04:04:55 +08:00
feat(metrics): add histogram and update opentelemetry dependencies (#32)
This commit is contained in:
381
Cargo.lock
generated
381
Cargo.lock
generated
@ -91,7 +91,7 @@ dependencies = [
|
|||||||
"rand",
|
"rand",
|
||||||
"sha1",
|
"sha1",
|
||||||
"smallvec",
|
"smallvec",
|
||||||
"tracing",
|
"tracing 0.1.36",
|
||||||
"zstd",
|
"zstd",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -115,7 +115,7 @@ dependencies = [
|
|||||||
"http",
|
"http",
|
||||||
"regex",
|
"regex",
|
||||||
"serde",
|
"serde",
|
||||||
"tracing",
|
"tracing 0.1.36",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -144,7 +144,7 @@ dependencies = [
|
|||||||
"num_cpus",
|
"num_cpus",
|
||||||
"socket2",
|
"socket2",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tracing",
|
"tracing 0.1.36",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -439,7 +439,7 @@ dependencies = [
|
|||||||
"time",
|
"time",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tower",
|
"tower",
|
||||||
"tracing",
|
"tracing 0.1.36",
|
||||||
"zeroize",
|
"zeroize",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -454,7 +454,7 @@ dependencies = [
|
|||||||
"aws-types",
|
"aws-types",
|
||||||
"http",
|
"http",
|
||||||
"regex",
|
"regex",
|
||||||
"tracing",
|
"tracing 0.1.36",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -472,7 +472,7 @@ dependencies = [
|
|||||||
"lazy_static",
|
"lazy_static",
|
||||||
"percent-encoding",
|
"percent-encoding",
|
||||||
"pin-project-lite",
|
"pin-project-lite",
|
||||||
"tracing",
|
"tracing 0.1.36",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -551,7 +551,7 @@ dependencies = [
|
|||||||
"aws-smithy-http",
|
"aws-smithy-http",
|
||||||
"aws-types",
|
"aws-types",
|
||||||
"http",
|
"http",
|
||||||
"tracing",
|
"tracing 0.1.36",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -569,7 +569,7 @@ dependencies = [
|
|||||||
"regex",
|
"regex",
|
||||||
"ring",
|
"ring",
|
||||||
"time",
|
"time",
|
||||||
"tracing",
|
"tracing 0.1.36",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -604,7 +604,7 @@ dependencies = [
|
|||||||
"pin-project-lite",
|
"pin-project-lite",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tower",
|
"tower",
|
||||||
"tracing",
|
"tracing 0.1.36",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -625,7 +625,7 @@ dependencies = [
|
|||||||
"pin-project-lite",
|
"pin-project-lite",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tokio-util 0.7.4",
|
"tokio-util 0.7.4",
|
||||||
"tracing",
|
"tracing 0.1.36",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -640,7 +640,7 @@ dependencies = [
|
|||||||
"http-body",
|
"http-body",
|
||||||
"pin-project-lite",
|
"pin-project-lite",
|
||||||
"tower",
|
"tower",
|
||||||
"tracing",
|
"tracing 0.1.36",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -695,10 +695,55 @@ dependencies = [
|
|||||||
"aws-smithy-types",
|
"aws-smithy-types",
|
||||||
"http",
|
"http",
|
||||||
"rustc_version",
|
"rustc_version",
|
||||||
"tracing",
|
"tracing 0.1.36",
|
||||||
"zeroize",
|
"zeroize",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "axum"
|
||||||
|
version = "0.5.17"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "acee9fd5073ab6b045a275b3e709c163dd36c90685219cb21804a147b58dba43"
|
||||||
|
dependencies = [
|
||||||
|
"async-trait",
|
||||||
|
"axum-core",
|
||||||
|
"bitflags",
|
||||||
|
"bytes",
|
||||||
|
"futures-util",
|
||||||
|
"http",
|
||||||
|
"http-body",
|
||||||
|
"hyper",
|
||||||
|
"itoa 1.0.3",
|
||||||
|
"matchit",
|
||||||
|
"memchr",
|
||||||
|
"mime",
|
||||||
|
"percent-encoding",
|
||||||
|
"pin-project-lite",
|
||||||
|
"serde",
|
||||||
|
"sync_wrapper",
|
||||||
|
"tokio",
|
||||||
|
"tower",
|
||||||
|
"tower-http",
|
||||||
|
"tower-layer",
|
||||||
|
"tower-service",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "axum-core"
|
||||||
|
version = "0.2.9"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "37e5939e02c56fecd5c017c37df4238c0a839fa76b7f97acdd7efb804fd181cc"
|
||||||
|
dependencies = [
|
||||||
|
"async-trait",
|
||||||
|
"bytes",
|
||||||
|
"futures-util",
|
||||||
|
"http",
|
||||||
|
"http-body",
|
||||||
|
"mime",
|
||||||
|
"tower-layer",
|
||||||
|
"tower-service",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "base64"
|
name = "base64"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
@ -966,12 +1011,15 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "dashmap"
|
name = "dashmap"
|
||||||
version = "4.0.2"
|
version = "5.4.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e77a43b28d0668df09411cb0bc9a8c2adc40f9a048afe863e05fd43251e8e39c"
|
checksum = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"num_cpus",
|
"hashbrown",
|
||||||
|
"lock_api",
|
||||||
|
"once_cell",
|
||||||
|
"parking_lot_core 0.9.3",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1112,12 +1160,6 @@ dependencies = [
|
|||||||
"instant",
|
"instant",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "fixedbitset"
|
|
||||||
version = "0.4.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "flate2"
|
name = "flate2"
|
||||||
version = "1.0.24"
|
version = "1.0.24"
|
||||||
@ -1194,7 +1236,7 @@ dependencies = [
|
|||||||
"tokio-native-tls",
|
"tokio-native-tls",
|
||||||
"tokio-stream",
|
"tokio-stream",
|
||||||
"tokio-util 0.6.10",
|
"tokio-util 0.6.10",
|
||||||
"tracing",
|
"tracing 0.1.36",
|
||||||
"tracing-futures",
|
"tracing-futures",
|
||||||
"url",
|
"url",
|
||||||
]
|
]
|
||||||
@ -1360,7 +1402,7 @@ dependencies = [
|
|||||||
"slab",
|
"slab",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tokio-util 0.7.4",
|
"tokio-util 0.7.4",
|
||||||
"tracing",
|
"tracing 0.1.36",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1424,6 +1466,12 @@ dependencies = [
|
|||||||
"pin-project-lite",
|
"pin-project-lite",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "http-range-header"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "httparse"
|
name = "httparse"
|
||||||
version = "1.8.0"
|
version = "1.8.0"
|
||||||
@ -1465,7 +1513,7 @@ dependencies = [
|
|||||||
"socket2",
|
"socket2",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tower-service",
|
"tower-service",
|
||||||
"tracing",
|
"tracing 0.1.36",
|
||||||
"want",
|
"want",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -1713,6 +1761,12 @@ dependencies = [
|
|||||||
"regex-automata",
|
"regex-automata",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "matchit"
|
||||||
|
version = "0.5.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "73cbba799671b762df5a175adf59ce145165747bb891505c43d09aefbbf38beb"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "maud"
|
name = "maud"
|
||||||
version = "0.24.0"
|
version = "0.24.0"
|
||||||
@ -1776,12 +1830,6 @@ dependencies = [
|
|||||||
"windows-sys",
|
"windows-sys",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "multimap"
|
|
||||||
version = "0.8.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nanoid"
|
name = "nanoid"
|
||||||
version = "0.4.0"
|
version = "0.4.0"
|
||||||
@ -1922,8 +1970,6 @@ checksum = "6105e89802af13fdf48c49d7646d3b533a70e536d818aae7e78ba0433d01acb8"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"crossbeam-channel",
|
"crossbeam-channel",
|
||||||
"dashmap",
|
|
||||||
"fnv",
|
|
||||||
"futures-channel",
|
"futures-channel",
|
||||||
"futures-executor",
|
"futures-executor",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
@ -1933,26 +1979,80 @@ dependencies = [
|
|||||||
"pin-project",
|
"pin-project",
|
||||||
"rand",
|
"rand",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
"tokio",
|
]
|
||||||
"tokio-stream",
|
|
||||||
|
[[package]]
|
||||||
|
name = "opentelemetry"
|
||||||
|
version = "0.18.0"
|
||||||
|
source = "git+https://github.com/jarnura/opentelemetry-rust?rev=a82056696ca3d26960458269a894e5cf15056ad8#a82056696ca3d26960458269a894e5cf15056ad8"
|
||||||
|
dependencies = [
|
||||||
|
"opentelemetry_api",
|
||||||
|
"opentelemetry_sdk",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "opentelemetry-otlp"
|
name = "opentelemetry-otlp"
|
||||||
version = "0.10.0"
|
version = "0.11.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "git+https://github.com/jarnura/opentelemetry-rust?rev=a82056696ca3d26960458269a894e5cf15056ad8#a82056696ca3d26960458269a894e5cf15056ad8"
|
||||||
checksum = "9d1a6ca9de4c8b00aa7f1a153bd76cb263287155cec642680d79d98706f3d28a"
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"futures",
|
"futures",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
"http",
|
"http",
|
||||||
"opentelemetry",
|
"opentelemetry 0.18.0",
|
||||||
|
"opentelemetry-proto",
|
||||||
"prost",
|
"prost",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tonic",
|
"tonic",
|
||||||
"tonic-build",
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "opentelemetry-proto"
|
||||||
|
version = "0.1.0"
|
||||||
|
source = "git+https://github.com/jarnura/opentelemetry-rust?rev=a82056696ca3d26960458269a894e5cf15056ad8#a82056696ca3d26960458269a894e5cf15056ad8"
|
||||||
|
dependencies = [
|
||||||
|
"futures",
|
||||||
|
"futures-util",
|
||||||
|
"opentelemetry 0.18.0",
|
||||||
|
"prost",
|
||||||
|
"tonic",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "opentelemetry_api"
|
||||||
|
version = "0.18.0"
|
||||||
|
source = "git+https://github.com/jarnura/opentelemetry-rust?rev=a82056696ca3d26960458269a894e5cf15056ad8#a82056696ca3d26960458269a894e5cf15056ad8"
|
||||||
|
dependencies = [
|
||||||
|
"fnv",
|
||||||
|
"futures-channel",
|
||||||
|
"futures-util",
|
||||||
|
"indexmap",
|
||||||
|
"js-sys",
|
||||||
|
"once_cell",
|
||||||
|
"pin-project-lite",
|
||||||
|
"thiserror",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "opentelemetry_sdk"
|
||||||
|
version = "0.18.0"
|
||||||
|
source = "git+https://github.com/jarnura/opentelemetry-rust?rev=a82056696ca3d26960458269a894e5cf15056ad8#a82056696ca3d26960458269a894e5cf15056ad8"
|
||||||
|
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]]
|
[[package]]
|
||||||
@ -2084,16 +2184,6 @@ dependencies = [
|
|||||||
"sha1",
|
"sha1",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "petgraph"
|
|
||||||
version = "0.6.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "e6d5014253a1331579ce62aa67443b4a658c5e7dd03d4bc6d302b94474888143"
|
|
||||||
dependencies = [
|
|
||||||
"fixedbitset",
|
|
||||||
"indexmap",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pin-project"
|
name = "pin-project"
|
||||||
version = "1.0.12"
|
version = "1.0.12"
|
||||||
@ -2192,39 +2282,19 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "prost"
|
name = "prost"
|
||||||
version = "0.9.0"
|
version = "0.11.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001"
|
checksum = "a0841812012b2d4a6145fae9a6af1534873c32aa67fff26bd09f8fa42c83f95a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"prost-derive",
|
"prost-derive",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "prost-build"
|
|
||||||
version = "0.9.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "62941722fb675d463659e49c4f3fe1fe792ff24fe5bbaa9c08cd3b98a1c354f5"
|
|
||||||
dependencies = [
|
|
||||||
"bytes",
|
|
||||||
"heck 0.3.3",
|
|
||||||
"itertools",
|
|
||||||
"lazy_static",
|
|
||||||
"log",
|
|
||||||
"multimap",
|
|
||||||
"petgraph",
|
|
||||||
"prost",
|
|
||||||
"prost-types",
|
|
||||||
"regex",
|
|
||||||
"tempfile",
|
|
||||||
"which",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "prost-derive"
|
name = "prost-derive"
|
||||||
version = "0.9.0"
|
version = "0.11.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe"
|
checksum = "164ae68b6587001ca506d3bf7f1000bfa248d0e1217b618108fba4ec1d0cc306"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"itertools",
|
"itertools",
|
||||||
@ -2233,16 +2303,6 @@ dependencies = [
|
|||||||
"syn",
|
"syn",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "prost-types"
|
|
||||||
version = "0.9.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a"
|
|
||||||
dependencies = [
|
|
||||||
"bytes",
|
|
||||||
"prost",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "quick-error"
|
name = "quick-error"
|
||||||
version = "1.2.3"
|
version = "1.2.3"
|
||||||
@ -2510,7 +2570,7 @@ dependencies = [
|
|||||||
"config",
|
"config",
|
||||||
"gethostname",
|
"gethostname",
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"opentelemetry",
|
"opentelemetry 0.18.0",
|
||||||
"opentelemetry-otlp",
|
"opentelemetry-otlp",
|
||||||
"rustc-hash",
|
"rustc-hash",
|
||||||
"serde",
|
"serde",
|
||||||
@ -2519,12 +2579,12 @@ dependencies = [
|
|||||||
"strum",
|
"strum",
|
||||||
"time",
|
"time",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tracing",
|
"tracing 0.1.36",
|
||||||
"tracing-actix-web",
|
"tracing-actix-web",
|
||||||
"tracing-appender",
|
"tracing-appender",
|
||||||
"tracing-core",
|
"tracing-core 0.1.29",
|
||||||
"tracing-opentelemetry",
|
"tracing-opentelemetry 0.16.0",
|
||||||
"tracing-subscriber",
|
"tracing-subscriber 0.3.15",
|
||||||
"vergen",
|
"vergen",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -2887,6 +2947,12 @@ dependencies = [
|
|||||||
"unicode-ident",
|
"unicode-ident",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "sync_wrapper"
|
||||||
|
version = "0.1.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "20518fe4a4c9acf048008599e464deb21beeae3d3578418951a189c235a7a9a8"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "sysinfo"
|
name = "sysinfo"
|
||||||
version = "0.26.4"
|
version = "0.26.4"
|
||||||
@ -3113,7 +3179,7 @@ dependencies = [
|
|||||||
"futures-sink",
|
"futures-sink",
|
||||||
"pin-project-lite",
|
"pin-project-lite",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tracing",
|
"tracing 0.1.36",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3127,12 +3193,13 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tonic"
|
name = "tonic"
|
||||||
version = "0.6.2"
|
version = "0.8.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ff08f4649d10a70ffa3522ca559031285d8e421d727ac85c60825761818f5d0a"
|
checksum = "55b9af819e54b8f33d453655bef9b9acc171568fb49523078d0cc4e7484200ec"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-stream",
|
"async-stream",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
|
"axum",
|
||||||
"base64",
|
"base64",
|
||||||
"bytes",
|
"bytes",
|
||||||
"futures-core",
|
"futures-core",
|
||||||
@ -3148,26 +3215,14 @@ dependencies = [
|
|||||||
"prost-derive",
|
"prost-derive",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tokio-stream",
|
"tokio-stream",
|
||||||
"tokio-util 0.6.10",
|
"tokio-util 0.7.4",
|
||||||
"tower",
|
"tower",
|
||||||
"tower-layer",
|
"tower-layer",
|
||||||
"tower-service",
|
"tower-service",
|
||||||
"tracing",
|
"tracing 0.1.36",
|
||||||
"tracing-futures",
|
"tracing-futures",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "tonic-build"
|
|
||||||
version = "0.6.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "9403f1bafde247186684b230dc6f38b5cd514584e8bec1dd32514be4745fa757"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"prost-build",
|
|
||||||
"quote",
|
|
||||||
"syn",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tower"
|
name = "tower"
|
||||||
version = "0.4.13"
|
version = "0.4.13"
|
||||||
@ -3185,7 +3240,26 @@ dependencies = [
|
|||||||
"tokio-util 0.7.4",
|
"tokio-util 0.7.4",
|
||||||
"tower-layer",
|
"tower-layer",
|
||||||
"tower-service",
|
"tower-service",
|
||||||
"tracing",
|
"tracing 0.1.36",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tower-http"
|
||||||
|
version = "0.3.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3c530c8675c1dbf98facee631536fa116b5fb6382d7dd6dc1b118d970eafe3ba"
|
||||||
|
dependencies = [
|
||||||
|
"bitflags",
|
||||||
|
"bytes",
|
||||||
|
"futures-core",
|
||||||
|
"futures-util",
|
||||||
|
"http",
|
||||||
|
"http-body",
|
||||||
|
"http-range-header",
|
||||||
|
"pin-project-lite",
|
||||||
|
"tower",
|
||||||
|
"tower-layer",
|
||||||
|
"tower-service",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3210,7 +3284,17 @@ dependencies = [
|
|||||||
"log",
|
"log",
|
||||||
"pin-project-lite",
|
"pin-project-lite",
|
||||||
"tracing-attributes",
|
"tracing-attributes",
|
||||||
"tracing-core",
|
"tracing-core 0.1.29",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tracing"
|
||||||
|
version = "0.2.0"
|
||||||
|
source = "git+https://github.com/jarnura/tracing?rev=16d277227f60788750528e4f4cc1db4f36b0869f#16d277227f60788750528e4f4cc1db4f36b0869f"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"pin-project-lite",
|
||||||
|
"tracing-core 0.2.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3220,10 +3304,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "ee7247a77b494ee07bda43bce40a33e76f885662f11b3dda9894ecfdbe31fa06"
|
checksum = "ee7247a77b494ee07bda43bce40a33e76f885662f11b3dda9894ecfdbe31fa06"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"actix-web",
|
"actix-web",
|
||||||
"opentelemetry",
|
"opentelemetry 0.17.0",
|
||||||
"pin-project",
|
"pin-project",
|
||||||
"tracing",
|
"tracing 0.1.36",
|
||||||
"tracing-opentelemetry",
|
"tracing-opentelemetry 0.17.4",
|
||||||
"uuid",
|
"uuid",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -3235,7 +3319,7 @@ checksum = "09d48f71a791638519505cefafe162606f706c25592e4bde4d97600c0195312e"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"crossbeam-channel",
|
"crossbeam-channel",
|
||||||
"time",
|
"time",
|
||||||
"tracing-subscriber",
|
"tracing-subscriber 0.3.15",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3259,6 +3343,14 @@ dependencies = [
|
|||||||
"valuable",
|
"valuable",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tracing-core"
|
||||||
|
version = "0.2.0"
|
||||||
|
source = "git+https://github.com/jarnura/tracing?rev=16d277227f60788750528e4f4cc1db4f36b0869f#16d277227f60788750528e4f4cc1db4f36b0869f"
|
||||||
|
dependencies = [
|
||||||
|
"once_cell",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tracing-futures"
|
name = "tracing-futures"
|
||||||
version = "0.2.5"
|
version = "0.2.5"
|
||||||
@ -3266,7 +3358,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
|
checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"pin-project",
|
"pin-project",
|
||||||
"tracing",
|
"tracing 0.1.36",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3277,7 +3369,31 @@ checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"lazy_static",
|
"lazy_static",
|
||||||
"log",
|
"log",
|
||||||
"tracing-core",
|
"tracing-core 0.1.29",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tracing-log"
|
||||||
|
version = "0.2.0"
|
||||||
|
source = "git+https://github.com/jarnura/tracing?rev=16d277227f60788750528e4f4cc1db4f36b0869f#16d277227f60788750528e4f4cc1db4f36b0869f"
|
||||||
|
dependencies = [
|
||||||
|
"log",
|
||||||
|
"once_cell",
|
||||||
|
"tracing-core 0.2.0",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tracing-opentelemetry"
|
||||||
|
version = "0.16.0"
|
||||||
|
source = "git+https://github.com/jarnura/tracing?rev=16d277227f60788750528e4f4cc1db4f36b0869f#16d277227f60788750528e4f4cc1db4f36b0869f"
|
||||||
|
dependencies = [
|
||||||
|
"async-trait",
|
||||||
|
"once_cell",
|
||||||
|
"opentelemetry 0.18.0",
|
||||||
|
"tracing 0.2.0",
|
||||||
|
"tracing-core 0.2.0",
|
||||||
|
"tracing-log 0.2.0",
|
||||||
|
"tracing-subscriber 0.3.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3287,11 +3403,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "fbbe89715c1dbbb790059e2565353978564924ee85017b5fff365c872ff6721f"
|
checksum = "fbbe89715c1dbbb790059e2565353978564924ee85017b5fff365c872ff6721f"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"opentelemetry",
|
"opentelemetry 0.17.0",
|
||||||
"tracing",
|
"tracing 0.1.36",
|
||||||
"tracing-core",
|
"tracing-core 0.1.29",
|
||||||
"tracing-log",
|
"tracing-log 0.1.3",
|
||||||
"tracing-subscriber",
|
"tracing-subscriber 0.3.15",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3301,7 +3417,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1"
|
checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde",
|
"serde",
|
||||||
"tracing-core",
|
"tracing-core 0.1.29",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tracing-subscriber"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "git+https://github.com/jarnura/tracing?rev=16d277227f60788750528e4f4cc1db4f36b0869f#16d277227f60788750528e4f4cc1db4f36b0869f"
|
||||||
|
dependencies = [
|
||||||
|
"sharded-slab",
|
||||||
|
"thread_local",
|
||||||
|
"tracing-core 0.2.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3319,9 +3445,9 @@ dependencies = [
|
|||||||
"sharded-slab",
|
"sharded-slab",
|
||||||
"smallvec",
|
"smallvec",
|
||||||
"thread_local",
|
"thread_local",
|
||||||
"tracing",
|
"tracing 0.1.36",
|
||||||
"tracing-core",
|
"tracing-core 0.1.29",
|
||||||
"tracing-log",
|
"tracing-log 0.1.3",
|
||||||
"tracing-serde",
|
"tracing-serde",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -3573,17 +3699,6 @@ dependencies = [
|
|||||||
"webpki 0.22.0",
|
"webpki 0.22.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "which"
|
|
||||||
version = "4.3.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "1c831fbbee9e129a8cf93e7747a82da9d95ba8e16621cae60ec2cdc849bacb7b"
|
|
||||||
dependencies = [
|
|
||||||
"either",
|
|
||||||
"libc",
|
|
||||||
"once_cell",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "winapi"
|
name = "winapi"
|
||||||
version = "0.3.9"
|
version = "0.3.9"
|
||||||
|
|||||||
@ -75,7 +75,7 @@ impl Feature<api::Authorize, types::PaymentsRequestData>
|
|||||||
)
|
)
|
||||||
.await;
|
.await;
|
||||||
|
|
||||||
metrics::PAYMENT_COUNT.add(1, &[]); // Metrics
|
metrics::PAYMENT_COUNT.add(&metrics::CONTEXT, 1, &[]); // Metrics
|
||||||
|
|
||||||
(resp, payment_data)
|
(resp, payment_data)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -212,7 +212,7 @@ where
|
|||||||
payment_attempt: &storage::PaymentAttempt,
|
payment_attempt: &storage::PaymentAttempt,
|
||||||
) -> CustomResult<(), errors::ApiErrorResponse> {
|
) -> CustomResult<(), errors::ApiErrorResponse> {
|
||||||
if helpers::check_if_operation_confirm(self) {
|
if helpers::check_if_operation_confirm(self) {
|
||||||
metrics::TASKS_ADDED_COUNT.add(1, &[]); // Metrics
|
metrics::TASKS_ADDED_COUNT.add(&metrics::CONTEXT, 1, &[]); // Metrics
|
||||||
|
|
||||||
let schedule_time = payment_sync::get_sync_process_schedule_time(
|
let schedule_time = payment_sync::get_sync_process_schedule_time(
|
||||||
&payment_attempt.connector,
|
&payment_attempt.connector,
|
||||||
|
|||||||
@ -3,14 +3,14 @@ use router_env::{
|
|||||||
tracing::{self, instrument},
|
tracing::{self, instrument},
|
||||||
};
|
};
|
||||||
|
|
||||||
use crate::routes::metrics::HEALTH_METRIC;
|
use crate::routes::metrics;
|
||||||
|
|
||||||
/// .
|
/// .
|
||||||
// #[logger::instrument(skip_all, name = "name1", level = "warn", fields( key1 = "val1" ))]
|
// #[logger::instrument(skip_all, name = "name1", level = "warn", fields( key1 = "val1" ))]
|
||||||
#[instrument(skip_all)]
|
#[instrument(skip_all)]
|
||||||
// #[actix_web::get("/health")]
|
// #[actix_web::get("/health")]
|
||||||
pub async fn health() -> impl actix_web::Responder {
|
pub async fn health() -> impl actix_web::Responder {
|
||||||
HEALTH_METRIC.add(1, &[]);
|
metrics::HEALTH_METRIC.add(&metrics::CONTEXT, 1, &[]);
|
||||||
logger::info!("Health was called");
|
logger::info!("Health was called");
|
||||||
actix_web::HttpResponse::Ok().body("health is good")
|
actix_web::HttpResponse::Ok().body("health is good")
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,8 +4,10 @@ use once_cell::sync::Lazy;
|
|||||||
use router_env::opentelemetry::{
|
use router_env::opentelemetry::{
|
||||||
global,
|
global,
|
||||||
metrics::{Counter, Meter},
|
metrics::{Counter, Meter},
|
||||||
|
Context,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pub static CONTEXT: Lazy<Context> = Lazy::new(Context::current);
|
||||||
static GLOBAL_METER: Lazy<Meter> = Lazy::new(|| global::meter("ROUTER_API"));
|
static GLOBAL_METER: Lazy<Meter> = Lazy::new(|| global::meter("ROUTER_API"));
|
||||||
|
|
||||||
pub(crate) static HEALTH_METRIC: Lazy<Counter<u64>> =
|
pub(crate) static HEALTH_METRIC: Lazy<Counter<u64>> =
|
||||||
|
|||||||
@ -117,7 +117,7 @@ pub async fn consumer_operations(
|
|||||||
|
|
||||||
pt_utils::add_histogram_metrics(&pickup_time, task, &stream_name);
|
pt_utils::add_histogram_metrics(&pickup_time, task, &stream_name);
|
||||||
|
|
||||||
metrics::TASK_CONSUMED.add(1, &[]);
|
metrics::TASK_CONSUMED.add(&metrics::CONTEXT, 1, &[]);
|
||||||
let runner = pt_utils::runner_from_task(task)?;
|
let runner = pt_utils::runner_from_task(task)?;
|
||||||
handler.push(tokio::task::spawn(start_workflow(
|
handler.push(tokio::task::spawn(start_workflow(
|
||||||
state.clone(),
|
state.clone(),
|
||||||
@ -205,7 +205,7 @@ pub async fn run_executor<'a>(
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
metrics::TASK_PROCESSED.add(1, &[]);
|
metrics::TASK_PROCESSED.add(&metrics::CONTEXT, 1, &[]);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[instrument(skip_all)]
|
#[instrument(skip_all)]
|
||||||
|
|||||||
@ -1,15 +1,15 @@
|
|||||||
use once_cell::sync::Lazy;
|
use once_cell::sync::Lazy;
|
||||||
use router_env::opentelemetry::{
|
use router_env::opentelemetry::{
|
||||||
global,
|
global,
|
||||||
metrics::{Counter, Meter, ValueRecorder},
|
metrics::{Counter, Histogram, Meter},
|
||||||
|
Context,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pub static CONTEXT: Lazy<Context> = Lazy::new(Context::current);
|
||||||
static PT_METER: Lazy<Meter> = Lazy::new(|| global::meter("PROCESS_TRACKER"));
|
static PT_METER: Lazy<Meter> = Lazy::new(|| global::meter("PROCESS_TRACKER"));
|
||||||
|
|
||||||
// Using ValueRecorder till https://bitbucket.org/juspay/orca/pull-requests/319
|
pub(crate) static CONSUMER_STATS: Lazy<Histogram<f64>> =
|
||||||
// Histogram available in opentelemetry:0.18
|
Lazy::new(|| PT_METER.f64_histogram("CONSUMER_OPS").init());
|
||||||
pub(crate) static CONSUMER_STATS: Lazy<ValueRecorder<f64>> =
|
|
||||||
Lazy::new(|| PT_METER.f64_value_recorder("CONSUMER_OPS").init());
|
|
||||||
|
|
||||||
macro_rules! create_counter {
|
macro_rules! create_counter {
|
||||||
($name:ident, $meter:ident) => {
|
($name:ident, $meter:ident) => {
|
||||||
|
|||||||
@ -124,6 +124,6 @@ pub async fn fetch_producer_tasks(
|
|||||||
}
|
}
|
||||||
|
|
||||||
new_tasks.append(&mut pending_tasks);
|
new_tasks.append(&mut pending_tasks);
|
||||||
metrics::TASKS_PICKED_COUNT.add(new_tasks.len() as u64, &[]);
|
metrics::TASKS_PICKED_COUNT.add(&metrics::CONTEXT, new_tasks.len() as u64, &[]);
|
||||||
Ok(new_tasks)
|
Ok(new_tasks)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -72,7 +72,7 @@ pub async fn divide_and_append_tasks(
|
|||||||
settings: &SchedulerSettings,
|
settings: &SchedulerSettings,
|
||||||
) -> CustomResult<(), errors::ProcessTrackerError> {
|
) -> CustomResult<(), errors::ProcessTrackerError> {
|
||||||
let batches = divide(tasks, settings);
|
let batches = divide(tasks, settings);
|
||||||
metrics::BATCHES_CREATED.add(batches.len() as u64, &[]); // Metrics
|
metrics::BATCHES_CREATED.add(&metrics::CONTEXT, batches.len() as u64, &[]); // Metrics
|
||||||
for batch in batches {
|
for batch in batches {
|
||||||
let result = update_status_and_append(state, flow, batch).await;
|
let result = update_status_and_append(state, flow, batch).await;
|
||||||
match result {
|
match result {
|
||||||
@ -209,7 +209,7 @@ pub async fn get_batches(
|
|||||||
logger::error!(%error, "Error finding batch in stream");
|
logger::error!(%error, "Error finding batch in stream");
|
||||||
error.change_context(errors::ProcessTrackerError::BatchNotFound)
|
error.change_context(errors::ProcessTrackerError::BatchNotFound)
|
||||||
})?;
|
})?;
|
||||||
metrics::BATCHES_CONSUMED.add(1, &[]);
|
metrics::BATCHES_CONSUMED.add(&metrics::CONTEXT, 1, &[]);
|
||||||
|
|
||||||
let (batches, entry_ids): (Vec<Vec<ProcessTrackerBatch>>, Vec<Vec<String>>) = response.into_iter().map(|(_key, entries)| {
|
let (batches, entry_ids): (Vec<Vec<ProcessTrackerBatch>>, Vec<Vec<String>>) = response.into_iter().map(|(_key, entries)| {
|
||||||
entries.into_iter().try_fold(
|
entries.into_iter().try_fold(
|
||||||
@ -303,6 +303,7 @@ pub fn add_histogram_metrics(
|
|||||||
logger::error!(%pickup_schedule_delta, "<- Time delta for scheduled tasks");
|
logger::error!(%pickup_schedule_delta, "<- Time delta for scheduled tasks");
|
||||||
let runner_name = runner.clone();
|
let runner_name = runner.clone();
|
||||||
metrics::CONSUMER_STATS.record(
|
metrics::CONSUMER_STATS.record(
|
||||||
|
&metrics::CONTEXT,
|
||||||
pickup_schedule_delta,
|
pickup_schedule_delta,
|
||||||
&[opentelemetry::KeyValue::new(
|
&[opentelemetry::KeyValue::new(
|
||||||
stream_name.to_owned(),
|
stream_name.to_owned(),
|
||||||
|
|||||||
@ -75,7 +75,7 @@ impl ProcessTracker {
|
|||||||
db: &dyn db::Db,
|
db: &dyn db::Db,
|
||||||
schedule_time: PrimitiveDateTime,
|
schedule_time: PrimitiveDateTime,
|
||||||
) -> Result<(), errors::ProcessTrackerError> {
|
) -> Result<(), errors::ProcessTrackerError> {
|
||||||
metrics::TASK_RETRIED.add(1, &[]);
|
metrics::TASK_RETRIED.add(&metrics::CONTEXT, 1, &[]);
|
||||||
db.update_process_tracker(
|
db.update_process_tracker(
|
||||||
self.clone(),
|
self.clone(),
|
||||||
ProcessTrackerUpdate::StatusRetryUpdate {
|
ProcessTrackerUpdate::StatusRetryUpdate {
|
||||||
@ -102,7 +102,7 @@ impl ProcessTracker {
|
|||||||
)
|
)
|
||||||
.await
|
.await
|
||||||
.attach_printable("Failed while updating status of the process")?;
|
.attach_printable("Failed while updating status of the process")?;
|
||||||
metrics::TASK_FINISHED.add(1, &[]);
|
metrics::TASK_FINISHED.add(&metrics::CONTEXT, 1, &[]);
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,8 +12,9 @@ build = "src/build.rs"
|
|||||||
config = { version = "0.13.2", features = ["toml"] }
|
config = { version = "0.13.2", features = ["toml"] }
|
||||||
gethostname = "0.2.3"
|
gethostname = "0.2.3"
|
||||||
once_cell = "1.15.0"
|
once_cell = "1.15.0"
|
||||||
opentelemetry = { version = "0.17", features = ["rt-tokio-current-thread", "metrics"] }
|
opentelemetry = { git = "https://github.com/jarnura/opentelemetry-rust", rev = "a82056696ca3d26960458269a894e5cf15056ad8", features = ["rt-tokio-current-thread", "metrics"] }
|
||||||
opentelemetry-otlp = { version = "0.10", features = ["metrics"] }
|
opentelemetry-otlp = { git = "https://github.com/jarnura/opentelemetry-rust", rev = "a82056696ca3d26960458269a894e5cf15056ad8", features = ["metrics"] }
|
||||||
|
|
||||||
rustc-hash = "1.1"
|
rustc-hash = "1.1"
|
||||||
serde = { version = "1.0.145", features = ["derive"] }
|
serde = { version = "1.0.145", features = ["derive"] }
|
||||||
serde_json = "1.0.85"
|
serde_json = "1.0.85"
|
||||||
@ -25,7 +26,7 @@ tracing = "0.1.36"
|
|||||||
tracing-actix-web = { version = "0.6.1", features = ["opentelemetry_0_17"], optional = true }
|
tracing-actix-web = { version = "0.6.1", features = ["opentelemetry_0_17"], optional = true }
|
||||||
tracing-appender = "0.2.2"
|
tracing-appender = "0.2.2"
|
||||||
tracing-core = "0.1.29"
|
tracing-core = "0.1.29"
|
||||||
tracing-opentelemetry = { version = "0.17" }
|
tracing-opentelemetry = { git = "https://github.com/jarnura/tracing", rev = "16d277227f60788750528e4f4cc1db4f36b0869f" }
|
||||||
tracing-subscriber = { version = "0.3.15", default-features = true, features = ["json", "env-filter", "registry"] }
|
tracing-subscriber = { version = "0.3.15", default-features = true, features = ["json", "env-filter", "registry"] }
|
||||||
vergen = { version = "7.4.2", optional = true }
|
vergen = { version = "7.4.2", optional = true }
|
||||||
|
|
||||||
|
|||||||
@ -3,20 +3,19 @@
|
|||||||
//!
|
//!
|
||||||
use std::{path::PathBuf, time::Duration};
|
use std::{path::PathBuf, time::Duration};
|
||||||
|
|
||||||
|
use once_cell::sync::Lazy;
|
||||||
use opentelemetry::{
|
use opentelemetry::{
|
||||||
global,
|
global, runtime,
|
||||||
sdk::{
|
sdk::{
|
||||||
metrics::{selectors, PushController},
|
export::metrics::aggregation::cumulative_temporality_selector,
|
||||||
|
metrics::{controllers::BasicController, selectors::simple},
|
||||||
propagation::TraceContextPropagator,
|
propagation::TraceContextPropagator,
|
||||||
trace, Resource,
|
trace, Resource,
|
||||||
},
|
},
|
||||||
util::tokio_interval_stream,
|
|
||||||
KeyValue,
|
KeyValue,
|
||||||
};
|
};
|
||||||
use opentelemetry_otlp::WithExportConfig;
|
use opentelemetry_otlp::WithExportConfig;
|
||||||
use tracing_appender::non_blocking::WorkerGuard;
|
use tracing_appender::non_blocking::WorkerGuard;
|
||||||
// use tracing_subscriber::fmt::format::FmtSpan;
|
|
||||||
// use tracing_bunyan_formatter::JsonStorageLayer;
|
|
||||||
use tracing_subscriber::{
|
use tracing_subscriber::{
|
||||||
filter, fmt, layer::SubscriberExt, util::SubscriberInitExt, EnvFilter, Layer,
|
filter, fmt, layer::SubscriberExt, util::SubscriberInitExt, EnvFilter, Layer,
|
||||||
};
|
};
|
||||||
@ -51,7 +50,7 @@ where
|
|||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub struct TelemetryGuard {
|
pub struct TelemetryGuard {
|
||||||
_log_guards: Vec<WorkerGuard>,
|
_log_guards: Vec<WorkerGuard>,
|
||||||
_metric_controller: Option<PushController>,
|
_metric_controller: Option<BasicController>,
|
||||||
}
|
}
|
||||||
|
|
||||||
///
|
///
|
||||||
@ -92,29 +91,13 @@ pub fn setup<Str: AsRef<str>>(
|
|||||||
|
|
||||||
let file_filter = filter::Targets::new().with_default(conf.file.level.into_level());
|
let file_filter = filter::Targets::new().with_default(conf.file.level.into_level());
|
||||||
let file_layer = FormattingLayer::new(service_name, file_writer).with_filter(file_filter);
|
let file_layer = FormattingLayer::new(service_name, file_writer).with_filter(file_filter);
|
||||||
// let fmt_layer = fmt::layer()
|
|
||||||
// .with_writer(file_writer)
|
|
||||||
// .with_target(true)
|
|
||||||
// .with_level(true)
|
|
||||||
// .with_span_events(FmtSpan::ACTIVE)
|
|
||||||
// .json();
|
|
||||||
|
|
||||||
// Some(fmt_layer)
|
|
||||||
//Some(FormattingLayer::new(service_name, file_writer))
|
|
||||||
Some(file_layer)
|
Some(file_layer)
|
||||||
// Some(BunyanFormattingLayer::new("router".into(), file_writer))
|
|
||||||
} else {
|
} else {
|
||||||
None
|
None
|
||||||
};
|
};
|
||||||
|
|
||||||
let telemetry_layer = match telemetry {
|
|
||||||
Some(Ok(ref tracer)) => Some(tracing_opentelemetry::layer().with_tracer(tracer.clone())),
|
|
||||||
_ => None,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Use 'RUST_LOG' environment variable will override the config settings
|
// Use 'RUST_LOG' environment variable will override the config settings
|
||||||
let subscriber = tracing_subscriber::registry()
|
let subscriber = tracing_subscriber::registry()
|
||||||
.with(telemetry_layer)
|
|
||||||
.with(StorageSubscription)
|
.with(StorageSubscription)
|
||||||
.with(file_writer)
|
.with(file_writer)
|
||||||
.with(
|
.with(
|
||||||
@ -166,15 +149,29 @@ pub fn setup<Str: AsRef<str>>(
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
fn setup_metrics() -> Option<PushController> {
|
static HISTOGRAM_BUCKETS: Lazy<[f64; 15]> = Lazy::new(|| {
|
||||||
|
let mut init = 0.01;
|
||||||
|
let mut buckets: [f64; 15] = [0.0; 15];
|
||||||
|
|
||||||
|
for bucket in &mut buckets {
|
||||||
|
init *= 2.0;
|
||||||
|
*bucket = init;
|
||||||
|
}
|
||||||
|
buckets
|
||||||
|
});
|
||||||
|
|
||||||
|
fn setup_metrics() -> Option<BasicController> {
|
||||||
opentelemetry_otlp::new_pipeline()
|
opentelemetry_otlp::new_pipeline()
|
||||||
.metrics(tokio::spawn, tokio_interval_stream)
|
.metrics(
|
||||||
|
simple::histogram(*HISTOGRAM_BUCKETS),
|
||||||
|
cumulative_temporality_selector(),
|
||||||
|
runtime::TokioCurrentThread,
|
||||||
|
)
|
||||||
.with_exporter(
|
.with_exporter(
|
||||||
opentelemetry_otlp::new_exporter().tonic().with_env(), // can also config it using with_* functions like the tracing part above.
|
opentelemetry_otlp::new_exporter().tonic().with_env(), // can also config it using with_* functions like the tracing part above.
|
||||||
)
|
)
|
||||||
.with_period(Duration::from_secs(3))
|
.with_period(Duration::from_secs(3))
|
||||||
.with_timeout(Duration::from_secs(10))
|
.with_timeout(Duration::from_secs(10))
|
||||||
.with_aggregator_selector(selectors::simple::Selector::Exact)
|
|
||||||
.build()
|
.build()
|
||||||
.map_err(|err| eprintln!("Failed to Setup Metrics with {:?}", err))
|
.map_err(|err| eprintln!("Failed to Setup Metrics with {:?}", err))
|
||||||
.ok()
|
.ok()
|
||||||
|
|||||||
Reference in New Issue
Block a user