stack-service-base 0.0.75 → 0.0.77

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: 42a684599ec2f5f4ce219ff383bb91f280f3551633c88e5c854971e358b4d40a
4
- data.tar.gz: 900890a86bfc5070661c1dcf7b533994685cfd118197d960e16bff8fe2236722
3
+ metadata.gz: f84cb064ccf3f6f83754e525d595d9902e8143ef279477c4a79e18252b3f72c4
4
+ data.tar.gz: 515133d93daa3d1282a81dae58cdd688d82d090a0639e66c3859254e9781d38d
5
5
  SHA512:
6
- metadata.gz: b5d88abae4042bfbb7dff5a190c1d31c27fc8a712eda46984c47f4c5e301a56cf25484a6ae49ed573b066d9c7776d8fbc05d14c865651d70696daa8236f8dacf
7
- data.tar.gz: 189b5f00ebb89a0d08e1d482c27795f95697ac8e00388940e073218790420d0fe8cd8ab329ed7a441d6450dec2e6b653899f111bc408aeddfdfb75a14ca46ddd
6
+ metadata.gz: 3b53b686eb180ea3001a7cc7506b2c57e7887985a4ac06ecb35553f4239b2bbfdb29c96626df8d2813594d9d8f390826c842dbef8e9c777fa60a79d5355829ba
7
+ data.tar.gz: 53f50ae84f7abb9c76b30a771de3cee5f1bc83ff8dc651f184c850a912065155bc3cd4e61e708eba1cb6e5bdc0973454ce90329cff876804b75ccc4d6c9a9217
@@ -37,9 +37,28 @@ if OTEL_ENABLED
37
37
  require 'opentelemetry-exporter-otlp-logs'
38
38
  end
39
39
 
40
+ if false
41
+ # TODO: disable Faraday spans for the given Threads
42
+ # debug and test
43
+
44
+ if defined? OpenTelemetry::Instrumentation::Faraday::Middlewares::Stable::TracerMiddleware
45
+ class OpenTelemetry::Instrumentation::Faraday::Middlewares::Stable::TracerMiddlewareTracerMiddleware
46
+ alias_method :_original_call, :call
47
+ def call(env)
48
+ if Thread.current[:disable_faraday] == true
49
+ app.call env
50
+ else
51
+ _original_call(env)
52
+ end
53
+ end
54
+ end
55
+ end
56
+
57
+ end
58
+
40
59
  if defined? Async and OTEL_ENABLED
41
60
  module AsyncTaskOTELPatch
42
- def initialize(reactor, parent = Async::Task.current?, logger: nil, finished: nil, **options, &block)
61
+ def initialize(*pos, **kw, &block)
43
62
  ctx_ = OpenTelemetry::Context.current
44
63
 
45
64
  block_otl = ->(t, *arguments){
@@ -47,7 +66,7 @@ if defined? Async and OTEL_ENABLED
47
66
  block.call t, *arguments
48
67
  end
49
68
  }
50
- super reactor, parent, logger: , finished: , **options, &block_otl
69
+ super(*pos, **kw, &block_otl)
51
70
  end
52
71
  end
53
72
 
@@ -149,7 +168,39 @@ if defined? Sequel and OTEL_ENABLED
149
168
  end
150
169
  end
151
170
 
152
- def otl_span(name, attributes = {})
171
+
172
+ # Thread.otl_new do
173
+ # ...
174
+ # end
175
+
176
+ class << Thread
177
+ alias_method :_otel_original_new, :new
178
+
179
+ if OTEL_ENABLED
180
+ def otl_new(*args, **kwargs, &block)
181
+ ctx = OpenTelemetry::Context.current
182
+
183
+ _otel_original_new(*args, **kwargs) do |*bargs|
184
+ OpenTelemetry::Context.with_current(ctx) do
185
+ block.call(*bargs)
186
+ end
187
+ end
188
+ end
189
+ else
190
+ alias_method :otl_new, :new
191
+ end
192
+ end
193
+
194
+ def otl_span_thread(name, attributes = {}, &block)
195
+ ctx_ = OpenTelemetry::Context.current
196
+ Thread.new do
197
+ OpenTelemetry::Context.with_current(ctx_) do
198
+ otl_span(name, attributes, &block)
199
+ end
200
+ end
201
+ end
202
+
203
+ def otl_span(name, attributes = {}, &block)
153
204
  # span_ = OpenTelemetry::Trace.current_span
154
205
  return yield(nil) unless OTEL_ENABLED && Otel.enabled
155
206
 
@@ -170,13 +221,13 @@ end
170
221
  # end
171
222
 
172
223
  def otl_traceparent_id
173
- return nil unless OTEL_ENABLED && Otel.enabled
224
+ return nil unless OTEL_ENABLED && Otel.enabled
174
225
 
175
- span_context = OpenTelemetry::Trace.current_span.context
176
- trace_id = span_context.trace_id.unpack1('H*')
177
- span_id = span_context.span_id.unpack1('H*')
178
- trace_flags = format('%02x', span_context.trace_flags.instance_eval{ @flags }) # Two-digit hex for trace flags (e.g., sampled)
179
- "00-#{trace_id}-#{span_id}-#{trace_flags}"
226
+ span_context = OpenTelemetry::Trace.current_span.context
227
+ trace_id = span_context.trace_id.unpack1('H*')
228
+ span_id = span_context.span_id.unpack1('H*')
229
+ trace_flags = format('%02x', span_context.trace_flags.instance_eval{ @flags }) # Two-digit hex for trace flags (e.g., sampled)
230
+ "00-#{trace_id}-#{span_id}-#{trace_flags}"
180
231
  end
181
232
 
182
233
  def otl_def(name)
@@ -1,3 +1,3 @@
1
1
  module StackServiceBase
2
- VERSION = '0.0.75'
2
+ VERSION = '0.0.77'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stack-service-base
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.75
4
+ version: 0.0.77
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artyom B