austin-python 1.4.2__py3-none-any.whl → 1.5.1__py3-none-any.whl

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.
austin/format/mojo.py CHANGED
@@ -93,7 +93,7 @@ class MojoEvent:
93
93
  return ""
94
94
 
95
95
 
96
- @dataclass
96
+ @dataclass(frozen=True, eq=True)
97
97
  class MojoString(MojoEvent):
98
98
  """MOJO string."""
99
99
 
@@ -101,7 +101,7 @@ class MojoString(MojoEvent):
101
101
  value: str
102
102
 
103
103
 
104
- @dataclass
104
+ @dataclass(frozen=True, eq=True)
105
105
  class MojoStringReference(MojoEvent):
106
106
  """MOJO string reference."""
107
107
 
@@ -118,7 +118,7 @@ class MojoIdle(MojoEvent):
118
118
  pass
119
119
 
120
120
 
121
- @dataclass
121
+ @dataclass(frozen=True, eq=True)
122
122
  class MojoMetadata(MojoEvent):
123
123
  """MOJO metadata."""
124
124
 
@@ -130,7 +130,7 @@ class MojoMetadata(MojoEvent):
130
130
  return f"# {self.key}: {self.value}\n"
131
131
 
132
132
 
133
- @dataclass
133
+ @dataclass(frozen=True, eq=True)
134
134
  class MojoStack(MojoEvent):
135
135
  """MOJO stack."""
136
136
 
@@ -142,7 +142,7 @@ class MojoStack(MojoEvent):
142
142
  return f"P{self.pid};T{int(self.tid, 16)}"
143
143
 
144
144
 
145
- @dataclass
145
+ @dataclass(frozen=True, eq=True)
146
146
  class MojoFrame(MojoEvent):
147
147
  """MOJO frame."""
148
148
 
@@ -150,9 +150,12 @@ class MojoFrame(MojoEvent):
150
150
  filename: MojoStringReference
151
151
  scope: MojoStringReference
152
152
  line: int
153
+ line_end: int = 0
154
+ column: int = 0
155
+ column_end: int = 0
153
156
 
154
157
 
155
- @dataclass
158
+ @dataclass(frozen=True, eq=True)
156
159
  class MojoKernelFrame(MojoEvent):
157
160
  """MOJO kernel frame."""
158
161
 
@@ -163,7 +166,7 @@ class MojoKernelFrame(MojoEvent):
163
166
  return f";kernel:{self.scope}:0"
164
167
 
165
168
 
166
- @dataclass
169
+ @dataclass(frozen=True, eq=True)
167
170
  class MojoSpecialFrame(MojoEvent):
168
171
  """MOJO special frame."""
169
172
 
@@ -174,7 +177,7 @@ class MojoSpecialFrame(MojoEvent):
174
177
  return f";:{self.label}:"
175
178
 
176
179
 
177
- @dataclass
180
+ @dataclass(frozen=True, eq=True)
178
181
  class MojoFrameReference(MojoEvent):
179
182
  """MOJO frame reference."""
180
183
 
@@ -185,7 +188,7 @@ class MojoFrameReference(MojoEvent):
185
188
  return f";{self.frame.filename.to_austin()}:{self.frame.scope.to_austin()}:{self.frame.line}"
186
189
 
187
190
 
188
- @dataclass
191
+ @dataclass(frozen=True, eq=True)
189
192
  class MojoMetric(MojoEvent):
190
193
  """MOJO metric."""
191
194
 
@@ -197,7 +200,7 @@ class MojoMetric(MojoEvent):
197
200
  return f" {self.value}\n"
198
201
 
199
202
 
200
- @dataclass
203
+ @dataclass(frozen=True, eq=True)
201
204
  class MojoFullMetrics(MojoEvent):
202
205
  """MOJO full metrics."""
203
206
 
@@ -339,7 +342,16 @@ class MojoFile:
339
342
  scope = MojoStringReference(self._lookup_string())
340
343
  line = self.read_int()
341
344
 
342
- frame = MojoFrame(frame_key, filename, scope, line)
345
+ if self.mojo_version == 1:
346
+ line_end = column = column_end = 0
347
+ else:
348
+ line_end = self.read_int()
349
+ column = self.read_int()
350
+ column_end = self.read_int()
351
+
352
+ frame = MojoFrame(
353
+ frame_key, filename, scope, line, line_end, column, column_end
354
+ )
343
355
 
344
356
  self._frame_map[self.ref(frame_key)] = frame
345
357
 
@@ -421,7 +433,7 @@ class MojoFile:
421
433
 
422
434
  try:
423
435
  for event in t.cast(dict, self.__handlers__)[event_id](self):
424
- event.raw = bytes(self._last_bytes)
436
+ object.__setattr__(event, "raw", bytes(self._last_bytes))
425
437
  self._last_bytes.clear()
426
438
  yield event
427
439
  except KeyError as exc:
@@ -1,12 +1,13 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: austin-python
3
- Version: 1.4.2
3
+ Version: 1.5.1
4
4
  Summary: Python wrapper for Austin, the CPython frame stack sampler.
5
5
  Project-URL: homepage, https://github.com/P403n1x87/austin-python
6
6
  Project-URL: documentation, https://austin-python.readthedocs.io
7
7
  Project-URL: repository, https://github.com/P403n1x87/austin-python
8
8
  Project-URL: issues, https://github.com/P403n1x87/austin-python/issues
9
9
  Author-email: "Gabriele N. Tornetta" <phoenix1987@gmail.com>
10
+ License-Expression: GPL-3.0-or-later
10
11
  License-File: AUTHORS
11
12
  License-File: COPYING
12
13
  License-File: LICENSE.md
@@ -20,9 +21,9 @@ Classifier: Programming Language :: Python :: 3.9
20
21
  Classifier: Programming Language :: Python :: 3.10
21
22
  Classifier: Programming Language :: Python :: 3.11
22
23
  Requires-Python: >=3.7
23
- Requires-Dist: protobuf~=3.12.2
24
+ Requires-Dist: protobuf~=3.12
24
25
  Requires-Dist: psutil>=5.7.0
25
- Requires-Dist: toml~=0.10.2
26
+ Requires-Dist: toml~=0.10
26
27
  Description-Content-Type: text/markdown
27
28
 
28
29
  <p align="center">
@@ -7,7 +7,7 @@ austin/stats.py,sha256=HDz-16WugkD8Vu8SZv37JFnr5VZyUX-ChEbrGNPdZ0Q,18108
7
7
  austin/threads.py,sha256=V7maPyw9UI7F9OBvtCUhDTYgdCltyrhAKNcgpJWGBsc,3500
8
8
  austin/format/__init__.py,sha256=ZtBJCLpTiZaLFwCN1UbMXLQvYjOSpwmtyGwqgK8yruQ,405
9
9
  austin/format/compress.py,sha256=gAfgKhiBKq5VzT3H_LaNPFn42rTRX2XUk5OZYAfwWgw,3077
10
- austin/format/mojo.py,sha256=sN4ByqP3X6k7USg727NxIuBGTwnSmeJYImwpzXr42m0,12015
10
+ austin/format/mojo.py,sha256=ub7Om3goVmlSuJuQZxURi7BSBxXt_JEBto_bHjDk8CQ,12589
11
11
  austin/format/speedscope.py,sha256=O10UpCuwlEkB3kqynwVHcxg3cADWmgteedaFBRogvHU,7128
12
12
  austin/format/pprof/__init__.py,sha256=H6XpBeA16b77z3RtFsaT0S6fwn0VZsQ83AEn6qRY18Y,5709
13
13
  austin/format/pprof/__main__.py,sha256=lDTxvA8OxA36AscnagPeGJPBZjK7wNnbUr6lQURa2Qc,2432
@@ -15,10 +15,10 @@ austin/format/pprof/profile.proto,sha256=fPfBgzXIEmFdrrwgTQWs-9GwKjt-TShRmJq-eax
15
15
  austin/format/pprof/profile_pb2.py,sha256=i_uM8lDExR95yz7qnEVikhpkpNvetKaYzoiH7AbMAt8,28214
16
16
  austin/tools/diff.py,sha256=xQFbQgxymwqCXx1oFctE4E1m1H2fEra2I-GlEf7mq6I,4911
17
17
  austin/tools/resolve.py,sha256=xtM0rC3ilqNz5UR6DriHsudUy09eW6ESZfIAKu-wc_s,8146
18
- austin_python-1.4.2.dist-info/METADATA,sha256=946lYvmz7sZaHpdcQiL0sDl8J2Q2OeFhdWEikRtRM4w,7675
19
- austin_python-1.4.2.dist-info/WHEEL,sha256=NaLmgHHW_f9jTvv_wRh9vcK7c7EK9o5fwsIXMOzoGgM,87
20
- austin_python-1.4.2.dist-info/entry_points.txt,sha256=tfJO_Pb0DyxCtGKs3Q-M9se7ihNVfl5ojeZJK373KdU,282
21
- austin_python-1.4.2.dist-info/licenses/AUTHORS,sha256=pARRmpJQYH8iWy_0SonXsxOiV02AFitowle4AtURxUI,45
22
- austin_python-1.4.2.dist-info/licenses/COPYING,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
23
- austin_python-1.4.2.dist-info/licenses/LICENSE.md,sha256=edVDhmEiPf2W5lWzqLkrj6EYLSrCeYg9MJy28YsiMFU,34937
24
- austin_python-1.4.2.dist-info/RECORD,,
18
+ austin_python-1.5.1.dist-info/METADATA,sha256=sAjJp1hs4tbVuFYECOENpHc2ui42t5Y1NrjBPtXyLp0,7708
19
+ austin_python-1.5.1.dist-info/WHEEL,sha256=9QBuHhg6FNW7lppboF2vKVbCGTVzsFykgRQjjlajrhA,87
20
+ austin_python-1.5.1.dist-info/entry_points.txt,sha256=tfJO_Pb0DyxCtGKs3Q-M9se7ihNVfl5ojeZJK373KdU,282
21
+ austin_python-1.5.1.dist-info/licenses/AUTHORS,sha256=pARRmpJQYH8iWy_0SonXsxOiV02AFitowle4AtURxUI,45
22
+ austin_python-1.5.1.dist-info/licenses/COPYING,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
23
+ austin_python-1.5.1.dist-info/licenses/LICENSE.md,sha256=edVDhmEiPf2W5lWzqLkrj6EYLSrCeYg9MJy28YsiMFU,34937
24
+ austin_python-1.5.1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.11.1
2
+ Generator: hatchling 1.18.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any