instrumental_agent 0.6.0 → 0.6.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +36 -12
- data/instrumental_agent.gemspec +1 -1
- data/lib/instrumental/version.rb +1 -1
- metadata +5 -4
data/README.md
CHANGED
@@ -10,43 +10,65 @@ Add the gem to your Gemfile.
|
|
10
10
|
gem 'instrumental_agent'
|
11
11
|
```
|
12
12
|
|
13
|
-
Visit instrumentalapp.com
|
13
|
+
Visit [instrumentalapp.com](instrumentalapp.com) and create an account,
|
14
14
|
then initialize the agent with your API key, found in the Docs section.
|
15
|
-
You'll probably want something like this, only enabling the agent in
|
16
|
-
production mode so you don't pollute your data.
|
17
15
|
|
18
16
|
```sh
|
19
|
-
I = Instrumental::Agent.new('YOUR_API_KEY', :
|
17
|
+
I = Instrumental::Agent.new('YOUR_API_KEY', :enabled => Rails.env.production?)
|
20
18
|
```
|
21
19
|
|
22
|
-
You
|
23
|
-
|
20
|
+
You'll probably want something like the above, only enabling the agent
|
21
|
+
in production mode so you don't have development and produciton data
|
22
|
+
writing to the same value. Or you can setup two projects, so that you
|
23
|
+
can verify stats in one, and release them to production in another.
|
24
24
|
|
25
25
|
Now you can begin to use Instrumental to track your application.
|
26
26
|
|
27
27
|
```sh
|
28
|
-
I.gauge('load', 1.23)
|
29
|
-
I.increment('signups')
|
28
|
+
I.gauge('load', 1.23) # value at a point in time
|
29
|
+
I.increment('signups') # increasing value, think "events"
|
30
30
|
```
|
31
31
|
|
32
|
+
**Note**: For your app's safety, the agent is meant to isolate your app
|
33
|
+
from any problems our service might suffer. If it is unable to connect
|
34
|
+
to the service, it will discard data after reaching a low memory
|
35
|
+
threshold.
|
36
|
+
|
37
|
+
## Backfilling
|
38
|
+
|
32
39
|
Streaming data is better with a little historical context. Instrumental
|
33
40
|
lets you backfill data, allowing you to see deep into your project's
|
34
41
|
past.
|
35
42
|
|
43
|
+
When backfilling, you may send tens of thousands of metrics per
|
44
|
+
second, and the command buffer may start discarding data it isn't able
|
45
|
+
to send fast enough. We provide a synchronous mode that will ensure
|
46
|
+
every stat makes it to Instrumental before continuing on to the next.
|
47
|
+
|
48
|
+
**Warning**: You should only enable synchronous mode for backfilling
|
49
|
+
data as any issues with the Instrumental service issues will cause this
|
50
|
+
code to halt until it can reconnect.
|
51
|
+
|
36
52
|
```sh
|
37
|
-
I.synchronous = true #
|
53
|
+
I.synchronous = true # every command sends immediately
|
38
54
|
User.find_each do |user|
|
39
55
|
I.increment('signups', 1, user.created_at)
|
40
56
|
end
|
41
57
|
```
|
42
58
|
|
43
|
-
|
59
|
+
## Server stats
|
60
|
+
|
61
|
+
Want some general server stats (load, memory, etc.)? Check out the
|
62
|
+
[instrumental_tools](https://github.com/fastestforward/instrumental_tools)
|
63
|
+
gem.
|
44
64
|
|
45
65
|
```sh
|
46
66
|
gem install instrumental_tools
|
47
67
|
instrument_server
|
48
68
|
```
|
49
69
|
|
70
|
+
## Rack middleware
|
71
|
+
|
50
72
|
Running under Rails? You can also give our experimental Rack middleware
|
51
73
|
a shot by initializing it with:
|
52
74
|
|
@@ -54,8 +76,10 @@ a shot by initializing it with:
|
|
54
76
|
Instrumental::Middleware.boot
|
55
77
|
```
|
56
78
|
|
57
|
-
Need to quickly disable the agent? set :enabled to false on
|
79
|
+
Need to quickly disable the agent? set :enabled to false on
|
80
|
+
initialization and you don't need to change any application code.
|
58
81
|
|
59
82
|
## Troubleshooting & Help
|
60
83
|
|
61
|
-
We are here to help, please email us at
|
84
|
+
We are here to help, please email us at
|
85
|
+
[support@instrumentalapp.com](mailto:support@instrumentalapp.com).
|
data/instrumental_agent.gemspec
CHANGED
@@ -4,7 +4,7 @@ require "instrumental/version"
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "instrumental_agent"
|
6
6
|
s.version = Instrumental::VERSION
|
7
|
-
s.authors = ["Elijah Miller", "Christopher Zelenak", "Kristopher Chambers"]
|
7
|
+
s.authors = ["Elijah Miller", "Christopher Zelenak", "Kristopher Chambers", "Matthew Hassfurder"]
|
8
8
|
s.email = ["support@instrumentalapp.com"]
|
9
9
|
s.homepage = "http://github.com/fastestforward/instrumental_agent"
|
10
10
|
s.summary = %q{Agent for reporting data to instrumentalapp.com}
|
data/lib/instrumental/version.rb
CHANGED
metadata
CHANGED
@@ -1,23 +1,24 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: instrumental_agent
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 5
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 6
|
9
|
-
-
|
10
|
-
version: 0.6.
|
9
|
+
- 1
|
10
|
+
version: 0.6.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Elijah Miller
|
14
14
|
- Christopher Zelenak
|
15
15
|
- Kristopher Chambers
|
16
|
+
- Matthew Hassfurder
|
16
17
|
autorequire:
|
17
18
|
bindir: bin
|
18
19
|
cert_chain: []
|
19
20
|
|
20
|
-
date: 2011-12-
|
21
|
+
date: 2011-12-16 00:00:00 Z
|
21
22
|
dependencies:
|
22
23
|
- !ruby/object:Gem::Dependency
|
23
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|