Coverage for webapp/observability/utils.py: 91%

11 statements  

« prev     ^ index     » next       coverage.py v7.9.1, created at 2025-06-27 22:07 +0000

1import functools 

2from opentelemetry import trace 

3 

4tracer = trace.get_tracer(__name__) 

5 

6 

7def trace_function(fn): 

8 """Decorator to trace function calls.""" 

9 

10 @functools.wraps(fn) 

11 def wrapper(*args, **kwargs): 

12 with tracer.start_as_current_span(fn.__name__): 

13 return fn(*args, **kwargs) 

14 

15 return wrapper 

16 

17 

18def start_span(span_name): 

19 return tracer.start_as_current_span(span_name)