plain_apm 0.5.3 → 0.5.5
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/lib/plain_apm/extensions/exceptions/rack.rb +16 -0
- data/lib/plain_apm/hooks/deploy.rb +12 -4
- data/lib/plain_apm/version.rb +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: 73fd2b68ac333b85c9447cf1bfab720a5c292a325dc13eb4ba5775c2381aa9b3
|
4
|
+
data.tar.gz: 3cdd0a76f806988f0687e121087837fdf91d4743858c322a8e18501908434a5f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b6de14e0c3e97da869110bf7e56daac8c7b25beeb54c862c33a99f98007d887964eaa4e435d284ecb095c972d2be028905235429ab20d02074872600545ecf8d
|
7
|
+
data.tar.gz: dc49c1a0d76013fe00dd66b12db07558fc86b06904846d7b138ab79721d1ccc5925af4da72d009140d98d8f4ad2569cb3f41ee038dc0d5292d79efa5d4038fb0
|
@@ -4,6 +4,12 @@ module PlainApm
|
|
4
4
|
module Extensions
|
5
5
|
module Exceptions
|
6
6
|
class Rack
|
7
|
+
# FIXME: This is duplicated for ErrorReporter
|
8
|
+
IGNORED_EXCEPTIONS = [
|
9
|
+
"Sidekiq::JobRetry::Skip", # Sidekiq uses exceptions for control flow.
|
10
|
+
"ActionController::RoutingError" # Rails unmapped route, raised before the request hits the app.
|
11
|
+
].freeze
|
12
|
+
|
7
13
|
def initialize(app)
|
8
14
|
@app = app
|
9
15
|
end
|
@@ -23,6 +29,8 @@ module PlainApm
|
|
23
29
|
private
|
24
30
|
|
25
31
|
def report_exception(e, env)
|
32
|
+
return if IGNORED_EXCEPTIONS.include?(e.class.name)
|
33
|
+
|
26
34
|
event = {
|
27
35
|
"source" => "rack_exceptions",
|
28
36
|
"name" => "exception",
|
@@ -32,6 +40,14 @@ module PlainApm
|
|
32
40
|
"params" => env["action_dispatch.request.parameters"]
|
33
41
|
}
|
34
42
|
|
43
|
+
if e.cause
|
44
|
+
event.merge!({
|
45
|
+
"cause_class" => e.cause.class.name,
|
46
|
+
"cause_message" => e.cause.message,
|
47
|
+
"cause_backtrace" => e.cause.backtrace
|
48
|
+
})
|
49
|
+
end
|
50
|
+
|
35
51
|
PlainApm::Agent.collect(event)
|
36
52
|
end
|
37
53
|
end
|
@@ -34,17 +34,25 @@ module PlainApm
|
|
34
34
|
#
|
35
35
|
# Also, we might not be in the app root.
|
36
36
|
def git_revision
|
37
|
-
return
|
37
|
+
return unless File.exist?(".git")
|
38
38
|
|
39
|
-
|
39
|
+
rev = `git rev-parse --short=8 HEAD`.strip
|
40
|
+
|
41
|
+
return if rev.empty?
|
42
|
+
|
43
|
+
["git", rev]
|
40
44
|
rescue Error::ENOENT # No git installed
|
41
45
|
nil
|
42
46
|
end
|
43
47
|
|
44
48
|
def hg_revision
|
45
|
-
return
|
49
|
+
return unless File.exist?(".hg")
|
50
|
+
|
51
|
+
rev = `hg log -l 1 -r . -T '{node}'`.strip
|
52
|
+
|
53
|
+
return if rev.empty?
|
46
54
|
|
47
|
-
["hg",
|
55
|
+
["hg", rev]
|
48
56
|
rescue Error::ENOENT # No mercurial installed
|
49
57
|
nil
|
50
58
|
end
|
data/lib/plain_apm/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: plain_apm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- PlainAPM Team
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-11-
|
11
|
+
date: 2022-11-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|