plain_apm 0.5.0 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5d7ba5044b9386fbcbfb252e35649da1ad0b7573880510e0588323e24cf0bc11
4
- data.tar.gz: 0ae2df2fea0bdbfc798be93a739a5b6d9144db045f38905feddd5e0975d852fd
3
+ metadata.gz: 00f09f66ee2dc9a76789adbfa6bb4634427a2c32c57780b131057f614782127e
4
+ data.tar.gz: b66dc9db7fbbd925da8d4e96412ba54dc09019046db3ebde26da7944918f481b
5
5
  SHA512:
6
- metadata.gz: f8af4f98d0e30a361e8c2aaf5ef6a3e31d5e1c533ea74b5bebcb03fde4069ef70d8ad9e8067d3c2d99bcaac0e1a73a03f847ef0b80c3ee6bea2be89c4829ec35
7
- data.tar.gz: 007fab263d50573c67f710854ad60a6a3b4392e71599de2b6ed5f287bd63f7814e457c281f9135f130f78446b25af97be1669dcbc8d8ba731f78c16591d094ec
6
+ metadata.gz: 144ab0a7599e0628ba9ab691c81a4c7af92949bed28f3cfbcd89e6e36c052e636a8339a0eebbafe69725476c5e350e97bed6e4911e19100e4bbf2bbd89fa5aba
7
+ data.tar.gz: 7f4dca1052f789f92c3b3aa991681ced8492bb443d45acacf4dfeab46237d9b539a56f1ff607fcfad3549c4421c9871978296266850244f96dffd6bc579e0121
@@ -18,7 +18,7 @@ void Init_object_tracing(void) {
18
18
  rb_mPlainApm = rb_define_module("PlainApm");
19
19
  rb_mObjTracing = rb_define_module_under(rb_mPlainApm, "ObjectTracing");
20
20
 
21
- rb_define_module_function(rb_mObjTracing, "total_thread_allocated_objects", total_thread_allocated_objects, 0);
21
+ rb_define_singleton_method(rb_mObjTracing, "total_thread_allocated_objects", total_thread_allocated_objects, 0);
22
22
 
23
23
  VALUE tpval = rb_tracepoint_new(0, RUBY_INTERNAL_EVENT_NEWOBJ, track_thread_allocated_objects, NULL);
24
24
  rb_tracepoint_enable(tpval);
@@ -36,11 +36,15 @@ module PlainApm
36
36
  "thread_id" => Thread.current.object_id.to_s,
37
37
  )
38
38
 
39
- @events << event
39
+ @events << event
40
40
  end
41
41
 
42
42
  def start
43
+ # Already running
43
44
  return unless @publisher.nil?
45
+
46
+ configure
47
+
44
48
  return unless @config.enabled
45
49
 
46
50
  # TODO: sized queue w/ a timeout.
@@ -57,11 +61,8 @@ module PlainApm
57
61
 
58
62
  private
59
63
 
60
- def initialize
61
- # TODO: validate config
64
+ def configure
62
65
  @config = Config.new
63
-
64
- super
65
66
  end
66
67
 
67
68
  def install_hooks
@@ -11,9 +11,7 @@ module PlainApm
11
11
  @endpoint = ENV["PLAIN_APM_ENDPOINT"] || DEFAULT_EVENT_ENDPOINT
12
12
  @app_key = ENV["PLAIN_APM_APP_KEY"]
13
13
 
14
- if enabled? && !key_present?
15
- warn("Missing PLAIN_APM_APP_KEY environment variable, plain_apm agent won't start.")
16
- end
14
+ warn("PlainAPM agent enabled.") if enabled
17
15
  end
18
16
 
19
17
  private
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PlainApm
4
- VERSION = "0.5.0"
4
+ VERSION = "0.5.2"
5
5
  end
data/lib/plain_apm.rb CHANGED
@@ -38,5 +38,11 @@ require_relative "plain_apm/hooks/manual"
38
38
  require_relative "plain_apm/hooks/error_reporter"
39
39
 
40
40
  module PlainApm
41
- Agent.start
41
+ if defined?(Rails)
42
+ class Railtie < Rails::Railtie
43
+ config.after_initialize { PlainApm::Agent.start }
44
+ end
45
+ else
46
+ Agent.start
47
+ end
42
48
  end
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.0
4
+ version: 0.5.2
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-02 00:00:00.000000000 Z
11
+ date: 2022-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest