[PATCH] D90376: [clangd] Add requests logging to clangd-index-server
Kirill Bobyrev via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Oct 29 03:07:56 PDT 2020
kbobyrev created this revision.
kbobyrev added a reviewer: kadircet.
Herald added subscribers: cfe-commits, usaxena95, arphaman.
Herald added a project: clang.
kbobyrev requested review of this revision.
Herald added subscribers: MaskRay, ilya-biryukov.
This will allow us to track metrics of the server usage.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D90376
Files:
clang-tools-extra/clangd/index/remote/server/Server.cpp
Index: clang-tools-extra/clangd/index/remote/server/Server.cpp
===================================================================
--- clang-tools-extra/clangd/index/remote/server/Server.cpp
+++ clang-tools-extra/clangd/index/remote/server/Server.cpp
@@ -88,6 +88,7 @@
const LookupRequest *Request,
grpc::ServerWriter<LookupReply> *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<std::chrono::milliseconds>(
+ TimerStop - TimerStart);
+ log("LookupRequest finished in {1:ms+n}", Duration);
return grpc::Status::OK;
}
@@ -120,6 +125,7 @@
const FuzzyFindRequest *Request,
grpc::ServerWriter<FuzzyFindReply> *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<std::chrono::milliseconds>(
+ 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<RefsReply> *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<std::chrono::milliseconds>(
+ TimerStop - TimerStart);
+ log("RefsRequest finished in {1:ms+n}", Duration);
return grpc::Status::OK;
}
@@ -184,6 +199,7 @@
const RelationsRequest *Request,
grpc::ServerWriter<RelationsReply> *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<std::chrono::milliseconds>(
+ TimerStop - TimerStart);
+ log("RelationsRequest finished in {1:ms+n}", Duration);
return grpc::Status::OK;
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D90376.301548.patch
Type: text/x-patch
Size: 3652 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20201029/75a7441f/attachment-0001.bin>
More information about the cfe-commits
mailing list