All Projects → microsoft → gctoolkit

microsoft / gctoolkit

Licence: MIT license
Tool for parsing GC logs

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to gctoolkit

o1heap
Constant-complexity deterministic memory allocator (heap) for hard real-time high-integrity embedded systems
Stars: ✭ 119 (-89.44%)
Mutual labels:  memory, heap, memory-management
Nuxt Memwatch
Quickly watch real-time memory stats of your nuxt app
Stars: ✭ 76 (-93.26%)
Mutual labels:  memory, heap
Memreduct
Lightweight real-time memory management application to monitor and clean system memory on your computer.
Stars: ✭ 1,101 (-2.31%)
Mutual labels:  memory, memory-management
Jvm
🤗 JVM 底层原理最全知识总结
Stars: ✭ 7,756 (+588.2%)
Mutual labels:  jvm, gc
rs-process-memory
A rust library that allows you to read/write into the memory of other processes
Stars: ✭ 63 (-94.41%)
Mutual labels:  memory, memory-management
Heap allocator
A simple heap memory allocator in ~200 lines.
Stars: ✭ 661 (-41.35%)
Mutual labels:  memory, heap
Mysql Magic
dump mysql client password from memory
Stars: ✭ 183 (-83.76%)
Mutual labels:  memory, heap
Mesh
A memory allocator that automatically reduces the memory footprint of C/C++ applications.
Stars: ✭ 1,243 (+10.29%)
Mutual labels:  memory, memory-management
csharp-workshop
NDC London 2019, Workshop: Become a better C# programmer: more Value, more Expressions, no Waiting
Stars: ✭ 21 (-98.14%)
Mutual labels:  memory, memory-management
NALib
General purpose C sourcecode collection
Stars: ✭ 16 (-98.58%)
Mutual labels:  heap, memory-management
total
Ruby Gem to get total memory size in the system
Stars: ✭ 15 (-98.67%)
Mutual labels:  memory, memory-management
nested
A memory efficient container for rust nested collections
Stars: ✭ 28 (-97.52%)
Mutual labels:  memory, heap
redis-key-dashboard
This tool allows you to do a small analysis of the amount of keys and memory you use in Redis. It allows you to see overlooked keys and notice overuse.
Stars: ✭ 42 (-96.27%)
Mutual labels:  memory, memory-management
Isoalloc
A general purpose memory allocator that implements an isolation security strategy to mitigate memory safety issues while maintaining good performance
Stars: ✭ 130 (-88.46%)
Mutual labels:  heap, memory-management
openj9
Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
Stars: ✭ 2,973 (+163.8%)
Mutual labels:  jvm, gc
Openj9
Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
Stars: ✭ 2,802 (+148.62%)
Mutual labels:  jvm, gc
mmtk-core
Memory Management ToolKit
Stars: ✭ 205 (-81.81%)
Mutual labels:  gc, memory-management
on-the-fly-gc
Concurrent mark-sweep garbage collector for accurate garbage collection of language runtimes in C++ 1x.
Stars: ✭ 25 (-97.78%)
Mutual labels:  gc, memory-management
ark-java
Library for interacting with an Ark Ecosystem Blockchain using the JVM.
Stars: ✭ 15 (-98.67%)
Mutual labels:  jvm
audria
audria - A Utility for Detailed Ressource Inspection of Applications
Stars: ✭ 35 (-96.89%)
Mutual labels:  memory

Microsoft GCToolKit

GCToolkit is a set of libraries for analyzing HotSpot Java garbage collection (GC) log files. The toolkit parses GC log files into discrete events and provides an API for aggregating data from those events. This allows the user to create arbitrary and complex analyses of the state of managed memory in the Java Virtual Machine (JVM) represented by the garbage collection log.

For more detail you can read our Launch Blog Post.

GCToolKit build with Maven


Introduction

Managed memory in the Java Virtual Machine (JVM) is composed of 3 main pieces:

  1. Memory buffers known as Java heap
  2. Allocators which perform the work of getting data into Java heap
  3. Garbage Collection (GC).

While GC is responsible for recovering memory in Java heap that is no longer in use, the term is often used as a euphemism for memory management. The phrasing of Tuning GC or tuning the collector are often used with the understanding that it refers to tuning the JVM’s memory management subsystem. The best source of telemetry data for tuning GC comes from GC Logs and GCToolKit has been helpful in making this task easier by providing parsers, models and an API to build analytics with. You can run the Maven project HeapOccupancyAfterCollectionSummary sample as an example of this.

Usage

In order to use this library you'll need to add its dependencies to your project. We provide the instructions for Maven below.

Maven Coordinates

Maven Central

The GCToolKit artifacts are in Maven Central. You'll then need to add the api, parser and vertx modules to your project in the dependencyManagement and/or dependencies section as you see fit.

<dependencies>
    ...
    
    <dependency>
        <groupId>com.microsoft.gctoolkit</groupId>
        <artifactId>api</artifactId>
        <version>2.0.4</version>
    </dependency>
    
    <dependency>
        <groupId>com.microsoft.gctoolkit</groupId>
        <artifactId>parser</artifactId>
        <version>2.0.4</version>
    </dependency>
    
    <dependency>
        <groupId>com.microsoft.gctoolkit</groupId>
        <artifactId>vertx</artifactId>
        <version>2.0.4</version>
    </dependency>

    ...
</dependencies>

User Discussions

Meet other developers working with GCToolKit, ask questions, and participate in the development of this project by visiting the Discussions tab.

Example

See the sample project: sample/README

Contributing

See CONTRIBUTING for full details including more options for building and testing the project.

Test Coverage Report

Core API Coverage
Coverage

Core :: Parser
Coverage::Core::Parser

Core :: Vertx
Coverage::Core::Parser

License

Microsoft GCToolKit is licensed under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].