fluent-plugin-detect-exceptions 0.0.12 → 0.0.13
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/Gemfile.lock +17 -17
- data/fluent-plugin-detect-exceptions.gemspec +1 -1
- data/lib/fluent/plugin/exception_detector.rb +14 -0
- data/test/plugin/test_exception_detector.rb +52 -0
- metadata +3 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3fa3afee1139adec8fe98c8406bd72035d844aadf9f1715c01c5db3e45bd7e1c
|
|
4
|
+
data.tar.gz: 63b1bba51e317c9931d4904551b64ef94c56b0946bccec6f67edc2311c0bbba2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 60bbd111f5818ebfa4eda68c87236c3d985df25e66acf12e29f2851f52c4f9e0c74a0d8bbeeb5f077f1b154c4f23fa2bb223ac26f230aff29fdc5d0ddfa69272
|
|
7
|
+
data.tar.gz: 85e20f53eb5e72b7062b6d60d724f55edc53997530dce6ca6adc252bb422a7c5466c73dc5370909ec944a52f7097a8d632649b2ed32fb16962689073dfe3415b
|
data/Gemfile.lock
CHANGED
|
@@ -1,32 +1,33 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
fluent-plugin-detect-exceptions (0.0.
|
|
4
|
+
fluent-plugin-detect-exceptions (0.0.13)
|
|
5
5
|
fluentd (>= 0.10)
|
|
6
6
|
|
|
7
7
|
GEM
|
|
8
8
|
remote: https://rubygems.org/
|
|
9
9
|
specs:
|
|
10
10
|
ast (2.4.0)
|
|
11
|
-
|
|
11
|
+
concurrent-ruby (1.1.5)
|
|
12
|
+
cool.io (1.5.4)
|
|
12
13
|
dig_rb (1.0.1)
|
|
13
14
|
flexmock (2.3.6)
|
|
14
|
-
fluentd (1.
|
|
15
|
+
fluentd (1.7.4)
|
|
15
16
|
cool.io (>= 1.4.5, < 2.0.0)
|
|
16
17
|
dig_rb (~> 1.0.0)
|
|
17
18
|
http_parser.rb (>= 0.5.1, < 0.7.0)
|
|
18
|
-
msgpack (>=
|
|
19
|
+
msgpack (>= 1.2.0, < 2.0.0)
|
|
19
20
|
serverengine (>= 2.0.4, < 3.0.0)
|
|
20
21
|
sigdump (~> 0.2.2)
|
|
21
22
|
strptime (>= 0.2.2, < 1.0.0)
|
|
22
|
-
tzinfo (~>
|
|
23
|
+
tzinfo (~> 2.0)
|
|
23
24
|
tzinfo-data (~> 1.0)
|
|
24
25
|
yajl-ruby (~> 1.0)
|
|
25
26
|
http_parser.rb (0.6.0)
|
|
26
|
-
msgpack (1.
|
|
27
|
-
parser (2.6.
|
|
27
|
+
msgpack (1.3.1)
|
|
28
|
+
parser (2.6.5.0)
|
|
28
29
|
ast (~> 2.4.0)
|
|
29
|
-
power_assert (1.1.
|
|
30
|
+
power_assert (1.1.5)
|
|
30
31
|
powerpack (0.1.2)
|
|
31
32
|
rainbow (2.2.2)
|
|
32
33
|
rake
|
|
@@ -37,19 +38,18 @@ GEM
|
|
|
37
38
|
rainbow (>= 1.99.1, < 3.0)
|
|
38
39
|
ruby-progressbar (~> 1.7)
|
|
39
40
|
unicode-display_width (~> 1.0, >= 1.0.1)
|
|
40
|
-
ruby-progressbar (1.10.
|
|
41
|
-
serverengine (2.1.
|
|
41
|
+
ruby-progressbar (1.10.1)
|
|
42
|
+
serverengine (2.1.1)
|
|
42
43
|
sigdump (~> 0.2.2)
|
|
43
44
|
sigdump (0.2.4)
|
|
44
45
|
strptime (0.2.3)
|
|
45
|
-
test-unit (3.
|
|
46
|
+
test-unit (3.3.4)
|
|
46
47
|
power_assert
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
tzinfo-data (1.2018.9)
|
|
48
|
+
tzinfo (2.0.0)
|
|
49
|
+
concurrent-ruby (~> 1.0)
|
|
50
|
+
tzinfo-data (1.2019.3)
|
|
51
51
|
tzinfo (>= 1.0.0)
|
|
52
|
-
unicode-display_width (1.
|
|
52
|
+
unicode-display_width (1.6.0)
|
|
53
53
|
yajl-ruby (1.4.1)
|
|
54
54
|
|
|
55
55
|
PLATFORMS
|
|
@@ -63,4 +63,4 @@ DEPENDENCIES
|
|
|
63
63
|
test-unit (~> 3.0)
|
|
64
64
|
|
|
65
65
|
BUNDLED WITH
|
|
66
|
-
|
|
66
|
+
2.0.2
|
|
@@ -11,7 +11,7 @@ eos
|
|
|
11
11
|
gem.homepage = \
|
|
12
12
|
'https://github.com/GoogleCloudPlatform/fluent-plugin-detect-exceptions'
|
|
13
13
|
gem.license = 'Apache-2.0'
|
|
14
|
-
gem.version = '0.0.
|
|
14
|
+
gem.version = '0.0.13'
|
|
15
15
|
gem.authors = ['Stackdriver Agents']
|
|
16
16
|
gem.email = ['stackdriver-agents@google.com']
|
|
17
17
|
gem.required_ruby_version = Gem::Requirement.new('>= 2.0')
|
|
@@ -59,6 +59,18 @@ module Fluent
|
|
|
59
59
|
:java_start_exception),
|
|
60
60
|
rule(:java_after_exception, /^[\r\n]*$/, :java_after_exception),
|
|
61
61
|
rule([:java_after_exception, :java], /^[\t ]+(?:eval )?at /, :java),
|
|
62
|
+
|
|
63
|
+
rule([:java_after_exception, :java],
|
|
64
|
+
# C# nested exception.
|
|
65
|
+
/^[\t ]+--- End of inner exception stack trace ---$/,
|
|
66
|
+
:java),
|
|
67
|
+
|
|
68
|
+
rule([:java_after_exception, :java],
|
|
69
|
+
# C# exception from async code.
|
|
70
|
+
/^--- End of stack trace from previous (?x:
|
|
71
|
+
)location where exception was thrown ---$/,
|
|
72
|
+
:java),
|
|
73
|
+
|
|
62
74
|
rule([:java_after_exception, :java], /^[\t ]*(?:Caused by|Suppressed):/,
|
|
63
75
|
:java_after_exception),
|
|
64
76
|
rule([:java_after_exception, :java],
|
|
@@ -83,6 +95,8 @@ module Fluent
|
|
|
83
95
|
|
|
84
96
|
GO_RULES = [
|
|
85
97
|
rule(:start_state, /\bpanic: /, :go_after_panic),
|
|
98
|
+
rule(:start_state, /http: panic serving/, :go_goroutine),
|
|
99
|
+
rule(:go_after_panic, /^$/, :go_goroutine),
|
|
86
100
|
rule([:go_after_panic, :go_after_signal, :go_frame_1],
|
|
87
101
|
/^$/, :go_goroutine),
|
|
88
102
|
rule(:go_after_panic, /^\[signal /, :go_after_signal),
|
|
@@ -242,6 +242,26 @@ created by main.main
|
|
|
242
242
|
server.go:20 +0x91
|
|
243
243
|
END
|
|
244
244
|
|
|
245
|
+
GO_HTTP = <<END.freeze
|
|
246
|
+
2019/01/15 07:48:05 http: panic serving [::1]:54143: test panic
|
|
247
|
+
goroutine 24 [running]:
|
|
248
|
+
net/http.(*conn).serve.func1(0xc00007eaa0)
|
|
249
|
+
/usr/local/go/src/net/http/server.go:1746 +0xd0
|
|
250
|
+
panic(0x12472a0, 0x12ece10)
|
|
251
|
+
/usr/local/go/src/runtime/panic.go:513 +0x1b9
|
|
252
|
+
main.doPanic(0x12f0ea0, 0xc00010e1c0, 0xc000104400)
|
|
253
|
+
/Users/ingvar/src/go/src/httppanic.go:8 +0x39
|
|
254
|
+
net/http.HandlerFunc.ServeHTTP(0x12be2e8, 0x12f0ea0, 0xc00010e1c0, 0xc000104400)
|
|
255
|
+
/usr/local/go/src/net/http/server.go:1964 +0x44
|
|
256
|
+
net/http.(*ServeMux).ServeHTTP(0x14a17a0, 0x12f0ea0, 0xc00010e1c0, 0xc000104400)
|
|
257
|
+
/usr/local/go/src/net/http/server.go:2361 +0x127
|
|
258
|
+
net/http.serverHandler.ServeHTTP(0xc000085040, 0x12f0ea0, 0xc00010e1c0, 0xc000104400)
|
|
259
|
+
/usr/local/go/src/net/http/server.go:2741 +0xab
|
|
260
|
+
net/http.(*conn).serve(0xc00007eaa0, 0x12f10a0, 0xc00008a780)
|
|
261
|
+
/usr/local/go/src/net/http/server.go:1847 +0x646
|
|
262
|
+
created by net/http.(*Server).Serve
|
|
263
|
+
/usr/local/go/src/net/http/server.go:2851 +0x2f5
|
|
264
|
+
END
|
|
245
265
|
CSHARP_EXC = <<END.freeze
|
|
246
266
|
System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
|
|
247
267
|
at System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.Dictionary`2[System.Int32,System.Double]].get_Item (System.String key) [0x00000] in <filename unknown>:0
|
|
@@ -256,6 +276,33 @@ System.Collections.Generic.KeyNotFoundException: The given key was not present i
|
|
|
256
276
|
at System.Threading.Thread.StartInternal () [0x00000] in <filename unknown>:0
|
|
257
277
|
END
|
|
258
278
|
|
|
279
|
+
CSHARP_NESTED_EXC = <<END.freeze
|
|
280
|
+
System.InvalidOperationException: This is the outer exception ---> System.InvalidOperationException: This is the inner exception
|
|
281
|
+
at ExampleApp.NestedExceptionExample.LowestLevelMethod() in c:/ExampleApp/ExampleApp/NestedExceptionExample.cs:line 33
|
|
282
|
+
at ExampleApp.NestedExceptionExample.ThirdLevelMethod() in c:/ExampleApp/ExampleApp/NestedExceptionExample.cs:line 28
|
|
283
|
+
at ExampleApp.NestedExceptionExample.SecondLevelMethod() in c:/ExampleApp/ExampleApp/NestedExceptionExample.cs:line 18
|
|
284
|
+
--- End of inner exception stack trace ---
|
|
285
|
+
at ExampleApp.NestedExceptionExample.SecondLevelMethod() in c:/ExampleApp/ExampleApp/NestedExceptionExample.cs:line 22
|
|
286
|
+
at ExampleApp.NestedExceptionExample.TopLevelMethod() in c:/ExampleApp/ExampleApp/NestedExceptionExample.cs:line 11
|
|
287
|
+
at ExampleApp.Program.Main(String[] args) in c:/ExampleApp/ExampleApp/Program.cs:line 11
|
|
288
|
+
END
|
|
289
|
+
|
|
290
|
+
CSHARP_ASYNC_EXC = <<END.freeze
|
|
291
|
+
System.InvalidOperationException: This is an exception
|
|
292
|
+
at ExampleApp2.AsyncExceptionExample.LowestLevelMethod() in c:/ExampleApp/ExampleApp/AsyncExceptionExample.cs:line 36
|
|
293
|
+
at ExampleApp2.AsyncExceptionExample.<ThirdLevelMethod>d__2.MoveNext() in c:/ExampleApp/ExampleApp/AsyncExceptionExample.cs:line 31
|
|
294
|
+
--- End of stack trace from previous location where exception was thrown ---
|
|
295
|
+
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
|
|
296
|
+
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
|
|
297
|
+
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
|
|
298
|
+
at ExampleApp2.AsyncExceptionExample.<SecondLevelMethod>d__1.MoveNext() in c:/ExampleApp/ExampleApp/AsyncExceptionExample.cs:line 25
|
|
299
|
+
--- End of stack trace from previous location where exception was thrown ---
|
|
300
|
+
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
|
|
301
|
+
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
|
|
302
|
+
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
|
|
303
|
+
at ExampleApp2.AsyncExceptionExample.<TopLevelMethod>d__0.MoveNext() in c:/ExampleApp/ExampleApp/AsyncExceptionExample.cs:line 14
|
|
304
|
+
END
|
|
305
|
+
|
|
259
306
|
RUBY_EXC = <<END.freeze
|
|
260
307
|
NoMethodError (undefined method `resursivewordload' for #<BooksController:0x007f8dd9a0c738>):
|
|
261
308
|
app/controllers/books_controller.rb:69:in `recursivewordload'
|
|
@@ -570,6 +617,8 @@ END
|
|
|
570
617
|
|
|
571
618
|
def test_csharp
|
|
572
619
|
check_exception(CSHARP_EXC, false)
|
|
620
|
+
check_exception(CSHARP_NESTED_EXC, false)
|
|
621
|
+
check_exception(CSHARP_ASYNC_EXC, false)
|
|
573
622
|
end
|
|
574
623
|
|
|
575
624
|
def test_python
|
|
@@ -585,6 +634,7 @@ END
|
|
|
585
634
|
check_exception(GO_EXC, false)
|
|
586
635
|
check_exception(GO_ON_GAE_EXC, false)
|
|
587
636
|
check_exception(GO_SIGNAL_EXC, false)
|
|
637
|
+
check_exception(GO_HTTP, false)
|
|
588
638
|
end
|
|
589
639
|
|
|
590
640
|
def test_ruby
|
|
@@ -627,6 +677,8 @@ END
|
|
|
627
677
|
check_exception(GO_ON_GAE_EXC, false)
|
|
628
678
|
check_exception(GO_SIGNAL_EXC, false)
|
|
629
679
|
check_exception(CSHARP_EXC, false)
|
|
680
|
+
check_exception(CSHARP_NESTED_EXC, false)
|
|
681
|
+
check_exception(CSHARP_ASYNC_EXC, false)
|
|
630
682
|
check_exception(V8_JS_EXC, false)
|
|
631
683
|
check_exception(RUBY_EXC, false)
|
|
632
684
|
check_exception(DART_ERR, false)
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fluent-plugin-detect-exceptions
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.13
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Stackdriver Agents
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2019-
|
|
11
|
+
date: 2019-11-04 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: fluentd
|
|
@@ -123,8 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
123
123
|
- !ruby/object:Gem::Version
|
|
124
124
|
version: '0'
|
|
125
125
|
requirements: []
|
|
126
|
-
|
|
127
|
-
rubygems_version: 2.7.6
|
|
126
|
+
rubygems_version: 3.0.4
|
|
128
127
|
signing_key:
|
|
129
128
|
specification_version: 4
|
|
130
129
|
summary: fluentd output plugin for combining stack traces as multi-line JSON logs
|