raindrops 0.12.0 → 0.12.0.5.g821b

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 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