4444from fastapi .middleware .cors import CORSMiddleware
4545from fastapi .openapi .utils import get_openapi
4646from fastapi .responses import ORJSONResponse , StreamingResponse
47- from opentelemetry import trace
4847from pydantic import BaseModel
4948from starlette .exceptions import HTTPException as StarletteHTTPException
5049
@@ -399,26 +398,24 @@ def stac_collections_item_download(
399398 collection_id : str , item_id : str , request : Request
400399) -> StreamingResponse :
401400 """STAC collection item download"""
402- tracer = trace .get_tracer ("eodag.tracer" )
403- with tracer .start_as_current_span ("server-download" ) as span :
404- trace_id = span .get_span_context ().trace_id
405- timer = telemetry .create_overhead_timer (trace_id )
406- timer .start_global_timer ()
407- logger .debug (f"URL: { request .url } " )
408-
409- arguments = dict (request .query_params )
410- provider = arguments .pop ("provider" , None )
411-
412- response = download_stac_item_by_id_stream (
413- catalogs = [collection_id ], item_id = item_id , provider = provider , ** arguments
414- )
401+ trace_id = telemetry .get_current_trace_id ()
402+ timer = telemetry .create_overhead_timer (trace_id )
403+ timer .start_global_timer ()
404+ logger .debug (f"URL: { request .url } " )
405+
406+ arguments = dict (request .query_params )
407+ provider = arguments .pop ("provider" , None )
408+
409+ response = download_stac_item_by_id_stream (
410+ catalogs = [collection_id ], item_id = item_id , provider = provider , ** arguments
411+ )
415412
416- timer .stop_global_timer ()
417- telemetry .record_request_duration (provider , timer .get_global_time ())
418- telemetry .record_request_overhead_duration (provider , timer .get_overhead_time ())
419- telemetry .delete_overhead_timer (trace_id )
413+ timer .stop_global_timer ()
414+ telemetry .record_request_duration (provider , timer .get_global_time ())
415+ telemetry .record_request_overhead_duration (provider , timer .get_overhead_time ())
416+ telemetry .delete_overhead_timer (trace_id )
420417
421- return response
418+ return response
422419
423420
424421@router .get (
@@ -602,28 +599,26 @@ def stac_catalogs_item_download(
602599 catalogs : str , item_id : str , request : Request
603600) -> StreamingResponse :
604601 """STAC Catalog item download"""
605- tracer = trace .get_tracer ("eodag.tracer" )
606- with tracer .start_as_current_span ("server-download" ) as span :
607- trace_id = span .get_span_context ().trace_id
608- timer = telemetry .create_overhead_timer (trace_id )
609- timer .start_global_timer ()
610- logger .debug (f"URL: { request .url } " )
602+ trace_id = telemetry .get_current_trace_id ()
603+ timer = telemetry .create_overhead_timer (trace_id )
604+ timer .start_global_timer ()
605+ logger .debug (f"URL: { request .url } " )
611606
612- arguments = dict (request .query_params )
613- provider = arguments .pop ("provider" , None )
607+ arguments = dict (request .query_params )
608+ provider = arguments .pop ("provider" , None )
614609
615- list_catalog = catalogs .strip ("/" ).split ("/" )
610+ list_catalog = catalogs .strip ("/" ).split ("/" )
616611
617- response = download_stac_item_by_id_stream (
618- catalogs = list_catalog , item_id = item_id , provider = provider , ** arguments
619- )
612+ response = download_stac_item_by_id_stream (
613+ catalogs = list_catalog , item_id = item_id , provider = provider , ** arguments
614+ )
620615
621- timer .stop_global_timer ()
622- telemetry .record_request_duration (provider , timer .get_global_time ())
623- telemetry .record_request_overhead_duration (provider , timer .get_overhead_time ())
624- telemetry .delete_overhead_timer (trace_id )
616+ timer .stop_global_timer ()
617+ telemetry .record_request_duration (provider , timer .get_global_time ())
618+ telemetry .record_request_overhead_duration (provider , timer .get_overhead_time ())
619+ telemetry .delete_overhead_timer (trace_id )
625620
626- return response
621+ return response
627622
628623
629624@router .get (
@@ -774,16 +769,14 @@ def stac_search(
774769 request : Request , search_body : Optional [SearchBody ] = None
775770) -> ORJSONResponse :
776771 """STAC collections items"""
777- tracer = trace .get_tracer ("eodag.tracer" )
778- with tracer .start_as_current_span ("server-search" ) as span :
779- trace_id = span .get_span_context ().trace_id
780- timer = telemetry .create_overhead_timer (trace_id )
781- timer .start_global_timer ()
782- logger .debug (f"URL: { request .url } " )
783- logger .debug (f"Body: { search_body } " )
772+ trace_id = telemetry .get_current_trace_id ()
773+ timer = telemetry .create_overhead_timer (trace_id )
774+ timer .start_global_timer ()
775+ logger .debug (f"URL: { request .url } " )
776+ logger .debug (f"Body: { search_body } " )
784777
785- url = request .state .url
786- url_root = request .state .url_root
778+ url = request .state .url
779+ url_root = request .state .url_root
787780
788781 if search_body is None :
789782 body = {}
@@ -792,29 +785,29 @@ def stac_search(
792785 if body ["sortby" ] is not None :
793786 body ["sortby" ] = convert_sortby_to_get_format (body ["sortby" ])
794787
795- arguments = dict (request .query_params , ** body )
796- provider = arguments .pop ("provider" , None )
788+ arguments = dict (request .query_params , ** body )
789+ provider = arguments .pop ("provider" , None )
797790
798- # metrics
799- args_collections = arguments .get ("collections" , None )
800- product_type = args_collections .split ("," )[0 ] if args_collections else None
801- telemetry .record_searched_product_type (product_type )
791+ # metrics
792+ args_collections = arguments .get ("collections" , None )
793+ product_type = args_collections .split ("," )[0 ] if args_collections else None
794+ telemetry .record_searched_product_type (product_type )
802795
803- response = search_stac_items (
804- url = url ,
805- arguments = arguments ,
806- root = url_root ,
807- provider = provider ,
808- method = request .method ,
809- )
810- resp = ORJSONResponse (
811- content = response , status_code = 200 , media_type = "application/json"
812- )
813- timer .stop_global_timer ()
814- telemetry .record_request_duration (provider , timer .get_global_time ())
815- telemetry .record_request_overhead_duration (provider , timer .get_overhead_time ())
816- telemetry .delete_overhead_timer (trace_id )
817- return resp
796+ response = search_stac_items (
797+ url = url ,
798+ arguments = arguments ,
799+ root = url_root ,
800+ provider = provider ,
801+ method = request .method ,
802+ )
803+ resp = ORJSONResponse (
804+ content = response , status_code = 200 , media_type = "application/json"
805+ )
806+ timer .stop_global_timer ()
807+ telemetry .record_request_duration (provider , timer .get_global_time ())
808+ telemetry .record_request_overhead_duration (provider , timer .get_overhead_time ())
809+ telemetry .delete_overhead_timer (trace_id )
810+ return resp
818811
819812
820813app .include_router (router )
0 commit comments