Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhance runtime stats tracking #4144

Merged
merged 9 commits into from
Aug 3, 2022
Merged

Commits on Jul 9, 2022

  1. Enhance runtime memory allocation tracking

    Runtime allocation tracking now also tracks the number
    of heap allocations, the number of freed heap
    allocations and the number of GC iterations via counters.
    
    Additionally, there is now a way to check if runtime
    memory allocation tracking is enabled or not via
    `ifdef` statements in Pony code. This allows for some
    useful validations for those folks concerned about
    heap allocations in the critical path (i.e. if they
    rely on the compiler's `HeapToStack` optimization pass
    to convert heap allocations to stack allocations and
    want to validate it is working correctly).
    dipinhora committed Jul 9, 2022
    Configuration menu
    Copy the full SHA
    9660846 View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2022

  1. Enhance runtime stats tracking

    This commit enhances the runtime stats tracking that was previously
    implemented under the `USE_MEMTRACK` and `USED_MEMTRACK_MESSAGES`
    defines. The new defines are called `USE_RUNTIMESTATS` and
    `USE_RUNTIMESTATS_MESSAGES`.
    
    Runtime stats tracking tracks the following actor info:
    * heap memory allocated
    * heap memory used
    * heap num allocated
    * heap realloc counter
    * heap alloc counter
    * heap free counter
    * heap gc counter
    * system message processing cpu usage
    * app message processing cpu usage
    * garbage collection cpu usage
    * messages sent counter
    * system messages processed counter
    * app messages processed counter
    
    Runtime tracking tracks the following scheduler info:
    * mutemap memory used
    * mutemap memory allocated
    * memory used for gc acquire/release actormaps and actors created
    * memory allocated for gc acquire/release actormaps and actors created
    * created actors counter
    * destroyed actors counter
    * actor system message processing cpu for all actor runs on the scheduler
    * actor app message processing cpu for all actor runs on the scheduler
    * actor garbage collection cpu for all actor runs on the scheduler
    * scheduler message processing cpu usage
    * scheduler misc cpu usage while waiting to do work
    * memory used by inflight messages
    * memory allocated by inflight messages
    * number of inflight messages
    
    This runtime stats tracking info has been exposed to pony programs as
    part of the `runtime_info` package and an example `runtime_info` program
    has been added to the `examples` directory.
    dipinhora committed Jul 10, 2022
    Configuration menu
    Copy the full SHA
    12dd8cd View commit details
    Browse the repository at this point in the history
  2. Update release notes

    dipinhora committed Jul 10, 2022
    Configuration menu
    Copy the full SHA
    9e15b7c View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2022

  1. Configuration menu
    Copy the full SHA
    d299635 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    85eac54 View commit details
    Browse the repository at this point in the history
  3. Remove accidental binary

    dipinhora committed Jul 16, 2022
    Configuration menu
    Copy the full SHA
    a088ef1 View commit details
    Browse the repository at this point in the history
  4. Fix unused parameter error

    dipinhora committed Jul 16, 2022
    Configuration menu
    Copy the full SHA
    ae34944 View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2022

  1. Fix printf format issue

    dipinhora committed Jul 19, 2022
    Configuration menu
    Copy the full SHA
    7194a97 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    037784a View commit details
    Browse the repository at this point in the history