mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-11-01 02:57:02 +08:00
fix(logging): fix traces export through opentelemetry (#1355)
This commit is contained in:
31
Cargo.lock
generated
31
Cargo.lock
generated
@ -3327,8 +3327,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "opentelemetry"
|
name = "opentelemetry"
|
||||||
version = "0.18.0"
|
version = "0.19.0"
|
||||||
source = "git+https://github.com/open-telemetry/opentelemetry-rust?rev=44b90202fd744598db8b0ace5b8f0bad7ec45658#44b90202fd744598db8b0ace5b8f0bad7ec45658"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "5f4b8347cc26099d3aeee044065ecc3ae11469796b4d65d065a23a584ed92a6f"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"opentelemetry_api",
|
"opentelemetry_api",
|
||||||
"opentelemetry_sdk",
|
"opentelemetry_sdk",
|
||||||
@ -3336,8 +3337,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "opentelemetry-otlp"
|
name = "opentelemetry-otlp"
|
||||||
version = "0.11.0"
|
version = "0.12.0"
|
||||||
source = "git+https://github.com/open-telemetry/opentelemetry-rust?rev=44b90202fd744598db8b0ace5b8f0bad7ec45658#44b90202fd744598db8b0ace5b8f0bad7ec45658"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8af72d59a4484654ea8eb183fea5ae4eb6a41d7ac3e3bae5f4d2a282a3a7d3ca"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"futures",
|
"futures",
|
||||||
@ -3353,8 +3355,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "opentelemetry-proto"
|
name = "opentelemetry-proto"
|
||||||
version = "0.1.0"
|
version = "0.2.0"
|
||||||
source = "git+https://github.com/open-telemetry/opentelemetry-rust?rev=44b90202fd744598db8b0ace5b8f0bad7ec45658#44b90202fd744598db8b0ace5b8f0bad7ec45658"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "045f8eea8c0fa19f7d48e7bc3128a39c2e5c533d5c61298c548dfefc1064474c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures",
|
"futures",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
@ -3365,23 +3368,25 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "opentelemetry_api"
|
name = "opentelemetry_api"
|
||||||
version = "0.18.0"
|
version = "0.19.0"
|
||||||
source = "git+https://github.com/open-telemetry/opentelemetry-rust?rev=44b90202fd744598db8b0ace5b8f0bad7ec45658#44b90202fd744598db8b0ace5b8f0bad7ec45658"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ed41783a5bf567688eb38372f2b7a8530f5a607a4b49d38dd7573236c23ca7e2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"fnv",
|
"fnv",
|
||||||
"futures-channel",
|
"futures-channel",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
"indexmap",
|
"indexmap",
|
||||||
"js-sys",
|
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"pin-project-lite 0.2.9",
|
"pin-project-lite 0.2.9",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
|
"urlencoding",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "opentelemetry_sdk"
|
name = "opentelemetry_sdk"
|
||||||
version = "0.18.0"
|
version = "0.19.0"
|
||||||
source = "git+https://github.com/open-telemetry/opentelemetry-rust?rev=44b90202fd744598db8b0ace5b8f0bad7ec45658#44b90202fd744598db8b0ace5b8f0bad7ec45658"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8b3a2a91fdbfdd4d212c0dcc2ab540de2c2bcbbd90be17de7a7daf8822d010c1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"crossbeam-channel",
|
"crossbeam-channel",
|
||||||
@ -5326,9 +5331,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tracing-opentelemetry"
|
name = "tracing-opentelemetry"
|
||||||
version = "0.18.0"
|
version = "0.19.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "21ebb87a95ea13271332df069020513ab70bdb5637ca42d6e492dc3bbbad48de"
|
checksum = "00a39dcf9bfc1742fa4d6215253b33a6e474be78275884c216fc2a06267b3600"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"opentelemetry",
|
"opentelemetry",
|
||||||
|
|||||||
@ -6,6 +6,3 @@ members = ["crates/*", "examples/*"]
|
|||||||
strip = true
|
strip = true
|
||||||
lto = true
|
lto = true
|
||||||
codegen-units = 1
|
codegen-units = 1
|
||||||
|
|
||||||
[patch.crates-io]
|
|
||||||
opentelemetry = { git = "https://github.com/open-telemetry/opentelemetry-rust", rev = "44b90202fd744598db8b0ace5b8f0bad7ec45658" }
|
|
||||||
|
|||||||
@ -39,6 +39,7 @@ pool_size = 5
|
|||||||
[secrets]
|
[secrets]
|
||||||
admin_api_key = "test_admin"
|
admin_api_key = "test_admin"
|
||||||
jwt_secret = "secret"
|
jwt_secret = "secret"
|
||||||
|
master_enc_key = "73ad7bbbbc640c845a150f67d058b279849370cd2c1f3c67c4dd6c869213e13a"
|
||||||
|
|
||||||
[locker]
|
[locker]
|
||||||
host = ""
|
host = ""
|
||||||
|
|||||||
@ -11,8 +11,8 @@ license = "Apache-2.0"
|
|||||||
config = { version = "0.13.3", features = ["toml"] }
|
config = { version = "0.13.3", features = ["toml"] }
|
||||||
gethostname = "0.4.2"
|
gethostname = "0.4.2"
|
||||||
once_cell = "1.17.1"
|
once_cell = "1.17.1"
|
||||||
opentelemetry = { git = "https://github.com/open-telemetry/opentelemetry-rust/", rev = "44b90202fd744598db8b0ace5b8f0bad7ec45658", features = ["rt-tokio-current-thread", "metrics"] }
|
opentelemetry = { version = "0.19.0", features = ["rt-tokio-current-thread", "metrics"] }
|
||||||
opentelemetry-otlp = { git = "https://github.com/open-telemetry/opentelemetry-rust/", rev = "44b90202fd744598db8b0ace5b8f0bad7ec45658", features = ["metrics"] }
|
opentelemetry-otlp = { version = "0.12.0", features = ["metrics"] }
|
||||||
rustc-hash = "1.1"
|
rustc-hash = "1.1"
|
||||||
serde = { version = "1.0.160", features = ["derive"] }
|
serde = { version = "1.0.160", features = ["derive"] }
|
||||||
serde_json = "1.0.96"
|
serde_json = "1.0.96"
|
||||||
@ -21,10 +21,10 @@ strum = { version = "0.24.1", features = ["derive"] }
|
|||||||
time = { version = "0.3.20", default-features = false, features = ["formatting"] }
|
time = { version = "0.3.20", default-features = false, features = ["formatting"] }
|
||||||
tokio = { version = "1.27.0" }
|
tokio = { version = "1.27.0" }
|
||||||
tracing = { version = "=0.1.36" }
|
tracing = { version = "=0.1.36" }
|
||||||
tracing-actix-web = { version = "0.7.4", features = ["opentelemetry_0_18"], optional = true }
|
tracing-actix-web = { version = "0.7.4", features = ["opentelemetry_0_19"], optional = true }
|
||||||
tracing-appender = { version = "0.2.2" }
|
tracing-appender = { version = "0.2.2" }
|
||||||
tracing-attributes = "=0.1.22"
|
tracing-attributes = "=0.1.22"
|
||||||
tracing-opentelemetry = { version = "0.18.0" }
|
tracing-opentelemetry = { version = "0.19.0" }
|
||||||
tracing-subscriber = { version = "0.3.16", default-features = true, features = ["env-filter", "json", "registry"] }
|
tracing-subscriber = { version = "0.3.16", default-features = true, features = ["env-filter", "json", "registry"] }
|
||||||
vergen = { version = "8.1.1", optional = true, features = ["cargo", "git", "git2", "rustc"] }
|
vergen = { version = "8.1.1", optional = true, features = ["cargo", "git", "git2", "rustc"] }
|
||||||
|
|
||||||
|
|||||||
@ -8,7 +8,9 @@ use opentelemetry::{
|
|||||||
export::metrics::aggregation::cumulative_temporality_selector,
|
export::metrics::aggregation::cumulative_temporality_selector,
|
||||||
metrics::{controllers::BasicController, selectors::simple},
|
metrics::{controllers::BasicController, selectors::simple},
|
||||||
propagation::TraceContextPropagator,
|
propagation::TraceContextPropagator,
|
||||||
trace, Resource,
|
trace,
|
||||||
|
trace::BatchConfig,
|
||||||
|
Resource,
|
||||||
},
|
},
|
||||||
KeyValue,
|
KeyValue,
|
||||||
};
|
};
|
||||||
@ -145,11 +147,16 @@ fn setup_tracing_pipeline(
|
|||||||
if config.use_xray_generator {
|
if config.use_xray_generator {
|
||||||
trace_config = trace_config.with_id_generator(trace::XrayIdGenerator::default());
|
trace_config = trace_config.with_id_generator(trace::XrayIdGenerator::default());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Change the default export interval from 5 seconds to 1 second
|
||||||
|
let batch_config = BatchConfig::default().with_scheduled_delay(Duration::from_millis(1000));
|
||||||
|
|
||||||
let traces_layer_result = opentelemetry_otlp::new_pipeline()
|
let traces_layer_result = opentelemetry_otlp::new_pipeline()
|
||||||
.tracing()
|
.tracing()
|
||||||
.with_exporter(get_opentelemetry_exporter(config))
|
.with_exporter(get_opentelemetry_exporter(config))
|
||||||
|
.with_batch_config(batch_config)
|
||||||
.with_trace_config(trace_config)
|
.with_trace_config(trace_config)
|
||||||
.install_simple()
|
.install_batch(opentelemetry::runtime::TokioCurrentThread)
|
||||||
.map(|tracer| tracing_opentelemetry::layer().with_tracer(tracer));
|
.map(|tracer| tracing_opentelemetry::layer().with_tracer(tracer));
|
||||||
|
|
||||||
if config.ignore_errors {
|
if config.ignore_errors {
|
||||||
|
|||||||
@ -84,7 +84,7 @@ services:
|
|||||||
- POSTGRES_DB=hyperswitch_db
|
- POSTGRES_DB=hyperswitch_db
|
||||||
|
|
||||||
migration_runner:
|
migration_runner:
|
||||||
image: rust:1.65
|
image: rust:1.70
|
||||||
command: "bash -c 'cargo install diesel_cli --no-default-features --features \"postgres\" && diesel migration --database-url postgres://db_user:db_pass@pg:5432/hyperswitch_db run'"
|
command: "bash -c 'cargo install diesel_cli --no-default-features --features \"postgres\" && diesel migration --database-url postgres://db_user:db_pass@pg:5432/hyperswitch_db run'"
|
||||||
working_dir: /app
|
working_dir: /app
|
||||||
networks:
|
networks:
|
||||||
@ -93,7 +93,7 @@ services:
|
|||||||
- ./:/app
|
- ./:/app
|
||||||
|
|
||||||
hyperswitch-server-init:
|
hyperswitch-server-init:
|
||||||
image: rust:1.65
|
image: rust:1.70
|
||||||
command: cargo build --bin router
|
command: cargo build --bin router
|
||||||
working_dir: /app
|
working_dir: /app
|
||||||
networks:
|
networks:
|
||||||
@ -105,7 +105,7 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- CARGO_TARGET_DIR=/cargo_build_cache
|
- CARGO_TARGET_DIR=/cargo_build_cache
|
||||||
hyperswitch-server:
|
hyperswitch-server:
|
||||||
image: rust:1.65
|
image: rust:1.70
|
||||||
command: /cargo_build_cache/debug/router -f ./config/docker_compose.toml
|
command: /cargo_build_cache/debug/router -f ./config/docker_compose.toml
|
||||||
working_dir: /app
|
working_dir: /app
|
||||||
ports:
|
ports:
|
||||||
@ -132,7 +132,7 @@ services:
|
|||||||
condition: service_completed_successfully
|
condition: service_completed_successfully
|
||||||
|
|
||||||
hyperswitch-producer:
|
hyperswitch-producer:
|
||||||
image: rust:1.65
|
image: rust:1.70
|
||||||
command: cargo run --bin scheduler -- -f ./config/docker_compose.toml
|
command: cargo run --bin scheduler -- -f ./config/docker_compose.toml
|
||||||
working_dir: /app
|
working_dir: /app
|
||||||
networks:
|
networks:
|
||||||
@ -153,7 +153,7 @@ services:
|
|||||||
logs: "promtail"
|
logs: "promtail"
|
||||||
|
|
||||||
hyperswitch-consumer:
|
hyperswitch-consumer:
|
||||||
image: rust:1.65
|
image: rust:1.70
|
||||||
command: cargo run --bin scheduler -- -f ./config/docker_compose.toml
|
command: cargo run --bin scheduler -- -f ./config/docker_compose.toml
|
||||||
working_dir: /app
|
working_dir: /app
|
||||||
networks:
|
networks:
|
||||||
@ -270,7 +270,7 @@ services:
|
|||||||
- "4317" # otlp grpc
|
- "4317" # otlp grpc
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
hyperswitch-drainer:
|
hyperswitch-drainer:
|
||||||
image: rust:1.65
|
image: rust:1.70
|
||||||
command: cargo run --bin drainer -- -f ./config/docker_compose.toml
|
command: cargo run --bin drainer -- -f ./config/docker_compose.toml
|
||||||
working_dir: /app
|
working_dir: /app
|
||||||
deploy:
|
deploy:
|
||||||
|
|||||||
Reference in New Issue
Block a user