%global _empty_manifest_terminate_build 0 Name: python-tracers Version: 21.8.6876 Release: 1 Summary: Open-Source APM (Application monitoring) project that offers you minimal overhead wrappers for profiling your code execution flow License: MIT URL: https://github.com/fluidattacks/tracers Source0: https://mirrors.nju.edu.cn/pypi/web/packages/dc/0b/63b60b15ba76dd93d2c286cc34324fbaf354e397bf3110a789eb507f1379/tracers-21.8.6876.tar.gz BuildArch: noarch Requires: python3-aioboto3 Requires: python3-aiogqlc Requires: python3-more-itertools %description +++ b/examples/with_tracers.py @@ -1,15 +1,18 @@ import time from dateutil.parser import parse +from tracers.function import trace +@trace() def example(): time.sleep(2.0) your_business_logic('Sat Oct 11') +@trace() def your_business_logic(date: str): parse(date) time.sleep(1.0) example() ``` If you run it, all the functions you decorated will be traced and you'll have metrics of the execution flow: ``` 🛈 Finished transaction: 3.00 seconds # Timestamp Net Total Call Chain 1 0.00s 2.00s [ 66.7%] 3.00s [100.0%] ✓ example 2 2.00s 1.00s [ 33.3%] 1.00s [ 33.3%] ¦ ✓ your_business_logic Count Net Total Function 1 2.00s [ 66.7%] 3.00s [100.0%] ✓ example 1 1.00s [ 33.3%] 1.00s [ 33.3%] ✓ your_business_logic ``` From the output you can conclude: - executing function *example* took a total of *3.0* seconds to complete - function *example* takes *66.7%* of the execution time - function *example encloses *100%* of your code time - function *example* called function: *your_business_logic* - function *your_business_logic* took *1.0* seconds out of the *3.0* seconds the function *example* needed to complete - function *your_business_logic* represents *33.3%* of your execution time Tracing code is not limited to your own code. You can trace any **callable object** including **third party packages**, **Python's standard library**, and almost anything The level of detail is up to you! %package -n python3-tracers Summary: Open-Source APM (Application monitoring) project that offers you minimal overhead wrappers for profiling your code execution flow Provides: python-tracers BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-tracers +++ b/examples/with_tracers.py @@ -1,15 +1,18 @@ import time from dateutil.parser import parse +from tracers.function import trace +@trace() def example(): time.sleep(2.0) your_business_logic('Sat Oct 11') +@trace() def your_business_logic(date: str): parse(date) time.sleep(1.0) example() ``` If you run it, all the functions you decorated will be traced and you'll have metrics of the execution flow: ``` 🛈 Finished transaction: 3.00 seconds # Timestamp Net Total Call Chain 1 0.00s 2.00s [ 66.7%] 3.00s [100.0%] ✓ example 2 2.00s 1.00s [ 33.3%] 1.00s [ 33.3%] ¦ ✓ your_business_logic Count Net Total Function 1 2.00s [ 66.7%] 3.00s [100.0%] ✓ example 1 1.00s [ 33.3%] 1.00s [ 33.3%] ✓ your_business_logic ``` From the output you can conclude: - executing function *example* took a total of *3.0* seconds to complete - function *example* takes *66.7%* of the execution time - function *example encloses *100%* of your code time - function *example* called function: *your_business_logic* - function *your_business_logic* took *1.0* seconds out of the *3.0* seconds the function *example* needed to complete - function *your_business_logic* represents *33.3%* of your execution time Tracing code is not limited to your own code. You can trace any **callable object** including **third party packages**, **Python's standard library**, and almost anything The level of detail is up to you! %package help Summary: Development documents and examples for tracers Provides: python3-tracers-doc %description help +++ b/examples/with_tracers.py @@ -1,15 +1,18 @@ import time from dateutil.parser import parse +from tracers.function import trace +@trace() def example(): time.sleep(2.0) your_business_logic('Sat Oct 11') +@trace() def your_business_logic(date: str): parse(date) time.sleep(1.0) example() ``` If you run it, all the functions you decorated will be traced and you'll have metrics of the execution flow: ``` 🛈 Finished transaction: 3.00 seconds # Timestamp Net Total Call Chain 1 0.00s 2.00s [ 66.7%] 3.00s [100.0%] ✓ example 2 2.00s 1.00s [ 33.3%] 1.00s [ 33.3%] ¦ ✓ your_business_logic Count Net Total Function 1 2.00s [ 66.7%] 3.00s [100.0%] ✓ example 1 1.00s [ 33.3%] 1.00s [ 33.3%] ✓ your_business_logic ``` From the output you can conclude: - executing function *example* took a total of *3.0* seconds to complete - function *example* takes *66.7%* of the execution time - function *example encloses *100%* of your code time - function *example* called function: *your_business_logic* - function *your_business_logic* took *1.0* seconds out of the *3.0* seconds the function *example* needed to complete - function *your_business_logic* represents *33.3%* of your execution time Tracing code is not limited to your own code. You can trace any **callable object** including **third party packages**, **Python's standard library**, and almost anything The level of detail is up to you! %prep %autosetup -n tracers-21.8.6876 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-tracers -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Mon Apr 10 2023 Python_Bot - 21.8.6876-1 - Package Spec generated