instrumental_agent 0.6.0 → 0.6.1
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/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
|