mirror of
				https://github.com/juspay/hyperswitch.git
				synced 2025-10-31 18:17:13 +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
	 Ashok
					Ashok