plain_apm 0.5.0 → 0.5.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 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