dogapi 1.3.1 → 1.3.2
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/lib/dogapi/event.rb +6 -3
- data/lib/dogapi/v1/event.rb +3 -2
- data/tests/test_client.rb +24 -6
- metadata +3 -3
data/lib/dogapi/event.rb
CHANGED
@@ -12,7 +12,8 @@ module Dogapi
|
|
12
12
|
:msg_text,
|
13
13
|
:priority,
|
14
14
|
:parent,
|
15
|
-
:tags
|
15
|
+
:tags,
|
16
|
+
:aggregation_key
|
16
17
|
|
17
18
|
# Optional arguments:
|
18
19
|
# :date_happened => time in seconds since the epoch (defaults to now)
|
@@ -24,13 +25,15 @@ module Dogapi
|
|
24
25
|
# :alert_type => 'success', 'error'
|
25
26
|
# :event_type => String
|
26
27
|
# :source_type_name => String
|
28
|
+
# :aggregation_key => String
|
27
29
|
def initialize(msg_text, options={})
|
28
30
|
defaults = {
|
29
31
|
:date_happened => Time.now.to_i,
|
30
32
|
:msg_title => '',
|
31
33
|
:priority => "normal",
|
32
34
|
:parent => nil,
|
33
|
-
:tags => []
|
35
|
+
:tags => [],
|
36
|
+
:aggregation_key => nil
|
34
37
|
}
|
35
38
|
options = defaults.merge(options)
|
36
39
|
|
@@ -40,7 +43,7 @@ module Dogapi
|
|
40
43
|
@priority = options[:priority]
|
41
44
|
@parent = options[:parent]
|
42
45
|
@tags = options[:tags]
|
43
|
-
@
|
46
|
+
@aggregation_key = options[:event_object] || options[:aggregation_key]
|
44
47
|
@alert_type = options[:alert_type]
|
45
48
|
@event_type = options[:event_type]
|
46
49
|
@source_type_name = options[:source_type_name]
|
data/lib/dogapi/v1/event.rb
CHANGED
@@ -20,9 +20,10 @@ module Dogapi
|
|
20
20
|
:text => event.msg_text,
|
21
21
|
:date_happened => event.date_happened.to_i,
|
22
22
|
:host => scope.host,
|
23
|
-
:device => scope.device
|
23
|
+
:device => scope.device,
|
24
|
+
:aggregation_key => event.aggregation_key.to_s
|
24
25
|
})
|
25
|
-
|
26
|
+
|
26
27
|
request(Net::HTTP::Post, '/api/v1/events', params, body, true)
|
27
28
|
end
|
28
29
|
|
data/tests/test_client.rb
CHANGED
@@ -61,20 +61,23 @@ class TestClient < Test::Unit::TestCase
|
|
61
61
|
now = Time.now()
|
62
62
|
|
63
63
|
now_ts = now
|
64
|
-
now_title = 'end test title ' + now_ts.to_i.to_s
|
64
|
+
now_title = 'dogapi-rb end test title ' + now_ts.to_i.to_s
|
65
65
|
now_message = 'test message ' + now_ts.to_i.to_s
|
66
66
|
|
67
67
|
before_ts = (now - 5*60)
|
68
|
-
before_title = 'start test title ' + before_ts.to_i.to_s
|
68
|
+
before_title = 'dogapi-rb start test title ' + before_ts.to_i.to_s
|
69
69
|
before_message = 'test message ' + before_ts.to_i.to_s
|
70
70
|
|
71
71
|
dog = Dogapi::Client.new(@api_key, @app_key)
|
72
72
|
dog_r = Dogapi::Client.new(@api_key)
|
73
73
|
|
74
|
-
|
74
|
+
e1 = Dogapi::Event.new(now_message, :msg_title =>now_title, :date_happened => now_ts)
|
75
|
+
e2 = Dogapi::Event.new(before_message, :msg_title =>before_title, :date_happened => before_ts)
|
76
|
+
code, resp = dog_r.emit_event(e1)
|
75
77
|
now_event_id = resp["event"]["id"]
|
76
|
-
code, resp = dog_r.emit_event(
|
78
|
+
code, resp = dog_r.emit_event(e2)
|
77
79
|
before_event_id = resp["event"]["id"]
|
80
|
+
|
78
81
|
sleep 3
|
79
82
|
|
80
83
|
code, resp = dog.stream(before_ts, now_ts + 1)
|
@@ -97,7 +100,23 @@ class TestClient < Test::Unit::TestCase
|
|
97
100
|
code, resp = dog.get_event(low_event_id)
|
98
101
|
low_event = resp['event']
|
99
102
|
puts low_event
|
100
|
-
assert low_event['priority'] == "low"
|
103
|
+
assert low_event['priority'] == "low"
|
104
|
+
|
105
|
+
# Testing aggregates
|
106
|
+
agg_ts = Time.now()
|
107
|
+
code, resp = dog_r.emit_event(Dogapi::Event.new("Testing Aggregation (first)", :aggregation_key => now_ts.to_i))
|
108
|
+
first = resp["event"]["id"]
|
109
|
+
code, resp = dog_r.emit_event(Dogapi::Event.new("Testing Aggregation (second)", :aggregation_key => now_ts.to_i))
|
110
|
+
second = resp["event"]["id"]
|
111
|
+
|
112
|
+
sleep 3
|
113
|
+
|
114
|
+
code, resp = dog.get_event(first)
|
115
|
+
agg1 = resp["event"]
|
116
|
+
code, resp = dog.get_event(second)
|
117
|
+
agg2 = resp["event"]
|
118
|
+
|
119
|
+
# FIXME Need to export is_aggregate/children fields
|
101
120
|
end
|
102
121
|
|
103
122
|
def test_metrics
|
@@ -110,5 +129,4 @@ class TestClient < Test::Unit::TestCase
|
|
110
129
|
|
111
130
|
dog_r.emit_points('test.metric.metric', [[Time.now-60, 20], [Time.now-30, 10], [Time.now, 5]], :tags => ["test:tag.1", "test:tag2"])
|
112
131
|
end
|
113
|
-
|
114
132
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 1
|
7
7
|
- 3
|
8
|
-
-
|
9
|
-
version: 1.3.
|
8
|
+
- 2
|
9
|
+
version: 1.3.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Datadog, Inc.
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2012-
|
17
|
+
date: 2012-06-04 00:00:00 -04:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|