plain_apm 0.5.3 → 0.5.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|