instrumental_agent 0.9.5 → 0.9.6

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ### 0.9.6 [April 5th, 2012]
2
+ * Documentation on reliable collection in Resque jobs
3
+ * Fix for dead lock issuew
4
+
1
5
  ### 0.9.5 [March 23rd, 2012]
2
6
  * Defer startup of agent thread until metrics are submitted - this update is strongly recommended for anyone using Ruby Enterprise Edition in concert w/ a preforking application server (like Phusion Passenger). See the [REE wiki page](https://github.com/fastestforward/instrumental_agent/wiki/Using-with-Ruby-Enterprise-Edition) for more information.
3
7
  * Add .stop method for cancelling agent processing
data/README.md CHANGED
@@ -91,12 +91,7 @@ after "instrumental:util:deploy_end", "instrumental:record_deploy_notice"
91
91
 
92
92
  ## Tracking metrics in Resque jobs (and Resque-like scenarios)
93
93
 
94
- If you plan on tracking metrics in your Resque jobs, you will need to explicitly flush your metrics when the jobs are finished. You can accomplish this by adding the following code to your app initializers:
95
-
96
- ```ruby
97
- Resque.after_perform { I.flush }
98
- Resque.on_failure { I.flush }
99
- ```
94
+ If you plan on tracking metrics in your Resque jobs, you will need to explicitly flush your metrics when the jobs are finished. You can accomplish this by adding `after_perform` and `on_failure` hooks to your Resque jobs. See the Resque [hooks documentation](https://github.com/defunkt/resque/blob/master/docs/HOOKS.md) for more information.
100
95
 
101
96
  You're required to do this because Resque calls `exit!` when a worker has finished processing, which bypasses Ruby's `at_exit` hooks. The Instrumental Agent installs an `at_exit` hook to flush any pending metrics to the servers, but this hook is bypassed by the `exit!` call; any other code you rely that uses `exit!` should call `I.flush` to ensure any pending metrics are correctly sent to the server before exiting the process.
102
97
 
@@ -278,8 +278,8 @@ module Instrumental
278
278
  synchronous = options.delete(:synchronous)
279
279
  if synchronous
280
280
  options[:sync_resource] ||= ConditionVariable.new
281
- @queue << [message, options]
282
281
  @sync_mutex.synchronize {
282
+ @queue << [message, options]
283
283
  options[:sync_resource].wait(@sync_mutex)
284
284
  }
285
285
  else
@@ -1,3 +1,3 @@
1
1
  module Instrumental
2
- VERSION = '0.9.5'
2
+ VERSION = '0.9.6'
3
3
  end
metadata CHANGED
@@ -1,15 +1,10 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: instrumental_agent
3
- version: !ruby/object:Gem::Version
4
- hash: 49
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.9.6
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 9
9
- - 5
10
- version: 0.9.5
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Elijah Miller
14
9
  - Christopher Zelenak
15
10
  - Kristopher Chambers
@@ -17,118 +12,92 @@ authors:
17
12
  autorequire:
18
13
  bindir: bin
19
14
  cert_chain: []
20
-
21
- date: 2012-03-23 00:00:00 Z
22
- dependencies:
23
- - !ruby/object:Gem::Dependency
24
- type: :development
25
- prerelease: false
26
- version_requirements: &id001 !ruby/object:Gem::Requirement
27
- none: false
28
- requirements:
29
- - - ">="
30
- - !ruby/object:Gem::Version
31
- hash: 3
32
- segments:
33
- - 0
34
- version: "0"
35
- requirement: *id001
15
+ date: 2012-04-05 00:00:00.000000000 Z
16
+ dependencies:
17
+ - !ruby/object:Gem::Dependency
36
18
  name: rake
37
- - !ruby/object:Gem::Dependency
19
+ requirement: &70181168630580 !ruby/object:Gem::Requirement
20
+ none: false
21
+ requirements:
22
+ - - ! '>='
23
+ - !ruby/object:Gem::Version
24
+ version: '0'
38
25
  type: :development
39
26
  prerelease: false
40
- version_requirements: &id002 !ruby/object:Gem::Requirement
27
+ version_requirements: *70181168630580
28
+ - !ruby/object:Gem::Dependency
29
+ name: rspec
30
+ requirement: &70181168630060 !ruby/object:Gem::Requirement
41
31
  none: false
42
- requirements:
32
+ requirements:
43
33
  - - ~>
44
- - !ruby/object:Gem::Version
45
- hash: 3
46
- segments:
47
- - 2
48
- - 0
49
- version: "2.0"
50
- requirement: *id002
51
- name: rspec
52
- - !ruby/object:Gem::Dependency
34
+ - !ruby/object:Gem::Version
35
+ version: '2.0'
53
36
  type: :development
54
37
  prerelease: false
55
- version_requirements: &id003 !ruby/object:Gem::Requirement
56
- none: false
57
- requirements:
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- hash: 3
61
- segments:
62
- - 0
63
- version: "0"
64
- requirement: *id003
38
+ version_requirements: *70181168630060
39
+ - !ruby/object:Gem::Dependency
65
40
  name: fuubar
66
- - !ruby/object:Gem::Dependency
41
+ requirement: &70181168629580 !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
67
47
  type: :development
68
48
  prerelease: false
69
- version_requirements: &id004 !ruby/object:Gem::Requirement
70
- none: false
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- hash: 3
75
- segments:
76
- - 0
77
- version: "0"
78
- requirement: *id004
49
+ version_requirements: *70181168629580
50
+ - !ruby/object:Gem::Dependency
79
51
  name: guard
80
- - !ruby/object:Gem::Dependency
52
+ requirement: &70181168629080 !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ! '>='
56
+ - !ruby/object:Gem::Version
57
+ version: '0'
81
58
  type: :development
82
59
  prerelease: false
83
- version_requirements: &id005 !ruby/object:Gem::Requirement
84
- none: false
85
- requirements:
86
- - - ">="
87
- - !ruby/object:Gem::Version
88
- hash: 3
89
- segments:
90
- - 0
91
- version: "0"
92
- requirement: *id005
60
+ version_requirements: *70181168629080
61
+ - !ruby/object:Gem::Dependency
93
62
  name: guard-rspec
94
- - !ruby/object:Gem::Dependency
63
+ requirement: &70181168628600 !ruby/object:Gem::Requirement
64
+ none: false
65
+ requirements:
66
+ - - ! '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
95
69
  type: :development
96
70
  prerelease: false
97
- version_requirements: &id006 !ruby/object:Gem::Requirement
98
- none: false
99
- requirements:
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- hash: 3
103
- segments:
104
- - 0
105
- version: "0"
106
- requirement: *id006
71
+ version_requirements: *70181168628600
72
+ - !ruby/object:Gem::Dependency
107
73
  name: growl
108
- - !ruby/object:Gem::Dependency
74
+ requirement: &70181168628120 !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ! '>='
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
109
80
  type: :development
110
81
  prerelease: false
111
- version_requirements: &id007 !ruby/object:Gem::Requirement
112
- none: false
113
- requirements:
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- hash: 3
117
- segments:
118
- - 0
119
- version: "0"
120
- requirement: *id007
82
+ version_requirements: *70181168628120
83
+ - !ruby/object:Gem::Dependency
121
84
  name: rb-fsevent
85
+ requirement: &70181168627620 !ruby/object:Gem::Requirement
86
+ none: false
87
+ requirements:
88
+ - - ! '>='
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: *70181168627620
122
94
  description: Track anything.
123
- email:
95
+ email:
124
96
  - support@instrumentalapp.com
125
97
  executables: []
126
-
127
98
  extensions: []
128
-
129
99
  extra_rdoc_files: []
130
-
131
- files:
100
+ files:
132
101
  - .gitignore
133
102
  - .rspec
134
103
  - CHANGELOG.md
@@ -147,38 +116,35 @@ files:
147
116
  - spec/test_server.rb
148
117
  homepage: http://github.com/fastestforward/instrumental_agent
149
118
  licenses: []
150
-
151
119
  post_install_message:
152
120
  rdoc_options: []
153
-
154
- require_paths:
121
+ require_paths:
155
122
  - lib
156
- required_ruby_version: !ruby/object:Gem::Requirement
123
+ required_ruby_version: !ruby/object:Gem::Requirement
157
124
  none: false
158
- requirements:
159
- - - ">="
160
- - !ruby/object:Gem::Version
161
- hash: 3
162
- segments:
125
+ requirements:
126
+ - - ! '>='
127
+ - !ruby/object:Gem::Version
128
+ version: '0'
129
+ segments:
163
130
  - 0
164
- version: "0"
165
- required_rubygems_version: !ruby/object:Gem::Requirement
131
+ hash: -2735565330183687478
132
+ required_rubygems_version: !ruby/object:Gem::Requirement
166
133
  none: false
167
- requirements:
168
- - - ">="
169
- - !ruby/object:Gem::Version
170
- hash: 3
171
- segments:
134
+ requirements:
135
+ - - ! '>='
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ segments:
172
139
  - 0
173
- version: "0"
140
+ hash: -2735565330183687478
174
141
  requirements: []
175
-
176
142
  rubyforge_project:
177
- rubygems_version: 1.8.10
143
+ rubygems_version: 1.8.15
178
144
  signing_key:
179
145
  specification_version: 3
180
146
  summary: Agent for reporting data to instrumentalapp.com
181
- test_files:
147
+ test_files:
182
148
  - spec/agent_spec.rb
183
149
  - spec/spec_helper.rb
184
150
  - spec/test_server.rb