Skip to content

Commit 3a60489

Browse files
authored
Fix trailing ; in tracestate (#3354)
Fixes #3322. Signed-off-by: Bob Weinand <[email protected]>
1 parent 7900130 commit 3a60489

6 files changed

Lines changed: 20 additions & 14 deletions

File tree

ext/ddtrace.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -124,11 +124,11 @@ ZEND_BEGIN_MODULE_GLOBALS(ddtrace)
124124
ddtrace_span_stack *top_closed_stack;
125125
HashTable traced_spans; // tie a span to a specific active execute_data
126126
uint32_t open_spans_count;
127-
unit32_t baggage_extract_count;
128-
unit32_t baggage_inject_count;
129-
unit32_t baggage_malformed_count;
130-
unit32_t baggage_max_item_count;
131-
unit32_t baggage_max_byte_count;
127+
uint32_t baggage_extract_count;
128+
uint32_t baggage_inject_count;
129+
uint32_t baggage_malformed_count;
130+
uint32_t baggage_max_item_count;
131+
uint32_t baggage_max_byte_count;
132132
uint32_t closed_spans_count;
133133
uint32_t dropped_spans_count;
134134
int64_t compile_time_microseconds;

ext/handlers_http.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ static inline zend_string *ddtrace_format_tracestate(zend_string *tracestate, ui
4040
smart_str_append_printf(&str, "s:" ZEND_LONG_FMT, sampling_priority);
4141
}
4242

43-
if (propagated_tags) {
43+
if (propagated_tags && ZSTR_LEN(propagated_tags) > 0) {
4444
if (str.s) {
4545
smart_str_appendc(&str, ';');
4646
}

ext/telemetry.c

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -105,14 +105,6 @@ void ddtrace_telemetry_register_services(ddog_SidecarTransport *sidecar) {
105105
DDOG_METRIC_NAMESPACE_TRACERS);
106106
ddog_sidecar_telemetry_register_metric_buffer(buffer, DDOG_CHARSLICE_C("trace_api.errors"), DDOG_METRIC_TYPE_COUNT,
107107
DDOG_METRIC_NAMESPACE_TRACERS);
108-
ddog_sidecar_telemetry_register_metric_buffer(buffer, DDOG_CHARSLICE_C("context_header_style.extracted"), DDOG_METRIC_TYPE_COUNT,
109-
DDOG_METRIC_NAMESPACE_TRACERS);
110-
ddog_sidecar_telemetry_register_metric_buffer(buffer, DDOG_CHARSLICE_C("context_header_style.injected"), DDOG_METRIC_TYPE_COUNT,
111-
DDOG_METRIC_NAMESPACE_TRACERS);
112-
ddog_sidecar_telemetry_register_metric_buffer(buffer, DDOG_CHARSLICE_C("context_header_style.truncated"), DDOG_METRIC_TYPE_COUNT,
113-
DDOG_METRIC_NAMESPACE_TRACERS);
114-
ddog_sidecar_telemetry_register_metric_buffer(buffer, DDOG_CHARSLICE_C("context_header_style.malformed"), DDOG_METRIC_TYPE_COUNT,
115-
DDOG_METRIC_NAMESPACE_TRACERS);
116108

117109
// FIXME: it seems we must call "enqueue_actions" (even with an empty list of actions) for things to work properly
118110
ddtrace_ffi_try("Failed flushing background sender telemetry buffer",
@@ -211,10 +203,14 @@ void ddtrace_telemetry_finalize(void) {
211203
zai_string_destroy(&tags);
212204
} ZEND_HASH_FOREACH_END();
213205

206+
ddog_sidecar_telemetry_register_metric_buffer(buffer, DDOG_CHARSLICE_C("context_header_style.extracted"), DDOG_METRIC_TYPE_COUNT, DDOG_METRIC_NAMESPACE_TRACERS);
214207
ddog_sidecar_telemetry_add_span_metric_point_buffer(buffer, DDOG_CHARSLICE_C("context_header_style.extracted"), DDTRACE_G(baggage_extract_count), DDOG_CHARSLICE_C("header_style:baggage"));
208+
ddog_sidecar_telemetry_register_metric_buffer(buffer, DDOG_CHARSLICE_C("context_header_style.injected"), DDOG_METRIC_TYPE_COUNT, DDOG_METRIC_NAMESPACE_TRACERS);
215209
ddog_sidecar_telemetry_add_span_metric_point_buffer(buffer, DDOG_CHARSLICE_C("context_header_style.injected"), DDTRACE_G(baggage_inject_count), DDOG_CHARSLICE_C("header_style:baggage"));
210+
ddog_sidecar_telemetry_register_metric_buffer(buffer, DDOG_CHARSLICE_C("context_header_style.truncated"), DDOG_METRIC_TYPE_COUNT, DDOG_METRIC_NAMESPACE_TRACERS);
216211
ddog_sidecar_telemetry_add_span_metric_point_buffer(buffer, DDOG_CHARSLICE_C("context_header_style.truncated"), DDTRACE_G(baggage_max_item_count), DDOG_CHARSLICE_C("truncation_reason:baggage_byte_item_exceeded"));
217212
ddog_sidecar_telemetry_add_span_metric_point_buffer(buffer, DDOG_CHARSLICE_C("context_header_style.truncated"), DDTRACE_G(baggage_max_byte_count), DDOG_CHARSLICE_C("truncation_reason:baggage_byte_count_exceeded"));
213+
ddog_sidecar_telemetry_register_metric_buffer(buffer, DDOG_CHARSLICE_C("context_header_style.malformed"), DDOG_METRIC_TYPE_COUNT, DDOG_METRIC_NAMESPACE_TRACERS);
218214
ddog_sidecar_telemetry_add_span_metric_point_buffer(buffer, DDOG_CHARSLICE_C("context_header_style.malformed"), DDTRACE_G(baggage_malformed_count), DDOG_CHARSLICE_C("header_style:baggage"));
219215

220216
metric_name = DDOG_CHARSLICE_C("logs_created");

tests/ext/startup_logging.phpt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,4 @@ report_hostname_on_root_span: false
5151
traced_internal_functions: null
5252
enabled_from_env: true
5353
opcache.file_cache: null
54+
loaded_by_ssi: false

tests/ext/startup_logging_json.phpt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,5 @@ report_hostname_on_root_span: false
5252
traced_internal_functions: null
5353
enabled_from_env: true
5454
opcache.file_cache: null
55+
loaded_by_ssi: false
5556
datadog.trace.sources_path_reachable: false

tests/ext/telemetry/config.phpt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,14 @@ Array
9999
[config_id] =>
100100
)
101101

102+
[5] => Array
103+
(
104+
[name] => ssi_forced_injection_enabled
105+
[value] => False
106+
[origin] => env_var
107+
[config_id] =>
108+
)
109+
102110
)
103111
bool(true)
104112
int(0)

0 commit comments

Comments
 (0)