uptrace 1.0.0 → 1.1.0

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: 72bfd8148792008a3e5b234beb4394e78aeb5daf7e1e58e4be6cf17307426c83
4
- data.tar.gz: 5dcb5720cdcfd03a638c714ed5348b3a59a495e4545d77ab17c2ee8c491545c8
3
+ metadata.gz: fb507d8210b91fdbc8c36e0335895b6d125485d08f4b2a70fe78052570f0d533
4
+ data.tar.gz: 9ecdafebbec3885ef75ef6d9da7b0a6291d333ec4ff68c5f1ad28fcce6509ec3
5
5
  SHA512:
6
- metadata.gz: 32797cae23ce4a51cf174cd2b9140398e2e824c19e2f1ddc0a90bbe6e991ec0d77ef44525979a1490fad4f5da866eef281e3bef1af0bbb62596cb8d10a0b01c8
7
- data.tar.gz: 1fda6cbf14c17f2db89812bd282d24c6b0c23fcf7a74afbbfa0584e6dd06795dcd10e9a17c31552ae5e279a15d7f3d0a064ba454b0c6d87c12dbc0e66c0ace9b
6
+ metadata.gz: 983b4986816f25795eaba1c5c394284e539ab61478213a4afdccc053933ab0bdc23ade9c0e4478af69f859c6fe021a037e2a40108ff32141e47c380081d4a92a
7
+ data.tar.gz: bf8a1d0320bb0fb7405b0d700188478dd4c068d0839b48a03ec65c00dc7be329b82314931de5d3268d6303daacae615a0ff6650215609690a2265c6943131aaf
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## v1.0.1 - 2021-11-08
4
+
5
+ - Updated OpenTelemetry to
6
+ [v1.0.1](https://github.com/open-telemetry/opentelemetry-ruby/blob/main/sdk/CHANGELOG.md#v101--2021-10-29).
7
+
3
8
  ## v1.0.0 - 2021-10-06
4
9
 
5
10
  - Updated OpenTelemetry to
data/README.md CHANGED
@@ -1,7 +1,8 @@
1
1
  # Uptrace Ruby exporter for OpenTelemetry
2
2
 
3
3
  ![build workflow](https://github.com/uptrace/uptrace-ruby/actions/workflows/build.yml/badge.svg)
4
- [![Documentation](https://img.shields.io/badge/uptrace-documentation-informational)](https://docs.uptrace.dev/ruby/)
4
+ [![Documentation](https://img.shields.io/badge/uptrace-documentation-informational)](https://docs.uptrace.dev/guide/ruby.html)
5
+ [![Chat](https://img.shields.io/matrix/uptrace:matrix.org)](https://matrix.to/#/#uptrace:matrix.org)
5
6
 
6
7
  <a href="https://docs.uptrace.dev/guide/ruby.html">
7
8
  <img src="https://docs.uptrace.dev/devicon/ruby-original.svg" height="200px" />
@@ -10,7 +11,7 @@
10
11
  ## Introduction
11
12
 
12
13
  uptrace-ruby is an OpenTelemery distribution configured to export
13
- [traces](https://docs.uptrace.dev/tracing/#spans) to Uptrace.
14
+ [traces](https://opentelemetry.uptrace.dev/guide/distributed-tracing.html) to Uptrace.
14
15
 
15
16
  ## Quickstart
16
17
 
@@ -60,5 +61,8 @@ end
60
61
  OpenTelemetry.tracer_provider.shutdown
61
62
  ```
62
63
 
63
- For more details, please see [documentation](https://docs.uptrace.dev/ruby/) and
64
- [examples](example).
64
+ ## Links
65
+
66
+ - [Examples](example)
67
+ - [Documentation](https://docs.uptrace.dev/guide/ruby.html)
68
+ - [Instrumentations](https://opentelemetry.uptrace.dev/instrumentations.html?lang=ruby)
data/TODO.md ADDED
@@ -0,0 +1 @@
1
+ - Przemyslaw Swiercz <przemyslaw@marketer.tech> - Ruby Metrics
@@ -17,7 +17,7 @@ module Uptrace
17
17
  Uptrace.logger.error("Uptrace is disabled: #{e.message}")
18
18
  @disabled = true
19
19
 
20
- @dsn = DSN.new('https://TOKEN@api.uptrace.dev/PROJECT_ID')
20
+ @dsn = DSN.new('https://TOKEN@uptrace.dev/PROJECT_ID')
21
21
  end
22
22
  end
23
23
 
@@ -29,10 +29,8 @@ module Uptrace
29
29
  # @return [String]
30
30
  def trace_url(span = nil)
31
31
  span = OpenTelemetry::Trace.current_span if span.nil?
32
-
33
- host = @dsn.host.delete_prefix('api.')
34
32
  trace_id = span.context.hex_trace_id
35
- "#{@dsn.scheme}://#{host}/search/#{@dsn.project_id}?q=#{trace_id}"
33
+ "#{@dsn.app_addr}/traces/#{trace_id}"
36
34
  end
37
35
  end
38
36
  end
data/lib/uptrace/dsn.rb CHANGED
@@ -3,9 +3,7 @@
3
3
  module Uptrace
4
4
  # Uptrace DSN
5
5
  class DSN
6
- KEYS = %w[scheme host project_id token].freeze
7
-
8
- attr_reader :dsn, :port, *KEYS
6
+ attr_reader :dsn, :scheme, :host, :port, :project_id, :token
9
7
 
10
8
  def initialize(dsn)
11
9
  raise ArgumentError, "DSN can't be empty" if dsn.empty?
@@ -17,13 +15,21 @@ module Uptrace
17
15
  end
18
16
 
19
17
  @dsn = dsn
20
- @project_id = uri.path.delete_prefix('/')
21
- @token = uri.user
18
+ @scheme = uri.scheme
22
19
  @host = uri.host
23
20
  @port = uri.port
24
- @scheme = uri.scheme
21
+ @project_id = uri.path.delete_prefix('/')
22
+ @token = uri.user
23
+
24
+ %w[scheme host].each do |k|
25
+ v = public_send(k)
26
+ raise ArgumentError, %(DSN=#{dsn.inspect} does not have a #{k}) if v.nil? || v.empty?
27
+ end
28
+
29
+ @host = 'uptrace.dev' if @host == 'api.uptrace.dev'
30
+ return if @host != 'uptrace.dev'
25
31
 
26
- KEYS.each do |k|
32
+ %w[project_id token].each do |k|
27
33
  v = public_send(k)
28
34
  raise ArgumentError, %(DSN=#{dsn.inspect} does not have a #{k}) if v.nil? || v.empty?
29
35
  end
@@ -32,5 +38,17 @@ module Uptrace
32
38
  def to_s
33
39
  @dsn
34
40
  end
41
+
42
+ def app_addr
43
+ return 'https://app.uptrace.dev' if @host == 'uptrace.dev'
44
+
45
+ "#{@scheme}://#{@host}:#{@port}"
46
+ end
47
+
48
+ def otlp_addr
49
+ return 'https://otlp.uptrace.dev' if @host == 'uptrace.dev'
50
+
51
+ "#{@scheme}://#{@host}:#{@port}"
52
+ end
35
53
  end
36
54
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Uptrace
4
- VERSION = '1.0.0'
4
+ VERSION = '1.1.0'
5
5
  end
data/lib/uptrace.rb CHANGED
@@ -21,7 +21,7 @@ module Uptrace
21
21
  # @param [optional OpenTelemetry::Trace::Span] span
22
22
  # @return [String]
23
23
  def trace_url(span = nil)
24
- client.trace_url(span)
24
+ @client.trace_url(span)
25
25
  end
26
26
 
27
27
  # ConfigureOpentelemetry configures OpenTelemetry to export data to Uptrace.
@@ -33,7 +33,7 @@ module Uptrace
33
33
  def configure_opentelemetry(dsn: '')
34
34
  OpenTelemetry::SDK.configure do |c|
35
35
  @client = Client.new(dsn: dsn) unless dsn.empty?
36
- c.add_span_processor(span_processor(@client.dsn.to_s)) unless client.disabled?
36
+ c.add_span_processor(span_processor(@client.dsn)) unless client.disabled?
37
37
 
38
38
  yield c if block_given?
39
39
  end
@@ -43,9 +43,9 @@ module Uptrace
43
43
 
44
44
  def span_processor(dsn)
45
45
  exporter = OpenTelemetry::Exporter::OTLP::Exporter.new(
46
- endpoint: 'https://otlp.uptrace.dev/v1/traces',
46
+ endpoint: "#{dsn.otlp_addr}/v1/traces",
47
47
  # Set the Uptrace DSN here or use UPTRACE_DSN env var.
48
- headers: { 'uptrace-dsn': dsn },
48
+ headers: { 'uptrace-dsn': dsn.to_s },
49
49
  compression: 'gzip'
50
50
  )
51
51
  OpenTelemetry::SDK::Trace::Export::BatchSpanProcessor.new(
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uptrace
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Uptrace Authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-06 00:00:00.000000000 Z
11
+ date: 2022-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opentelemetry-exporter-otlp
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.20.5
19
+ version: 0.22.0
20
20
  type: :runtime
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: 0.20.5
26
+ version: 0.22.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: opentelemetry-sdk
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.0.0
33
+ version: 1.1.0
34
34
  type: :runtime
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: 1.0.0
40
+ version: 1.1.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -72,56 +72,56 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '12.0'
75
+ version: '13.0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '12.0'
82
+ version: '13.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rubocop
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 1.12.0
89
+ version: 1.28.2
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 1.12.0
96
+ version: 1.28.2
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rubocop-minitest
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 0.10.2
103
+ version: 0.19.1
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 0.10.2
110
+ version: 0.19.1
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rubocop-rake
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 0.5.1
117
+ version: 0.6.0
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 0.5.1
124
+ version: 0.6.0
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: yard
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -162,6 +162,7 @@ files:
162
162
  - LICENSE
163
163
  - README.md
164
164
  - RELEASE.md
165
+ - TODO.md
165
166
  - lib/uptrace.rb
166
167
  - lib/uptrace/client.rb
167
168
  - lib/uptrace/dsn.rb
@@ -169,7 +170,8 @@ files:
169
170
  homepage: https://github.com/uptrace/uptrace-ruby
170
171
  licenses:
171
172
  - BSD-2-Clause
172
- metadata: {}
173
+ metadata:
174
+ rubygems_mfa_required: 'true'
173
175
  post_install_message:
174
176
  rdoc_options: []
175
177
  require_paths: