traces 0.6.0 → 0.6.1

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: f43a022f924d80549fb54edeb3624e67ff1bfbf682115a5a83ac721249b53806
4
- data.tar.gz: a307c39fb5decf64d338c2c6f414744fbb4a7e6e523ba84182171d386e68f09a
3
+ metadata.gz: 623252ebe110a221b107349d5cf95c63df1d85733e7a7bc4448b01e6503ef9aa
4
+ data.tar.gz: 30137d284c359cbcbbc1518dc6137cb3bf5bf65aa7c0c0807182e1fb6ed0b843
5
5
  SHA512:
6
- metadata.gz: 2fcb2d979a672924a6167753e9e3e9b4e7d75be028d14b0a623458c7d0a5a656859648ec1a728195dbacedcfcd3817474a37ac3778556a5920c6ace5bb598f28
7
- data.tar.gz: 7b4fb88b6ebda8d3ad9cddc5e6132c9e2b50d669eb69f827383aceb4902b32334cb7bd7ab227e51a873881e3e8f98dbae39cef147ac924a2dcc98e701908513e
6
+ metadata.gz: b03e5650caedbc378f64818e8f94f9df222de598e78e3975ff1aafd6956b4443a3299f76435990edafc705cde434f4323884c5f52e6780083b60ebc772be59dc
7
+ data.tar.gz: 8188f5208ad9a5396830cd467fb5850e1590a073d436d3da1ad321f22b3f36447d971fee20f67f70d1cb02f6dd301c8bb3cc4c3438fd91b7312b4f99c39d456e
checksums.yaml.gz.sig CHANGED
Binary file
@@ -43,12 +43,14 @@ module Traces
43
43
  # @parameter key [String] The metadata key.
44
44
  # @parameter value [Object] The metadata value. Should be coercable to a string.
45
45
  def []= key, value
46
- unless key.is_a?(String)
47
- raise ArgumentError, "Invalid name (must be String): #{key.inspect}!"
46
+ unless key.is_a?(String) || key.is_a?(Symbol)
47
+ raise ArgumentError, "Invalid attribute key (must be String or Symbol): #{key.inspect}!"
48
48
  end
49
49
 
50
- unless String(value)
51
- raise ArgumentError, "Invalid value (must be String): #{value.inspect}!"
50
+ begin
51
+ String(value)
52
+ rescue
53
+ raise ArgumentError, "Invalid attribute value (must be convertible to String): #{value.inspect}!"
52
54
  end
53
55
  end
54
56
  end
@@ -58,6 +60,10 @@ module Traces
58
60
  # @parameter name [String] A useful name/annotation for the recorded span.
59
61
  # @parameter attributes [Hash] Metadata for the recorded span.
60
62
  def trace(name, resource: self.class.name, attributes: nil, &block)
63
+ unless block_given?
64
+ raise ArgumentError, "No block given!"
65
+ end
66
+
61
67
  unless name.is_a?(String)
62
68
  raise ArgumentError, "Invalid name (must be String): #{name.inspect}!"
63
69
  end
@@ -68,12 +74,19 @@ module Traces
68
74
  end
69
75
 
70
76
  context = Context.nested(Fiber.current.traces_backend_context)
77
+
78
+ span = Span.new(context)
79
+
80
+ # Ensure the attributes are valid and follow the requirements:
81
+ attributes&.each do |key, value|
82
+ span[key] = value
83
+ end
84
+
71
85
  Fiber.current.traces_backend_context = context
72
86
 
73
87
  if block.arity.zero?
74
88
  yield
75
89
  else
76
- span = Span.new(context)
77
90
  yield span
78
91
  end
79
92
  end
@@ -39,7 +39,7 @@ module Traces
39
39
  end
40
40
 
41
41
  if state
42
- state = state.map{|item| item.split('=')}
42
+ state = state.map{|item| item.split('=')}.to_h
43
43
  end
44
44
 
45
45
  self.new(trace_id, parent_id, flags, state, **options)
@@ -91,7 +91,7 @@ module Traces
91
91
 
92
92
  # Denotes that the caller may have recorded trace data. When unset, the caller did not record trace data out-of-band.
93
93
  def sampled?
94
- @flags & SAMPLED
94
+ (@flags & SAMPLED) != 0
95
95
  end
96
96
 
97
97
  # Whether this context was created from a distributed trace header.
@@ -21,5 +21,5 @@
21
21
  # THE SOFTWARE.
22
22
 
23
23
  module Traces
24
- VERSION = "0.6.0"
24
+ VERSION = "0.6.1"
25
25
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: traces
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -10,48 +10,35 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIEhDCCAuygAwIBAgIBATANBgkqhkiG9w0BAQsFADA3MTUwMwYDVQQDDCxzYW11
14
- ZWwud2lsbGlhbXMvREM9b3Jpb250cmFuc2Zlci9EQz1jby9EQz1uejAeFw0yMTA4
15
- MTYwNjMzNDRaFw0yMjA4MTYwNjMzNDRaMDcxNTAzBgNVBAMMLHNhbXVlbC53aWxs
16
- aWFtcy9EQz1vcmlvbnRyYW5zZmVyL0RDPWNvL0RDPW56MIIBojANBgkqhkiG9w0B
17
- AQEFAAOCAY8AMIIBigKCAYEAyXLSS/cw+fXJ5e7hi+U/TeChPWeYdwJojDsFY1xr
18
- xvtqbTTL8gbLHz5LW3QD2nfwCv3qTlw0qI3Ie7a9VMJMbSvgVEGEfQirqIgJXWMj
19
- eNMDgKsMJtC7u/43abRKx7TCURW3iWyR19NRngsJJmaR51yGGGm2Kfsr+JtKKLtL
20
- L188Wm3f13KAx7QJU8qyuBnj1/gWem076hzdA7xi1DbrZrch9GCRz62xymJlrJHn
21
- 9iZEZ7AxrS7vokhMlzSr/XMUihx/8aFKtk+tMLClqxZSmBWIErWdicCGTULXCBNb
22
- E/mljo4zEVKhlTWpJklMIhr55ZRrSarKFuW7en0+tpJrfsYiAmXMJNi4XAYJH7uL
23
- rgJuJwSaa/dMz+VmUoo7VKtSfCoOI+6v5/z0sK3oT6sG6ZwyI47DBq2XqNC6tnAj
24
- w+XmCywiTQrFzMMAvcA7rPI4F0nU1rZId51rOvvfxaONp+wgTi4P8owZLw0/j0m4
25
- 8C20DYi6EYx4AHDXiLpElWh3AgMBAAGjgZowgZcwCQYDVR0TBAIwADALBgNVHQ8E
26
- BAMCBLAwHQYDVR0OBBYEFB6ZaeWKxQjGTI+pmz7cKRmMIywwMC4GA1UdEQQnMCWB
27
- I3NhbXVlbC53aWxsaWFtc0BvcmlvbnRyYW5zZmVyLmNvLm56MC4GA1UdEgQnMCWB
28
- I3NhbXVlbC53aWxsaWFtc0BvcmlvbnRyYW5zZmVyLmNvLm56MA0GCSqGSIb3DQEB
29
- CwUAA4IBgQBVoM+pu3dpdUhZM1w051iw5GfiqclAr1Psypf16Tiod/ho//4oAu6T
30
- 9fj3DPX/acWV9P/FScvqo4Qgv6g4VWO5ZU7z2JmPoTXZtYMunRAmQPFL/gSUc6aK
31
- vszMHIyhtyzRc6DnfW2AiVOjMBjaYv8xXZc9bduniRVPrLR4J7ozmGLh4o4uJp7w
32
- x9KCFaR8Lvn/r0oJWJOqb/DMAYI83YeN2Dlt3jpwrsmsONrtC5S3gOUle5afSGos
33
- bYt5ocnEpKSomR9ZtnCGljds/aeO1Xgpn2r9HHcjwnH346iNrnHmMlC7BtHUFPDg
34
- Ts92S47PTOXzwPBDsrFiq3VLbRjHSwf8rpqybQBH9MfzxGGxTaETQYOd6b4e4Ag6
35
- y92abGna0bmIEb4+Tx9rQ10Uijh1POzvr/VTH4bbIPy9FbKrRsIQ24qDbNJRtOpE
36
- RAOsIl+HOBTb252nx1kIRN5hqQx272AJCbCjKx8egcUQKffFVVCI0nye09v5CK+a
37
- HiLJ8VOFx6w=
13
+ MIIE2DCCA0CgAwIBAgIBATANBgkqhkiG9w0BAQsFADBhMRgwFgYDVQQDDA9zYW11
14
+ ZWwud2lsbGlhbXMxHTAbBgoJkiaJk/IsZAEZFg1vcmlvbnRyYW5zZmVyMRIwEAYK
15
+ CZImiZPyLGQBGRYCY28xEjAQBgoJkiaJk/IsZAEZFgJuejAeFw0yMjA4MDYwNDUz
16
+ MjRaFw0zMjA4MDMwNDUzMjRaMGExGDAWBgNVBAMMD3NhbXVlbC53aWxsaWFtczEd
17
+ MBsGCgmSJomT8ixkARkWDW9yaW9udHJhbnNmZXIxEjAQBgoJkiaJk/IsZAEZFgJj
18
+ bzESMBAGCgmSJomT8ixkARkWAm56MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIB
19
+ igKCAYEAomvSopQXQ24+9DBB6I6jxRI2auu3VVb4nOjmmHq7XWM4u3HL+pni63X2
20
+ 9qZdoq9xt7H+RPbwL28LDpDNflYQXoOhoVhQ37Pjn9YDjl8/4/9xa9+NUpl9XDIW
21
+ sGkaOY0eqsQm1pEWkHJr3zn/fxoKPZPfaJOglovdxf7dgsHz67Xgd/ka+Wo1YqoE
22
+ e5AUKRwUuvaUaumAKgPH+4E4oiLXI4T1Ff5Q7xxv6yXvHuYtlMHhYfgNn8iiW8WN
23
+ XibYXPNP7NtieSQqwR/xM6IRSoyXKuS+ZNGDPUUGk8RoiV/xvVN4LrVm9upSc0ss
24
+ RZ6qwOQmXCo/lLcDUxJAgG95cPw//sI00tZan75VgsGzSWAOdjQpFM0l4dxvKwHn
25
+ tUeT3ZsAgt0JnGqNm2Bkz81kG4A2hSyFZTFA8vZGhp+hz+8Q573tAR89y9YJBdYM
26
+ zp0FM4zwMNEUwgfRzv1tEVVUEXmoFCyhzonUUw4nE4CFu/sE3ffhjKcXcY//qiSW
27
+ xm4erY3XAgMBAAGjgZowgZcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0O
28
+ BBYEFO9t7XWuFf2SKLmuijgqR4sGDlRsMC4GA1UdEQQnMCWBI3NhbXVlbC53aWxs
29
+ aWFtc0BvcmlvbnRyYW5zZmVyLmNvLm56MC4GA1UdEgQnMCWBI3NhbXVlbC53aWxs
30
+ aWFtc0BvcmlvbnRyYW5zZmVyLmNvLm56MA0GCSqGSIb3DQEBCwUAA4IBgQB5sxkE
31
+ cBsSYwK6fYpM+hA5B5yZY2+L0Z+27jF1pWGgbhPH8/FjjBLVn+VFok3CDpRqwXCl
32
+ xCO40JEkKdznNy2avOMra6PFiQyOE74kCtv7P+Fdc+FhgqI5lMon6tt9rNeXmnW/
33
+ c1NaMRdxy999hmRGzUSFjozcCwxpy/LwabxtdXwXgSay4mQ32EDjqR1TixS1+smp
34
+ 8C/NCWgpIfzpHGJsjvmH2wAfKtTTqB9CVKLCWEnCHyCaRVuKkrKjqhYCdmMBqCws
35
+ JkxfQWC+jBVeG9ZtPhQgZpfhvh+6hMhraUYRQ6XGyvBqEUe+yo6DKIT3MtGE2+CP
36
+ eX9i9ZWBydWb8/rvmwmX2kkcBbX0hZS1rcR593hGc61JR6lvkGYQ2MYskBveyaxt
37
+ Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
38
+ voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
38
39
  -----END CERTIFICATE-----
39
- date: 2022-06-09 00:00:00.000000000 Z
40
- dependencies:
41
- - !ruby/object:Gem::Dependency
42
- name: rspec
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '3.0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '3.0'
40
+ date: 2022-08-18 00:00:00.000000000 Z
41
+ dependencies: []
55
42
  description:
56
43
  email:
57
44
  executables: []
metadata.gz.sig CHANGED
Binary file