codecov_opentelem 0.1.0 → 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: 60048234598ab361913a778271de941824f809ffbcd10a99a196a633e85fca4c
4
- data.tar.gz: 6929cb70f8ad00564757efdc05a5d8e848d1b35652e97e908f9f10f157d1855a
3
+ metadata.gz: 6914eed45d30e64ce8c2982e130fc182539e953e463ec31eb5924ebac9347002
4
+ data.tar.gz: bdc8110f1234339151b7a8bbc51aead42603faf263f1fc75d1fc89f73ff07993
5
5
  SHA512:
6
- metadata.gz: 3dab6244c860ce0955fda8e3f21b26702a37223601395ab604e175057f3e3db0bb2272ad879da8cf824cde34ccf830e7f6bab35ec513ea9a9d33281ae7a0f5d8
7
- data.tar.gz: d7e275ad9f8a9eb9d3b59b428078bd5682e72326e51d1a4a6aef7c9dfd954dceff66f7de705e103f36c296e33f1fdfaa4ea2309d2bb58ac35c1a0e4be9cef936
6
+ metadata.gz: 66932b7701993e76e43798ec280718293333ab88520cb1bd881f1a9f0ce653dc4680b727fb22288e082296f6479bf8fe7161d3e834c3c562c7ccce4870d8b2f2
7
+ data.tar.gz: a727af20f23a98ca148612f0cc792da9733f5c8e37290a4e532ba8396a145b6129e77f1bf3e14b919407a82140ff39227a536082bd6092b1dd7bbb76032d005c
data/Gemfile CHANGED
@@ -10,3 +10,4 @@ gem "rake", "~> 13.0"
10
10
  gem 'opentelemetry-sdk'
11
11
  gem 'opentelemetry-exporter-otlp'
12
12
  gem 'opentelemetry-instrumentation-all'
13
+ gem "rspec"
data/Rakefile CHANGED
@@ -1,4 +1,20 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "bundler/gem_tasks"
4
+ require_relative "lib/codecov_opentelem/version"
5
+
4
6
  task default: %i[]
7
+
8
+
9
+ task :compare_versions, [:github_ref] do |t, args|
10
+ unless args.github_ref.end_with?(CodecovOpentelem::VERSION)
11
+ abort("version mismatch between GITHUB_REF=#{args.github_ref} and gem veriosn=#{CodecovOpentelem::VERSION}")
12
+ else
13
+ puts "gem version #{CodecovOpentelem::VERSION} matched with GITHUB_REF"
14
+ end
15
+ end
16
+
17
+
18
+ task :get_version do |t|
19
+ puts CodecovOpentelem::VERSION
20
+ end
@@ -14,6 +14,7 @@ end
14
14
 
15
15
  class CodecovCoverageStorageManager
16
16
  def initialize(filters)
17
+ Coverage.start
17
18
  @filters = filters
18
19
  @inner = {}
19
20
  end
@@ -23,7 +24,7 @@ class CodecovCoverageStorageManager
23
24
  return false
24
25
  end
25
26
 
26
- Coverage.resume
27
+ Coverage.resume unless Coverage.running?
27
28
  true
28
29
  end
29
30
 
@@ -39,7 +40,7 @@ class CodecovCoverageStorageManager
39
40
  end
40
41
  end
41
42
 
42
- class CodecovCoverageGenerator < SpanProcessor
43
+ class CodecovCoverageGenerator < OpenTelemetry::SDK::Trace::SpanProcessor
43
44
  def initialize(cov_storage, sample_rate)
44
45
  super()
45
46
  @cov_storage = cov_storage
@@ -47,7 +48,7 @@ class CodecovCoverageGenerator < SpanProcessor
47
48
  end
48
49
 
49
50
  def on_start(span, _parent_context = nil)
50
- @cov_storage.possibly_start_cov_for_span(span) if rand < @sample_rate
51
+ @cov_storage.start_coverage_for_span(span) if rand < @sample_rate
51
52
  end
52
53
 
53
54
  def on_end(span)
@@ -55,7 +56,7 @@ class CodecovCoverageGenerator < SpanProcessor
55
56
  end
56
57
  end
57
58
 
58
- class CoverageExporter < SpanExporter
59
+ class CoverageExporter < OpenTelemetry::SDK::Trace::Export::SpanExporter
59
60
  def initialize(cov_storage, repository_token, code, codecov_url, untracked_export_rate)
60
61
  super()
61
62
  @cov_storage = cov_storage
@@ -69,7 +70,7 @@ class CoverageExporter < SpanExporter
69
70
  tracked_spans = []
70
71
  untracked_spans = []
71
72
  spans.each do |span|
72
- cov = cov_storage.pop_cov_for_span(span)
73
+ cov = cov_storage.pop_coverage_for_span(span)
73
74
  s = JSON.parse(span)
74
75
  if !cov.nil?
75
76
  s['codecov'] = { 'type' => 'bytes', 'coverage' => cov }
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CodecovOpentelem
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.3"
5
5
  end
@@ -40,9 +40,9 @@ def get_codecov_opentelemetry_instances(
40
40
  'Authorization' => "repotoken #{repository_token}")
41
41
  raise UnableToStartProcessorException if res.is_a?(Net::HTTPError)
42
42
  end
43
- manager = CodecovCoverageStorageManager(filters)
44
- generator = CodecovCoverageGenerator(manager, sample_rate)
45
- exporter = CoverageExporter(
43
+ manager = CodecovCoverageStorageManager.new(filters)
44
+ generator = CodecovCoverageGenerator.new(manager, sample_rate)
45
+ exporter = CoverageExporter.new(
46
46
  manager, repository_token, code, codecov_url, untracked_export_rate
47
47
  )
48
48
  [generator, exporter]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: codecov_opentelem
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ahmed-Elghrbawy
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-05-13 00:00:00.000000000 Z
11
+ date: 2022-06-17 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email:
@@ -22,7 +22,6 @@ files:
22
22
  - LICENSE.txt
23
23
  - README.md
24
24
  - Rakefile
25
- - codecov_opentelem.gemspec
26
25
  - lib/codecov_opentelem.rb
27
26
  - lib/codecov_opentelem/coverage_exporter.rb
28
27
  - lib/codecov_opentelem/version.rb
@@ -31,8 +30,8 @@ licenses:
31
30
  - MIT
32
31
  metadata:
33
32
  homepage_uri: https://github.com/codecov/opentelem-ruby
34
- source_code_uri: https://github.com/codecov/opentelem-ruby.
35
- changelog_uri: https://github.com/codecov/opentelem-ruby/blob/master/CHANGELOG.md
33
+ source_code_uri: https://github.com/codecov/opentelem-ruby
34
+ changelog_uri: https://github.com/codecov/opentelem-ruby/releases
36
35
  post_install_message:
37
36
  rdoc_options: []
38
37
  require_paths:
@@ -48,7 +47,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
48
47
  - !ruby/object:Gem::Version
49
48
  version: '0'
50
49
  requirements: []
51
- rubygems_version: 3.3.13
50
+ rubygems_version: 3.1.2
52
51
  signing_key:
53
52
  specification_version: 4
54
53
  summary: Ruby Opentelemtry
@@ -1,39 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "lib/codecov_opentelem/version"
4
-
5
- Gem::Specification.new do |spec|
6
- spec.name = "codecov_opentelem"
7
- spec.version = CodecovOpentelem::VERSION
8
- spec.authors = ["Ahmed-Elghrbawy"]
9
- spec.email = ["hello@codecov.io"]
10
-
11
- spec.summary = "Ruby Opentelemtry"
12
- # spec.description = "TODO: Write a longer description or delete this line."
13
- spec.homepage = "https://github.com/codecov/opentelem-ruby"
14
- spec.license = "MIT"
15
- spec.required_ruby_version = ">= 2.6.0"
16
-
17
- # spec.metadata["allowed_push_host"] = "TODO: Set to your gem server 'https://example.com'"
18
-
19
- spec.metadata["homepage_uri"] = spec.homepage
20
- spec.metadata["source_code_uri"] = "https://github.com/codecov/opentelem-ruby."
21
- spec.metadata["changelog_uri"] = "https://github.com/codecov/opentelem-ruby/blob/master/CHANGELOG.md"
22
-
23
- # Specify which files should be added to the gem when it is released.
24
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
25
- spec.files = Dir.chdir(__dir__) do
26
- `git ls-files -z`.split("\x0").reject do |f|
27
- (f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
28
- end
29
- end
30
- spec.bindir = "exe"
31
- spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
32
- spec.require_paths = ["lib"]
33
-
34
- # Uncomment to register a new dependency of your gem
35
- # spec.add_dependency "example-gem", "~> 1.0"
36
-
37
- # For more information and examples about making a new gem, check out our
38
- # guide at: https://bundler.io/guides/creating_gem.html
39
- end