uptrace 1.0.0 → 1.1.0

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: 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: