raindrops 0.12.0 → 0.12.0.5.g821b

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 7e0944aa1ddeeb4053cca3fcf100bf6dc24e1e19
4
+ data.tar.gz: d58d8bee09014bea7ead3fc3bcf4abff24c7d1c9
5
+ SHA512:
6
+ metadata.gz: 9deecb71c6a9393970d94069e3c4fe698a4035ac37d00b61967d30b39fb83f11bd76edb4e18a21dda055ed16bfead9bb1441b9d587d527944e363da1d908c8a3
7
+ data.tar.gz: bcac5e4baf4a6fd2de0aea7bd2b0799dae7632e900d018bb9aec25cff883f706f12c96c37f5ad8f837be60b65e16113b2d2d401ed484dab1103f3575abdece84
data/ChangeLog CHANGED
@@ -1,5 +1,52 @@
1
1
  ChangeLog from http://bogomips.org/raindrops.git
2
2
 
3
+ commit 821b190e39fa48496520eb8f7f782ead8419df58
4
+ Author: Eric Wong <normalperson@yhbt.net>
5
+ Date: Tue Feb 18 06:48:36 2014 +0000
6
+
7
+ linux_inet_diag: fix Ruby 2.2 (dev) build
8
+
9
+ Do not define or use rb_thread_blocking_region if
10
+ rb_thread_io_blocking_region is available.
11
+ rb_thread_blocking_region is gone entirely in Ruby trunk.
12
+
13
+ commit 7c61c7cc7d2571d1778da2f6dd01ea56cdac0530
14
+ Author: Eric Wong <normalperson@yhbt.net>
15
+ Date: Tue Feb 18 06:46:43 2014 +0000
16
+
17
+ raindrops.gemspec: add wrongdoc dev dependency
18
+
19
+ Ugh, I really need to work on an 80x24-friendly rdoc :P
20
+
21
+ commit 8297d1dc600e34db29bb071ff7b94f6aaa7b45c5
22
+ Author: Eric Wong <normalperson@yhbt.net>
23
+ Date: Tue Nov 5 07:05:04 2013 +0000
24
+
25
+ last_data_recv: do not assume Unicorn includes all constants
26
+
27
+ Some projects may load parts of Unicorn and not others.
28
+
29
+ commit f76c6ba8aa64018fcfac6f1c1989ddc828bd180b
30
+ Author: Eric Wong <normalperson@yhbt.net>
31
+ Date: Tue Nov 5 07:00:26 2013 +0000
32
+
33
+ Rakefile: remove raa_update task
34
+
35
+ RAA is dead
36
+
37
+ commit f952501c14316f8639949e3537aead6351224bcd
38
+ Author: Hleb Valoshka <375gnu@gmail.com>
39
+ Date: Thu Sep 12 16:31:13 2013 +0300
40
+
41
+ Remove Scope IDs from IPv6 addresses.
42
+
43
+ Scoped ipv6 addresses are defined in rfc4007.
44
+ Ruby doesn't support them yet and it's unknown whether it will
45
+ (see http://bugs.ruby-lang.org/issues/8464).
46
+ So we just remove scope ids.
47
+
48
+ Tested with MRI and Rubinius.
49
+
3
50
  commit 05cde4657605caa2db2cb9bd3da611e4bc9d79f6
4
51
  Author: Eric Wong <normalperson@yhbt.net>
5
52
  Date: Mon Sep 2 10:30:39 2013 +0000
data/GIT-VERSION-FILE CHANGED
@@ -1 +1 @@
1
- GIT_VERSION = 0.12.0
1
+ GIT_VERSION = 0.12.0.5.g821b
data/Rakefile CHANGED
@@ -26,40 +26,3 @@ task :publish_news do
26
26
  rf.login
27
27
  rf.post_news('rainbows', subject, body)
28
28
  end
29
-
30
- desc "post to RAA"
31
- task :raa_update do
32
- require 'net/http'
33
- require 'net/netrc'
34
- rc = Net::Netrc.locate('raindrops-raa') or abort "~/.netrc not found"
35
- password = rc.password
36
-
37
- s = Gem::Specification.load('raindrops.gemspec')
38
- desc = [ s.description.strip ]
39
- desc << ""
40
- desc << "* #{s.email}"
41
- desc << "* #{git_url}"
42
- desc << "* #{cgit_url}"
43
- desc = desc.join("\n")
44
- uri = URI.parse('http://raa.ruby-lang.org/regist.rhtml')
45
- form = {
46
- :name => s.name,
47
- :short_description => s.summary,
48
- :version => s.version.to_s,
49
- :status => 'experimental',
50
- :owner => s.authors.first,
51
- :email => s.email,
52
- :category_major => 'Library',
53
- :category_minor => 'Rack',
54
- :url => s.homepage,
55
- :download => 'http://rubyforge.org/frs/?group_id=8977',
56
- :license => 'LGPL', # LGPLv3, actually, but RAA is ancient...
57
- :description_style => 'Plain',
58
- :description => desc,
59
- :pass => password,
60
- :submit => 'Update',
61
- }
62
- res = Net::HTTP.post_form(uri, form)
63
- p res
64
- puts res.body
65
- end
@@ -13,7 +13,8 @@
13
13
  #endif
14
14
 
15
15
  /* partial emulation of the 1.9 rb_thread_blocking_region under 1.8 */
16
- #ifndef HAVE_RB_THREAD_BLOCKING_REGION
16
+ #if !defined(HAVE_RB_THREAD_BLOCKING_REGION) && \
17
+ !defined(HAVE_RB_THREAD_IO_BLOCKING_REGION)
17
18
  # include <rubysig.h>
18
19
  # define RUBY_UBF_IO ((rb_unblock_function_t *)-1)
19
20
  typedef void rb_unblock_function_t(void *);
@@ -134,12 +135,49 @@ static int st_free_data(st_data_t key, st_data_t value, st_data_t ignored)
134
135
  return ST_DELETE;
135
136
  }
136
137
 
138
+ /*
139
+ * call-seq:
140
+ * remove_scope_id(ip_address)
141
+ *
142
+ * Returns copy of IP address with Scope ID removed,
143
+ * if address has it (only IPv6 actually may have it).
144
+ */
145
+ static VALUE remove_scope_id(const char *addr)
146
+ {
147
+ VALUE rv = rb_str_new2(addr);
148
+ long len = RSTRING_LEN(rv);
149
+ char *ptr = RSTRING_PTR(rv);
150
+ char *pct = memchr(ptr, '%', len);
151
+
152
+ /*
153
+ * remove scoped portion
154
+ * Ruby equivalent: rv.sub!(/%([^\]]*)\]/, "]")
155
+ */
156
+ if (pct) {
157
+ size_t newlen = pct - ptr;
158
+ char *rbracket = memchr(pct, ']', len - newlen);
159
+
160
+ if (rbracket) {
161
+ size_t move = len - (rbracket - ptr);
162
+
163
+ memmove(pct, rbracket, move);
164
+ newlen += move;
165
+
166
+ rb_str_set_len(rv, newlen);
167
+ } else {
168
+ rb_raise(rb_eArgError,
169
+ "']' not found in IPv6 addr=%s", ptr);
170
+ }
171
+ }
172
+ return rv;
173
+ }
174
+
137
175
  static int st_to_hash(st_data_t key, st_data_t value, VALUE hash)
138
176
  {
139
177
  struct listen_stats *stats = (struct listen_stats *)value;
140
178
 
141
179
  if (stats->listener_p) {
142
- VALUE k = rb_str_new2((const char *)key);
180
+ VALUE k = remove_scope_id((const char *)key);
143
181
  VALUE v = rb_listen_stats(stats);
144
182
 
145
183
  OBJ_FREEZE(k);
@@ -153,7 +191,7 @@ static int st_AND_hash(st_data_t key, st_data_t value, VALUE hash)
153
191
  struct listen_stats *stats = (struct listen_stats *)value;
154
192
 
155
193
  if (stats->listener_p) {
156
- VALUE k = rb_str_new2((const char *)key);
194
+ VALUE k = remove_scope_id((const char *)key);
157
195
 
158
196
  if (rb_hash_lookup(hash, k) == Qtrue) {
159
197
  VALUE v = rb_listen_stats(stats);
@@ -73,7 +73,9 @@ class Raindrops::LastDataRecv
73
73
  # :startdoc
74
74
 
75
75
  def initialize(opts = {})
76
- Raindrops::Aggregate::LastDataRecv.cornify! if defined?(Unicorn)
76
+ if defined?(Unicorn::HttpServer::LISTENERS)
77
+ Raindrops::Aggregate::LastDataRecv.cornify!
78
+ end
77
79
  @aggregate =
78
80
  opts[:aggregate] || Raindrops::Aggregate::LastDataRecv.default_aggregate
79
81
  end
data/raindrops.gemspec CHANGED
@@ -27,6 +27,7 @@ Gem::Specification.new do |s|
27
27
  s.add_development_dependency('posix_mq', '~> 2.0')
28
28
  s.add_development_dependency('rack', '~> 1.2')
29
29
  s.add_development_dependency('unicorn', '>= 0.98')
30
+ s.add_development_dependency('wrongdoc', ['~> 1.6.2', '>= 1.6.2'])
30
31
 
31
32
  # s.licenses = %w(LGPLv3) # accessor not compatible with older RubyGems
32
33
  end
metadata CHANGED
@@ -1,151 +1,122 @@
1
1
  --- !ruby/object:Gem::Specification
2
- name: !binary |-
3
- cmFpbmRyb3Bz
2
+ name: raindrops
4
3
  version: !ruby/object:Gem::Version
5
- version: 0.12.0
6
- prerelease:
4
+ version: 0.12.0.5.g821b
7
5
  platform: ruby
8
6
  authors:
9
- - !binary |-
10
- cmFpbmRyb3BzIGhhY2tlcnM=
7
+ - raindrops hackers
11
8
  autorequire:
12
9
  bindir: bin
13
10
  cert_chain: []
14
- date: 2013-09-02 00:00:00.000000000 Z
11
+ date: 2014-02-18 00:00:00.000000000 Z
15
12
  dependencies:
16
13
  - !ruby/object:Gem::Dependency
17
- name: !binary |-
18
- YWdncmVnYXRl
14
+ name: aggregate
19
15
  requirement: !ruby/object:Gem::Requirement
20
- none: false
21
16
  requirements:
22
- - - !binary |-
23
- fj4=
17
+ - - "~>"
24
18
  - !ruby/object:Gem::Version
25
- version: !binary |-
26
- MC4y
19
+ version: '0.2'
27
20
  type: :development
28
21
  prerelease: false
29
22
  version_requirements: !ruby/object:Gem::Requirement
30
- none: false
31
23
  requirements:
32
- - - !binary |-
33
- fj4=
24
+ - - "~>"
34
25
  - !ruby/object:Gem::Version
35
- version: !binary |-
36
- MC4y
26
+ version: '0.2'
37
27
  - !ruby/object:Gem::Dependency
38
- name: !binary |-
39
- aW8tZXh0cmE=
28
+ name: io-extra
40
29
  requirement: !ruby/object:Gem::Requirement
41
- none: false
42
30
  requirements:
43
- - - !binary |-
44
- fj4=
31
+ - - "~>"
45
32
  - !ruby/object:Gem::Version
46
- version: !binary |-
47
- MS4y
48
- - - !binary |-
49
- Pj0=
33
+ version: '1.2'
34
+ - - ">="
50
35
  - !ruby/object:Gem::Version
51
- version: !binary |-
52
- MS4yLjM=
36
+ version: 1.2.3
53
37
  type: :development
54
38
  prerelease: false
55
39
  version_requirements: !ruby/object:Gem::Requirement
56
- none: false
57
40
  requirements:
58
- - - !binary |-
59
- fj4=
41
+ - - "~>"
60
42
  - !ruby/object:Gem::Version
61
- version: !binary |-
62
- MS4y
63
- - - !binary |-
64
- Pj0=
43
+ version: '1.2'
44
+ - - ">="
65
45
  - !ruby/object:Gem::Version
66
- version: !binary |-
67
- MS4yLjM=
46
+ version: 1.2.3
68
47
  - !ruby/object:Gem::Dependency
69
- name: !binary |-
70
- cG9zaXhfbXE=
48
+ name: posix_mq
71
49
  requirement: !ruby/object:Gem::Requirement
72
- none: false
73
50
  requirements:
74
- - - !binary |-
75
- fj4=
51
+ - - "~>"
76
52
  - !ruby/object:Gem::Version
77
- version: !binary |-
78
- Mi4w
53
+ version: '2.0'
79
54
  type: :development
80
55
  prerelease: false
81
56
  version_requirements: !ruby/object:Gem::Requirement
82
- none: false
83
57
  requirements:
84
- - - !binary |-
85
- fj4=
58
+ - - "~>"
86
59
  - !ruby/object:Gem::Version
87
- version: !binary |-
88
- Mi4w
60
+ version: '2.0'
89
61
  - !ruby/object:Gem::Dependency
90
- name: !binary |-
91
- cmFjaw==
62
+ name: rack
92
63
  requirement: !ruby/object:Gem::Requirement
93
- none: false
94
64
  requirements:
95
- - - !binary |-
96
- fj4=
65
+ - - "~>"
97
66
  - !ruby/object:Gem::Version
98
- version: !binary |-
99
- MS4y
67
+ version: '1.2'
100
68
  type: :development
101
69
  prerelease: false
102
70
  version_requirements: !ruby/object:Gem::Requirement
103
- none: false
104
71
  requirements:
105
- - - !binary |-
106
- fj4=
72
+ - - "~>"
107
73
  - !ruby/object:Gem::Version
108
- version: !binary |-
109
- MS4y
74
+ version: '1.2'
110
75
  - !ruby/object:Gem::Dependency
111
- name: !binary |-
112
- dW5pY29ybg==
76
+ name: unicorn
113
77
  requirement: !ruby/object:Gem::Requirement
114
- none: false
115
78
  requirements:
116
- - - !binary |-
117
- Pj0=
79
+ - - ">="
118
80
  - !ruby/object:Gem::Version
119
- version: !binary |-
120
- MC45OA==
81
+ version: '0.98'
121
82
  type: :development
122
83
  prerelease: false
123
84
  version_requirements: !ruby/object:Gem::Requirement
124
- none: false
125
85
  requirements:
126
- - - !binary |-
127
- Pj0=
86
+ - - ">="
128
87
  - !ruby/object:Gem::Version
129
- version: !binary |-
130
- MC45OA==
131
- description: ! 'Raindrops is a real-time stats toolkit to show statistics for Rack
132
- HTTP
133
-
88
+ version: '0.98'
89
+ - !ruby/object:Gem::Dependency
90
+ name: wrongdoc
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: 1.6.2
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: 1.6.2
99
+ type: :development
100
+ prerelease: false
101
+ version_requirements: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - "~>"
104
+ - !ruby/object:Gem::Version
105
+ version: 1.6.2
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: 1.6.2
109
+ description: |-
110
+ Raindrops is a real-time stats toolkit to show statistics for Rack HTTP
134
111
  servers. It is designed for preforking servers such as Rainbows! and
135
-
136
112
  Unicorn, but should support any Rack HTTP server under Ruby 2.0, 1.9,
137
-
138
113
  1.8 and Rubinius on platforms supporting POSIX shared memory. It may
139
-
140
114
  also be used as a generic scoreboard for sharing atomic counters across
141
-
142
- multiple processes.'
143
- email: !binary |-
144
- cmFpbmRyb3BzQGxpYnJlbGlzdC5vcmc=
115
+ multiple processes.
116
+ email: raindrops@librelist.org
145
117
  executables: []
146
118
  extensions:
147
- - !binary |-
148
- ZXh0L3JhaW5kcm9wcy9leHRjb25mLnJi
119
+ - ext/raindrops/extconf.rb
149
120
  extra_rdoc_files:
150
121
  - README
151
122
  - LICENSE
@@ -165,10 +136,10 @@ extra_rdoc_files:
165
136
  - ext/raindrops/linux_inet_diag.c
166
137
  - ext/raindrops/linux_tcp_info.c
167
138
  files:
168
- - .document
169
- - .gitignore
170
- - .manifest
171
- - .wrongdoc.yml
139
+ - ".document"
140
+ - ".gitignore"
141
+ - ".manifest"
142
+ - ".wrongdoc.yml"
172
143
  - COPYING
173
144
  - ChangeLog
174
145
  - GIT-VERSION-FILE
@@ -224,32 +195,30 @@ files:
224
195
  - test/test_watcher.rb
225
196
  homepage: http://raindrops.bogomips.org/
226
197
  licenses: []
198
+ metadata: {}
227
199
  post_install_message:
228
200
  rdoc_options:
229
- - -t
201
+ - "-t"
230
202
  - raindrops - real-time stats for preforking Rack servers
231
- - -W
203
+ - "-W"
232
204
  - http://bogomips.org/raindrops.git/tree/%s
233
205
  require_paths:
234
206
  - lib
235
207
  required_ruby_version: !ruby/object:Gem::Requirement
236
- none: false
237
208
  requirements:
238
- - - ! '>='
209
+ - - ">="
239
210
  - !ruby/object:Gem::Version
240
211
  version: '0'
241
212
  required_rubygems_version: !ruby/object:Gem::Requirement
242
- none: false
243
213
  requirements:
244
- - - ! '>='
214
+ - - ">"
245
215
  - !ruby/object:Gem::Version
246
- version: '0'
216
+ version: 1.3.1
247
217
  requirements: []
248
- rubyforge_project: !binary |-
249
- cmFpbmJvd3M=
250
- rubygems_version: 1.8.23
218
+ rubyforge_project: rainbows
219
+ rubygems_version: 2.2.2
251
220
  signing_key:
252
- specification_version: 3
221
+ specification_version: 4
253
222
  summary: real-time stats for preforking Rack servers
254
223
  test_files:
255
224
  - test/test_aggregate_pmq.rb