copperegg-apm 1.0.0.pre13 → 1.0.0.pre14

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