foam-ruby 0.1.0.alpha3 → 0.1.0.alpha4

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: 4757e034451eb4a545eb37b3d9fefcb4d1efc64748ce9a09984f27bd11882666
4
- data.tar.gz: 4794bba41f510f12bf74f54a59b48ce5f7d9756eb76836ba8bc5835fc24a2abe
3
+ metadata.gz: 1d76d514553861aade3abed6a2c607d2d97906869ae85e441c066be755d025ab
4
+ data.tar.gz: 5e79a5adaffe152567dffad68f0b5247b560415c2ebb59830b5293381f1e2ded
5
5
  SHA512:
6
- metadata.gz: 75b987b723c9566e71e38acc0f75b92ae4893cb5de83ebf1667629d0fd5b5cb7937e95e36ddbc66744a97439bdaa6b9227bfbb09431d6f5b97445f031b75d4d9
7
- data.tar.gz: 3abca311a34a3d1cf780416fb6f362369c4a797d87f9513f1244d6e021b485bc063ec224868196512e79f326c6bfc32e26342f9f9789b8e5cd0a7cb7735678ac
6
+ metadata.gz: 746dcac38e096f124a8c9b4f07048d58e71738fdea1dd1450fd6c4ea9b39503ebf0fa202f0e440e1edc9571a601bd0b17f6ff34898f2091d2b7b3a87bce1d13c
7
+ data.tar.gz: 62bf146e6ac5f2b671e33e91ed797ed3684b7e686067cde33a8960ff436c184c2cfbe143ca719d8afac81d5d5df8e10eee5987966e19212a8dbc1482d6daa98b
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Foam
4
4
  module Ruby
5
- VERSION = "0.1.0.alpha3"
5
+ VERSION = "0.1.0.alpha4"
6
6
  end
7
7
  end
data/lib/foam/ruby.rb CHANGED
@@ -1,16 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "opentelemetry/sdk"
4
- require "opentelemetry-logs-api"
5
-
6
3
  require_relative "ruby/version"
7
4
  require_relative "ruby/configuration"
8
- require_relative "ruby/otel_setup"
9
- require_relative "ruby/log_subscriber"
10
5
 
11
6
  module Foam
12
7
  module Ruby
13
8
  class << self
9
+ def initialized?
10
+ @initialized == true
11
+ end
12
+
14
13
  def configuration
15
14
  @configuration ||= Configuration.new
16
15
  end
@@ -21,6 +20,10 @@ module Foam
21
20
  end
22
21
 
23
22
  def init(token: nil, service_name: nil, endpoint: nil, **options)
23
+ unless production?
24
+ return
25
+ end
26
+
24
27
  configure do |c|
25
28
  c.token = token if token
26
29
  c.service_name = service_name if service_name
@@ -35,11 +38,20 @@ module Foam
35
38
  return
36
39
  end
37
40
 
41
+ require_relative "ruby/otel_setup"
42
+ require_relative "ruby/log_subscriber"
43
+
38
44
  OtelSetup.configure!(configuration)
39
45
  schedule_logger_attach! if configuration.logs_enabled
46
+ @initialized = true
47
+ rescue StandardError => e
48
+ warn "[foam-ruby] init failed: #{e.message}"
49
+ @initialized = false
40
50
  end
41
51
 
42
52
  def capture_exception(error, attributes: {})
53
+ return unless initialized?
54
+
43
55
  span = OpenTelemetry::Trace.current_span
44
56
  return unless span && span.context.valid?
45
57
 
@@ -61,6 +73,11 @@ module Foam
61
73
 
62
74
  private
63
75
 
76
+ def production?
77
+ env = ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "development"
78
+ env.downcase == "production"
79
+ end
80
+
64
81
  def schedule_logger_attach!
65
82
  return unless defined?(::Rails)
66
83
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foam-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.alpha3
4
+ version: 0.1.0.alpha4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Foam