helios-opentelemetry-sdk 0.1.2 → 0.1.3

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: d9b4d1ab64cf9132e10126a7ac6f45fd4d2bf145722ffdae0ba183e68952df8a
4
- data.tar.gz: 721d9ca840c821b2ad92aa55b985a9a4a046ba03797e48d44478de0855d2e6c1
3
+ metadata.gz: 8362da08f574397d4d357446ad29983e50f72cc603c3d3c049eab8189ba1f7ea
4
+ data.tar.gz: 2b27b0ad153348b2ede335d18cce7f65591f8d831f08c2b036f043f0b4b20c9c
5
5
  SHA512:
6
- metadata.gz: 933301dbbd62845b779da7b1b24cc886d2b612e02cccfb371cfb45d6b81f1d4f96573fd8dba47b3c6b8054c1ec6c4e935abd172e5eda6dc1b49f6467147b02b9
7
- data.tar.gz: b26144f4aff1c99b7fff01237f54c2f14cad6b019b279f48d78ac25faeafcb0230839f0e07256542e38816d3a99616169530639c45c2acdbcc1dd87a31077218
6
+ metadata.gz: d34ad8d55384de0b44fb6a5f38bcbb83e62b44cd49b15d4f697352bee686fe26cdba29ee0c40dda26259fb5a00d0e351c007b038ec560ce8d8eeee717cd574f0
7
+ data.tar.gz: 44947f670a4cceb806dbc2b2fd7650b027297c71227cdcbe851210d9aa1bee38e85a36c864df8d82193b793dbe26eceeb863ea4af9064f370a679be9a3092d74
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ ruby-3.1
data/Gemfile CHANGED
@@ -6,3 +6,4 @@ gem 'opentelemetry-sdk', '~> 1.1.0'
6
6
  gem 'opentelemetry-exporter-otlp', '~> 0.22.0'
7
7
  gem 'opentelemetry-instrumentation-all', '~> 0.25.0'
8
8
  gem 'rubocop', '~> 1.30.1', group: [:development, :test]
9
+ gem 'bundler', '~> 2.3.16', group: [:development, :test]
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- helios-opentelemetry-sdk (0.1.2)
4
+ helios-opentelemetry-sdk (0.1.3)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -195,7 +195,7 @@ GEM
195
195
  parser (3.1.2.0)
196
196
  ast (~> 2.4.1)
197
197
  rainbow (3.1.1)
198
- rake (10.5.0)
198
+ rake (13.0.6)
199
199
  regexp_parser (2.5.0)
200
200
  rexml (3.2.5)
201
201
  rspec (3.10.0)
@@ -230,14 +230,14 @@ PLATFORMS
230
230
  ruby
231
231
 
232
232
  DEPENDENCIES
233
- bundler (~> 1.17)
233
+ bundler (~> 2.3.16)
234
234
  helios-opentelemetry-sdk!
235
235
  opentelemetry-exporter-otlp (~> 0.22.0)
236
236
  opentelemetry-instrumentation-all (~> 0.25.0)
237
237
  opentelemetry-sdk (~> 1.1.0)
238
- rake (~> 10.0)
238
+ rake (~> 13.0)
239
239
  rspec (~> 3.0)
240
240
  rubocop (~> 1.30.1)
241
241
 
242
242
  BUNDLED WITH
243
- 1.17.2
243
+ 2.3.16
@@ -33,7 +33,7 @@ Gem::Specification.new do |spec|
33
33
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
34
34
  spec.require_paths = ["lib"]
35
35
 
36
- spec.add_development_dependency "bundler", "~> 1.17"
37
- spec.add_development_dependency "rake", "~> 10.0"
36
+ spec.add_development_dependency "bundler", "~> 2.3.16"
37
+ spec.add_development_dependency "rake", "~> 13.0"
38
38
  spec.add_development_dependency "rspec", "~> 3.0"
39
39
  end
@@ -1,7 +1,7 @@
1
1
  module Helios
2
2
  module OpenTelemetry
3
3
  module SDK
4
- VERSION = '0.1.2'
4
+ VERSION = '0.1.3'
5
5
  end
6
6
  end
7
7
  end
@@ -8,6 +8,11 @@ module Helios
8
8
  DEFAULT_COLLECTOR_ENDPOINT = 'https://collector.heliosphere.io/traces'.freeze
9
9
 
10
10
  def self.initialize(helios_config = {})
11
+ if helios_disabled?(helios_config[:enable])
12
+ puts 'Helios instrumentation is disabled'
13
+ return
14
+ end
15
+
11
16
  api_token = helios_config[:api_token]
12
17
  service_name = helios_config[:service_name]
13
18
  if service_name.nil? || api_token.nil?
@@ -24,21 +29,31 @@ module Helios
24
29
  )
25
30
  end
26
31
  c.use_all
27
- span_exporter = if helios_config[:span_exporter].nil?
28
- ::OpenTelemetry::Exporter::OTLP::Exporter.new(
29
- endpoint: Helios::OpenTelemetry::SDK::DEFAULT_COLLECTOR_ENDPOINT,
30
- headers: { Authorization: api_token }
31
- )
32
- else
33
- helios_config[:span_exporter]
34
- end
35
32
  c.add_span_processor(
36
33
  ::OpenTelemetry::SDK::Trace::Export::BatchSpanProcessor.new(
37
- span_exporter
34
+ get_span_exporter(helios_config)
38
35
  )
39
36
  )
40
37
  end
41
38
  end
39
+
40
+ def self.get_span_exporter(helios_config)
41
+ return helios_config[:span_exporter] if helios_config[:span_exporter]
42
+
43
+ ::OpenTelemetry::Exporter::OTLP::Exporter.new(
44
+ endpoint: Helios::OpenTelemetry::SDK::DEFAULT_COLLECTOR_ENDPOINT,
45
+ headers: { Authorization: helios_config[:api_token] }
46
+ )
47
+ end
48
+
49
+ def self.helios_disabled?(enabled_flag)
50
+ return true unless enabled_flag
51
+
52
+ disabled_env_var = ENV['HS_DISABLED']
53
+ return false unless disabled_env_var
54
+
55
+ disabled_env_var.lowercase == 'true'
56
+ end
42
57
  end
43
58
  end
44
59
  end
@@ -52,5 +67,6 @@ if auto_tracing_mode?
52
67
  api_token = ENV['HS_TOKEN']
53
68
  service_name = ENV['HS_SERVICE_NAME']
54
69
  environment = ENV['HS_ENVIRONMENT']
55
- Helios::OpenTelemetry::SDK.initialize(api_token: api_token, service_name: service_name, environment: environment)
70
+ enable = true
71
+ Helios::OpenTelemetry::SDK.initialize(api_token:, service_name:, environment:, enable:)
56
72
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: helios-opentelemetry-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ran Nozik
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-06-19 00:00:00.000000000 Z
11
+ date: 2022-06-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.17'
19
+ version: 2.3.16
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.17'
26
+ version: 2.3.16
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '13.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '13.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -63,6 +63,7 @@ files:
63
63
  - ".github/workflows/test.yml"
64
64
  - ".gitignore"
65
65
  - ".rubocop.yml"
66
+ - ".ruby-version"
66
67
  - Gemfile
67
68
  - Gemfile.lock
68
69
  - LICENSE