summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_h1proto.c
diff options
context:
space:
mode:
authorAva Hahn <a.hahn@f5.com>2024-10-23 16:30:39 -0700
committerAva Hahn <110854134+avahahn@users.noreply.github.com>2024-11-12 09:50:02 -0800
commitb9066210ac378a6255c1e3de5fc01ee29904a05c (patch)
tree9330ac9c327dde2c3920ba794b91ae2451ed424f /src/nxt_h1proto.c
parent9d3dcb800aba0c036b032ccd00197712c3f5d0d9 (diff)
downloadunit-b9066210ac378a6255c1e3de5fc01ee29904a05c.tar.gz
unit-b9066210ac378a6255c1e3de5fc01ee29904a05c.tar.bz2
otel: add header parsing and test call state
Enables Unit to parse the tracestate and traceparent headers and add it to the list, as well as calls to nxt_otel_test_and_call_state. Signed-off-by: Ava Hahn <a.hahn@f5.com> Signed-off-by: Gabor Javorszky <g.javorszky@f5.com>
Diffstat (limited to '')
-rw-r--r--src/nxt_h1proto.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/nxt_h1proto.c b/src/nxt_h1proto.c
index 48c2697b..9a9ad553 100644
--- a/src/nxt_h1proto.c
+++ b/src/nxt_h1proto.c
@@ -178,6 +178,10 @@ static nxt_http_field_proc_t nxt_h1p_fields[] = {
{ nxt_string("Content-Length"), &nxt_http_request_content_length, 0 },
{ nxt_string("Authorization"), &nxt_http_request_field,
offsetof(nxt_http_request_t, authorization) },
+#if (NXT_HAVE_OTEL)
+ { nxt_string("Traceparent"), &nxt_otel_parse_traceparent, 0 },
+ { nxt_string("Tracestate"), &nxt_otel_parse_tracestate, 0 },
+#endif
};
@@ -518,6 +522,9 @@ nxt_h1p_conn_request_init(nxt_task_t *task, void *obj, void *data)
h1p->parser.discard_unsafe_fields = skcf->discard_unsafe_fields;
nxt_h1p_conn_request_header_parse(task, c, h1p);
+
+ NXT_OTEL_TRACE();
+
return;
}
@@ -1332,6 +1339,8 @@ nxt_h1p_request_header_send(nxt_task_t *task, nxt_http_request_t *r,
nxt_debug(task, "h1p request header send");
+ NXT_OTEL_TRACE();
+
r->header_sent = 1;
h1p = r->proto.h1;
n = r->status;