collab: Record geoip_country_code
on HTTP request spans (#17092)
This PR attaches the `geoip_country_code` that we source from Cloudflare's `CF-IPCountry` header to the HTTP request spans. This will allow us to see where traffic is originating geographically. Release Notes: - N/A
This commit is contained in:
parent
4d6bb52d1f
commit
4f408ec65a
1 changed files with 8 additions and 0 deletions
|
@ -1,10 +1,12 @@
|
|||
use anyhow::anyhow;
|
||||
use axum::headers::HeaderMapExt;
|
||||
use axum::{
|
||||
extract::MatchedPath,
|
||||
http::{Request, Response},
|
||||
routing::get,
|
||||
Extension, Router,
|
||||
};
|
||||
use collab::api::CloudflareIpCountryHeader;
|
||||
use collab::llm::{db::LlmDatabase, log_usage_periodically};
|
||||
use collab::migrations::run_database_migrations;
|
||||
use collab::user_backfiller::spawn_user_backfiller;
|
||||
|
@ -150,10 +152,16 @@ async fn main() -> Result<()> {
|
|||
.get::<MatchedPath>()
|
||||
.map(MatchedPath::as_str);
|
||||
|
||||
let geoip_country_code = request
|
||||
.headers()
|
||||
.typed_get::<CloudflareIpCountryHeader>()
|
||||
.map(|header| header.to_string());
|
||||
|
||||
tracing::info_span!(
|
||||
"http_request",
|
||||
method = ?request.method(),
|
||||
matched_path,
|
||||
geoip_country_code,
|
||||
user_id = tracing::field::Empty,
|
||||
login = tracing::field::Empty,
|
||||
authn.jti = tracing::field::Empty,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue