Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: bloomberg/memray Loading
base: v1.9.0
Choose a base ref
...
head repository: bloomberg/memray Loading
compare: v1.9.1
Choose a head ref
  • 7 commits
  • 13 files changed
  • 2 contributors

Commits on Jul 29, 2023

  1. Set our recursion guard in all hooks

    This prevents reentrancy if one hooked function calls into another.
    For instance, the jemalloc implementation of `malloc` calls into `mmap`
    while holding a lock, and our `mmap` hook calls `malloc`, so we must
    prevent our `mmap` hook from running beneath our `malloc` hook.
    
    Signed-off-by: Matt Wozniski <godlygeek@gmail.com>
    godlygeek authored and pablogsal committed Jul 29, 2023
    Configuration menu
    Copy the full SHA
    9ac0989 View commit details
    Browse the repository at this point in the history
  2. tests: Exercise greenlet for Python 3.11

    The latest versions of greenlet now support 3.11, though 3.12 is not yet
    supported. Update our tests to exercise our greenlet handling on 3.11.
    
    Signed-off-by: Matt Wozniski <mwozniski@bloomberg.net>
    godlygeek authored and pablogsal committed Jul 29, 2023
    Configuration menu
    Copy the full SHA
    9ac9045 View commit details
    Browse the repository at this point in the history
  3. Support old versions of greenlet

    Prior to greenlet 1.0, the "greenlet" module wasn't a Python package
    containing a private extension module, it was just a public extension
    module. Handle this case by updating our hacky detection for greenlet
    being imported after tracking has begun to recognize "greenlet.*.so" in
    addition to "_greenlet.*.so", and update our trace hook injection to
    fall back to `greenlet.settrace` if `greenlet._greenlet` hasn't been
    imported but `greenlet` has.
    
    Note that we can't unconditionally call `greenlet.set_trace`, because at
    the point where our hooks are being installed, it's possible that the
    `greenlet._greenlet` extension module has been imported but the
    `greenlet/__init__.py` module doesn't yet have a `settrace` attribute
    because it hasn't yet done `from ._greenlet import settrace`.
    
    Signed-off-by: Matt Wozniski <mwozniski@bloomberg.net>
    godlygeek authored and pablogsal committed Jul 29, 2023
    Configuration menu
    Copy the full SHA
    99896f5 View commit details
    Browse the repository at this point in the history
  4. tests: Fix lint errors in greenlet test scripts

    These don't show up as lint errors since the scripts are given as string
    literals, but when I copied these test programs out into standalone
    scripts to try to investigate the greenlet 0.X issue, Black and flake8
    caught these issues.
    
    Signed-off-by: Matt Wozniski <mwozniski@bloomberg.net>
    godlygeek authored and pablogsal committed Jul 29, 2023
    Configuration menu
    Copy the full SHA
    28b0bea View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2023

  1. Build macOS wheels from the sdist

    We switched from building our Linux wheels from a repo clone to building
    them from a build sdist, but we missed making the same change for
    building our macOS wheels.
    
    Signed-off-by: Matt Wozniski <mwozniski@bloomberg.net>
    godlygeek committed Jul 31, 2023
    Configuration menu
    Copy the full SHA
    d853623 View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2023

  1. Fix a bug causing empty summary reports

    Our TUI's `update_snapshot` method declares that it accepts any
    iterable, but it expects to be able to iterate over the snapshot
    repeatedly, which means that it does not accept generators or other
    iterators that can only be iterated once.
    
    Update its type annotation to require a sequence instead of an iterable,
    and update the caller that was providing a generator to instead provide
    a sequence.
    
    Signed-off-by: Matt Wozniski <mwozniski@bloomberg.net>
    godlygeek authored and pablogsal committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    b0d5dc1 View commit details
    Browse the repository at this point in the history
  2. Prepare for 1.9.1 release

    See changelog for more details.
    
    Signed-off-by: Matt Wozniski <mwozniski@bloomberg.net>
    godlygeek authored and pablogsal committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    214debf View commit details
    Browse the repository at this point in the history
Loading