Skip to content

An assortment of tools to track resources in Crystal applications

License

Notifications You must be signed in to change notification settings

crystal-lang/perf-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

perf-tools

An assortment of tools to track resources in Crystal applications.

Usage

To log the number of allocations, objects, their sizes, or their linking graph:

require "perf_tools/mem_prof"

PerfTools::MemProf.log_object_counts(STDOUT)
PerfTools::MemProf.log_object_sizes(STDOUT)
PerfTools::MemProf.log_allocations(STDOUT)
PerfTools::MemProf.pretty_log_allocations(STDOUT)
PerfTools::MemProf.pretty_log_object_graph(STDOUT)

To log all fibers:

require "perf_tools/fiber_trace"

PerfTools::FiberTrace.log_fibers(STDOUT)
PerfTools::FiberTrace.pretty_log_fibers(STDOUT)

Check each tool's instructions for more information.

Installation

Add this to your application's shard.yml:

development_dependencies:
  perf_tools:
    github: crystal-lang/perf-tools

Contributing

  1. Fork it ( https://github.com/crystal-lang/perf-tools/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

About

An assortment of tools to track resources in Crystal applications

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project