1+ from __future__ import annotations
2+
13import inspect
24import sys
35from importlib .abc import MetaPathFinder
46from importlib .machinery import SourceFileLoader
57from importlib .util import spec_from_loader
68
7- from api_tracer .span import span
9+ from api_tracer .statswrapper import stats_deco_auto
810
911__all__ = ["install" ]
1012
@@ -21,7 +23,7 @@ def __init__(self, module_names, *args, **kwargs):
2123 super ().__init__ (* args , ** kwargs )
2224
2325 def find_spec (self , fullname , path , target = None ):
24- if any ([ name in fullname for name in self ._module_names ] ):
26+ if any (name in fullname for name in self ._module_names ):
2527 for finder in sys .meta_path :
2628 if finder != self :
2729 spec = finder .find_spec (fullname , path , target )
@@ -32,8 +34,7 @@ def find_spec(self, fullname, path, target=None):
3234 loader = TelemetrySpanSourceFileLoader (spec .name , spec .origin ),
3335 origin = spec .origin ,
3436 )
35- else :
36- return spec
37+ return spec
3738
3839 return None
3940
@@ -48,14 +49,13 @@ def exec_module(self, module):
4849 for name , _function in functions :
4950 _module = inspect .getmodule (_function )
5051 if module == _module :
51- setattr (_module , name , span (_function ))
52+ setattr (_module , name , stats_deco_auto (_function ))
5253
5354 # Add telemetry to methods
5455 for _ , _class in classes :
5556 for name , method in inspect .getmembers (_class , predicate = inspect .isfunction ):
56- if inspect .getmodule (_class ) == module :
57- if not name .startswith ("_" ):
58- setattr (_class , name , span (method ))
57+ if inspect .getmodule (_class ) == module and not name .startswith ("_" ):
58+ setattr (_class , name , stats_deco_auto (method ))
5959
6060
6161def install (module_names : list [str ]):
0 commit comments