diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-04-10 15:24:04 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-04-10 15:24:04 +0000 |
| commit | dd9b505e0c3b92bd2aa9ea6ee75df6f37244fc28 (patch) | |
| tree | 772752996dd7502a52213f848ea94b94805d117a /python-tracers.spec | |
| parent | 260181ff2c12a1c765266696122f3f80d6135039 (diff) | |
automatic import of python-tracers
Diffstat (limited to 'python-tracers.spec')
| -rw-r--r-- | python-tracers.spec | 186 |
1 files changed, 186 insertions, 0 deletions
diff --git a/python-tracers.spec b/python-tracers.spec new file mode 100644 index 0000000..bb2c3c1 --- /dev/null +++ b/python-tracers.spec @@ -0,0 +1,186 @@ +%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 <Python_Bot@openeuler.org> - 21.8.6876-1 +- Package Spec generated |
