copperegg-apm 1.0.0.pre13 → 1.0.0.pre14

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,17 @@
1
+ require File.expand_path("../instrument", __FILE__)
2
+
3
+ module CopperEgg
4
+ module APM
5
+ class App
6
+ attr_reader :name, :instruments
7
+
8
+ def self.find
9
+
10
+ end
11
+
12
+ private
13
+
14
+
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module CopperEgg
2
+ module APM
3
+ class Collector
4
+ attr_reader :host, :apikey
5
+
6
+ def initialize
7
+ collector_proc = `/bin/ps aux | grep revealcloud`
8
+ collector_proc.match(/\-a\s([^\s]+)/) { |match| @host = match.to_a.last }
9
+ collector_proc.match(/\-k\s([^\s]+)/) { |match| @apikey = match.to_a.last }
10
+ end
11
+
12
+ def exists?
13
+ !self.host.nil? || !self.apikey.nil?
14
+ end
15
+ end
16
+ end
17
+ end
@@ -170,7 +170,16 @@ module CopperEgg
170
170
 
171
171
  def self.configure(&block)
172
172
  yield(self)
173
+ if defined?(::Rails) && ::Rails.respond_to?(:configuration)
174
+ Rails.configuration.after_initialize do
175
+ self.init
176
+ end
177
+ else
178
+ self.init
179
+ end
180
+ end
173
181
 
182
+ def self.init
174
183
  if @@app_root.empty?
175
184
  @@app_root = if defined?(::Rails) && Rails.respond_to?(:root)
176
185
  ::Rails.root.to_s
@@ -0,0 +1,33 @@
1
+ require File.expand_path("../collector", __FILE__)
2
+ require File.expand_path("../app", __FILE__)
3
+
4
+ module CopperEgg
5
+ module APM
6
+ class Initializer
7
+ attr_reader :collector, :instrument
8
+
9
+ def start
10
+ @collector = Collector.new
11
+
12
+ if !@collector.exists?
13
+ say("<%= color('Warning: A RevealCloud instance must be installed and running on this system in order to send instrumentation data to CopperEgg.', RED) %>")
14
+ return
15
+ end
16
+
17
+ apps = App.all
18
+
19
+ if apps.empty?
20
+
21
+ else
22
+ choose do |menu|
23
+ menu.prompt = "Select an Instrument: "
24
+
25
+ menu.choice(:ruby) { say("Good choice!") }
26
+ menu.choices(:python, :perl) { say("Not from around here, are you?") }
27
+ end
28
+ end
29
+ end
30
+
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,7 @@
1
+ module CopperEgg
2
+ module APM
3
+ class Instrument
4
+ attr_reader :name, :key
5
+ end
6
+ end
7
+ end
@@ -1,5 +1,5 @@
1
1
  module CopperEgg
2
2
  module APM
3
- GEM_VERSION = '1.0.0.pre13' unless defined? GEM_VERSION
3
+ GEM_VERSION = '1.0.0.pre14' unless defined? GEM_VERSION
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,205 +1,232 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: copperegg-apm
3
- version: !ruby/object:Gem::Version
4
- version: 1.0.0.pre13
3
+ version: !ruby/object:Gem::Version
4
+ hash: -3216946352
5
+ prerelease: 6
6
+ segments:
7
+ - 1
8
+ - 0
9
+ - 0
10
+ - pre
11
+ - 14
12
+ version: 1.0.0.pre14
5
13
  platform: ruby
6
- authors:
14
+ authors:
7
15
  - Mike Bradford
8
16
  autorequire:
9
17
  bindir: bin
10
18
  cert_chain: []
11
- date: 2013-06-20 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
19
+
20
+ date: 2013-06-27 00:00:00 Z
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
14
23
  name: rake
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ~>
18
- - !ruby/object:Gem::Version
19
- version: 10.0.0
20
- type: :development
21
24
  prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
25
+ requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
24
28
  - - ~>
25
- - !ruby/object:Gem::Version
29
+ - !ruby/object:Gem::Version
30
+ hash: 79
31
+ segments:
32
+ - 10
33
+ - 0
34
+ - 0
26
35
  version: 10.0.0
27
- - !ruby/object:Gem::Dependency
28
- name: rspec
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ~>
32
- - !ruby/object:Gem::Version
33
- version: 2.11.0
34
36
  type: :development
37
+ version_requirements: *id001
38
+ - !ruby/object:Gem::Dependency
39
+ name: rspec
35
40
  prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
41
+ requirement: &id002 !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
38
44
  - - ~>
39
- - !ruby/object:Gem::Version
45
+ - !ruby/object:Gem::Version
46
+ hash: 35
47
+ segments:
48
+ - 2
49
+ - 11
50
+ - 0
40
51
  version: 2.11.0
41
- - !ruby/object:Gem::Dependency
42
- name: rspec-rails
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ~>
46
- - !ruby/object:Gem::Version
47
- version: '2.0'
48
52
  type: :development
53
+ version_requirements: *id002
54
+ - !ruby/object:Gem::Dependency
55
+ name: rspec-rails
49
56
  prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
57
+ requirement: &id003 !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
52
60
  - - ~>
53
- - !ruby/object:Gem::Version
54
- version: '2.0'
55
- - !ruby/object:Gem::Dependency
56
- name: rack-test
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ~>
60
- - !ruby/object:Gem::Version
61
- version: '0.6'
61
+ - !ruby/object:Gem::Version
62
+ hash: 3
63
+ segments:
64
+ - 2
65
+ - 0
66
+ version: "2.0"
62
67
  type: :development
68
+ version_requirements: *id003
69
+ - !ruby/object:Gem::Dependency
70
+ name: rack-test
63
71
  prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
72
+ requirement: &id004 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
66
75
  - - ~>
67
- - !ruby/object:Gem::Version
68
- version: '0.6'
69
- - !ruby/object:Gem::Dependency
70
- name: actionpack
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ~>
74
- - !ruby/object:Gem::Version
75
- version: '3.0'
76
+ - !ruby/object:Gem::Version
77
+ hash: 7
78
+ segments:
79
+ - 0
80
+ - 6
81
+ version: "0.6"
76
82
  type: :development
83
+ version_requirements: *id004
84
+ - !ruby/object:Gem::Dependency
85
+ name: actionpack
77
86
  prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
87
+ requirement: &id005 !ruby/object:Gem::Requirement
88
+ none: false
89
+ requirements:
80
90
  - - ~>
81
- - !ruby/object:Gem::Version
82
- version: '3.0'
83
- - !ruby/object:Gem::Dependency
84
- name: faker
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ~>
88
- - !ruby/object:Gem::Version
89
- version: 1.1.2
91
+ - !ruby/object:Gem::Version
92
+ hash: 7
93
+ segments:
94
+ - 3
95
+ - 0
96
+ version: "3.0"
90
97
  type: :development
98
+ version_requirements: *id005
99
+ - !ruby/object:Gem::Dependency
100
+ name: faker
91
101
  prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
102
+ requirement: &id006 !ruby/object:Gem::Requirement
103
+ none: false
104
+ requirements:
94
105
  - - ~>
95
- - !ruby/object:Gem::Version
106
+ - !ruby/object:Gem::Version
107
+ hash: 23
108
+ segments:
109
+ - 1
110
+ - 1
111
+ - 2
96
112
  version: 1.1.2
97
- - !ruby/object:Gem::Dependency
98
- name: mysql
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ~>
102
- - !ruby/object:Gem::Version
103
- version: '2.9'
104
113
  type: :development
114
+ version_requirements: *id006
115
+ - !ruby/object:Gem::Dependency
116
+ name: mysql
105
117
  prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ~>
109
- - !ruby/object:Gem::Version
110
- version: '2.9'
111
- - !ruby/object:Gem::Dependency
112
- name: mysql2
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
118
+ requirement: &id007 !ruby/object:Gem::Requirement
119
+ none: false
120
+ requirements:
115
121
  - - ~>
116
- - !ruby/object:Gem::Version
117
- version: '0.2'
122
+ - !ruby/object:Gem::Version
123
+ hash: 17
124
+ segments:
125
+ - 2
126
+ - 9
127
+ version: "2.9"
118
128
  type: :development
129
+ version_requirements: *id007
130
+ - !ruby/object:Gem::Dependency
131
+ name: mysql2
119
132
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
133
+ requirement: &id008 !ruby/object:Gem::Requirement
134
+ none: false
135
+ requirements:
122
136
  - - ~>
123
- - !ruby/object:Gem::Version
124
- version: '0.2'
125
- - !ruby/object:Gem::Dependency
126
- name: sqlite3
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ~>
130
- - !ruby/object:Gem::Version
131
- version: '1.3'
137
+ - !ruby/object:Gem::Version
138
+ hash: 15
139
+ segments:
140
+ - 0
141
+ - 2
142
+ version: "0.2"
132
143
  type: :development
144
+ version_requirements: *id008
145
+ - !ruby/object:Gem::Dependency
146
+ name: sqlite3
133
147
  prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
148
+ requirement: &id009 !ruby/object:Gem::Requirement
149
+ none: false
150
+ requirements:
136
151
  - - ~>
137
- - !ruby/object:Gem::Version
138
- version: '1.3'
139
- - !ruby/object:Gem::Dependency
140
- name: pg
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ~>
144
- - !ruby/object:Gem::Version
145
- version: '0.9'
152
+ - !ruby/object:Gem::Version
153
+ hash: 9
154
+ segments:
155
+ - 1
156
+ - 3
157
+ version: "1.3"
146
158
  type: :development
159
+ version_requirements: *id009
160
+ - !ruby/object:Gem::Dependency
161
+ name: pg
147
162
  prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
163
+ requirement: &id010 !ruby/object:Gem::Requirement
164
+ none: false
165
+ requirements:
150
166
  - - ~>
151
- - !ruby/object:Gem::Version
152
- version: '0.9'
153
- - !ruby/object:Gem::Dependency
154
- name: ethon
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ~>
158
- - !ruby/object:Gem::Version
159
- version: '0.5'
167
+ - !ruby/object:Gem::Version
168
+ hash: 25
169
+ segments:
170
+ - 0
171
+ - 9
172
+ version: "0.9"
160
173
  type: :development
174
+ version_requirements: *id010
175
+ - !ruby/object:Gem::Dependency
176
+ name: ethon
161
177
  prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ~>
165
- - !ruby/object:Gem::Version
166
- version: '0.5'
167
- - !ruby/object:Gem::Dependency
168
- name: typhoeus
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
178
+ requirement: &id011 !ruby/object:Gem::Requirement
179
+ none: false
180
+ requirements:
171
181
  - - ~>
172
- - !ruby/object:Gem::Version
173
- version: '0.3'
182
+ - !ruby/object:Gem::Version
183
+ hash: 1
184
+ segments:
185
+ - 0
186
+ - 5
187
+ version: "0.5"
174
188
  type: :development
189
+ version_requirements: *id011
190
+ - !ruby/object:Gem::Dependency
191
+ name: typhoeus
175
192
  prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - ~>
179
- - !ruby/object:Gem::Version
180
- version: '0.3'
181
- - !ruby/object:Gem::Dependency
182
- name: rest-client
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
193
+ requirement: &id012 !ruby/object:Gem::Requirement
194
+ none: false
195
+ requirements:
185
196
  - - ~>
186
- - !ruby/object:Gem::Version
187
- version: '1.6'
197
+ - !ruby/object:Gem::Version
198
+ hash: 13
199
+ segments:
200
+ - 0
201
+ - 3
202
+ version: "0.3"
188
203
  type: :development
204
+ version_requirements: *id012
205
+ - !ruby/object:Gem::Dependency
206
+ name: rest-client
189
207
  prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
208
+ requirement: &id013 !ruby/object:Gem::Requirement
209
+ none: false
210
+ requirements:
192
211
  - - ~>
193
- - !ruby/object:Gem::Version
194
- version: '1.6'
212
+ - !ruby/object:Gem::Version
213
+ hash: 3
214
+ segments:
215
+ - 1
216
+ - 6
217
+ version: "1.6"
218
+ type: :development
219
+ version_requirements: *id013
195
220
  description: CopperEgg Application Performance Monitoring
196
221
  email: mbradford@copperegg.com
197
- executables:
222
+ executables:
198
223
  - copperegg-apm-init
199
224
  - copperegg-apm-methods
200
225
  extensions: []
226
+
201
227
  extra_rdoc_files: []
202
- files:
228
+
229
+ files:
203
230
  - ./bin/copperegg-apm-init
204
231
  - ./bin/copperegg-apm-methods
205
232
  - ./CHANGELOG.md
@@ -209,12 +236,16 @@ files:
209
236
  - ./Gemfile
210
237
  - ./Gemfile.lock
211
238
  - ./lib/copperegg/apm/active_record/connection_adapters/abstract_adapter.rb
239
+ - ./lib/copperegg/apm/app.rb
212
240
  - ./lib/copperegg/apm/benchmark.rb
213
241
  - ./lib/copperegg/apm/benchmark_methods_table.rb
242
+ - ./lib/copperegg/apm/collector.rb
214
243
  - ./lib/copperegg/apm/configuration.rb
215
244
  - ./lib/copperegg/apm/errors.rb
216
245
  - ./lib/copperegg/apm/ethon/easy/operations.rb
217
246
  - ./lib/copperegg/apm/exception_capturer.rb
247
+ - ./lib/copperegg/apm/initializer.rb
248
+ - ./lib/copperegg/apm/instrument.rb
218
249
  - ./lib/copperegg/apm/mysql.rb
219
250
  - ./lib/copperegg/apm/mysql2/client.rb
220
251
  - ./lib/copperegg/apm/net/http.rb
@@ -276,36 +307,46 @@ files:
276
307
  - bin/copperegg-apm-init
277
308
  - bin/copperegg-apm-methods
278
309
  homepage: http://github.com/copperegg/apm
279
- licenses:
310
+ licenses:
280
311
  - MIT
281
- metadata: {}
282
312
  post_install_message:
283
- rdoc_options:
313
+ rdoc_options:
284
314
  - --line-numbers
285
315
  - --inline-source
286
316
  - --title
287
317
  - copperegg-apm
288
318
  - --main
289
319
  - README.md
290
- require_paths:
320
+ require_paths:
291
321
  - lib
292
- required_ruby_version: !ruby/object:Gem::Requirement
293
- requirements:
294
- - - ! '>='
295
- - !ruby/object:Gem::Version
296
- version: '0'
297
- required_rubygems_version: !ruby/object:Gem::Requirement
298
- requirements:
299
- - - ! '>'
300
- - !ruby/object:Gem::Version
322
+ required_ruby_version: !ruby/object:Gem::Requirement
323
+ none: false
324
+ requirements:
325
+ - - ">="
326
+ - !ruby/object:Gem::Version
327
+ hash: 3
328
+ segments:
329
+ - 0
330
+ version: "0"
331
+ required_rubygems_version: !ruby/object:Gem::Requirement
332
+ none: false
333
+ requirements:
334
+ - - ">"
335
+ - !ruby/object:Gem::Version
336
+ hash: 25
337
+ segments:
338
+ - 1
339
+ - 3
340
+ - 1
301
341
  version: 1.3.1
302
342
  requirements: []
343
+
303
344
  rubyforge_project:
304
- rubygems_version: 2.0.3
345
+ rubygems_version: 1.8.25
305
346
  signing_key:
306
- specification_version: 4
307
- summary: copperegg-apm-1.0.0.pre13
308
- test_files:
347
+ specification_version: 3
348
+ summary: copperegg-apm-1.0.0.pre14
349
+ test_files:
309
350
  - spec/action_controller_spec.rb
310
351
  - spec/apm_spec.rb
311
352
  - spec/ethon_spec.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 23f4abd270317192f5473810d909a6ede98b8436
4
- data.tar.gz: 2953b01b20c5a20ab52658cbb9b75c8935a853b9
5
- SHA512:
6
- metadata.gz: a81b29b7c4c5b9d8128e31b83c3486a31c73dabfd884f1c2340a4f783abd2f01abc59a6e5e926e2ff98b458b7f0ad44ce2a4863a14b9836d81a4c883852e4109
7
- data.tar.gz: a3e9ccd26ecd5d9d78f3e7daa81a6d5927fba18d859d460efede0fb4ec5052841513c4302fc09e96c57238a92d76ded6586b5789c9f31cf2242e4fd97563ed2e