stack-service-base 0.0.75 → 0.0.76
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 +4 -4
- data/lib/stack-service-base/open_telemetry.rb +39 -7
- data/lib/stack-service-base/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5040caaeefe798a92d0f5758464a592094ab4110ed47eb1454cbc6105d054792
|
|
4
|
+
data.tar.gz: 8df39599e8a2ef12abca2d7ba2a1117fbcaebf673608f2f21ccbc9d91a68da0b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 461bc25463a6a72254b06911850420d7668e624d674810223478598579ad460d0b3d457a4fec9a49deed70b609edb3b3d4a4edb37ce74202fdf7c36d5d0c1af2
|
|
7
|
+
data.tar.gz: 5ce16e4b261baf9e920b09ce0765df22e5ef14873150e02d1c28ced389a10ec758612913d23e44c3c97ddfa5bb2d2a0b5e06c1102ea13b058237c3f302dccbe7
|
|
@@ -149,7 +149,39 @@ if defined? Sequel and OTEL_ENABLED
|
|
|
149
149
|
end
|
|
150
150
|
end
|
|
151
151
|
|
|
152
|
-
|
|
152
|
+
|
|
153
|
+
# Thread.otl_new do
|
|
154
|
+
# ...
|
|
155
|
+
# end
|
|
156
|
+
|
|
157
|
+
class << Thread
|
|
158
|
+
alias_method :_otel_original_new, :new
|
|
159
|
+
|
|
160
|
+
if OTEL_ENABLED
|
|
161
|
+
def otl_new(*args, **kwargs, &block)
|
|
162
|
+
ctx = OpenTelemetry::Context.current
|
|
163
|
+
|
|
164
|
+
_otel_original_new(*args, **kwargs) do |*bargs|
|
|
165
|
+
OpenTelemetry::Context.with_current(ctx) do
|
|
166
|
+
block.call(*bargs)
|
|
167
|
+
end
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
else
|
|
171
|
+
alias_method :otl_new, :new
|
|
172
|
+
end
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
def otl_span_thread(name, attributes = {}, &block)
|
|
176
|
+
ctx_ = OpenTelemetry::Context.current
|
|
177
|
+
Thread.new do
|
|
178
|
+
OpenTelemetry::Context.with_current(ctx_) do
|
|
179
|
+
otl_span(name, attributes, &block)
|
|
180
|
+
end
|
|
181
|
+
end
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
def otl_span(name, attributes = {}, &block)
|
|
153
185
|
# span_ = OpenTelemetry::Trace.current_span
|
|
154
186
|
return yield(nil) unless OTEL_ENABLED && Otel.enabled
|
|
155
187
|
|
|
@@ -170,13 +202,13 @@ end
|
|
|
170
202
|
# end
|
|
171
203
|
|
|
172
204
|
def otl_traceparent_id
|
|
173
|
-
|
|
205
|
+
return nil unless OTEL_ENABLED && Otel.enabled
|
|
174
206
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
207
|
+
span_context = OpenTelemetry::Trace.current_span.context
|
|
208
|
+
trace_id = span_context.trace_id.unpack1('H*')
|
|
209
|
+
span_id = span_context.span_id.unpack1('H*')
|
|
210
|
+
trace_flags = format('%02x', span_context.trace_flags.instance_eval{ @flags }) # Two-digit hex for trace flags (e.g., sampled)
|
|
211
|
+
"00-#{trace_id}-#{span_id}-#{trace_flags}"
|
|
180
212
|
end
|
|
181
213
|
|
|
182
214
|
def otl_def(name)
|