Skip to content

Commit ef5c68b

Browse files
committed
[nfc] reorder trace.c++ to have tracing:: code together
1 parent 02066f7 commit ef5c68b

File tree

1 file changed

+94
-98
lines changed

1 file changed

+94
-98
lines changed

src/workerd/io/trace.c++

Lines changed: 94 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -618,13 +618,49 @@ Log::Log(kj::Date timestamp, LogLevel logLevel, kj::String message)
618618
logLevel(logLevel),
619619
message(kj::mv(message)) {}
620620

621+
void Log::copyTo(rpc::Trace::Log::Builder builder) const {
622+
builder.setTimestampNs((timestamp - kj::UNIX_EPOCH) / kj::NANOSECONDS);
623+
builder.setLogLevel(logLevel);
624+
builder.setMessage(message);
625+
}
626+
627+
Log Log::clone() const {
628+
return Log(timestamp, logLevel, kj::str(message));
629+
}
630+
621631
Exception::Exception(
622632
kj::Date timestamp, kj::String name, kj::String message, kj::Maybe<kj::String> stack)
623633
: timestamp(timestamp),
624634
name(kj::mv(name)),
625635
message(kj::mv(message)),
626636
stack(kj::mv(stack)) {}
627637

638+
Log::Log(rpc::Trace::Log::Reader reader)
639+
: timestamp(kj::UNIX_EPOCH + reader.getTimestampNs() * kj::NANOSECONDS),
640+
logLevel(reader.getLogLevel()),
641+
message(kj::str(reader.getMessage())) {}
642+
643+
Exception::Exception(rpc::Trace::Exception::Reader reader)
644+
: timestamp(kj::UNIX_EPOCH + reader.getTimestampNs() * kj::NANOSECONDS),
645+
name(kj::str(reader.getName())),
646+
message(kj::str(reader.getMessage())) {
647+
if (reader.hasStack()) {
648+
stack = kj::str(reader.getStack());
649+
}
650+
}
651+
652+
void Exception::copyTo(rpc::Trace::Exception::Builder builder) const {
653+
builder.setTimestampNs((timestamp - kj::UNIX_EPOCH) / kj::NANOSECONDS);
654+
builder.setName(name);
655+
builder.setMessage(message);
656+
KJ_IF_SOME(s, stack) {
657+
builder.setStack(s);
658+
}
659+
}
660+
661+
Exception Exception::clone() const {
662+
return Exception(timestamp, kj::str(name), kj::str(message), mapCopyString(stack));
663+
}
628664
} // namespace tracing
629665

630666
Trace::Trace(kj::Maybe<kj::String> stableId,
@@ -757,29 +793,6 @@ void Trace::copyTo(rpc::Trace::Builder builder) const {
757793
}
758794
}
759795

760-
void tracing::Log::copyTo(rpc::Trace::Log::Builder builder) const {
761-
builder.setTimestampNs((timestamp - kj::UNIX_EPOCH) / kj::NANOSECONDS);
762-
builder.setLogLevel(logLevel);
763-
builder.setMessage(message);
764-
}
765-
766-
tracing::Log tracing::Log::clone() const {
767-
return Log(timestamp, logLevel, kj::str(message));
768-
}
769-
770-
void tracing::Exception::copyTo(rpc::Trace::Exception::Builder builder) const {
771-
builder.setTimestampNs((timestamp - kj::UNIX_EPOCH) / kj::NANOSECONDS);
772-
builder.setName(name);
773-
builder.setMessage(message);
774-
KJ_IF_SOME(s, stack) {
775-
builder.setStack(s);
776-
}
777-
}
778-
779-
tracing::Exception tracing::Exception::clone() const {
780-
return Exception(timestamp, kj::str(name), kj::str(message), mapCopyString(stack));
781-
}
782-
783796
void Trace::mergeFrom(rpc::Trace::Reader reader, PipelineLogLevel pipelineLogLevel) {
784797
// Sandboxed workers currently record their traces as if the pipeline log level were set to
785798
// "full", so we may need to filter out the extra data after receiving the traces back.
@@ -874,18 +887,6 @@ void Trace::mergeFrom(rpc::Trace::Reader reader, PipelineLogLevel pipelineLogLev
874887
}
875888

876889
namespace tracing {
877-
Log::Log(rpc::Trace::Log::Reader reader)
878-
: timestamp(kj::UNIX_EPOCH + reader.getTimestampNs() * kj::NANOSECONDS),
879-
logLevel(reader.getLogLevel()),
880-
message(kj::str(reader.getMessage())) {}
881-
Exception::Exception(rpc::Trace::Exception::Reader reader)
882-
: timestamp(kj::UNIX_EPOCH + reader.getTimestampNs() * kj::NANOSECONDS),
883-
name(kj::str(reader.getName())),
884-
message(kj::str(reader.getMessage())) {
885-
if (reader.hasStack()) {
886-
stack = kj::str(reader.getStack());
887-
}
888-
}
889890

890891
Attribute::Attribute(kj::ConstString name, Value&& value)
891892
: name(kj::mv(name)),
@@ -902,6 +903,18 @@ kj::Array<Attribute::Value> readValues(const rpc::Trace::Attribute::Reader& read
902903
auto value = reader.getValue();
903904
return KJ_MAP(v, value) { return deserializeTagValue(v); };
904905
}
906+
907+
kj::Maybe<FetchResponseInfo> readReturnInfo(const rpc::Trace::Return::Reader& reader) {
908+
auto info = reader.getInfo();
909+
switch (info.which()) {
910+
case rpc::Trace::Return::Info::EMPTY:
911+
return kj::none;
912+
case rpc::Trace::Return::Info::FETCH: {
913+
return kj::Maybe(FetchResponseInfo(info.getFetch()));
914+
}
915+
}
916+
KJ_UNREACHABLE;
917+
}
905918
} // namespace
906919

907920
Attribute::Attribute(rpc::Trace::Attribute::Reader reader)
@@ -925,21 +938,6 @@ kj::String Attribute::toString() const {
925938
}
926939

927940
Return::Return(kj::Maybe<FetchResponseInfo> info): info(kj::mv(info)) {}
928-
929-
namespace {
930-
kj::Maybe<FetchResponseInfo> readReturnInfo(const rpc::Trace::Return::Reader& reader) {
931-
auto info = reader.getInfo();
932-
switch (info.which()) {
933-
case rpc::Trace::Return::Info::EMPTY:
934-
return kj::none;
935-
case rpc::Trace::Return::Info::FETCH: {
936-
return kj::Maybe(FetchResponseInfo(info.getFetch()));
937-
}
938-
}
939-
KJ_UNREACHABLE;
940-
}
941-
} // namespace
942-
943941
Return::Return(rpc::Trace::Return::Reader reader): info(readReturnInfo(reader)) {}
944942

945943
void Return::copyTo(rpc::Trace::Return::Builder builder) const {
@@ -1452,6 +1450,52 @@ TailEvent TailEvent::clone() const {
14521450
return TailEvent(spanContext.getTraceId(), invocationId, spanContext.getSpanId(), timestamp,
14531451
sequence, cloneEvent(event));
14541452
}
1453+
1454+
void CompleteSpan::copyTo(rpc::UserSpanData::Builder builder) const {
1455+
builder.setOperationName(operationName.asPtr());
1456+
builder.setStartTimeNs((startTime - kj::UNIX_EPOCH) / kj::NANOSECONDS);
1457+
builder.setEndTimeNs((endTime - kj::UNIX_EPOCH) / kj::NANOSECONDS);
1458+
builder.setSpanId(spanId);
1459+
builder.setParentSpanId(parentSpanId);
1460+
1461+
auto tagsParam = builder.initTags(tags.size());
1462+
auto i = 0;
1463+
for (auto& tag: tags) {
1464+
auto tagParam = tagsParam[i++];
1465+
tagParam.setKey(tag.key.asPtr());
1466+
serializeTagValue(tagParam.initValue(), tag.value);
1467+
}
1468+
}
1469+
1470+
CompleteSpan::CompleteSpan(rpc::UserSpanData::Reader reader)
1471+
: spanId(reader.getSpanId()),
1472+
parentSpanId(reader.getParentSpanId()),
1473+
operationName(kj::str(reader.getOperationName())),
1474+
startTime(kj::UNIX_EPOCH + reader.getStartTimeNs() * kj::NANOSECONDS),
1475+
endTime(kj::UNIX_EPOCH + reader.getEndTimeNs() * kj::NANOSECONDS) {
1476+
auto tagsParam = reader.getTags();
1477+
tags.reserve(tagsParam.size());
1478+
for (auto tagParam: tagsParam) {
1479+
tags.insert(kj::ConstString(kj::heapString(tagParam.getKey())),
1480+
deserializeTagValue(tagParam.getValue()));
1481+
}
1482+
}
1483+
1484+
CompleteSpan CompleteSpan::clone() const {
1485+
CompleteSpan copy(
1486+
spanId, parentSpanId, kj::ConstString(kj::str(operationName)), startTime, endTime);
1487+
copy.tags.reserve(tags.size());
1488+
for (auto& tag: tags) {
1489+
copy.tags.insert(kj::ConstString(kj::str(tag.key)), spanTagClone(tag.value));
1490+
}
1491+
return copy;
1492+
}
1493+
1494+
kj::String CompleteSpan::toString() const {
1495+
return kj::str("CompleteSpan: ", operationName,
1496+
kj::strArray(
1497+
KJ_MAP(tag, tags) { return kj::str("(", tag.key, ", ", tag.value, ")"); }, ", "));
1498+
}
14551499
} // namespace tracing
14561500

14571501
// ======================================================================================
@@ -1600,54 +1644,6 @@ Span::TagValue deserializeTagValue(RpcValue::Reader value) {
16001644
}
16011645
}
16021646

1603-
namespace tracing {
1604-
void CompleteSpan::copyTo(rpc::UserSpanData::Builder builder) const {
1605-
builder.setOperationName(operationName.asPtr());
1606-
builder.setStartTimeNs((startTime - kj::UNIX_EPOCH) / kj::NANOSECONDS);
1607-
builder.setEndTimeNs((endTime - kj::UNIX_EPOCH) / kj::NANOSECONDS);
1608-
builder.setSpanId(spanId);
1609-
builder.setParentSpanId(parentSpanId);
1610-
1611-
auto tagsParam = builder.initTags(tags.size());
1612-
auto i = 0;
1613-
for (auto& tag: tags) {
1614-
auto tagParam = tagsParam[i++];
1615-
tagParam.setKey(tag.key.asPtr());
1616-
serializeTagValue(tagParam.initValue(), tag.value);
1617-
}
1618-
}
1619-
1620-
CompleteSpan::CompleteSpan(rpc::UserSpanData::Reader reader)
1621-
: spanId(reader.getSpanId()),
1622-
parentSpanId(reader.getParentSpanId()),
1623-
operationName(kj::str(reader.getOperationName())),
1624-
startTime(kj::UNIX_EPOCH + reader.getStartTimeNs() * kj::NANOSECONDS),
1625-
endTime(kj::UNIX_EPOCH + reader.getEndTimeNs() * kj::NANOSECONDS) {
1626-
auto tagsParam = reader.getTags();
1627-
tags.reserve(tagsParam.size());
1628-
for (auto tagParam: tagsParam) {
1629-
tags.insert(kj::ConstString(kj::heapString(tagParam.getKey())),
1630-
deserializeTagValue(tagParam.getValue()));
1631-
}
1632-
}
1633-
1634-
CompleteSpan CompleteSpan::clone() const {
1635-
CompleteSpan copy(
1636-
spanId, parentSpanId, kj::ConstString(kj::str(operationName)), startTime, endTime);
1637-
copy.tags.reserve(tags.size());
1638-
for (auto& tag: tags) {
1639-
copy.tags.insert(kj::ConstString(kj::str(tag.key)), spanTagClone(tag.value));
1640-
}
1641-
return copy;
1642-
}
1643-
1644-
kj::String CompleteSpan::toString() const {
1645-
return kj::str("CompleteSpan: ", operationName,
1646-
kj::strArray(
1647-
KJ_MAP(tag, tags) { return kj::str("(", tag.key, ", ", tag.value, ")"); }, ", "));
1648-
}
1649-
} // namespace tracing
1650-
16511647
ScopedDurationTagger::ScopedDurationTagger(
16521648
SpanBuilder& span, kj::ConstString key, const kj::MonotonicClock& timer)
16531649
: span(span),

0 commit comments

Comments
 (0)