counter_server 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/counter_server +9 -0
- data/lib/counter_server.rb +8 -1
- data/lib/counter_server/version.rb +1 -1
- metadata +4 -4
data/bin/counter_server
CHANGED
@@ -15,6 +15,7 @@ require "counter_server"
|
|
15
15
|
options = OpenStruct.new
|
16
16
|
options.bind_host = '0.0.0.0'
|
17
17
|
options.bind_port = 8126
|
18
|
+
options.verbose = false
|
18
19
|
options.flush_interval = 10
|
19
20
|
|
20
21
|
redis_options = OpenStruct.new
|
@@ -50,6 +51,11 @@ opts = OptionParser.new do |opts|
|
|
50
51
|
"Flush interval in seconds, default 10") do |x|
|
51
52
|
options.flush_interval = x
|
52
53
|
end
|
54
|
+
|
55
|
+
opts.on("-v", "--[no-]verbose",
|
56
|
+
"If true, log counters to stderr on flush") do |v|
|
57
|
+
options.verbose = v
|
58
|
+
end
|
53
59
|
end
|
54
60
|
|
55
61
|
begin
|
@@ -66,8 +72,11 @@ rescue
|
|
66
72
|
exit(1)
|
67
73
|
end
|
68
74
|
|
75
|
+
StatsD.verbose = options.verbose
|
69
76
|
StatsD.initialize_redis_backend(redis_options)
|
70
77
|
|
78
|
+
$stderr.puts "Counter Server started!"
|
79
|
+
|
71
80
|
EM.run do
|
72
81
|
begin
|
73
82
|
EM.add_periodic_timer(options.flush_interval) do
|
data/lib/counter_server.rb
CHANGED
@@ -16,12 +16,17 @@ module StatsD
|
|
16
16
|
@@counters = Hash.new { |h, k| h[k] = 0 }
|
17
17
|
@@logger = Logger.new(STDERR)
|
18
18
|
@@logger.progname = File.basename($0)
|
19
|
+
@@verbose = false
|
19
20
|
@@backend = nil
|
20
21
|
|
21
22
|
def self.logger
|
22
23
|
@@logger
|
23
24
|
end
|
24
25
|
|
26
|
+
def self.verbose=(verbose)
|
27
|
+
@@verbose = verbose
|
28
|
+
end
|
29
|
+
|
25
30
|
def self.initialize_redis_backend(options)
|
26
31
|
@@backend = RedisBackend.new(Redis.new(
|
27
32
|
:host => options.host, :port => options.port, :db => options.db))
|
@@ -59,6 +64,7 @@ module StatsD
|
|
59
64
|
end
|
60
65
|
|
61
66
|
def self.flush
|
67
|
+
@@logger.info "Flush" if @@verbose
|
62
68
|
@@backend.flush do |store|
|
63
69
|
@@counters.each do |key, increment_by|
|
64
70
|
super_key, sub_key = key.split('.', 2)
|
@@ -68,7 +74,8 @@ module StatsD
|
|
68
74
|
end
|
69
75
|
restored_sub_key = sub_key.gsub(/;COLON;/, ':').gsub(/;PERIOD;/, '.')
|
70
76
|
restored_super_key = super_key.gsub(/;COLON;/, ':').gsub(/;PERIOD;/, '.')
|
71
|
-
|
77
|
+
@@logger.info "Increment: #{restored_super_key}.#{restored_sub_key} += #{increment_by}" if @@verbose
|
78
|
+
store.increment_by(restored_super_key, restored_sub_key, increment_by)
|
72
79
|
end
|
73
80
|
end
|
74
81
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: counter_server
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 3
|
10
|
+
version: 0.0.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jason Katz-Brown
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-12-
|
18
|
+
date: 2011-12-15 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: eventmachine
|