leak_profiler 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c65071dbbe8a5516095022d27fc86043512d1f2a1c12c8fcf24d9c3aea7e0a71
4
- data.tar.gz: e2ba069b4a7b4ed7c369b72756ec8f97f2f32736ea212ae7092802d0e4aecf94
3
+ metadata.gz: 386f532ac6ac35f8f971e9fcc94d29e98d509feb16ffa49f471235e07f74fe64
4
+ data.tar.gz: 138da4ee3ac1cd9e2057e3be13e955a3d0ea044426de4bca298ae8255bd62777
5
5
  SHA512:
6
- metadata.gz: e3b875bd325d8ab5c36004b0c413ff7eeb742211e058669a5fd328dfe1ff654672b69a84cb4d627663085e37c0a540a881d36e40eb65c9a48e2b85fb23a99304
7
- data.tar.gz: 6f26582f06e662a12ed60282fc41b78303de00ccd1350469e99565ec54ba142f1c68b966fea60e5294927aa724132165f9d49cdcdadba7ed2d30d478501c915f
6
+ metadata.gz: 6d02acbee4be5c1ea02e22cff0ad8653a5028be7b660bfac35533c75eca52d6eb040d596e817117c189e72318c79b60bd0ee17ffe499e273c5f98ea8d1e872d6
7
+ data.tar.gz: 06aee1fc3dac01bf958d60870bfdd82debcc4605f2589b4477435e9f6955c2035d4cf220d718673074c633e1209e823e420e2ab8499d60805b5fe46f8e652eee
data/Rakefile CHANGED
@@ -8,3 +8,8 @@ task default: :test
8
8
  Rake::TestTask.new do |task|
9
9
  task.pattern = 'test/test_*.rb'
10
10
  end
11
+
12
+ # Update RBS signature
13
+ task :'rbs:update' do
14
+ sh 'bundle exec rbs-inline --output lib'
15
+ end
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # rbs_inline: enabled
4
+
3
5
  require_relative 'allocations'
4
6
  require_relative 'memory_memsize'
5
7
  require_relative 'memory_usage'
@@ -7,6 +9,8 @@ require 'fileutils'
7
9
  require 'logger'
8
10
 
9
11
  class LeakProfiler
12
+ # @rbs output_dir: String
13
+ # @rbs return: void
10
14
  def initialize(output_dir: './leak_profiler')
11
15
  @output_dir = output_dir
12
16
  @threads = []
@@ -14,6 +18,12 @@ class LeakProfiler
14
18
  FileUtils.mkdir_p(@output_dir)
15
19
  end
16
20
 
21
+ # @rbs interval: Integer
22
+ # @rbs max_allocations: Integer
23
+ # @rbs max_referrers: Integer
24
+ # @rbs logger: untyped
25
+ # @rbs filename: String
26
+ # @rbs return: self
17
27
  def report(interval: 30, max_allocations: 10, max_referrers: 3, logger: nil, filename: nil)
18
28
  filename ||= "leak_profiler-#{Process.pid}.log"
19
29
  logger ||= Logger.new(File.join(@output_dir, filename))
@@ -24,6 +34,9 @@ class LeakProfiler
24
34
  self
25
35
  end
26
36
 
37
+ # @rbs interval: Integer
38
+ # @rbs filename: String
39
+ # @rbs return: self
27
40
  def report_rss(interval: 1, filename: nil)
28
41
  profiler = LeakProfiler::MemoryUsage.new(output_dir: @output_dir, interval: interval, filename: filename)
29
42
  profiler.report
@@ -32,6 +45,9 @@ class LeakProfiler
32
45
  self
33
46
  end
34
47
 
48
+ # @rbs interval: Integer
49
+ # @rbs filename: String
50
+ # @rbs return: self
35
51
  def report_memsize(interval: 1, filename: nil)
36
52
  profiler = LeakProfiler::MemoryMemsize.new(output_dir: @output_dir, interval: interval, filename: filename)
37
53
  profiler.report
@@ -0,0 +1,27 @@
1
+ # Generated from lib/leak_profiler/leak_profiler.rb with RBS::Inline
2
+
3
+ class LeakProfiler
4
+ # @rbs output_dir: String
5
+ # @rbs return: void
6
+ def initialize: (?output_dir: String) -> void
7
+
8
+ # @rbs interval: Integer
9
+ # @rbs max_allocations: Integer
10
+ # @rbs max_referrers: Integer
11
+ # @rbs logger: untyped
12
+ # @rbs filename: String
13
+ # @rbs return: self
14
+ def report: (?interval: Integer, ?max_allocations: Integer, ?max_referrers: Integer, ?logger: untyped, ?filename: String) -> self
15
+
16
+ # @rbs interval: Integer
17
+ # @rbs filename: String
18
+ # @rbs return: self
19
+ def report_rss: (?interval: Integer, ?filename: String) -> self
20
+
21
+ # @rbs interval: Integer
22
+ # @rbs filename: String
23
+ # @rbs return: self
24
+ def report_memsize: (?interval: Integer, ?filename: String) -> self
25
+
26
+ def shutdown: () -> untyped
27
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: leak_profiler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Watson
@@ -40,7 +40,7 @@ files:
40
40
  - lib/leak_profiler/leak_profiler.rb
41
41
  - lib/leak_profiler/memory_memsize.rb
42
42
  - lib/leak_profiler/memory_usage.rb
43
- - sig/leak_profiler.rbs
43
+ - sig/generated/leak_profiler/leak_profiler.rbs
44
44
  - test/test_leak_profiler.rb
45
45
  homepage: https://github.com/Watson1978/leak_profiler
46
46
  licenses:
@@ -63,7 +63,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
63
63
  - !ruby/object:Gem::Version
64
64
  version: '0'
65
65
  requirements: []
66
- rubygems_version: 3.6.8
66
+ rubygems_version: 3.6.7
67
67
  specification_version: 4
68
68
  summary: A simple profiler for Ruby to detect memory leak.
69
69
  test_files: []
@@ -1,10 +0,0 @@
1
- class LeakProfiler
2
- def initialize: (?output_dir: String) -> void
3
-
4
- # TODO: Use valid type for logger
5
- def report: (?interval: Integer, ?max_allocations: Integer, ?max_referrers: Integer, ?logger: Object, ?filename: String) -> self
6
-
7
- def report_rss: (?interval: Integer, ?filename: String) -> self
8
-
9
- def report_memsize: (?interval: Integer, ?filename: String) -> self
10
- end