onis 0.1.2 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/README.md +10 -2
  2. data/lib/onis/web.rb +14 -0
  3. data/onis.gemspec +3 -2
  4. metadata +14 -6
data/README.md CHANGED
@@ -11,7 +11,7 @@ Onis gives you introspection into object counts of live running ruby process.
11
11
 
12
12
  $ cd onis/
13
13
 
14
- $ cat test/stringpwd.rb
14
+ $ cat test/stringpwnd.rb
15
15
  require 'onis'
16
16
  puts Process.pid
17
17
  a = []
@@ -44,9 +44,17 @@ Onis gives you introspection into object counts of live running ruby process.
44
44
  $ onis -f -c 26584
45
45
 
46
46
  ## Watch!
47
-
47
+
48
48
  $ onis -w 26584
49
49
 
50
+ ## Web!
51
+
52
+ # config.ru or Rails metal
53
+
54
+ map '/onis' do
55
+ run Onis::Web
56
+ end
57
+
50
58
  ## How it works
51
59
 
52
60
  1. Onis drops a tempfile named after the pid `onis.<pid>`
@@ -0,0 +1,14 @@
1
+ require 'onis/base'
2
+
3
+ module Onis
4
+ module Web
5
+ def self.call(env)
6
+ table = Onis::ObjectInspector.all.map do |k,c|
7
+ "<tr><td>" + k.name + "</td><td>" + c.to_s + "</td></tr>"
8
+ end.join("")
9
+ p table
10
+ body = "<html><body><table>" + table + "</table></body></html>"
11
+ [200, { "Content-Type" => body.length.to_s }, [body]]
12
+ end
13
+ end
14
+ end
@@ -3,10 +3,10 @@ Gem::Specification.new do |s|
3
3
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
4
4
 
5
5
  s.name = 'onis'
6
- s.version = '0.1.2'
6
+ s.version = '0.2.1'
7
7
  s.date = '2009-10-27'
8
8
 
9
- s.description = "Live ObjectSpace introspection"
9
+ s.description = "Live ObjectSpace introspection (With Rack endpoint)"
10
10
  s.summary = s.description
11
11
 
12
12
  s.authors = ["Blake Mizerany"]
@@ -17,6 +17,7 @@ Gem::Specification.new do |s|
17
17
  onis.gemspec
18
18
  lib/onis.rb
19
19
  lib/onis/base.rb
20
+ lib/onis/web.rb
20
21
  bin/onis
21
22
  ]
22
23
  s.executables = ['onis']
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: onis
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 2
8
+ - 1
9
+ version: 0.2.1
5
10
  platform: ruby
6
11
  authors:
7
12
  - Blake Mizerany
@@ -13,7 +18,7 @@ date: 2009-10-27 00:00:00 -07:00
13
18
  default_executable:
14
19
  dependencies: []
15
20
 
16
- description: Live ObjectSpace introspection
21
+ description: Live ObjectSpace introspection (With Rack endpoint)
17
22
  email: blake.mizerany@gmail.com
18
23
  executables:
19
24
  - onis
@@ -26,6 +31,7 @@ files:
26
31
  - onis.gemspec
27
32
  - lib/onis.rb
28
33
  - lib/onis/base.rb
34
+ - lib/onis/web.rb
29
35
  - bin/onis
30
36
  has_rdoc: true
31
37
  homepage: http://github.com/bmizerany/onis/
@@ -40,20 +46,22 @@ required_ruby_version: !ruby/object:Gem::Requirement
40
46
  requirements:
41
47
  - - ">="
42
48
  - !ruby/object:Gem::Version
49
+ segments:
50
+ - 0
43
51
  version: "0"
44
- version:
45
52
  required_rubygems_version: !ruby/object:Gem::Requirement
46
53
  requirements:
47
54
  - - ">="
48
55
  - !ruby/object:Gem::Version
56
+ segments:
57
+ - 0
49
58
  version: "0"
50
- version:
51
59
  requirements: []
52
60
 
53
61
  rubyforge_project:
54
- rubygems_version: 1.3.4
62
+ rubygems_version: 1.3.6
55
63
  signing_key:
56
64
  specification_version: 2
57
- summary: Live ObjectSpace introspection
65
+ summary: Live ObjectSpace introspection (With Rack endpoint)
58
66
  test_files: []
59
67