On Thu, May 4, 2023, 1:48 PM Stefan Hajnoczi <stefa...@redhat.com> wrote:
> On Tue, May 02, 2023 at 11:23:27AM +0200, Mads Ynddal wrote: > > From: Mads Ynddal <m.ynd...@samsung.com> > > > > I wanted to use simpletrace.py for an internal project, so I tried to > update > > and polish the code. Some of the commits resolve specific issues, while > some > > are more subjective. > > An internal project based on qemu.git or a completely separate codebase? > > Sometimes I've wondered whether tracetool should be extracted from > qemu.git and moved into its own QEMU-independent place. That way other > C/C++ applications and libraries could use it easily. > > Now that Alex Bennee removed the vcpu trace events that were specific to > QEMU, the tracing code is less tightly coupled to QEMU. There are > probably still a number of places that need to be cleaned up in order > for the tracing code to be independent of QEMU though. > > If there is interest in doing this, I support the effort, although I'm > not sure how much time I have to actually do the work myself. > I meant internal, but if there's interest in fully extracting it, I have a playbook for that now based on my efforts to do the same for qemu.qmp and I can offer good stewardship for that process. I only suggest moving it under python/ so that we have it type checked and tested against python deprecations as part of CI as a preventative measure against rot. (Stuff in python/ is rigorously checked, stuff in scripts/ is not.) --js > > > > I've tried to divide it into commits so we can discuss the > > individual changes, and I'm ready to pull things out, if it isn't needed. > > > > v2: > > * Added myself as maintainer of simpletrace.py > > * Improve docstring on `process` > > * Changed call to `process` in scripts/analyse-locks-simpletrace.py to > reflect new argument types > > * Replaced `iteritems()` with `items()` in > scripts/analyse-locks-simpletrace.py to support Python 3 > > > > Mads Ynddal (12): > > simpletrace: Improve parsing of sys.argv; fix files never closed. > > simpletrace: Annotate magic constants from QEMU code > > simpletrace: changed naming of edict and idtoname to improve > > readability > > simpletrace: update code for Python 3.11 > > simpletrace: Changed Analyzer class to become context-manager > > simpletrace: Simplify construction of tracing methods > > simpletrace: Improved error handling on struct unpack > > simpletrace: define exception and add handling > > simpletrace: Refactor to separate responsibilities > > MAINTAINERS: add maintainer of simpletrace.py > > scripts/analyse-locks-simpletrace.py: changed iteritems() to items() > > scripts/analyse-locks-simpletrace.py: reflect changes to process in > > simpletrace.py > > > > MAINTAINERS | 8 +- > > scripts/analyse-locks-simpletrace.py | 5 +- > > scripts/simpletrace.py | 307 ++++++++++++--------------- > > 3 files changed, 150 insertions(+), 170 deletions(-) > > > > -- > > 2.38.1 > > >