ruby-prof 0.5.1-mswin32 → 0.5.2-mswin32
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.
- data/Rakefile +2 -1
- data/ext/ruby_prof.c +1 -1
- data/lib/ruby_prof.so +0 -0
- data/rails_plugin/ruby-prof/init.rb +8 -0
- data/rails_plugin/ruby-prof/lib/profiling.rb +57 -0
- metadata +6 -2
data/Rakefile
CHANGED
@@ -5,7 +5,7 @@ require 'rake/rdoctask'
|
|
5
5
|
SO_NAME = "ruby_prof.so"
|
6
6
|
|
7
7
|
# ------- Default Package ----------
|
8
|
-
RUBY_PROF_VERSION = "0.5.
|
8
|
+
RUBY_PROF_VERSION = "0.5.2"
|
9
9
|
|
10
10
|
FILES = FileList[
|
11
11
|
'Rakefile',
|
@@ -14,6 +14,7 @@ FILES = FileList[
|
|
14
14
|
'CHANGES',
|
15
15
|
'bin/*',
|
16
16
|
'lib/**/*',
|
17
|
+
'rails_plugin/**/*',
|
17
18
|
'examples/*',
|
18
19
|
'ext/*',
|
19
20
|
'doc/**/*',
|
data/ext/ruby_prof.c
CHANGED
data/lib/ruby_prof.so
CHANGED
Binary file
|
@@ -0,0 +1,57 @@
|
|
1
|
+
require 'ruby-prof'
|
2
|
+
|
3
|
+
module ActionController #:nodoc:
|
4
|
+
# The ruby-prof module times the performance of actions and reports to the logger. If the Active Record
|
5
|
+
# package has been included, a separate timing section for database calls will be added as well.
|
6
|
+
module Profiling #:nodoc:
|
7
|
+
LOG_PATH = nil
|
8
|
+
|
9
|
+
def self.included(base)
|
10
|
+
base.class_eval do
|
11
|
+
alias_method_chain :perform_action, :profiling
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def perform_action_with_profiling
|
16
|
+
# Profling could be running if this
|
17
|
+
# is a render_component call.
|
18
|
+
if RubyProf.running? or not logger
|
19
|
+
perform_action_without_profiling
|
20
|
+
else
|
21
|
+
result = RubyProf.profile do
|
22
|
+
perform_action_without_profiling
|
23
|
+
end
|
24
|
+
|
25
|
+
output = StringIO.new
|
26
|
+
output << " [#{complete_request_uri rescue "unknown"}]"
|
27
|
+
output << "\n\n"
|
28
|
+
|
29
|
+
# Create a flat printer
|
30
|
+
printer = RubyProf::FlatPrinter.new(result)
|
31
|
+
|
32
|
+
# Skip anything less than 1% - which is a lot of
|
33
|
+
# stuff in Rails. Don't print the source file
|
34
|
+
# its too noisy.
|
35
|
+
printer.print(output, {:min_percent => 1,
|
36
|
+
:print_file => false})
|
37
|
+
logger.info(output.string)
|
38
|
+
|
39
|
+
## Example for Graph html printer
|
40
|
+
#printer = RubyProf::GraphHtmlPrinter.new(result)
|
41
|
+
#path = File.join(LOG_PATH, 'call_graph.html')
|
42
|
+
#File.open(path, 'w') do |file|
|
43
|
+
#printer.print(file, {:min_percent => 1,
|
44
|
+
#:print_file => true})
|
45
|
+
#end
|
46
|
+
|
47
|
+
## Used for KCacheGrind visualizations
|
48
|
+
#printer = RubyProf::CallTreePrinter.new(result)
|
49
|
+
#path = File.join(LOG_PATH, 'callgrind.out')
|
50
|
+
#File.open(path, 'w') do |file|
|
51
|
+
#printer.print(file, {:min_percent => 1,
|
52
|
+
#:print_file => true})
|
53
|
+
#end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.2
|
|
3
3
|
specification_version: 1
|
4
4
|
name: ruby-prof
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.5.
|
7
|
-
date: 2007-07-
|
6
|
+
version: 0.5.2
|
7
|
+
date: 2007-07-19 14:02:03 -06:00
|
8
8
|
summary: Fast Ruby profiler
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -44,6 +44,10 @@ files:
|
|
44
44
|
- lib/ruby-prof/graph_printer.rb
|
45
45
|
- lib/ruby-prof/profile_test_case.rb
|
46
46
|
- lib/ruby-prof/task.rb
|
47
|
+
- rails_plugin/ruby-prof
|
48
|
+
- rails_plugin/ruby-prof/init.rb
|
49
|
+
- rails_plugin/ruby-prof/lib
|
50
|
+
- rails_plugin/ruby-prof/lib/profiling.rb
|
47
51
|
- examples/flat.txt
|
48
52
|
- examples/graph.html
|
49
53
|
- examples/graph.txt
|