Skip to content

Commit b588ad3

Browse files
Copilotdiasbruno
andcommitted
refactor: address code review feedback on trace-context implementation
Agent-Logs-Url: https://github.com/cl-sdk/io.github.cl-sdk.wst/sessions/162c32ae-54fc-4676-ba0c-5b96de44bf6a Co-authored-by: diasbruno <362368+diasbruno@users.noreply.github.com>
1 parent e2e541a commit b588ad3

3 files changed

Lines changed: 11 additions & 14 deletions

File tree

t/trace-context-tests.lisp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -160,12 +160,11 @@
160160
(trace-context-parent-id child))))))
161161

162162
(test child-trace-context-inherits-tracestate-from-parent
163-
(let* ((parent (parse-traceparent
164-
"00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01"))
165-
(_ (setf (trace-context-tracestate parent) "vendor=abc"))
166-
(child (child-trace-context parent)))
167-
(declare (ignore _))
168-
(is (string= "vendor=abc" (trace-context-tracestate child)))))
163+
(let ((parent (parse-traceparent
164+
"00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01")))
165+
(setf (trace-context-tracestate parent) "vendor=abc")
166+
(let ((child (child-trace-context parent)))
167+
(is (string= "vendor=abc" (trace-context-tracestate child))))))
169168

170169
(test child-trace-context-overrides-tracestate-when-provided
171170
(let* ((parent (parse-traceparent

trace-context/package.lisp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
(:use #:cl)
33
(:export
44
#:trace-context
5+
#:make-trace-context
56
#:trace-context-version
67
#:trace-context-trace-id
78
#:trace-context-parent-id
@@ -138,9 +139,7 @@ PARENT-CTX. Pass NIL explicitly to suppress tracestate propagation."
138139
:trace-id (trace-context-trace-id parent-ctx)
139140
:parent-id (make-span-id)
140141
:trace-flags (trace-context-trace-flags parent-ctx)
141-
:tracestate (if tracestate
142-
tracestate
143-
(trace-context-tracestate parent-ctx))))
142+
:tracestate (or tracestate (trace-context-tracestate parent-ctx))))
144143

145144
(defun traceparent-string (ctx)
146145
"Serialize CTX to a traceparent header value string.

trace-context/routing.lisp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,7 @@ Returns REQUEST (mutated in place) for convenient use in middleware chains."
4545
4646
Always includes :traceparent. Includes :tracestate when CTX carries a
4747
non-nil tracestate value."
48-
(let ((headers (list :traceparent (traceparent-string ctx))))
49-
(when (trace-context-tracestate ctx)
50-
(setf headers (append headers
51-
(list :tracestate (trace-context-tracestate ctx)))))
52-
headers))
48+
(if (trace-context-tracestate ctx)
49+
(list :traceparent (traceparent-string ctx)
50+
:tracestate (trace-context-tracestate ctx))
51+
(list :traceparent (traceparent-string ctx))))

0 commit comments

Comments
 (0)