Skip to content

Commit 9126070

Browse files
committed
Update tracing.py
1 parent 7a2f0dd commit 9126070

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

deepeval/tracing/tracing.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -969,13 +969,14 @@ def decorator(func):
969969

970970
# Async generator function
971971
if inspect.isasyncgenfunction(func):
972+
972973
@functools.wraps(func)
973974
def asyncgen_wrapper(*args, **func_kwargs):
974975

975976
sig = inspect.signature(func)
976977
bound = sig.bind(*args, **func_kwargs)
977978
bound.apply_defaults()
978-
979+
979980
complete_kwargs = dict(bound.arguments)
980981
if "self" in complete_kwargs:
981982
complete_kwargs["self"] = replace_self_with_class_name(
@@ -995,6 +996,7 @@ def asyncgen_wrapper(*args, **func_kwargs):
995996
)
996997
observer.__enter__()
997998
agen = func(*args, **func_kwargs)
999+
9981000
async def gen():
9991001
try:
10001002
async for chunk in agen:
@@ -1003,13 +1005,15 @@ async def gen():
10031005
except Exception as e:
10041006
observer.__exit__(type(e), e, e.__traceback__)
10051007
raise
1008+
10061009
return gen()
1007-
1010+
10081011
setattr(asyncgen_wrapper, "_is_deepeval_observed", True)
10091012
return asyncgen_wrapper
10101013

10111014
# Sync generator function
10121015
if inspect.isgeneratorfunction(func):
1016+
10131017
@functools.wraps(func)
10141018
def gen_wrapper(*args, **func_kwargs):
10151019

@@ -1026,7 +1030,7 @@ def gen_wrapper(*args, **func_kwargs):
10261030
"observe_kwargs": observe_kwargs,
10271031
"function_kwargs": make_json_serializable(complete_kwargs),
10281032
}
1029-
1033+
10301034
observer = Observer(
10311035
type,
10321036
metrics=metrics,
@@ -1036,13 +1040,15 @@ def gen_wrapper(*args, **func_kwargs):
10361040
)
10371041
observer.__enter__()
10381042
original_gen = func(*args, **func_kwargs)
1043+
10391044
def gen():
10401045
try:
10411046
yield from original_gen
10421047
observer.__exit__(None, None, None)
10431048
except Exception as e:
10441049
observer.__exit__(type(e), e, e.__traceback__)
10451050
raise
1051+
10461052
return gen()
10471053

10481054
setattr(gen_wrapper, "_is_deepeval_observed", True)

0 commit comments

Comments
 (0)