logstash-output-dynatrace 0.7.1 → 0.7.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/logstash/outputs/dynatrace.rb +10 -0
- data/spec/outputs/dynatrace_spec.rb +13 -0
- data/spec/spec_helper.rb +6 -1
- data/version.yaml +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6dc320145268685ae7585b0ffc68beb54ae932b3e9c5261e1ca6106803c487df
|
4
|
+
data.tar.gz: 223b65b82ffc6ed512d270eb879126a9f9fbe046f9dfc9e66ae9a37be2e60fcf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 55a4b11c59aae913134c5972dff31b13c3e3eaa8761db6703a88e081df6d369b39d6be5f924219e30312b819a54c30d7aced19d98b24f6bcf4e988561929ce50
|
7
|
+
data.tar.gz: 401c4c51154584cee22c94f557a5869b8782759b5287498571e2f1ae345150f48625417126140bb54676560a3d75f7659b30ca392b2db2470dae7815b49904d2
|
data/CHANGELOG.md
CHANGED
@@ -160,6 +160,10 @@ module LogStash
|
|
160
160
|
end
|
161
161
|
end
|
162
162
|
|
163
|
+
def log_partial_success_response(response)
|
164
|
+
@logger.warn("Encountered partial success response", code: response.code, body: response.body)
|
165
|
+
end
|
166
|
+
|
163
167
|
def log_error_response(response, ingest_endpoint_url, event)
|
164
168
|
log_failure(
|
165
169
|
"Encountered non-2xx HTTP code #{response.code}",
|
@@ -267,6 +271,8 @@ module LogStash
|
|
267
271
|
response = client.post(ingest_endpoint_url, body: event, headers: headers)
|
268
272
|
|
269
273
|
if response_success?(response)
|
274
|
+
# some events were not accepted but we don't know which ones or why
|
275
|
+
log_partial_success_response(response) if response_partial_success?(response)
|
270
276
|
[:success, event, attempt]
|
271
277
|
elsif retryable_response?(response)
|
272
278
|
log_retryable_response(response)
|
@@ -315,6 +321,10 @@ module LogStash
|
|
315
321
|
response.code >= 200 && response.code <= 299
|
316
322
|
end
|
317
323
|
|
324
|
+
def response_partial_success?(response)
|
325
|
+
response.code == 200
|
326
|
+
end
|
327
|
+
|
318
328
|
def retryable_response?(response)
|
319
329
|
RETRYABLE_CODES.include?(response.code)
|
320
330
|
end
|
@@ -168,6 +168,19 @@ describe LogStash::Outputs::Dynatrace do
|
|
168
168
|
end
|
169
169
|
end
|
170
170
|
|
171
|
+
context 'with partial success responses' do
|
172
|
+
let(:ingest_endpoint_url) { "http://localhost:#{port}/partial" }
|
173
|
+
|
174
|
+
before do
|
175
|
+
allow(subject).to receive(:log_partial_success_response)
|
176
|
+
end
|
177
|
+
|
178
|
+
it 'should warn on partial success' do
|
179
|
+
subject.multi_receive([event])
|
180
|
+
expect(subject).to have_received(:log_partial_success_response)
|
181
|
+
end
|
182
|
+
end
|
183
|
+
|
171
184
|
context 'with retryable failing requests' do
|
172
185
|
let(:ingest_endpoint_url) { "http://localhost:#{port}/retry" }
|
173
186
|
let(:api_key) { 'placeholder-key' }
|
data/spec/spec_helper.rb
CHANGED
@@ -98,7 +98,12 @@ class TestApp < Sinatra::Base
|
|
98
98
|
|
99
99
|
multiroute(%w[get post put patch delete], '/good') do
|
100
100
|
self.class.last_request = request
|
101
|
-
[
|
101
|
+
[204, 'YUP']
|
102
|
+
end
|
103
|
+
|
104
|
+
multiroute(%w[get post put patch delete], '/partial') do
|
105
|
+
self.class.last_request = request
|
106
|
+
[200, 'partial success']
|
102
107
|
end
|
103
108
|
|
104
109
|
multiroute(%w[get post put patch delete], '/bad') do
|
data/version.yaml
CHANGED
@@ -1 +1 @@
|
|
1
|
-
logstash-output-dynatrace: '0.7.
|
1
|
+
logstash-output-dynatrace: '0.7.2'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-output-dynatrace
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dynatrace Open Source Engineering
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-05-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: logstash-codec-json
|