diff --git a/clang-tools-extra/clangd/index/remote/server/Server.cpp b/clang-tools-extra/clangd/index/remote/server/Server.cpp --- a/clang-tools-extra/clangd/index/remote/server/Server.cpp +++ b/clang-tools-extra/clangd/index/remote/server/Server.cpp @@ -88,6 +88,7 @@ const LookupRequest *Request, grpc::ServerWriter *Reply) override { trace::Span Tracer("LookupRequest"); + const auto TimerStart = std::chrono::high_resolution_clock::now(); auto Req = ProtobufMarshaller->fromProtobuf(Request); if (!Req) { elog("Can not parse LookupRequest from protobuf: {0}", Req.takeError()); @@ -113,6 +114,10 @@ Reply->Write(LastMessage); SPAN_ATTACH(Tracer, "Sent", Sent); SPAN_ATTACH(Tracer, "Failed to send", FailedToSend); + const auto TimerStop = std::chrono::high_resolution_clock::now(); + const auto Duration = std::chrono::duration_cast( + TimerStop - TimerStart); + log("LookupRequest finished in {1:ms+n}", Duration); return grpc::Status::OK; } @@ -120,6 +125,7 @@ const FuzzyFindRequest *Request, grpc::ServerWriter *Reply) override { trace::Span Tracer("FuzzyFindRequest"); + const auto TimerStart = std::chrono::high_resolution_clock::now(); auto Req = ProtobufMarshaller->fromProtobuf(Request); if (!Req) { elog("Can not parse FuzzyFindRequest from protobuf: {0}", @@ -146,12 +152,17 @@ Reply->Write(LastMessage); SPAN_ATTACH(Tracer, "Sent", Sent); SPAN_ATTACH(Tracer, "Failed to send", FailedToSend); + const auto TimerStop = std::chrono::high_resolution_clock::now(); + const auto Duration = std::chrono::duration_cast( + TimerStop - TimerStart); + log("FuzzyFindRequest finished in {1:ms+n}", Duration); return grpc::Status::OK; } grpc::Status Refs(grpc::ServerContext *Context, const RefsRequest *Request, grpc::ServerWriter *Reply) override { trace::Span Tracer("RefsRequest"); + const auto TimerStart = std::chrono::high_resolution_clock::now(); auto Req = ProtobufMarshaller->fromProtobuf(Request); if (!Req) { elog("Can not parse RefsRequest from protobuf: {0}", Req.takeError()); @@ -177,6 +188,10 @@ Reply->Write(LastMessage); SPAN_ATTACH(Tracer, "Sent", Sent); SPAN_ATTACH(Tracer, "Failed to send", FailedToSend); + const auto TimerStop = std::chrono::high_resolution_clock::now(); + const auto Duration = std::chrono::duration_cast( + TimerStop - TimerStart); + log("RefsRequest finished in {1:ms+n}", Duration); return grpc::Status::OK; } @@ -184,6 +199,7 @@ const RelationsRequest *Request, grpc::ServerWriter *Reply) override { trace::Span Tracer("RelationsRequest"); + const auto TimerStart = std::chrono::high_resolution_clock::now(); auto Req = ProtobufMarshaller->fromProtobuf(Request); if (!Req) { elog("Can not parse RelationsRequest from protobuf: {0}", @@ -211,6 +227,10 @@ Reply->Write(LastMessage); SPAN_ATTACH(Tracer, "Sent", Sent); SPAN_ATTACH(Tracer, "Failed to send", FailedToSend); + const auto TimerStop = std::chrono::high_resolution_clock::now(); + const auto Duration = std::chrono::duration_cast( + TimerStop - TimerStart); + log("RelationsRequest finished in {1:ms+n}", Duration); return grpc::Status::OK; }