heap-profiler 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "objspace"
4
+ require "fileutils"
5
+
6
+ require "heap_profiler/version"
7
+ require "heap_profiler/reporter"
8
+
9
+ module HeapProfiler
10
+ Error = Class.new(StandardError)
11
+
12
+ class << self
13
+ attr_accessor :current_reporter
14
+
15
+ def start(dir)
16
+ return if current_reporter
17
+ self.current_reporter = Reporter.new(dir)
18
+ current_reporter.start
19
+ end
20
+
21
+ def stop
22
+ current_reporter&.stop
23
+ end
24
+
25
+ def report(dir, &block)
26
+ Reporter.new(dir).run(&block)
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+ module Heap
3
+ module Profiler
4
+ VERSION = "0.1.0"
5
+ end
6
+ end
metadata ADDED
@@ -0,0 +1,86 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: heap-profiler
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Jean Boussier
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2020-08-03 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Make several heap dumps and summarize allocated, retained memory
14
+ email:
15
+ - jean.boussier@gmail.com
16
+ executables:
17
+ - heap-profiler
18
+ extensions:
19
+ - ext/heap_profiler/extconf.rb
20
+ extra_rdoc_files: []
21
+ files:
22
+ - ".github/workflows/tests.yml"
23
+ - ".gitignore"
24
+ - ".rubocop.yml"
25
+ - ".travis.yml"
26
+ - Gemfile
27
+ - Gemfile.lock
28
+ - LICENSE.txt
29
+ - README.md
30
+ - Rakefile
31
+ - TODO.md
32
+ - benchmark/address-parsing.rb
33
+ - benchmark/indexing.rb
34
+ - bin/console
35
+ - bin/generate-report
36
+ - bin/rubocop
37
+ - bin/setup
38
+ - bin/testunit
39
+ - dev.yml
40
+ - exe/heap-profiler
41
+ - ext/heap_profiler/extconf.rb
42
+ - ext/heap_profiler/heap_profiler.cpp
43
+ - ext/heap_profiler/simdjson.cpp
44
+ - ext/heap_profiler/simdjson.h
45
+ - heap-profiler.gemspec
46
+ - lib/heap-profiler.rb
47
+ - lib/heap_profiler/analyzer.rb
48
+ - lib/heap_profiler/cli.rb
49
+ - lib/heap_profiler/diff.rb
50
+ - lib/heap_profiler/dump.rb
51
+ - lib/heap_profiler/full.rb
52
+ - lib/heap_profiler/index.rb
53
+ - lib/heap_profiler/monochrome.rb
54
+ - lib/heap_profiler/native.rb
55
+ - lib/heap_profiler/polychrome.rb
56
+ - lib/heap_profiler/reporter.rb
57
+ - lib/heap_profiler/results.rb
58
+ - lib/heap_profiler/runtime.rb
59
+ - lib/heap_profiler/version.rb
60
+ homepage: https://github.com/Shopify/heap-profiler
61
+ licenses:
62
+ - MIT
63
+ metadata:
64
+ allowed_push_host: https://rubygems.org/
65
+ homepage_uri: https://github.com/Shopify/heap-profiler
66
+ source_code_uri: https://github.com/Shopify/heap-profiler
67
+ post_install_message:
68
+ rdoc_options: []
69
+ require_paths:
70
+ - lib
71
+ required_ruby_version: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 2.6.0
76
+ required_rubygems_version: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ requirements: []
82
+ rubygems_version: 3.0.3
83
+ signing_key:
84
+ specification_version: 4
85
+ summary: Ruby heap profiling tool
86
+ test_files: []