Get Otel span from the request
This commit is contained in:
13
src/files.rs
13
src/files.rs
@@ -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()),
|
||||
|
||||
Reference in New Issue
Block a user