Skip to content

Commit 2085fbd

Browse files
authored
Pass scriptId in Trace (#1858)
1 parent 5bd8beb commit 2085fbd

File tree

3 files changed

+18
-7
lines changed

3 files changed

+18
-7
lines changed

src/workerd/io/trace.c++

+13-5
Original file line numberDiff line numberDiff line change
@@ -243,12 +243,13 @@ Trace::Exception::Exception(kj::Date timestamp, kj::String name, kj::String mess
243243

244244
Trace::Trace(kj::Maybe<kj::String> stableId, kj::Maybe<kj::String> scriptName,
245245
kj::Maybe<kj::Own<ScriptVersion::Reader>> scriptVersion,
246-
kj::Maybe<kj::String> dispatchNamespace, kj::Array<kj::String> scriptTags,
247-
kj::Maybe<kj::String> entrypoint)
246+
kj::Maybe<kj::String> dispatchNamespace, kj::Maybe<kj::String> scriptId,
247+
kj::Array<kj::String> scriptTags, kj::Maybe<kj::String> entrypoint)
248248
: stableId(kj::mv(stableId)),
249249
scriptName(kj::mv(scriptName)),
250250
scriptVersion(kj::mv(scriptVersion)),
251251
dispatchNamespace(kj::mv(dispatchNamespace)),
252+
scriptId(kj::mv(scriptId)),
252253
scriptTags(kj::mv(scriptTags)),
253254
entrypoint(kj::mv(entrypoint)) {}
254255
Trace::Trace(rpc::Trace::Reader reader) {
@@ -281,6 +282,9 @@ void Trace::copyTo(rpc::Trace::Builder builder) {
281282
KJ_IF_SOME(version, scriptVersion) {
282283
builder.setScriptVersion(*version);
283284
}
285+
KJ_IF_SOME(id, scriptId) {
286+
builder.setScriptId(id);
287+
}
284288
KJ_IF_SOME(ns, dispatchNamespace) {
285289
builder.setDispatchNamespace(ns);
286290
}
@@ -388,6 +392,10 @@ void Trace::mergeFrom(rpc::Trace::Reader reader, PipelineLogLevel pipelineLogLev
388392
scriptVersion = capnp::clone(reader.getScriptVersion());
389393
}
390394

395+
if (reader.hasScriptId()) {
396+
scriptId = kj::str(reader.getScriptId());
397+
}
398+
391399
if (reader.hasDispatchNamespace()) {
392400
dispatchNamespace = kj::str(reader.getDispatchNamespace());
393401
}
@@ -536,12 +544,12 @@ kj::Promise<kj::Array<kj::Own<Trace>>> PipelineTracer::onComplete() {
536544
}
537545

538546
kj::Own<WorkerTracer> PipelineTracer::makeWorkerTracer(
539-
PipelineLogLevel pipelineLogLevel, kj::Maybe<kj::String> stableId,
547+
PipelineLogLevel pipelineLogLevel, kj::Maybe<kj::String> scriptId, kj::Maybe<kj::String> stableId,
540548
kj::Maybe<kj::String> scriptName, kj::Maybe<kj::Own<ScriptVersion::Reader>> scriptVersion,
541549
kj::Maybe<kj::String> dispatchNamespace, kj::Array<kj::String> scriptTags,
542550
kj::Maybe<kj::String> entrypoint) {
543551
auto trace = kj::refcounted<Trace>(kj::mv(stableId), kj::mv(scriptName), kj::mv(scriptVersion),
544-
kj::mv(dispatchNamespace), kj::mv(scriptTags), kj::mv(entrypoint));
552+
kj::mv(dispatchNamespace), kj::mv(scriptId), kj::mv(scriptTags), kj::mv(entrypoint));
545553
traces.add(kj::addRef(*trace));
546554
return kj::refcounted<WorkerTracer>(kj::addRef(*this), kj::mv(trace), pipelineLogLevel);
547555
}
@@ -552,7 +560,7 @@ WorkerTracer::WorkerTracer(kj::Own<PipelineTracer> parentPipeline,
552560
parentPipeline(kj::mv(parentPipeline)) {}
553561
WorkerTracer::WorkerTracer(PipelineLogLevel pipelineLogLevel)
554562
: pipelineLogLevel(pipelineLogLevel),
555-
trace(kj::refcounted<Trace>(kj::none, kj::none, kj::none, kj::none, nullptr, kj::none)) {}
563+
trace(kj::refcounted<Trace>(kj::none, kj::none, kj::none, kj::none, kj::none, nullptr, kj::none)) {}
556564

557565
void WorkerTracer::log(kj::Date timestamp, LogLevel logLevel, kj::String message) {
558566
if (trace->exceededLogLimit) {

src/workerd/io/trace.h

+4-2
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ class Trace final : public kj::Refcounted {
5252
public:
5353
explicit Trace(kj::Maybe<kj::String> stableId, kj::Maybe<kj::String> scriptName,
5454
kj::Maybe<kj::Own<ScriptVersion::Reader>> scriptVersion,
55-
kj::Maybe<kj::String> dispatchNamespace, kj::Array<kj::String> scriptTags,
56-
kj::Maybe<kj::String> entrypoint);
55+
kj::Maybe<kj::String> dispatchNamespace, kj::Maybe<kj::String> scriptId,
56+
kj::Array<kj::String> scriptTags, kj::Maybe<kj::String> entrypoint);
5757
Trace(rpc::Trace::Reader reader);
5858
~Trace() noexcept(false);
5959
KJ_DISALLOW_COPY_AND_MOVE(Trace);
@@ -275,6 +275,7 @@ class Trace final : public kj::Refcounted {
275275
kj::Maybe<kj::String> scriptName;
276276
kj::Maybe<kj::Own<ScriptVersion::Reader>> scriptVersion;
277277
kj::Maybe<kj::String> dispatchNamespace;
278+
kj::Maybe<kj::String> scriptId;
278279
kj::Array<kj::String> scriptTags;
279280
kj::Maybe<kj::String> entrypoint;
280281

@@ -334,6 +335,7 @@ class PipelineTracer final : public kj::Refcounted {
334335
}
335336

336337
kj::Own<WorkerTracer> makeWorkerTracer(PipelineLogLevel pipelineLogLevel,
338+
kj::Maybe<kj::String> scriptId,
337339
kj::Maybe<kj::String> stableId,
338340
kj::Maybe<kj::String> scriptName,
339341
kj::Maybe<kj::Own<ScriptVersion::Reader>> scriptVersion,

src/workerd/io/worker-interface.capnp

+1
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ struct Trace @0x8e8d911203762d34 {
4343
outcome @2 :EventOutcome;
4444
scriptName @4 :Text;
4545
scriptVersion @19 :ScriptVersion;
46+
scriptId @23 :Text;
4647

4748
eventTimestampNs @5 :Int64;
4849

0 commit comments

Comments
 (0)