traces-backend-open_telemetry 0.2.0 → 0.3.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/traces/backend/open_telemetry/interface.rb +47 -11
- data/lib/traces/backend/open_telemetry/version.rb +1 -1
- data/readme.md +19 -3
- data/releases.md +20 -0
- data.tar.gz.sig +0 -0
- metadata +5 -9
- metadata.gz.sig +1 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e827995b4fdb7c14068483b4a7796eb958378f4ad093c59f7d86be165d8b91f2
|
4
|
+
data.tar.gz: 1fa19c544b849a9a761ae757ec9198767432517106187d801d6f0e0f836522a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d08dd5e72d329c9f114e7f10bad100144ca856f52d2e966cc52161a6cbf59c3c4bfa4ed4b5653e33c6c036f96ca6b4b71fa534ef944d5b68176a08623a0444c
|
7
|
+
data.tar.gz: d7115c5989a4ecb957a285382744b61e565cf9951668998cc0edd4596bd35507cde8f913b5fd34c95a2f2788d9891182d3f7e8e02462a3f68e0eeff33eff7091
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
@@ -21,17 +21,19 @@ module Traces
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def trace_context=(context)
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
24
|
+
if context
|
25
|
+
span_context = ::OpenTelemetry::Trace::SpanContext.new(
|
26
|
+
trace_id: context.trace_id,
|
27
|
+
span_id: context.parent_id,
|
28
|
+
trace_flags: ::OpenTelemetry::Trace::TraceFlags.from_byte(context.flags),
|
29
|
+
tracestate: context.state,
|
30
|
+
remote: context.remote?
|
31
|
+
)
|
32
|
+
|
33
|
+
span = ::OpenTelemetry::Trace.non_recording_span(span_context)
|
34
|
+
context = ::OpenTelemetry::Trace.context_with_span(span)
|
35
|
+
::OpenTelemetry::Context.attach(context)
|
36
|
+
end
|
35
37
|
end
|
36
38
|
|
37
39
|
def trace_context(span = ::OpenTelemetry::Trace.current_span)
|
@@ -51,6 +53,40 @@ module Traces
|
|
51
53
|
)
|
52
54
|
end
|
53
55
|
end
|
56
|
+
|
57
|
+
def current_context
|
58
|
+
::OpenTelemetry::Context.current
|
59
|
+
end
|
60
|
+
|
61
|
+
def with_context(context)
|
62
|
+
if block_given?
|
63
|
+
::OpenTelemetry::Context.with_current(context) do
|
64
|
+
yield
|
65
|
+
end
|
66
|
+
else
|
67
|
+
::OpenTelemetry::Context.attach(context)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
def inject(headers = nil, context = nil)
|
72
|
+
context ||= ::OpenTelemetry::Context.current
|
73
|
+
headers ||= Hash.new
|
74
|
+
|
75
|
+
count = headers.count
|
76
|
+
|
77
|
+
::OpenTelemetry.propagation.inject(headers, context: context)
|
78
|
+
|
79
|
+
if count == headers.count
|
80
|
+
# No injection was performed, so return nil:
|
81
|
+
headers = nil
|
82
|
+
end
|
83
|
+
|
84
|
+
return headers
|
85
|
+
end
|
86
|
+
|
87
|
+
def extract(headers)
|
88
|
+
::OpenTelemetry.propagation.extract(headers)
|
89
|
+
end
|
54
90
|
end
|
55
91
|
end
|
56
92
|
|
data/readme.md
CHANGED
@@ -12,9 +12,25 @@ $ bundle add traces-backend-open_telemetry
|
|
12
12
|
|
13
13
|
## Usage
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
Please see the [project documentation](https://github.com/socketry/traces-backend-open_telemetry) for more details.
|
16
|
+
|
17
|
+
- [Getting Started](https://github.com/socketry/traces-backend-open_telemetryguides/getting-started/index) - This guide explains how to get started with `traces-backend-open_telemetry` to send application traces to OpenTelemetry.
|
18
|
+
|
19
|
+
## Releases
|
20
|
+
|
21
|
+
Please see the [project releases](https://github.com/socketry/traces-backend-open_telemetryreleases/index) for all releases.
|
22
|
+
|
23
|
+
### v0.3.0
|
24
|
+
|
25
|
+
- [New Context Propagation Interface](https://github.com/socketry/traces-backend-open_telemetryreleases/index#new-context-propagation-interface)
|
26
|
+
|
27
|
+
### v0.2.0
|
28
|
+
|
29
|
+
- Prefer to use `Tracer#in_span`.
|
30
|
+
|
31
|
+
### v0.1.0
|
32
|
+
|
33
|
+
- Complete implementation of traces backend for OpenTelemetry.
|
18
34
|
|
19
35
|
## Contributing
|
20
36
|
|
data/releases.md
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
# Releases
|
2
|
+
|
3
|
+
## v0.3.0
|
4
|
+
|
5
|
+
### New Context Propagation Interface
|
6
|
+
|
7
|
+
This release adds comprehensive support for OpenTelemetry's context propagation system, enabling efficient inter-process and intra-process tracing with full W3C compliance.
|
8
|
+
|
9
|
+
- `Traces.current_context` - Capture the current trace context for local propagation between execution contexts (threads, fibers).
|
10
|
+
- `Traces.with_context(context)` - Execute code within a specific trace context, with automatic restoration when used with blocks.
|
11
|
+
- `Traces.inject(headers = nil, context = nil)` - Inject W3C Trace Context and Baggage headers into a headers hash for distributed propagation.
|
12
|
+
- `Traces.extract(headers)` - Extract trace context from W3C Trace Context headers.
|
13
|
+
|
14
|
+
## v0.2.0
|
15
|
+
|
16
|
+
- Prefer to use `Tracer#in_span`.
|
17
|
+
|
18
|
+
## v0.1.0
|
19
|
+
|
20
|
+
- Complete implementation of traces backend for OpenTelemetry.
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,11 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: traces-backend-open_telemetry
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Williams
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain:
|
11
10
|
- |
|
@@ -37,7 +36,7 @@ cert_chain:
|
|
37
36
|
Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
|
38
37
|
voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
|
39
38
|
-----END CERTIFICATE-----
|
40
|
-
date:
|
39
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
41
40
|
dependencies:
|
42
41
|
- !ruby/object:Gem::Dependency
|
43
42
|
name: opentelemetry-api
|
@@ -67,8 +66,6 @@ dependencies:
|
|
67
66
|
- - "~>"
|
68
67
|
- !ruby/object:Gem::Version
|
69
68
|
version: '0.10'
|
70
|
-
description:
|
71
|
-
email:
|
72
69
|
executables: []
|
73
70
|
extensions: []
|
74
71
|
extra_rdoc_files: []
|
@@ -78,12 +75,12 @@ files:
|
|
78
75
|
- lib/traces/backend/open_telemetry/version.rb
|
79
76
|
- license.md
|
80
77
|
- readme.md
|
78
|
+
- releases.md
|
81
79
|
homepage: https://github.com/socketry/traces-backend-open_telemetry
|
82
80
|
licenses:
|
83
81
|
- MIT
|
84
82
|
metadata:
|
85
83
|
source_code_uri: https://github.com/socketry/traces-backend-open_telemetry.git
|
86
|
-
post_install_message:
|
87
84
|
rdoc_options: []
|
88
85
|
require_paths:
|
89
86
|
- lib
|
@@ -91,15 +88,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
91
88
|
requirements:
|
92
89
|
- - ">="
|
93
90
|
- !ruby/object:Gem::Version
|
94
|
-
version: '3.
|
91
|
+
version: '3.2'
|
95
92
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
96
93
|
requirements:
|
97
94
|
- - ">="
|
98
95
|
- !ruby/object:Gem::Version
|
99
96
|
version: '0'
|
100
97
|
requirements: []
|
101
|
-
rubygems_version: 3.
|
102
|
-
signing_key:
|
98
|
+
rubygems_version: 3.6.9
|
103
99
|
specification_version: 4
|
104
100
|
summary: A traces backend for Open Telemetry.
|
105
101
|
test_files: []
|
metadata.gz.sig
CHANGED
@@ -1,2 +1 @@
|
|
1
|
-
|
2
|
-
��J�!�/��V�͆�(g'ħ��"S{�F��5������m��o[C��x� #qN�x��H���9y\��:��ZG��k���T���Y�1vzm7&&|f.D�V#�01h�����SC�Q������|���]z�J\�[�i�qM^�v5/��eβ�9��r���ˈy��xp�q2�|�8���Q+��l!6+�g��N�x8B1R����Wdâ��f�LSr��UJq��
|
1
|
+
BT�6�@�ۦ$ҩl�l*��<��!�M�ZR�
|