instrumental_agent 0.9.5 → 0.9.6
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/CHANGELOG.md +4 -0
- data/README.md +1 -6
- data/lib/instrumental/agent.rb +1 -1
- data/lib/instrumental/version.rb +1 -1
- metadata +82 -116
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
|
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
|
|
data/lib/instrumental/agent.rb
CHANGED
@@ -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
|
data/lib/instrumental/version.rb
CHANGED
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
|
-
|
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
|
-
|
22
|
-
|
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
|
-
|
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:
|
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
|
-
|
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:
|
56
|
-
|
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
|
-
|
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:
|
70
|
-
|
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
|
-
|
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:
|
84
|
-
|
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
|
-
|
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:
|
98
|
-
|
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
|
-
|
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:
|
112
|
-
|
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
|
-
|
162
|
-
segments:
|
125
|
+
requirements:
|
126
|
+
- - ! '>='
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
version: '0'
|
129
|
+
segments:
|
163
130
|
- 0
|
164
|
-
|
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
|
-
|
171
|
-
segments:
|
134
|
+
requirements:
|
135
|
+
- - ! '>='
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '0'
|
138
|
+
segments:
|
172
139
|
- 0
|
173
|
-
|
140
|
+
hash: -2735565330183687478
|
174
141
|
requirements: []
|
175
|
-
|
176
142
|
rubyforge_project:
|
177
|
-
rubygems_version: 1.8.
|
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
|