Rasmus Wriedt Larsen
55404ae980
Python: CG trace: Experiment with disabling some opcodes
...
Currently not supported in the QL code, so no reason to pay performance to
record them right now :P
2020-07-23 17:39:43 +02:00
Rasmus Wriedt Larsen
14c51eb3c7
Python: CG trace: XML exporter will tell what file it wrote to
2020-07-23 17:38:54 +02:00
Rasmus Wriedt Larsen
c45cc2aa2f
Python: CG trace: Add helper.sh to run tracing against real projects
2020-07-23 17:37:01 +02:00
Rasmus Wriedt Larsen
5d031d7abe
Python: CG trace: Fix sorting of ExternalCallee
...
Also exposed that the better_compare_for_dataclass was exposed to bad loop
variable capture :|
2020-07-23 17:36:31 +02:00
Rasmus Wriedt Larsen
da518ed0d5
Python: CG trace: Remove Python 3.8 only f"{var=}" usage
2020-07-23 14:01:29 +02:00
Rasmus Wriedt Larsen
bb4b8dceaa
Python: CG trace: More robust logging setup
2020-07-23 14:01:29 +02:00
Rasmus Wriedt Larsen
9157385571
Python: CG trace: XML can export list of dataclass
2020-07-22 17:40:59 +02:00
Rasmus Wriedt Larsen
746c577d72
Python: CG trace: Update naming and add QLDoc
2020-07-22 15:49:11 +02:00
Rasmus Wriedt Larsen
67b45164eb
Python: CG trace: Partial matching of BytecodeExpr and AST not safe
2020-07-22 15:19:57 +02:00
Rasmus Wriedt Larsen
1e89388f2b
Python: CG trace: Don't abuse example dir
2020-07-22 14:22:04 +02:00
Rasmus Wriedt Larsen
ad2e336ead
Python: CG trace: Autoformat
2020-07-22 13:53:22 +02:00
Rasmus Wriedt Larsen
ccffa7d99d
Python: CG trace: Ignore some calls for call-grahp metrics
...
and provide some internal metrics as well
2020-07-22 13:12:52 +02:00
Rasmus Wriedt Larsen
b227a7ec90
Python: CG trace: Add overall metrics query
2020-07-22 00:55:53 +02:00
Rasmus Wriedt Larsen
278ab4b883
Python: CG trace: Much improved toString for QL
2020-07-22 00:55:53 +02:00
Rasmus Wriedt Larsen
a5838b66ed
Python: CG trace: Small improvements to QL code
2020-07-22 00:00:17 +02:00
Rasmus Wriedt Larsen
b86ca19264
Python: CG trace: Apply better_compare_for_dataclass to all
2020-07-21 23:37:33 +02:00
Rasmus Wriedt Larsen
9bff615fad
Python: CG trace: Handle BUILD_LIST
2020-07-21 23:08:33 +02:00
Rasmus Wriedt Larsen
8c8656ccca
Python: CG trace: Handle BUILD_TUPLE
2020-07-21 23:05:49 +02:00
Rasmus Wriedt Larsen
0d05d96b50
Python: CG trace: Handle CALL_FUNCTION_EX
2020-07-21 22:54:45 +02:00
Rasmus Wriedt Larsen
3539798c22
Python: CG trace: ignore with statement for now
2020-07-21 22:54:19 +02:00
Rasmus Wriedt Larsen
4843d29ad6
Python: CG trace: Cache calls seen
...
This improved runtime from ~10 seconds to 1 seconds when running one of the
tests fo wcwidth
2020-07-21 22:54:10 +02:00
Rasmus Wriedt Larsen
ebbea0cd61
Python: CG trace: Ignore IMPORT_NAME
2020-07-21 22:17:17 +02:00
Rasmus Wriedt Larsen
6830804112
Python: CG trace: More logging
2020-07-21 22:08:15 +02:00
Rasmus Wriedt Larsen
3752a25665
Python: CG trace: Handle LOAD_DEREF
2020-07-21 22:02:25 +02:00
Rasmus Wriedt Larsen
61b1d3eef3
Python: CG trace: Handle subscript
2020-07-21 21:45:53 +02:00
Rasmus Wriedt Larsen
79c2c682d7
Python: CG trace: Nicer logging
2020-07-21 21:34:20 +02:00
Rasmus Wriedt Larsen
0a7e6a9938
Python: CG trace: Avoid handling jumps for now
2020-07-21 20:07:33 +02:00
Rasmus Wriedt Larsen
4e3ae98ddf
Python: CG trace: Handle list-comprehension and iteration
...
Which relies on LOAD_CONST and MAKE_FUNCTION
2020-07-21 19:54:59 +02:00
Rasmus Wriedt Larsen
58f11194a8
Python: CG trace: Refactoring
2020-07-21 19:53:05 +02:00
Rasmus Wriedt Larsen
290eb638f9
Python: CG trace: Handle SystemExit
...
otherwise, with-exit would end the tracer without producing any output :|
2020-07-21 19:40:58 +02:00
Rasmus Wriedt Larsen
296d7d1725
Python: CG trace: Allow tracing modules
...
As would normally be invoked by `python -m <module-name>` now works with
`cg-trace --module <module-name>`.
This is useful for tracing invocations of `pytest`.
2020-07-21 19:39:51 +02:00
Rasmus Wriedt Larsen
89e8202d11
Python: CG trace: Add some tests using classes
2020-07-21 11:16:52 +02:00
Rasmus Wriedt Larsen
eeeadad359
Python: CG trace: Don't commit examples traces all the time
2020-07-21 11:14:07 +02:00
Rasmus Wriedt Larsen
38af1930fe
Python: CG trace: Rename ValidRecordedCall to IdentifiedRecordedCall
2020-07-21 10:19:47 +02:00
Rasmus Wriedt Larsen
bbfea44db0
Python: CG trace: Handle multiple calls to same func on same line
...
Such as
```
one(); one()
```
Now there are no InvalidRecordedCall in the current examples.
2020-07-20 14:54:05 +02:00
Rasmus Wriedt Larsen
cb98f4433d
Python: CG trace: Handle multiple calls on one line
...
Reduced number of InvalidRecordedCall from 16 to 2. This is the calls
```
one(); one()
```
since they are not distinguishable from the expression.
2020-07-20 14:07:09 +02:00
Rasmus Wriedt Larsen
a1c1ab080b
Python: CG trace: Add examples of multiple calls on one line
...
There are currently 16 InvalidRecordedCall
2020-07-20 14:03:37 +02:00
Rasmus Wriedt Larsen
49a90c058d
Python: CG trace: minor adjustment to recreate-dh.sh
2020-07-20 13:00:47 +02:00
Rasmus Wriedt Larsen
5ef817012a
Python: CG trace: restructure QL for new XML format
2020-07-20 13:00:07 +02:00
Rasmus Wriedt Larsen
c2748bf7cf
Python: CG trace: reconstruct call expr from bytecode
...
So we can differentiate multiple calls in one line.
2020-07-20 11:28:05 +02:00
Rasmus Wriedt Larsen
d46b410111
Python: CG trace: Proper exception handling
2020-07-20 01:22:33 +02:00
Rasmus Wriedt Larsen
10ec1e078a
Python: CG trace: Better type hints
2020-07-18 17:56:56 +02:00
Rasmus Wriedt Larsen
8b6de17461
Python: CG trace: Use logging module for debuging
2020-07-18 17:56:10 +02:00
Rasmus Wriedt Larsen
acc5f70d4a
Python: CG trace: Python 3.7 is minimal version
2020-07-18 17:10:53 +02:00
Rasmus Wriedt Larsen
6c60881cbe
Python: CG trace: Move code to src/
...
As recommended in https://blog.ionelmc.ro/2014/05/25/python-packaging/ and
following pattern of black and pytest
2020-07-17 14:41:49 +02:00
Rasmus Wriedt Larsen
0a0c24f3c5
Python: CG trace: Make code modular
2020-07-17 14:40:54 +02:00
Rasmus Wriedt Larsen
94a03d73a3
Python: CG trace: blackify
...
And make code pass flake8 tests
2020-07-17 13:49:25 +02:00
Rasmus Wriedt Larsen
1c2e259970
Python: CG trace: Handle builtins
2020-07-16 18:04:04 +02:00
Rasmus Wriedt Larsen
92e8e1622c
Python: CG trace: move traces to own dir
2020-07-16 16:47:23 +02:00
Rasmus Wriedt Larsen
abcc76baec
Python: CG trace: use lxml to pretty-print xml
2020-07-15 14:48:58 +02:00