Add tracing

This commit is contained in:
2025-02-28 19:26:16 +01:00
parent f6df6c7c56
commit 82f5cb4513
4 changed files with 116 additions and 2 deletions

106
Cargo.lock generated
View File

@@ -1082,6 +1082,12 @@ dependencies = [
"wasm-bindgen",
]
[[package]]
name = "lazy_static"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
[[package]]
name = "libc"
version = "0.2.170"
@@ -1177,6 +1183,16 @@ dependencies = [
"tempfile",
]
[[package]]
name = "nu-ansi-term"
version = "0.46.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
dependencies = [
"overload",
"winapi",
]
[[package]]
name = "num-traits"
version = "0.2.19"
@@ -1245,6 +1261,12 @@ dependencies = [
"vcpkg",
]
[[package]]
name = "overload"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
[[package]]
name = "percent-encoding"
version = "2.3.1"
@@ -1711,6 +1733,15 @@ dependencies = [
"digest",
]
[[package]]
name = "sharded-slab"
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
dependencies = [
"lazy_static",
]
[[package]]
name = "shlex"
version = "1.3.0"
@@ -1884,6 +1915,9 @@ dependencies = [
"retainer",
"teloxide",
"tokio",
"tower-http 0.6.2",
"tracing",
"tracing-subscriber",
"twitch_api",
"twitch_oauth2",
]
@@ -1914,7 +1948,7 @@ dependencies = [
"tokio-stream",
"tokio-util",
"tower 0.4.13",
"tower-http",
"tower-http 0.5.2",
"url",
]
@@ -1995,6 +2029,16 @@ dependencies = [
"syn 2.0.98",
]
[[package]]
name = "thread_local"
version = "1.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
dependencies = [
"cfg-if",
"once_cell",
]
[[package]]
name = "tinystr"
version = "0.7.6"
@@ -2121,6 +2165,22 @@ dependencies = [
"tracing",
]
[[package]]
name = "tower-http"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "403fa3b783d4b626a8ad51d766ab03cb6d2dbfc46b1c5d4448395e6628dc9697"
dependencies = [
"bitflags 2.8.0",
"bytes",
"http 1.2.0",
"http-body 1.0.1",
"pin-project-lite",
"tower-layer",
"tower-service",
"tracing",
]
[[package]]
name = "tower-layer"
version = "0.3.3"
@@ -2141,9 +2201,21 @@ checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0"
dependencies = [
"log",
"pin-project-lite",
"tracing-attributes",
"tracing-core",
]
[[package]]
name = "tracing-attributes"
version = "0.1.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.98",
]
[[package]]
name = "tracing-core"
version = "0.1.33"
@@ -2151,6 +2223,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c"
dependencies = [
"once_cell",
"valuable",
]
[[package]]
name = "tracing-log"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
dependencies = [
"log",
"once_cell",
"tracing-core",
]
[[package]]
name = "tracing-subscriber"
version = "0.3.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008"
dependencies = [
"nu-ansi-term",
"sharded-slab",
"smallvec",
"thread_local",
"tracing-core",
"tracing-log",
]
[[package]]
@@ -2276,6 +2374,12 @@ dependencies = [
"getrandom 0.3.1",
]
[[package]]
name = "valuable"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65"
[[package]]
name = "vcpkg"
version = "0.2.15"

View File

@@ -15,8 +15,12 @@ twitch_api = { version = "0.7.0", features = ["reqwest", "helix", "eventsub", "h
twitch_oauth2 = "0.15.1"
axum = { version = "0.8.1", features = ["http2"] }
tower-http = { version = "0.6.2", features = ["trace"] }
http-body-util = "0.1.2"
retainer = "0.3.0"
reqwest = "0.12.12"
tracing = "0.1.37"
tracing-subscriber = "0.3.16"

View File

@@ -11,6 +11,10 @@ use twitch_webhook::start_twitch_webhook;
#[tokio::main]
async fn main() {
tracing_subscriber::fmt()
.with_max_level(tracing::Level::DEBUG)
.init();
let subscription_manager = Arc::new(SubscriptionManager::new());
subscription_manager.init().await;

View File

@@ -11,6 +11,7 @@ use eyre::{Context, ContextCompat};
use futures::TryStreamExt as _;
use http_body_util::BodyExt as _;
use tokio::{net::TcpListener, sync::RwLock};
use tower_http::trace::TraceLayer;
use twitch_api::{
HelixClient,
client::ClientDefault,
@@ -183,7 +184,8 @@ impl TwitchWebhookServer {
"/twitch/eventsub/",
post(move |cache, request| twitch_eventsub(cache, request)),
)
.layer(Extension(retainer));
.layer(Extension(retainer))
.layer(TraceLayer::new_for_http());
let address = SocketAddr::new([0, 0, 0, 0].into(), CONFIG.twitch_webhook_port);