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 anyhow::anyhow;
|
||||||
|
use axum::headers::HeaderMapExt;
|
||||||
use axum::{
|
use axum::{
|
||||||
extract::MatchedPath,
|
extract::MatchedPath,
|
||||||
http::{Request, Response},
|
http::{Request, Response},
|
||||||
routing::get,
|
routing::get,
|
||||||
Extension, Router,
|
Extension, Router,
|
||||||
};
|
};
|
||||||
|
use collab::api::CloudflareIpCountryHeader;
|
||||||
use collab::llm::{db::LlmDatabase, log_usage_periodically};
|
use collab::llm::{db::LlmDatabase, log_usage_periodically};
|
||||||
use collab::migrations::run_database_migrations;
|
use collab::migrations::run_database_migrations;
|
||||||
use collab::user_backfiller::spawn_user_backfiller;
|
use collab::user_backfiller::spawn_user_backfiller;
|
||||||
|
@ -150,10 +152,16 @@ async fn main() -> Result<()> {
|
||||||
.get::<MatchedPath>()
|
.get::<MatchedPath>()
|
||||||
.map(MatchedPath::as_str);
|
.map(MatchedPath::as_str);
|
||||||
|
|
||||||
|
let geoip_country_code = request
|
||||||
|
.headers()
|
||||||
|
.typed_get::<CloudflareIpCountryHeader>()
|
||||||
|
.map(|header| header.to_string());
|
||||||
|
|
||||||
tracing::info_span!(
|
tracing::info_span!(
|
||||||
"http_request",
|
"http_request",
|
||||||
method = ?request.method(),
|
method = ?request.method(),
|
||||||
matched_path,
|
matched_path,
|
||||||
|
geoip_country_code,
|
||||||
user_id = tracing::field::Empty,
|
user_id = tracing::field::Empty,
|
||||||
login = tracing::field::Empty,
|
login = tracing::field::Empty,
|
||||||
authn.jti = tracing::field::Empty,
|
authn.jti = tracing::field::Empty,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue