Rasmus Lerchedahl Petersen
ef9fb0873f
python: tools for writing upgrades and downgrade
...
adapted from [the ruby instructions](https://github.com/github/codeql/blob/main/ruby/doc/prepare-db-upgrade.md )
2022-01-19 14:29:58 +01:00
Rasmus Wriedt Larsen
61998afc56
Python: Remove unnecessary comment
...
Was introduced in 5d031d7abe when I actually fixed
the loop variable capture problem.
2020-09-07 15:06:07 +02:00
Rasmus Wriedt Larsen
fb37330f5e
Python: Fix grammar
...
Co-authored-by: Taus <tausbn@github.com >
2020-09-07 14:59:07 +02:00
Rasmus Wriedt Larsen
e0016f6c52
Python: CG trace: Mention adding projects in README
2020-07-24 20:08:39 +02:00
Rasmus Wriedt Larsen
aca703e131
Python: CG trace: Add support for flask
2020-07-24 20:06:53 +02:00
Rasmus Wriedt Larsen
bb80635dc3
Python: CG trace: Updated README
2020-07-24 19:35:06 +02:00
Rasmus Wriedt Larsen
ecafc760e8
Python: CG trace: Improved debugging queries a bit
2020-07-24 19:34:51 +02:00
Rasmus Wriedt Larsen
2407c8b07e
Python: CG trace: Better handling of builtins without __module__
...
Not 100% perfect, but better
2020-07-24 19:13:53 +02:00
Rasmus Wriedt Larsen
9c76618d8b
Python: CG trace: Make ./helper.sh show help again
2020-07-24 18:59:29 +02:00
Rasmus Wriedt Larsen
8057e11fe4
Python: CG trace: Add ./helper.sh metrics command
2020-07-24 18:38:12 +02:00
Rasmus Wriedt Larsen
779a82ee07
Python: CG trace: Minor cleanup in helper.sh
2020-07-24 18:37:48 +02:00
Rasmus Wriedt Larsen
4c689434c3
Python: CG trace: Restructure QL code
2020-07-24 17:00:13 +02:00
Rasmus Wriedt Larsen
321d5104f0
Python: CG trace: Autogenerate BytecodeExpr.qll
...
Some code I had lying around, just hadn't comitted.
Not that useful since most of these have been disabled in 55404ae98 for now.
2020-07-24 16:51:14 +02:00
Rasmus Wriedt Larsen
a7bc9544b6
Python: CG trace: Metrics, number of recorded calls not ignored
...
turned out to be useful after all :P
2020-07-24 16:49:54 +02:00
Rasmus Wriedt Larsen
367a49803b
Python: CG trace: handle class instantiation properly in points-to
2020-07-24 11:19:11 +02:00
Rasmus Wriedt Larsen
3ead2e3dc7
Python: CG trace: Improve performance by only logging when needed
...
Seems like a 2x performance overall
wcwidth:
- DEBUG=True 5.78 seconds
- DEBUG=False 2.70 seconds
youtube-dl
- DEBUG=True 238.90 seconds
- DEBUG=False 120.70 seconds
2020-07-23 20:14:49 +02:00
Rasmus Wriedt Larsen
fbd939133e
Python: CG trace: More caching
...
Improves runtime of tracing youtube-dl from 296.19 seconds to 224.50 seconds.
Better, but still not that amazing :|
2020-07-23 18:07:55 +02:00
Rasmus Wriedt Larsen
ce42221cf7
Python: CG trace: Fix some printing in helper.sh
2020-07-23 17:57:52 +02:00
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