mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-28 20:23:43 +08:00
fix(router_env): fix opentelemetry traces for router_env (#201)
Co-authored-by: Nishant Joshi <nishant.joshi@juspay.in>
This commit is contained in:
2
Cargo.lock
generated
2
Cargo.lock
generated
@ -2817,6 +2817,8 @@ dependencies = [
|
||||
"tracing",
|
||||
"tracing-actix-web",
|
||||
"tracing-appender",
|
||||
"tracing-attributes",
|
||||
"tracing-opentelemetry",
|
||||
"tracing-subscriber",
|
||||
"vergen",
|
||||
]
|
||||
|
||||
@ -21,7 +21,7 @@ use fred::{
|
||||
},
|
||||
};
|
||||
use futures::StreamExt;
|
||||
use router_env::{logger, tracing, tracing::instrument};
|
||||
use router_env::{instrument, logger, tracing};
|
||||
|
||||
use crate::{
|
||||
errors,
|
||||
|
||||
@ -2,7 +2,7 @@ pub mod types;
|
||||
|
||||
use actix_web::{delete, get, post, web, HttpRequest, HttpResponse};
|
||||
use error_stack::report;
|
||||
use router_env::{tracing, tracing::instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
|
||||
use crate::{
|
||||
compatibility::{stripe::errors, wrap},
|
||||
|
||||
@ -3,7 +3,7 @@ pub mod types;
|
||||
use actix_web::{get, post, web, HttpRequest, HttpResponse};
|
||||
use api_models::payments as payment_types;
|
||||
use error_stack::report;
|
||||
use router_env::{tracing, tracing::instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
|
||||
use crate::{
|
||||
compatibility::{stripe::errors, wrap},
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
pub mod types;
|
||||
|
||||
use actix_web::{get, post, web, HttpRequest, HttpResponse};
|
||||
use router_env::{tracing, tracing::instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
|
||||
use crate::{
|
||||
compatibility::{stripe::errors, wrap},
|
||||
|
||||
@ -3,7 +3,7 @@ pub mod types;
|
||||
use actix_web::{get, post, web, HttpRequest, HttpResponse};
|
||||
use api_models::payments as payment_types;
|
||||
use error_stack::report;
|
||||
use router_env::{tracing, tracing::instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
|
||||
use crate::{
|
||||
compatibility::{stripe::errors, wrap},
|
||||
|
||||
@ -2,7 +2,7 @@ use std::future::Future;
|
||||
|
||||
use actix_web::{HttpRequest, HttpResponse, Responder};
|
||||
use error_stack::report;
|
||||
use router_env::{tracing, tracing::instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
use serde::Serialize;
|
||||
|
||||
use crate::{
|
||||
|
||||
@ -4,7 +4,7 @@ use std::fmt::Debug;
|
||||
|
||||
use bytes::Bytes;
|
||||
use error_stack::{IntoReport, ResultExt};
|
||||
use router_env::{tracing, tracing::instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
|
||||
use self::transformers as adyen;
|
||||
use crate::{
|
||||
|
||||
@ -4,7 +4,7 @@ use std::{collections::HashMap, fmt::Debug};
|
||||
|
||||
use bytes::Bytes;
|
||||
use error_stack::{IntoReport, ResultExt};
|
||||
use router_env::{tracing, tracing::instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
|
||||
use self::transformers as stripe;
|
||||
use crate::{
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
use common_utils::ext_traits::ValueExt;
|
||||
use error_stack::ResultExt;
|
||||
use router_env::{tracing, tracing::instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
|
||||
use crate::{
|
||||
core::{
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
use error_stack::{report, ResultExt};
|
||||
use router_env::{logger, tracing, tracing::instrument};
|
||||
use router_env::{instrument, logger, tracing};
|
||||
use storage_models::enums as storage_enums;
|
||||
|
||||
use super::payments::helpers;
|
||||
|
||||
@ -2,7 +2,7 @@ use std::collections;
|
||||
|
||||
use common_utils::{consts, generate_id};
|
||||
use error_stack::{report, ResultExt};
|
||||
use router_env::{tracing, tracing::instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
|
||||
use crate::{
|
||||
configs::settings,
|
||||
|
||||
@ -8,7 +8,7 @@ use std::{fmt::Debug, marker::PhantomData, time::Instant};
|
||||
use common_utils::ext_traits::AsyncExt;
|
||||
use error_stack::{IntoReport, ResultExt};
|
||||
use futures::future::join_all;
|
||||
use router_env::{tracing, tracing::instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
use time;
|
||||
|
||||
pub use self::operations::{
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
pub mod validator;
|
||||
|
||||
use error_stack::{report, IntoReport, ResultExt};
|
||||
use router_env::tracing::{self, instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
use uuid::Uuid;
|
||||
|
||||
use crate::{
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
use error_stack::report;
|
||||
use router_env::{tracing, tracing::instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
use time::PrimitiveDateTime;
|
||||
|
||||
use crate::{
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
use std::marker::PhantomData;
|
||||
|
||||
use error_stack::ResultExt;
|
||||
use router_env::tracing::{self, instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
|
||||
use super::payments::{helpers, PaymentAddress};
|
||||
use crate::{
|
||||
|
||||
@ -3,7 +3,7 @@ pub mod utils;
|
||||
|
||||
use error_stack::{IntoReport, ResultExt};
|
||||
use masking::ExposeInterface;
|
||||
use router_env::tracing::{self, instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
|
||||
use crate::{
|
||||
consts,
|
||||
|
||||
@ -1,8 +1,5 @@
|
||||
use actix_web::{web, HttpRequest, HttpResponse};
|
||||
use router_env::{
|
||||
tracing::{self, instrument},
|
||||
Flow,
|
||||
};
|
||||
use router_env::{instrument, tracing, Flow};
|
||||
|
||||
use super::app::AppState;
|
||||
use crate::{core::admin::*, services::api, types::api::admin};
|
||||
|
||||
@ -1,8 +1,5 @@
|
||||
use actix_web::{web, HttpRequest, HttpResponse, Responder};
|
||||
use router_env::{
|
||||
tracing::{self, instrument},
|
||||
Flow,
|
||||
};
|
||||
use router_env::{instrument, tracing, Flow};
|
||||
|
||||
use super::app::AppState;
|
||||
use crate::{
|
||||
|
||||
@ -1,8 +1,5 @@
|
||||
use actix_web::{web, HttpRequest, HttpResponse};
|
||||
use router_env::{
|
||||
tracing::{self, instrument},
|
||||
Flow,
|
||||
};
|
||||
use router_env::{instrument, tracing, Flow};
|
||||
|
||||
use super::AppState;
|
||||
use crate::{core::payments::helpers, services::api, types::api::customers};
|
||||
|
||||
@ -1,7 +1,4 @@
|
||||
use router_env::{
|
||||
logger,
|
||||
tracing::{self, instrument},
|
||||
};
|
||||
use router_env::{instrument, logger, tracing};
|
||||
|
||||
use crate::routes::metrics;
|
||||
|
||||
|
||||
@ -1,8 +1,5 @@
|
||||
use actix_web::{web, HttpRequest, HttpResponse};
|
||||
use router_env::{
|
||||
tracing::{self, instrument},
|
||||
Flow,
|
||||
};
|
||||
use router_env::{instrument, tracing, Flow};
|
||||
|
||||
use super::app::AppState;
|
||||
use crate::{core::mandate, services::api, types::api::mandates};
|
||||
|
||||
@ -1,8 +1,5 @@
|
||||
use actix_web::{web, HttpRequest, HttpResponse};
|
||||
use router_env::{
|
||||
tracing::{self, instrument},
|
||||
Flow,
|
||||
};
|
||||
use router_env::{instrument, tracing, Flow};
|
||||
|
||||
use super::app::AppState;
|
||||
use crate::{
|
||||
|
||||
@ -2,10 +2,7 @@ use std::borrow::Cow;
|
||||
|
||||
use actix_web::{web, Responder};
|
||||
use error_stack::report;
|
||||
use router_env::{
|
||||
tracing::{self, instrument},
|
||||
Flow,
|
||||
};
|
||||
use router_env::{instrument, tracing, Flow};
|
||||
|
||||
use crate::{
|
||||
self as app,
|
||||
|
||||
@ -2,10 +2,7 @@ use actix_web::{
|
||||
body::{BoxBody, MessageBody},
|
||||
HttpResponse, Responder,
|
||||
};
|
||||
use router_env::{
|
||||
tracing::{self, instrument},
|
||||
Flow,
|
||||
};
|
||||
use router_env::{instrument, tracing, Flow};
|
||||
|
||||
#[instrument(skip_all, fields(flow = ?Flow::PayoutsCreate))]
|
||||
// #[post("/create")]
|
||||
|
||||
@ -1,8 +1,5 @@
|
||||
use actix_web::{web, HttpRequest, HttpResponse};
|
||||
use router_env::{
|
||||
tracing::{self, instrument},
|
||||
Flow,
|
||||
};
|
||||
use router_env::{instrument, tracing, Flow};
|
||||
|
||||
use super::app::AppState;
|
||||
use crate::{core::refunds::*, services::api, types::api::refunds};
|
||||
|
||||
@ -1,8 +1,5 @@
|
||||
use actix_web::{web, HttpRequest, Responder};
|
||||
use router_env::{
|
||||
tracing::{self, instrument},
|
||||
Flow,
|
||||
};
|
||||
use router_env::{instrument, tracing, Flow};
|
||||
|
||||
use super::app::AppState;
|
||||
use crate::{core::webhooks, services::api};
|
||||
|
||||
@ -8,7 +8,7 @@ use std::{
|
||||
use error_stack::ResultExt;
|
||||
use futures::future;
|
||||
use redis_interface::{RedisConnectionPool, RedisEntryId};
|
||||
use router_env::{tracing, tracing::instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
use time::PrimitiveDateTime;
|
||||
use uuid::Uuid;
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
use std::sync::Arc;
|
||||
|
||||
use error_stack::{report, ResultExt};
|
||||
use router_env::{tracing, tracing::instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
use time::Duration;
|
||||
|
||||
use super::metrics;
|
||||
|
||||
@ -7,10 +7,7 @@ use actix_web::{body, HttpRequest, HttpResponse, Responder};
|
||||
use bytes::Bytes;
|
||||
use error_stack::{report, IntoReport, Report, ResultExt};
|
||||
use masking::ExposeOptionInterface;
|
||||
use router_env::{
|
||||
tracing::{self, instrument},
|
||||
Tag,
|
||||
};
|
||||
use router_env::{instrument, tracing, Tag};
|
||||
use serde::Serialize;
|
||||
|
||||
use self::request::{ContentType, HeaderExt, RequestBuilderExt};
|
||||
|
||||
@ -2,7 +2,7 @@ use std::{collections, str::FromStr};
|
||||
|
||||
use error_stack::{IntoReport, ResultExt};
|
||||
use masking::Secret;
|
||||
use router_env::{tracing, tracing::instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
use async_bb8_diesel::AsyncRunQueryDsl;
|
||||
use diesel::{associations::HasTable, ExpressionMethods, QueryDsl};
|
||||
use error_stack::{IntoReport, ResultExt};
|
||||
use router_env::tracing::{self, instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
pub use storage_models::{
|
||||
errors,
|
||||
payment_intent::{
|
||||
|
||||
@ -21,10 +21,12 @@ serde_path_to_error = "0.1.8"
|
||||
strum = { version = "0.24.1", features = ["derive"] }
|
||||
time = { version = "0.3.17", default-features = false, features = ["formatting"] }
|
||||
tokio = { version = "1.23.0" }
|
||||
tracing = "0.1.36"
|
||||
tracing = { version = "0.1.36" }
|
||||
tracing-actix-web = { version = "0.6.1", features = ["opentelemetry_0_18"], optional = true }
|
||||
tracing-appender = "0.2.2"
|
||||
tracing-appender = { version = "0.2.2" }
|
||||
tracing-attributes = "=0.1.22"
|
||||
tracing-subscriber = { version = "0.3.15", default-features = true, features = ["json", "env-filter", "registry"] }
|
||||
tracing-opentelemetry = { version = "0.18.0" }
|
||||
vergen = { version = "7.4.3", optional = true }
|
||||
|
||||
[dev-dependencies]
|
||||
|
||||
@ -2,7 +2,8 @@
|
||||
//! Logger of the system.
|
||||
//!
|
||||
|
||||
pub use tracing::{debug, error, event as log, info, instrument, warn};
|
||||
pub use tracing::{debug, error, event as log, info, warn};
|
||||
pub use tracing_attributes::instrument;
|
||||
|
||||
pub mod config;
|
||||
pub use crate::config::Config;
|
||||
|
||||
@ -16,9 +16,7 @@ use opentelemetry::{
|
||||
};
|
||||
use opentelemetry_otlp::WithExportConfig;
|
||||
use tracing_appender::non_blocking::WorkerGuard;
|
||||
use tracing_subscriber::{
|
||||
filter, fmt, layer::SubscriberExt, util::SubscriberInitExt, EnvFilter, Layer,
|
||||
};
|
||||
use tracing_subscriber::{filter, fmt, prelude::*, util::SubscriberInitExt, EnvFilter, Layer};
|
||||
|
||||
use crate::{config, FormattingLayer, Level, StorageSubscription};
|
||||
|
||||
@ -72,8 +70,14 @@ pub fn setup<Str: AsRef<str>>(
|
||||
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
|
||||
let subscriber = tracing_subscriber::registry()
|
||||
.with(telemetry_layer)
|
||||
.with(StorageSubscription)
|
||||
.with(file_writer)
|
||||
.with(
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
use diesel::{associations::HasTable, BoolExpressionMethods, ExpressionMethods};
|
||||
use router_env::{tracing, tracing::instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
|
||||
use super::generics;
|
||||
use crate::{
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
use diesel::associations::HasTable;
|
||||
use router_env::tracing::{self, instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
|
||||
use super::generics;
|
||||
use crate::{
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
use diesel::{associations::HasTable, BoolExpressionMethods, ExpressionMethods};
|
||||
use router_env::{tracing, tracing::instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
|
||||
use super::generics;
|
||||
use crate::{
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
use diesel::{associations::HasTable, BoolExpressionMethods, ExpressionMethods};
|
||||
use router_env::{tracing, tracing::instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
|
||||
use super::generics;
|
||||
use crate::{
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
use router_env::tracing::{self, instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
|
||||
use super::generics;
|
||||
use crate::{
|
||||
|
||||
@ -19,7 +19,7 @@ use diesel::{
|
||||
Insertable, QuerySource, Table,
|
||||
};
|
||||
use error_stack::{report, IntoReport, ResultExt};
|
||||
use router_env::{logger, tracing, tracing::instrument};
|
||||
use router_env::{instrument, logger, tracing};
|
||||
|
||||
use crate::{errors, PgPooledConn, StorageResult};
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
use diesel::{associations::HasTable, ExpressionMethods};
|
||||
use router_env::{tracing, tracing::instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
|
||||
use super::generics;
|
||||
use crate::{
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
use diesel::{associations::HasTable, BoolExpressionMethods, ExpressionMethods};
|
||||
use error_stack::report;
|
||||
use router_env::tracing::{self, instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
|
||||
use super::generics;
|
||||
use crate::{errors, mandate::*, schema::mandate::dsl, PgPooledConn, StorageResult};
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
use diesel::{associations::HasTable, ExpressionMethods};
|
||||
use router_env::tracing::{self, instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
|
||||
use super::generics;
|
||||
use crate::{
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
use diesel::{associations::HasTable, BoolExpressionMethods, ExpressionMethods};
|
||||
use router_env::tracing::{self, instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
|
||||
use super::generics;
|
||||
use crate::{
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
use diesel::{associations::HasTable, BoolExpressionMethods, ExpressionMethods};
|
||||
use error_stack::IntoReport;
|
||||
use router_env::tracing::{self, instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
|
||||
use super::generics;
|
||||
use crate::{
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
use diesel::{associations::HasTable, BoolExpressionMethods, ExpressionMethods};
|
||||
use router_env::tracing::{self, instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
|
||||
use super::generics;
|
||||
use crate::{
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
use diesel::{associations::HasTable, BoolExpressionMethods, ExpressionMethods};
|
||||
use router_env::tracing::{self, instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
|
||||
use super::generics;
|
||||
use crate::{
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
use diesel::{associations::HasTable, BoolExpressionMethods, ExpressionMethods};
|
||||
use router_env::tracing::{self, instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
use time::PrimitiveDateTime;
|
||||
|
||||
use super::generics;
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
use diesel::{associations::HasTable, BoolExpressionMethods, ExpressionMethods};
|
||||
use router_env::{tracing, tracing::instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
|
||||
use super::generics;
|
||||
use crate::{
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
use diesel::{associations::HasTable, ExpressionMethods};
|
||||
use router_env::{tracing, tracing::instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
|
||||
use super::generics;
|
||||
use crate::{
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
use diesel::{associations::HasTable, ExpressionMethods};
|
||||
use router_env::tracing::{self, instrument};
|
||||
use router_env::{instrument, tracing};
|
||||
|
||||
use super::generics;
|
||||
use crate::{
|
||||
|
||||
@ -4,6 +4,8 @@ volumes:
|
||||
cargo_cache:
|
||||
pg_data:
|
||||
cargo_build_cache:
|
||||
p_cargo_build_cache:
|
||||
c_cargo_build_cache:
|
||||
|
||||
networks:
|
||||
router_net:
|
||||
@ -98,6 +100,41 @@ services:
|
||||
start_period: 20s
|
||||
timeout: 10s
|
||||
|
||||
orca-producer:
|
||||
image: rust:1.65
|
||||
command: cargo run --bin scheduler -- -f ./config/docker_compose.toml
|
||||
working_dir: /app
|
||||
networks:
|
||||
- router_net
|
||||
volumes:
|
||||
- ./:/app
|
||||
- cargo_cache:/cargo_cache
|
||||
- p_cargo_build_cache:/cargo_build_cache
|
||||
environment:
|
||||
- CARGO_TARGET_DIR=/cargo_build_cache
|
||||
- OTEL_EXPORTER_OTLP_ENDPOINT=https://otel-collector:4317
|
||||
- SCHEDULER_FLOW=producer
|
||||
labels:
|
||||
logs: "promtail"
|
||||
|
||||
orca-consumer:
|
||||
image: rust:1.65
|
||||
command: cargo run --bin scheduler -- -f ./config/docker_compose.toml
|
||||
working_dir: /app
|
||||
networks:
|
||||
- router_net
|
||||
volumes:
|
||||
- ./:/app
|
||||
- cargo_cache:/cargo_cache
|
||||
- c_cargo_build_cache:/cargo_build_cache
|
||||
environment:
|
||||
- CARGO_TARGET_DIR=/cargo_build_cache
|
||||
- OTEL_EXPORTER_OTLP_ENDPOINT=https://otel-collector:4317
|
||||
- SCHEDULER_FLOW=consumer
|
||||
labels:
|
||||
logs: "promtail"
|
||||
|
||||
|
||||
redis-queue:
|
||||
image: redis:7
|
||||
deploy:
|
||||
|
||||
Reference in New Issue
Block a user