vedro-profiling 0.0.1__tar.gz → 0.0.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,81 @@
1
+ Metadata-Version: 2.4
2
+ Name: vedro-profiling
3
+ Version: 0.0.2
4
+ Summary: Vedro plugin for measuring resource usage of tests
5
+ Home-page: https://github.com/lolimpo/vedro-profiling
6
+ Author: Nikita Mikheev
7
+ Author-email: thelol1mpo@gmail.com
8
+ License: Apache-2.0
9
+ Classifier: License :: OSI Approved :: Apache Software License
10
+ Classifier: Programming Language :: Python :: 3.10
11
+ Classifier: Programming Language :: Python :: 3.11
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: Programming Language :: Python :: 3.13
14
+ Classifier: Typing :: Typed
15
+ Requires-Python: >=3.10
16
+ Description-Content-Type: text/markdown
17
+ Requires-Dist: vedro<2.0.0,>=1.13.0
18
+ Requires-Dist: docker<8.0.0,>=7.0.0
19
+ Requires-Dist: matplotlib<4.0.0,>=3.10.0
20
+ Dynamic: author
21
+ Dynamic: author-email
22
+ Dynamic: classifier
23
+ Dynamic: description
24
+ Dynamic: description-content-type
25
+ Dynamic: home-page
26
+ Dynamic: license
27
+ Dynamic: requires-dist
28
+ Dynamic: requires-python
29
+ Dynamic: summary
30
+
31
+ # Vedro profiling
32
+
33
+ [![PyPI](https://img.shields.io/pypi/v/vedro-profiling.svg)](https://pypi.python.org/pypi/vedro-profiling/)
34
+ [![PyPI - Downloads](https://img.shields.io/pypi/dm/vedro-profiling)](https://pypi.python.org/pypi/vedro-profiling/)
35
+ [![Python Version](https://img.shields.io/pypi/pyversions/vedro-profiling.svg)](https://pypi.python.org/pypi/vedro-profiling/)
36
+
37
+ > **Vedro profiling** - plugin for [Vedro](https://vedro.io/) framework for measuring resource usage of tests
38
+
39
+ ## Installation
40
+
41
+ <details open>
42
+ <summary>Quick</summary>
43
+ <p>
44
+
45
+ For a quick installation, you can use a plugin manager as follows:
46
+
47
+ ```shell
48
+ $ vedro plugin install vedro-profiling
49
+ ```
50
+
51
+ </p>
52
+ </details>
53
+
54
+ <details>
55
+ <summary>Manual</summary>
56
+ <p>
57
+
58
+ To install manually, follow these steps:
59
+
60
+ 1. Install the package using pip:
61
+
62
+ ```shell
63
+ $ pip3 install vedro-profiling
64
+ ```
65
+
66
+ 2. Next, activate the plugin in your `vedro.cfg.py` configuration file:
67
+
68
+ ```python
69
+ # ./vedro.cfg.py
70
+ import vedro
71
+ import vedro_profiling
72
+
73
+
74
+ class Config(vedro.Config):
75
+ class Plugins(vedro.Config.Plugins):
76
+ class VedroProfiling(vedro_profiling.VedroProfiling):
77
+ enabled = True
78
+ ```
79
+
80
+ </p>
81
+ </details>
@@ -0,0 +1,51 @@
1
+ # Vedro profiling
2
+
3
+ [![PyPI](https://img.shields.io/pypi/v/vedro-profiling.svg)](https://pypi.python.org/pypi/vedro-profiling/)
4
+ [![PyPI - Downloads](https://img.shields.io/pypi/dm/vedro-profiling)](https://pypi.python.org/pypi/vedro-profiling/)
5
+ [![Python Version](https://img.shields.io/pypi/pyversions/vedro-profiling.svg)](https://pypi.python.org/pypi/vedro-profiling/)
6
+
7
+ > **Vedro profiling** - plugin for [Vedro](https://vedro.io/) framework for measuring resource usage of tests
8
+
9
+ ## Installation
10
+
11
+ <details open>
12
+ <summary>Quick</summary>
13
+ <p>
14
+
15
+ For a quick installation, you can use a plugin manager as follows:
16
+
17
+ ```shell
18
+ $ vedro plugin install vedro-profiling
19
+ ```
20
+
21
+ </p>
22
+ </details>
23
+
24
+ <details>
25
+ <summary>Manual</summary>
26
+ <p>
27
+
28
+ To install manually, follow these steps:
29
+
30
+ 1. Install the package using pip:
31
+
32
+ ```shell
33
+ $ pip3 install vedro-profiling
34
+ ```
35
+
36
+ 2. Next, activate the plugin in your `vedro.cfg.py` configuration file:
37
+
38
+ ```python
39
+ # ./vedro.cfg.py
40
+ import vedro
41
+ import vedro_profiling
42
+
43
+
44
+ class Config(vedro.Config):
45
+ class Plugins(vedro.Config.Plugins):
46
+ class VedroProfiling(vedro_profiling.VedroProfiling):
47
+ enabled = True
48
+ ```
49
+
50
+ </p>
51
+ </details>
@@ -16,7 +16,7 @@ def find_dev_required():
16
16
  setup(
17
17
  name="vedro-profiling",
18
18
  version=version,
19
- description="Vedro plugin for measuring docker resource usage.",
19
+ description="Vedro plugin for measuring resource usage of tests",
20
20
  long_description=open("README.md").read(),
21
21
  long_description_content_type="text/markdown",
22
22
  author="Nikita Mikheev",
@@ -1,5 +1,5 @@
1
1
  from ._vedro_profiling import VedroProfiling, VedroProfilingPlugin
2
2
 
3
- version = "0.0.1"
3
+ version = "0.0.2"
4
4
 
5
5
  __all__ = ("VedroProfiling", "VedroProfilingPlugin", "version",)
@@ -20,6 +20,7 @@ class VedroProfilingPlugin(Plugin):
20
20
  self._poll_time: float = config.poll_time
21
21
  self._enable_profiling: bool = config.enable_profiling
22
22
  self._draw_plots: bool = config.draw_plots
23
+ self._docker_compose_project_name: str = config.docker_compose_project_name
23
24
  self._stats: DefaultDict[str, Any] = defaultdict(lambda: {"CPU": [], "MEM": []})
24
25
 
25
26
  self._client = docker.from_env()
@@ -52,7 +53,9 @@ class VedroProfilingPlugin(Plugin):
52
53
  self._draw_plots = event.args.draw_plots
53
54
 
54
55
  def _collect_stats(self) -> None:
55
- containers = self._client.containers.list()
56
+ containers = self._client.containers.list(
57
+ filters={"name": self._docker_compose_project_name}
58
+ )
56
59
  while self._running:
57
60
  for container in containers:
58
61
  stats = container.stats(decode=None, stream=False)
@@ -134,3 +137,6 @@ class VedroProfiling(PluginConfig):
134
137
 
135
138
  # Poll time for stats in seconds
136
139
  poll_time: float = 1.0
140
+
141
+ # Docker Compose project name used for container profiling
142
+ docker_compose_project_name: str = "compose"
@@ -0,0 +1,81 @@
1
+ Metadata-Version: 2.4
2
+ Name: vedro-profiling
3
+ Version: 0.0.2
4
+ Summary: Vedro plugin for measuring resource usage of tests
5
+ Home-page: https://github.com/lolimpo/vedro-profiling
6
+ Author: Nikita Mikheev
7
+ Author-email: thelol1mpo@gmail.com
8
+ License: Apache-2.0
9
+ Classifier: License :: OSI Approved :: Apache Software License
10
+ Classifier: Programming Language :: Python :: 3.10
11
+ Classifier: Programming Language :: Python :: 3.11
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: Programming Language :: Python :: 3.13
14
+ Classifier: Typing :: Typed
15
+ Requires-Python: >=3.10
16
+ Description-Content-Type: text/markdown
17
+ Requires-Dist: vedro<2.0.0,>=1.13.0
18
+ Requires-Dist: docker<8.0.0,>=7.0.0
19
+ Requires-Dist: matplotlib<4.0.0,>=3.10.0
20
+ Dynamic: author
21
+ Dynamic: author-email
22
+ Dynamic: classifier
23
+ Dynamic: description
24
+ Dynamic: description-content-type
25
+ Dynamic: home-page
26
+ Dynamic: license
27
+ Dynamic: requires-dist
28
+ Dynamic: requires-python
29
+ Dynamic: summary
30
+
31
+ # Vedro profiling
32
+
33
+ [![PyPI](https://img.shields.io/pypi/v/vedro-profiling.svg)](https://pypi.python.org/pypi/vedro-profiling/)
34
+ [![PyPI - Downloads](https://img.shields.io/pypi/dm/vedro-profiling)](https://pypi.python.org/pypi/vedro-profiling/)
35
+ [![Python Version](https://img.shields.io/pypi/pyversions/vedro-profiling.svg)](https://pypi.python.org/pypi/vedro-profiling/)
36
+
37
+ > **Vedro profiling** - plugin for [Vedro](https://vedro.io/) framework for measuring resource usage of tests
38
+
39
+ ## Installation
40
+
41
+ <details open>
42
+ <summary>Quick</summary>
43
+ <p>
44
+
45
+ For a quick installation, you can use a plugin manager as follows:
46
+
47
+ ```shell
48
+ $ vedro plugin install vedro-profiling
49
+ ```
50
+
51
+ </p>
52
+ </details>
53
+
54
+ <details>
55
+ <summary>Manual</summary>
56
+ <p>
57
+
58
+ To install manually, follow these steps:
59
+
60
+ 1. Install the package using pip:
61
+
62
+ ```shell
63
+ $ pip3 install vedro-profiling
64
+ ```
65
+
66
+ 2. Next, activate the plugin in your `vedro.cfg.py` configuration file:
67
+
68
+ ```python
69
+ # ./vedro.cfg.py
70
+ import vedro
71
+ import vedro_profiling
72
+
73
+
74
+ class Config(vedro.Config):
75
+ class Plugins(vedro.Config.Plugins):
76
+ class VedroProfiling(vedro_profiling.VedroProfiling):
77
+ enabled = True
78
+ ```
79
+
80
+ </p>
81
+ </details>
@@ -1,33 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: vedro-profiling
3
- Version: 0.0.1
4
- Summary: Vedro plugin for measuring docker resource usage.
5
- Home-page: https://github.com/lolimpo/vedro-profiling
6
- Author: Nikita Mikheev
7
- Author-email: thelol1mpo@gmail.com
8
- License: Apache-2.0
9
- Classifier: License :: OSI Approved :: Apache Software License
10
- Classifier: Programming Language :: Python :: 3.10
11
- Classifier: Programming Language :: Python :: 3.11
12
- Classifier: Programming Language :: Python :: 3.12
13
- Classifier: Programming Language :: Python :: 3.13
14
- Classifier: Typing :: Typed
15
- Requires-Python: >=3.10
16
- Description-Content-Type: text/markdown
17
- Requires-Dist: vedro<2.0.0,>=1.13.0
18
- Requires-Dist: docker<8.0.0,>=7.0.0
19
- Requires-Dist: matplotlib<4.0.0,>=3.10.0
20
- Dynamic: author
21
- Dynamic: author-email
22
- Dynamic: classifier
23
- Dynamic: description
24
- Dynamic: description-content-type
25
- Dynamic: home-page
26
- Dynamic: license
27
- Dynamic: requires-dist
28
- Dynamic: requires-python
29
- Dynamic: summary
30
-
31
- # Vedro profiling
32
-
33
- Vedro plugin for measuring docker resource usage of tests.
@@ -1,3 +0,0 @@
1
- # Vedro profiling
2
-
3
- Vedro plugin for measuring docker resource usage of tests.
@@ -1,33 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: vedro-profiling
3
- Version: 0.0.1
4
- Summary: Vedro plugin for measuring docker resource usage.
5
- Home-page: https://github.com/lolimpo/vedro-profiling
6
- Author: Nikita Mikheev
7
- Author-email: thelol1mpo@gmail.com
8
- License: Apache-2.0
9
- Classifier: License :: OSI Approved :: Apache Software License
10
- Classifier: Programming Language :: Python :: 3.10
11
- Classifier: Programming Language :: Python :: 3.11
12
- Classifier: Programming Language :: Python :: 3.12
13
- Classifier: Programming Language :: Python :: 3.13
14
- Classifier: Typing :: Typed
15
- Requires-Python: >=3.10
16
- Description-Content-Type: text/markdown
17
- Requires-Dist: vedro<2.0.0,>=1.13.0
18
- Requires-Dist: docker<8.0.0,>=7.0.0
19
- Requires-Dist: matplotlib<4.0.0,>=3.10.0
20
- Dynamic: author
21
- Dynamic: author-email
22
- Dynamic: classifier
23
- Dynamic: description
24
- Dynamic: description-content-type
25
- Dynamic: home-page
26
- Dynamic: license
27
- Dynamic: requires-dist
28
- Dynamic: requires-python
29
- Dynamic: summary
30
-
31
- # Vedro profiling
32
-
33
- Vedro plugin for measuring docker resource usage of tests.