quark 0.1.3 → 0.1.4

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.
Files changed (2) hide show
  1. data/lib/quark.rb +19 -2
  2. metadata +89 -44
data/lib/quark.rb CHANGED
@@ -21,6 +21,7 @@ module Quark
21
21
  end
22
22
 
23
23
  def receive_data(data)
24
+ puts "DEBUG: Received '#{data}'" if Quark::Config.get("debug")
24
25
  send_json(Quark::SocketServer.process_command(data))
25
26
  end
26
27
 
@@ -97,10 +98,13 @@ module Quark
97
98
  Quark::Config.set("quark.udp.enabled", false)
98
99
  Quark::Config.set("quark.http.enabled", false)
99
100
  Quark::Config.set("quark.http.port", 12180)
100
- Quark::Config.get("quark.http.cors", false)
101
+ Quark::Config.set("quark.http.cors", false)
101
102
  Quark::Config.set("quark.graphite_compat", true)
102
103
  Quark::Config.set("debug", false)
104
+ nil
105
+ end
103
106
 
107
+ def self.connect()
104
108
  @redis = Redis.new({
105
109
  :host => Quark::Config.get("redis.host", "127.0.0.1"),
106
110
  :port => Quark::Config.get("redis.port", 6379).to_i,
@@ -110,10 +114,11 @@ module Quark
110
114
  @_prefix = Quark::Config.get("redis.prefix", "quark")
111
115
 
112
116
  Quark::SocketServer.setup(@redis, @_prefix)
113
- nil
114
117
  end
115
118
 
116
119
  def self.run()
120
+ connect() unless defined?(@redis)
121
+
117
122
  @address = Quark::Config.get("quark.address")
118
123
  @port = Quark::Config.get("quark.port")
119
124
  @filename = Quark::Config.get("quark.socket")
@@ -170,6 +175,18 @@ module Quark
170
175
  end
171
176
  end
172
177
 
178
+ def self.daemonize()
179
+ return @_service if defined?(@_service)
180
+
181
+ @_service = proc do
182
+ self.run()
183
+ end
184
+
185
+ EM.defer(@_service)
186
+ return @_service
187
+ end
188
+
189
+
173
190
  # removes metrics that match keys and (optionally) are older than 'to'
174
191
  # if 'to' is negative, it is assumed to be n-seconds ago
175
192
  #
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quark
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
5
4
  prerelease:
5
+ version: 0.1.4
6
6
  platform: ruby
7
7
  authors:
8
8
  - Gary Hetzel
@@ -12,104 +12,149 @@ cert_chain: []
12
12
  date: 2014-05-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: multi_json
16
- requirement: &11548480 !ruby/object:Gem::Requirement
15
+ type: :runtime
16
+ version_requirements: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - '='
19
+ - !ruby/object:Gem::Version
20
+ version: 1.7.9
17
21
  none: false
22
+ prerelease: false
23
+ name: multi_json
24
+ requirement: !ruby/object:Gem::Requirement
18
25
  requirements:
19
- - - =
26
+ - - '='
20
27
  - !ruby/object:Gem::Version
21
28
  version: 1.7.9
29
+ none: false
30
+ - !ruby/object:Gem::Dependency
22
31
  type: :runtime
32
+ version_requirements: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - ~>
35
+ - !ruby/object:Gem::Version
36
+ version: 1.0.0
37
+ none: false
23
38
  prerelease: false
24
- version_requirements: *11548480
25
- - !ruby/object:Gem::Dependency
26
39
  name: eventmachine
27
- requirement: &11548000 !ruby/object:Gem::Requirement
28
- none: false
40
+ requirement: !ruby/object:Gem::Requirement
29
41
  requirements:
30
42
  - - ~>
31
43
  - !ruby/object:Gem::Version
32
44
  version: 1.0.0
45
+ none: false
46
+ - !ruby/object:Gem::Dependency
33
47
  type: :runtime
48
+ version_requirements: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ~>
51
+ - !ruby/object:Gem::Version
52
+ version: 3.0.0
53
+ none: false
34
54
  prerelease: false
35
- version_requirements: *11548000
36
- - !ruby/object:Gem::Dependency
37
55
  name: redis
38
- requirement: &11547540 !ruby/object:Gem::Requirement
39
- none: false
56
+ requirement: !ruby/object:Gem::Requirement
40
57
  requirements:
41
58
  - - ~>
42
59
  - !ruby/object:Gem::Version
43
60
  version: 3.0.0
61
+ none: false
62
+ - !ruby/object:Gem::Dependency
44
63
  type: :runtime
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: 0.5.2
69
+ none: false
45
70
  prerelease: false
46
- version_requirements: *11547540
47
- - !ruby/object:Gem::Dependency
48
71
  name: hiredis
49
- requirement: &11357600 !ruby/object:Gem::Requirement
50
- none: false
72
+ requirement: !ruby/object:Gem::Requirement
51
73
  requirements:
52
74
  - - ~>
53
75
  - !ruby/object:Gem::Version
54
76
  version: 0.5.2
77
+ none: false
78
+ - !ruby/object:Gem::Dependency
55
79
  type: :runtime
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ~>
83
+ - !ruby/object:Gem::Version
84
+ version: 1.0.3
85
+ none: false
56
86
  prerelease: false
57
- version_requirements: *11357600
58
- - !ruby/object:Gem::Dependency
59
87
  name: em-synchrony
60
- requirement: &11357160 !ruby/object:Gem::Requirement
61
- none: false
88
+ requirement: !ruby/object:Gem::Requirement
62
89
  requirements:
63
90
  - - ~>
64
91
  - !ruby/object:Gem::Version
65
92
  version: 1.0.3
93
+ none: false
94
+ - !ruby/object:Gem::Dependency
66
95
  type: :runtime
96
+ version_requirements: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ! '>='
99
+ - !ruby/object:Gem::Version
100
+ version: 0.0.35
101
+ none: false
67
102
  prerelease: false
68
- version_requirements: *11357160
69
- - !ruby/object:Gem::Dependency
70
103
  name: hashlib
71
- requirement: &11356720 !ruby/object:Gem::Requirement
72
- none: false
104
+ requirement: !ruby/object:Gem::Requirement
73
105
  requirements:
74
106
  - - ! '>='
75
107
  - !ruby/object:Gem::Version
76
108
  version: 0.0.35
109
+ none: false
110
+ - !ruby/object:Gem::Dependency
77
111
  type: :runtime
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ! '>='
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ none: false
78
118
  prerelease: false
79
- version_requirements: *11356720
80
- - !ruby/object:Gem::Dependency
81
119
  name: sinatra
82
- requirement: &11356280 !ruby/object:Gem::Requirement
83
- none: false
120
+ requirement: !ruby/object:Gem::Requirement
84
121
  requirements:
85
122
  - - ! '>='
86
123
  - !ruby/object:Gem::Version
87
124
  version: '0'
125
+ none: false
126
+ - !ruby/object:Gem::Dependency
88
127
  type: :runtime
128
+ version_requirements: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ! '>='
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ none: false
89
134
  prerelease: false
90
- version_requirements: *11356280
91
- - !ruby/object:Gem::Dependency
92
135
  name: sinatra-cross_origin
93
- requirement: &11355780 !ruby/object:Gem::Requirement
94
- none: false
136
+ requirement: !ruby/object:Gem::Requirement
95
137
  requirements:
96
138
  - - ! '>='
97
139
  - !ruby/object:Gem::Version
98
140
  version: '0'
141
+ none: false
142
+ - !ruby/object:Gem::Dependency
99
143
  type: :runtime
144
+ version_requirements: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - ! '>='
147
+ - !ruby/object:Gem::Version
148
+ version: '0'
149
+ none: false
100
150
  prerelease: false
101
- version_requirements: *11355780
102
- - !ruby/object:Gem::Dependency
103
151
  name: thin
104
- requirement: &11355320 !ruby/object:Gem::Requirement
105
- none: false
152
+ requirement: !ruby/object:Gem::Requirement
106
153
  requirements:
107
154
  - - ! '>='
108
155
  - !ruby/object:Gem::Version
109
156
  version: '0'
110
- type: :runtime
111
- prerelease: false
112
- version_requirements: *11355320
157
+ none: false
113
158
  description: A small service for logging and retrieving timeseries metrics into a
114
159
  Redis server
115
160
  email: garyhetzel@gmail.com
@@ -121,10 +166,10 @@ files:
121
166
  - lib/quark.rb
122
167
  - lib/quark/servers/http.rb
123
168
  - lib/quark/config.rb
124
- - lib/quark/commands/peek.rb
125
169
  - lib/quark/commands/fetch.rb
126
- - lib/quark/commands/observe.rb
127
170
  - lib/quark/commands/ping.rb
171
+ - lib/quark/commands/peek.rb
172
+ - lib/quark/commands/observe.rb
128
173
  - bin/quark
129
174
  homepage: https://github.com/ghetzel/quark
130
175
  licenses: []
@@ -133,20 +178,20 @@ rdoc_options: []
133
178
  require_paths:
134
179
  - lib
135
180
  required_ruby_version: !ruby/object:Gem::Requirement
136
- none: false
137
181
  requirements:
138
182
  - - ! '>='
139
183
  - !ruby/object:Gem::Version
140
184
  version: '0'
141
- required_rubygems_version: !ruby/object:Gem::Requirement
142
185
  none: false
186
+ required_rubygems_version: !ruby/object:Gem::Requirement
143
187
  requirements:
144
188
  - - ! '>='
145
189
  - !ruby/object:Gem::Version
146
190
  version: '0'
191
+ none: false
147
192
  requirements: []
148
193
  rubyforge_project:
149
- rubygems_version: 1.8.11
194
+ rubygems_version: 1.8.28
150
195
  signing_key:
151
196
  specification_version: 3
152
197
  summary: A miniscule timeseries metrics logging service