From c3c95a0f6fd77dde5862bf07ca0cfdbb74b55dac Mon Sep 17 00:00:00 2001 From: Frederik Baetens Date: Fri, 11 Oct 2024 11:17:56 +0100 Subject: [PATCH] WIP trace WorkerEntryPoint::Request --- src/workerd/io/worker-entrypoint.c++ | 13 +++++++++---- src/workerd/io/worker-entrypoint.h | 1 + 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/workerd/io/worker-entrypoint.c++ b/src/workerd/io/worker-entrypoint.c++ index e5c309ee139..a1bcf395465 100644 --- a/src/workerd/io/worker-entrypoint.c++ +++ b/src/workerd/io/worker-entrypoint.c++ @@ -52,6 +52,7 @@ public: kj::TaskSet& waitUntilTasks, bool tunnelExceptions, kj::Maybe> workerTracer, + SpanParent spanParent, kj::Maybe cfBlobJson); kj::Promise request(kj::HttpMethod method, @@ -95,7 +96,8 @@ private: kj::Own ioContextDependency, kj::Own ioChannelFactory, kj::Own metrics, - kj::Maybe> workerTracer); + kj::Maybe> workerTracer, + SpanParent spanParent); template kj::Promise maybeAddGcPassForTest(IoContext& context, kj::Promise promise); @@ -157,12 +159,13 @@ kj::Own WorkerEntrypoint::construct(ThreadContext& threadContex kj::TaskSet& waitUntilTasks, bool tunnelExceptions, kj::Maybe> workerTracer, + SpanParent spanParent, kj::Maybe cfBlobJson) { TRACE_EVENT("workerd", "WorkerEntrypoint::construct()"); auto obj = kj::heap(kj::Badge(), threadContext, waitUntilTasks, tunnelExceptions, entrypointName, kj::mv(cfBlobJson)); obj->init(kj::mv(worker), kj::mv(actor), kj::mv(limitEnforcer), kj::mv(ioContextDependency), - kj::mv(ioChannelFactory), kj::addRef(*metrics), kj::mv(workerTracer)); + kj::mv(ioChannelFactory), kj::addRef(*metrics), kj::mv(workerTracer), kj::mv(spanParent)); auto& wrapper = metrics->wrapWorkerInterface(*obj); return kj::attachRef(wrapper, kj::mv(obj), kj::mv(metrics)); } @@ -185,7 +188,8 @@ void WorkerEntrypoint::init(kj::Own worker, kj::Own ioContextDependency, kj::Own ioChannelFactory, kj::Own metrics, - kj::Maybe> workerTracer) { + kj::Maybe> workerTracer, + SpanParent spanParent) { TRACE_EVENT("workerd", "WorkerEntrypoint::init()"); // We need to construct the IoContext -- unless this is an actor and it already has a // IoContext, in which case we reuse it. @@ -714,10 +718,11 @@ kj::Own newWorkerEntrypoint(ThreadContext& threadContext, kj::TaskSet& waitUntilTasks, bool tunnelExceptions, kj::Maybe> workerTracer, + SpanParent spanParent, kj::Maybe cfBlobJson) { return WorkerEntrypoint::construct(threadContext, kj::mv(worker), kj::mv(entrypointName), kj::mv(actor), kj::mv(limitEnforcer), kj::mv(ioContextDependency), kj::mv(ioChannelFactory), - kj::mv(metrics), waitUntilTasks, tunnelExceptions, kj::mv(workerTracer), kj::mv(cfBlobJson)); + kj::mv(metrics), waitUntilTasks, tunnelExceptions, kj::mv(workerTracer), kj::mv(spanParent), kj::mv(cfBlobJson)); } } // namespace workerd diff --git a/src/workerd/io/worker-entrypoint.h b/src/workerd/io/worker-entrypoint.h index e5213e8d6e5..8c60655a214 100644 --- a/src/workerd/io/worker-entrypoint.h +++ b/src/workerd/io/worker-entrypoint.h @@ -34,6 +34,7 @@ kj::Own newWorkerEntrypoint(ThreadContext& threadContext, kj::TaskSet& waitUntilTasks, bool tunnelExceptions, kj::Maybe> workerTracer, + SpanParent spanParent, kj::Maybe cfBlobJson); } // namespace workerd