[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