Class: Datadog::Tracing::TraceDigest
- Inherits:
-
Object
- Object
- Datadog::Tracing::TraceDigest
- Defined in:
- lib/datadog/tracing/trace_digest.rb
Overview
Trace digest that represents the important parts of an active trace. Used to propagate context and continue traces across execution boundaries.
Instance Attribute Summary collapse
-
#span_id ⇒ Integer
readonly
Datadog id for the currently active span.
-
#span_name ⇒ String
readonly
The operation name of the currently active span.
-
#span_resource ⇒ String
readonly
The resource name of the currently active span.
-
#span_service ⇒ String
readonly
The service of the currently active span.
-
#span_type ⇒ String
readonly
The type of the currently active span.
-
#trace_distributed_id ⇒ Integer
readonly
The trace id extracted from a distributed context, if different from
trace_id
. -
#trace_distributed_tags ⇒ Hash<String,String>
readonly
Datadog-specific tags that support richer distributed tracing association.
-
#trace_flags ⇒ Integer
readonly
The W3C "trace-flags" extracted from a distributed context.
-
#trace_hostname ⇒ String
readonly
The hostname of the currently active trace.
-
#trace_id ⇒ Integer
readonly
Datadog id for the currently active trace.
-
#trace_name ⇒ Integer
readonly
Operation name for the currently active trace.
-
#trace_origin ⇒ String
readonly
Datadog-specific attribution of this trace's creation.
-
#trace_process_id ⇒ Integer
readonly
The OS-specific process id.
-
#trace_resource ⇒ String
readonly
The resource name of the currently active trace.
-
#trace_runtime_id ⇒ String
readonly
Unique id to this Ruby process.
-
#trace_sampling_priority ⇒ Integer
readonly
Datadog-specific sampling decision for the currently active trace.
-
#trace_service ⇒ String
readonly
The service of the currently active trace.
-
#trace_state ⇒ String
readonly
The W3C "tracestate" extracted from a distributed context.
- #trace_state_unknown_fields ⇒ Object readonly
Instance Method Summary collapse
Constructor Details
#initialize(span_id: nil, span_name: nil, span_resource: nil, span_service: nil, span_type: nil, trace_distributed_tags: nil, trace_hostname: nil, trace_id: nil, trace_name: nil, trace_origin: nil, trace_process_id: nil, trace_resource: nil, trace_runtime_id: nil, trace_sampling_priority: nil, trace_service: nil, trace_distributed_id: nil, trace_flags: nil, trace_state: nil, trace_state_unknown_fields: nil) ⇒ TraceDigest
Returns a new instance of TraceDigest.
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 |
# File 'lib/datadog/tracing/trace_digest.rb', line 101 def initialize( span_id: nil, span_name: nil, span_resource: nil, span_service: nil, span_type: nil, trace_distributed_tags: nil, trace_hostname: nil, trace_id: nil, trace_name: nil, trace_origin: nil, trace_process_id: nil, trace_resource: nil, trace_runtime_id: nil, trace_sampling_priority: nil, trace_service: nil, trace_distributed_id: nil, trace_flags: nil, trace_state: nil, trace_state_unknown_fields: nil ) @span_id = span_id @span_name = span_name && span_name.dup.freeze @span_resource = span_resource && span_resource.dup.freeze @span_service = span_service && span_service.dup.freeze @span_type = span_type && span_type.dup.freeze @trace_distributed_tags = && .dup.freeze @trace_hostname = trace_hostname && trace_hostname.dup.freeze @trace_id = trace_id @trace_name = trace_name && trace_name.dup.freeze @trace_origin = trace_origin && trace_origin.dup.freeze @trace_process_id = trace_process_id @trace_resource = trace_resource && trace_resource.dup.freeze @trace_runtime_id = trace_runtime_id && trace_runtime_id.dup.freeze @trace_sampling_priority = trace_sampling_priority @trace_service = trace_service && trace_service.dup.freeze @trace_distributed_id = trace_distributed_id @trace_flags = trace_flags @trace_state = trace_state && trace_state.dup.freeze @trace_state_unknown_fields = trace_state_unknown_fields && trace_state_unknown_fields.dup.freeze freeze end |
Instance Attribute Details
#span_id ⇒ Integer (readonly)
Datadog id for the currently active span.
80 81 82 |
# File 'lib/datadog/tracing/trace_digest.rb', line 80 def span_id @span_id end |
#span_name ⇒ String (readonly)
The operation name of the currently active span.
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/datadog/tracing/trace_digest.rb', line 80 attr_reader \ :span_id, :span_name, :span_resource, :span_service, :span_type, :trace_distributed_tags, :trace_hostname, :trace_id, :trace_name, :trace_origin, :trace_process_id, :trace_resource, :trace_runtime_id, :trace_sampling_priority, :trace_service, :trace_distributed_id, :trace_flags, :trace_state, :trace_state_unknown_fields |
#span_resource ⇒ String (readonly)
The resource name of the currently active span.
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/datadog/tracing/trace_digest.rb', line 80 attr_reader \ :span_id, :span_name, :span_resource, :span_service, :span_type, :trace_distributed_tags, :trace_hostname, :trace_id, :trace_name, :trace_origin, :trace_process_id, :trace_resource, :trace_runtime_id, :trace_sampling_priority, :trace_service, :trace_distributed_id, :trace_flags, :trace_state, :trace_state_unknown_fields |
#span_service ⇒ String (readonly)
The service of the currently active span.
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/datadog/tracing/trace_digest.rb', line 80 attr_reader \ :span_id, :span_name, :span_resource, :span_service, :span_type, :trace_distributed_tags, :trace_hostname, :trace_id, :trace_name, :trace_origin, :trace_process_id, :trace_resource, :trace_runtime_id, :trace_sampling_priority, :trace_service, :trace_distributed_id, :trace_flags, :trace_state, :trace_state_unknown_fields |
#span_type ⇒ String (readonly)
The type of the currently active span.
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/datadog/tracing/trace_digest.rb', line 80 attr_reader \ :span_id, :span_name, :span_resource, :span_service, :span_type, :trace_distributed_tags, :trace_hostname, :trace_id, :trace_name, :trace_origin, :trace_process_id, :trace_resource, :trace_runtime_id, :trace_sampling_priority, :trace_service, :trace_distributed_id, :trace_flags, :trace_state, :trace_state_unknown_fields |
#trace_distributed_id ⇒ Integer (readonly)
The trace id extracted from a distributed context, if different from trace_id
.
The current use case is when the distributed context has a trace id integer larger than 64-bit:
This attribute will preserve the original id, while trace_id
will only contain the lower 64 bits.
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/datadog/tracing/trace_digest.rb', line 80 attr_reader \ :span_id, :span_name, :span_resource, :span_service, :span_type, :trace_distributed_tags, :trace_hostname, :trace_id, :trace_name, :trace_origin, :trace_process_id, :trace_resource, :trace_runtime_id, :trace_sampling_priority, :trace_service, :trace_distributed_id, :trace_flags, :trace_state, :trace_state_unknown_fields |
#trace_distributed_tags ⇒ Hash<String,String> (readonly)
Datadog-specific tags that support richer distributed tracing association.
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/datadog/tracing/trace_digest.rb', line 80 attr_reader \ :span_id, :span_name, :span_resource, :span_service, :span_type, :trace_distributed_tags, :trace_hostname, :trace_id, :trace_name, :trace_origin, :trace_process_id, :trace_resource, :trace_runtime_id, :trace_sampling_priority, :trace_service, :trace_distributed_id, :trace_flags, :trace_state, :trace_state_unknown_fields |
#trace_flags ⇒ Integer (readonly)
The W3C "trace-flags" extracted from a distributed context. This field is an 8-bit unsigned integer.
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/datadog/tracing/trace_digest.rb', line 80 attr_reader \ :span_id, :span_name, :span_resource, :span_service, :span_type, :trace_distributed_tags, :trace_hostname, :trace_id, :trace_name, :trace_origin, :trace_process_id, :trace_resource, :trace_runtime_id, :trace_sampling_priority, :trace_service, :trace_distributed_id, :trace_flags, :trace_state, :trace_state_unknown_fields |
#trace_hostname ⇒ String (readonly)
The hostname of the currently active trace. Use to attribute traces to hosts.
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/datadog/tracing/trace_digest.rb', line 80 attr_reader \ :span_id, :span_name, :span_resource, :span_service, :span_type, :trace_distributed_tags, :trace_hostname, :trace_id, :trace_name, :trace_origin, :trace_process_id, :trace_resource, :trace_runtime_id, :trace_sampling_priority, :trace_service, :trace_distributed_id, :trace_flags, :trace_state, :trace_state_unknown_fields |
#trace_id ⇒ Integer (readonly)
Datadog id for the currently active trace.
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/datadog/tracing/trace_digest.rb', line 80 attr_reader \ :span_id, :span_name, :span_resource, :span_service, :span_type, :trace_distributed_tags, :trace_hostname, :trace_id, :trace_name, :trace_origin, :trace_process_id, :trace_resource, :trace_runtime_id, :trace_sampling_priority, :trace_service, :trace_distributed_id, :trace_flags, :trace_state, :trace_state_unknown_fields |
#trace_name ⇒ Integer (readonly)
Operation name for the currently active trace.
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/datadog/tracing/trace_digest.rb', line 80 attr_reader \ :span_id, :span_name, :span_resource, :span_service, :span_type, :trace_distributed_tags, :trace_hostname, :trace_id, :trace_name, :trace_origin, :trace_process_id, :trace_resource, :trace_runtime_id, :trace_sampling_priority, :trace_service, :trace_distributed_id, :trace_flags, :trace_state, :trace_state_unknown_fields |
#trace_origin ⇒ String (readonly)
Datadog-specific attribution of this trace's creation.
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/datadog/tracing/trace_digest.rb', line 80 attr_reader \ :span_id, :span_name, :span_resource, :span_service, :span_type, :trace_distributed_tags, :trace_hostname, :trace_id, :trace_name, :trace_origin, :trace_process_id, :trace_resource, :trace_runtime_id, :trace_sampling_priority, :trace_service, :trace_distributed_id, :trace_flags, :trace_state, :trace_state_unknown_fields |
#trace_process_id ⇒ Integer (readonly)
The OS-specific process id.
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/datadog/tracing/trace_digest.rb', line 80 attr_reader \ :span_id, :span_name, :span_resource, :span_service, :span_type, :trace_distributed_tags, :trace_hostname, :trace_id, :trace_name, :trace_origin, :trace_process_id, :trace_resource, :trace_runtime_id, :trace_sampling_priority, :trace_service, :trace_distributed_id, :trace_flags, :trace_state, :trace_state_unknown_fields |
#trace_resource ⇒ String (readonly)
The resource name of the currently active trace.
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/datadog/tracing/trace_digest.rb', line 80 attr_reader \ :span_id, :span_name, :span_resource, :span_service, :span_type, :trace_distributed_tags, :trace_hostname, :trace_id, :trace_name, :trace_origin, :trace_process_id, :trace_resource, :trace_runtime_id, :trace_sampling_priority, :trace_service, :trace_distributed_id, :trace_flags, :trace_state, :trace_state_unknown_fields |
#trace_runtime_id ⇒ String (readonly)
Unique id to this Ruby process. Used to differentiate traces coming from child processes forked from same parent process.
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/datadog/tracing/trace_digest.rb', line 80 attr_reader \ :span_id, :span_name, :span_resource, :span_service, :span_type, :trace_distributed_tags, :trace_hostname, :trace_id, :trace_name, :trace_origin, :trace_process_id, :trace_resource, :trace_runtime_id, :trace_sampling_priority, :trace_service, :trace_distributed_id, :trace_flags, :trace_state, :trace_state_unknown_fields |
#trace_sampling_priority ⇒ Integer (readonly)
Datadog-specific sampling decision for the currently active trace.
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/datadog/tracing/trace_digest.rb', line 80 attr_reader \ :span_id, :span_name, :span_resource, :span_service, :span_type, :trace_distributed_tags, :trace_hostname, :trace_id, :trace_name, :trace_origin, :trace_process_id, :trace_resource, :trace_runtime_id, :trace_sampling_priority, :trace_service, :trace_distributed_id, :trace_flags, :trace_state, :trace_state_unknown_fields |
#trace_service ⇒ String (readonly)
The service of the currently active trace.
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/datadog/tracing/trace_digest.rb', line 80 attr_reader \ :span_id, :span_name, :span_resource, :span_service, :span_type, :trace_distributed_tags, :trace_hostname, :trace_id, :trace_name, :trace_origin, :trace_process_id, :trace_resource, :trace_runtime_id, :trace_sampling_priority, :trace_service, :trace_distributed_id, :trace_flags, :trace_state, :trace_state_unknown_fields |
#trace_state ⇒ String (readonly)
The W3C "tracestate" extracted from a distributed context.
This field is a string representing vendor-specific distribution data.
The dd=
entry is removed from trace_state
as its value is dynamically calculated
on every propagation injection.
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/datadog/tracing/trace_digest.rb', line 80 attr_reader \ :span_id, :span_name, :span_resource, :span_service, :span_type, :trace_distributed_tags, :trace_hostname, :trace_id, :trace_name, :trace_origin, :trace_process_id, :trace_resource, :trace_runtime_id, :trace_sampling_priority, :trace_service, :trace_distributed_id, :trace_flags, :trace_state, :trace_state_unknown_fields |
#trace_state_unknown_fields ⇒ Object (readonly)
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/datadog/tracing/trace_digest.rb', line 80 attr_reader \ :span_id, :span_name, :span_resource, :span_service, :span_type, :trace_distributed_tags, :trace_hostname, :trace_id, :trace_name, :trace_origin, :trace_process_id, :trace_resource, :trace_runtime_id, :trace_sampling_priority, :trace_service, :trace_distributed_id, :trace_flags, :trace_state, :trace_state_unknown_fields |