sampling_prof 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 +4 -4
- data/README.md +2 -0
- data/lib/sampling_prof.jar +0 -0
- data/lib/sampling_prof/internal.rb +8 -5
- metadata +17 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 38b88b218151e0d854a3cd7acfd68a00d09798e7
|
4
|
+
data.tar.gz: 1b64bde640e0d08c597b13fa7d86cdf2247e6f52
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9afcdf7d910cbe4c2d2a1414c878010882847d35edf1f3be10de5b56809475acb45ee9af7cc3a031d554b6fb58ae2ea7635471a38b75cb1358402df43498e1c7
|
7
|
+
data.tar.gz: b991f709c0e1faa49dc11abc423fcfa48f5426af5e5833e10496758fe649059b6b6f6c7bb6e862e17c661196da69ac6eca9be2bb99beb7a8049601c31e007d18
|
data/README.md
CHANGED
@@ -25,6 +25,8 @@ SamplingProf class initializer takes 1 argument:
|
|
25
25
|
|
26
26
|
SamplingProf class also takes block as another option to overwite default output handler, the default output handler will write output data to a local file defined by output_file attribute, which is default to SamplingProf::DEFAULT_OUTPUT_FILE
|
27
27
|
|
28
|
+
Notice, the output handler should be called in the context of the thread start profiling. So you can pass parameters to the output handler by Thread local variables.
|
29
|
+
|
28
30
|
When a SamplingProf is initialized, a thread will be started to handle sampling process.
|
29
31
|
So you need call SamplingProf#terminate to shutdown the sampling thread after everything is done.
|
30
32
|
|
data/lib/sampling_prof.jar
CHANGED
Binary file
|
@@ -77,7 +77,7 @@ class SamplingProf
|
|
77
77
|
def stop
|
78
78
|
if @running
|
79
79
|
if sampling = @samplings.delete(Thread.current)
|
80
|
-
output(sampling)
|
80
|
+
output(Thread.current, sampling)
|
81
81
|
true
|
82
82
|
end
|
83
83
|
end
|
@@ -108,15 +108,18 @@ class SamplingProf
|
|
108
108
|
sleep @sampling_interval
|
109
109
|
break unless @running
|
110
110
|
end
|
111
|
-
@samplings.each do |sampling|
|
112
|
-
output(sampling)
|
111
|
+
@samplings.each do |thread, sampling|
|
112
|
+
output(thread, sampling)
|
113
113
|
end
|
114
114
|
end
|
115
115
|
end
|
116
116
|
|
117
|
-
def output(sampling)
|
117
|
+
def output(thread, sampling)
|
118
118
|
if sampling.sampling_data?
|
119
|
-
@output_handler
|
119
|
+
o = @output_handler
|
120
|
+
thread.instance_eval do
|
121
|
+
o.call(sampling.result)
|
122
|
+
end
|
120
123
|
end
|
121
124
|
end
|
122
125
|
end
|
metadata
CHANGED
@@ -1,35 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sampling_prof
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Xiao Li
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake-compiler
|
15
|
-
|
15
|
+
version_requirements: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0.9'
|
20
|
-
- -
|
20
|
+
- - '>='
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: 0.9.2
|
23
|
-
|
24
|
-
prerelease: false
|
25
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirement: !ruby/object:Gem::Requirement
|
26
24
|
requirements:
|
27
|
-
- -
|
25
|
+
- - ~>
|
28
26
|
- !ruby/object:Gem::Version
|
29
27
|
version: '0.9'
|
30
|
-
- -
|
28
|
+
- - '>='
|
31
29
|
- !ruby/object:Gem::Version
|
32
30
|
version: 0.9.2
|
31
|
+
prerelease: false
|
32
|
+
type: :development
|
33
33
|
description: |
|
34
34
|
SamplingProf is a profiling tool that operates by sampling your running thread stacktrace. The result is statistical approximation, but it allows your code to run near full speed
|
35
35
|
email:
|
@@ -46,24 +46,24 @@ homepage: https://github.com/xli/sampling_prof
|
|
46
46
|
licenses:
|
47
47
|
- MIT
|
48
48
|
metadata: {}
|
49
|
-
post_install_message:
|
49
|
+
post_install_message:
|
50
50
|
rdoc_options: []
|
51
51
|
require_paths:
|
52
52
|
- lib
|
53
53
|
required_ruby_version: !ruby/object:Gem::Requirement
|
54
54
|
requirements:
|
55
|
-
- -
|
55
|
+
- - '>='
|
56
56
|
- !ruby/object:Gem::Version
|
57
57
|
version: '0'
|
58
58
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
|
-
- -
|
60
|
+
- - '>='
|
61
61
|
- !ruby/object:Gem::Version
|
62
62
|
version: '0'
|
63
63
|
requirements: []
|
64
|
-
rubyforge_project:
|
65
|
-
rubygems_version: 2.
|
66
|
-
signing_key:
|
64
|
+
rubyforge_project:
|
65
|
+
rubygems_version: 2.1.9
|
66
|
+
signing_key:
|
67
67
|
specification_version: 4
|
68
68
|
summary: Simple sampling profiler for ruby
|
69
69
|
test_files: []
|