Skip to content

Commit 0cb8463

Browse files
committed
add functional xray provider
1 parent 61f5757 commit 0cb8463

File tree

2 files changed

+14
-8
lines changed

2 files changed

+14
-8
lines changed

aws_lambda_powertools/tracing/provider/xray_tracer.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from contextlib import contextmanager
44
from numbers import Number
5-
from typing import Generator
5+
from typing import Generator, Sequence
66

77
from ...shared import constants
88
from ...shared.lazy_import import LazyLoader
@@ -50,12 +50,18 @@ def trace(self, name: str) -> Generator[XraySpan, None, None]:
5050
yield XraySpan(subsegment=sub_segment)
5151

5252
@contextmanager
53-
def trace_async(self, name: str) -> Generator[XraySpan, None, None]:
54-
with self.in_subsegment_async(name=name) as sub_segment:
53+
async def trace_async(self, name: str) -> Generator[XraySpan, None, None]:
54+
async with self.in_subsegment_async(name=name) as sub_segment:
5555
yield XraySpan(subsegment=sub_segment)
5656

5757
def set_attribute(self, key: str, value: str | Number | bool, **kwargs) -> None:
5858
if kwargs.get("namespace", "") != "":
5959
self.put_metadata(key=key, value=value, namespace=kwargs["namespace"])
6060
else:
6161
self.put_annotation(key=key, value=value)
62+
63+
def patch(self, modules: Sequence[str]) -> None:
64+
pass
65+
66+
def patch_all(self) -> None:
67+
pass

aws_lambda_powertools/tracing/tracer.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ def handler(event, context):
308308

309309
@functools.wraps(lambda_handler)
310310
def decorate(event, context, **kwargs):
311-
with self.provider.in_subsegment(name=f"## {lambda_handler_name}") as subsegment:
311+
with self.provider.trace(name=f"## {lambda_handler_name}") as subsegment:
312312
try:
313313
logger.debug("Calling lambda handler")
314314
response = lambda_handler(event, context, **kwargs)
@@ -573,7 +573,7 @@ def _decorate_async_function(
573573
):
574574
@functools.wraps(method)
575575
async def decorate(*args, **kwargs):
576-
async with self.provider.in_subsegment_async(name=f"## {method_name}") as subsegment:
576+
async with self.provider.trace_async(name=f"## {method_name}") as subsegment:
577577
try:
578578
logger.debug(f"Calling method: {method_name}")
579579
response = await method(*args, **kwargs)
@@ -606,7 +606,7 @@ def _decorate_generator_function(
606606
):
607607
@functools.wraps(method)
608608
def decorate(*args, **kwargs):
609-
with self.provider.in_subsegment(name=f"## {method_name}") as subsegment:
609+
with self.provider.trace(name=f"## {method_name}") as subsegment:
610610
try:
611611
logger.debug(f"Calling method: {method_name}")
612612
result = yield from method(*args, **kwargs)
@@ -640,7 +640,7 @@ def _decorate_generator_function_with_context_manager(
640640
@functools.wraps(method)
641641
@contextlib.contextmanager
642642
def decorate(*args, **kwargs):
643-
with self.provider.in_subsegment(name=f"## {method_name}") as subsegment:
643+
with self.provider.trace(name=f"## {method_name}") as subsegment:
644644
try:
645645
logger.debug(f"Calling method: {method_name}")
646646
with method(*args, **kwargs) as return_val:
@@ -673,7 +673,7 @@ def _decorate_sync_function(
673673
) -> AnyCallableT:
674674
@functools.wraps(method)
675675
def decorate(*args, **kwargs):
676-
with self.provider.in_subsegment(name=f"## {method_name}") as subsegment:
676+
with self.provider.trace(name=f"## {method_name}") as subsegment:
677677
try:
678678
logger.debug(f"Calling method: {method_name}")
679679
response = method(*args, **kwargs)

0 commit comments

Comments
 (0)