Get Otel span from the request

This commit is contained in:
Cameron
2025-05-23 18:24:54 -04:00
parent d37deb36fe
commit 785ce157e6
3 changed files with 53 additions and 14 deletions

View File

@@ -10,10 +10,7 @@ use actix::{Handler, Message};
use anyhow::{anyhow, Context};
use actix_web::web::Data;
use actix_web::{
web::{self, Query},
HttpResponse,
};
use actix_web::{web::{self, Query}, HttpRequest, HttpResponse};
use log::{debug, error, info, trace};
use opentelemetry::KeyValue;
use opentelemetry::trace::{Span, Status, Tracer};
@@ -28,10 +25,11 @@ use path_absolutize::*;
use rand::prelude::SliceRandom;
use rand::thread_rng;
use serde::Deserialize;
use crate::otel::global_tracer;
use crate::otel::{extract_context_from_request, global_tracer};
pub async fn list_photos<TagD: TagDao, FS: FileSystemAccess>(
_: Claims,
request: HttpRequest,
req: Query<FilesRequest>,
app_state: web::Data<AppState>,
file_system: web::Data<FS>,
@@ -40,7 +38,8 @@ pub async fn list_photos<TagD: TagDao, FS: FileSystemAccess>(
let search_path = &req.path;
let tracer = global_tracer();
let mut span = tracer.start("list_photos");
let context = extract_context_from_request(&request);
let mut span = tracer.start_with_context("list_photos", &context);
span.set_attribute(KeyValue::new("path", search_path.to_string()));
let search_recursively = req.recursive.unwrap_or(false);
@@ -547,6 +546,7 @@ mod tests {
let response = list_photos(
claims,
HttpRequest::default(),
request,
Data::new(AppState::new(
Arc::new(StreamActor {}.start()),
@@ -594,6 +594,7 @@ mod tests {
let response: HttpResponse = list_photos(
claims,
HttpRequest::default(),
request,
Data::new(AppState::new(
Arc::new(StreamActor {}.start()),