counter_server 0.0.2 → 0.0.3
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/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
|