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;
   }
 


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;
   }
 
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to