Bladeren bron

change uploadstreammsg.proto.

yuchuli 4 jaren geleden
bovenliggende
commit
4f61922491

+ 27 - 0
src/driver/driver_cloud_grpc_client_stream/grpcclient.cpp

@@ -28,6 +28,24 @@ grpcclient::grpcclient(std::string stryamlpath)
     }
 }
 
+qint64 grpcclient::calclatency(qint64 nnewlatency)
+{
+    mvectorlatency.push_back(nnewlatency);
+    while(mvectorlatency.size()>1000)mvectorlatency.erase(mvectorlatency.begin());
+    qint64 nlatencytotal =0;
+    int nsize = mvectorlatency.size();
+    int i;
+    for(i=0;i<nsize;i++)
+    {
+        nlatencytotal = nlatencytotal + mvectorlatency.at(i);
+    }
+    if(nsize > 0)
+    {
+        nlatencytotal = nlatencytotal/nsize;
+    }
+    mnlatency = nlatencytotal;
+    return nlatencytotal;
+}
 
 void grpcclient::threadsend(std::shared_ptr<::grpc::ClientReaderWriter<iv::UploadRequestStream, iv::UploadReplyStream> > writer,std::shared_ptr<bool> pbrun,std::shared_ptr<qint64> nlastreftime)
 {
@@ -38,6 +56,8 @@ void grpcclient::threadsend(std::shared_ptr<::grpc::ClientReaderWriter<iv::Uploa
     int ninterval = atoi(gstruploadinterval.data());
     if(ninterval<=0)ninterval = 100;
 
+    mninterval = ninterval;
+    float ffraterate = 1.0f/((float)mninterval);
     int nrawinterval = ninterval;
     int nok = 0;
 
@@ -100,6 +120,9 @@ void grpcclient::threadsend(std::shared_ptr<::grpc::ClientReaderWriter<iv::Uploa
             request.set_xdata(strbuf,nbytesize);
             request.set_kepptime(nkeeptime);
             request.set_bimportant(bImportant);
+            request.set_nlatency(mnlatency);
+            request.set_fframerate(10);
+            request.set_nsendtime(time1);
             nid++;
 
             nlastsend = xTime.elapsed();
@@ -152,6 +175,10 @@ void grpcclient::threadrecv(std::shared_ptr<::grpc::ClientReaderWriter<iv::Uploa
     while (writer->Read(&reply)) {
 
         *nlastreftime = QDateTime::currentMSecsSinceEpoch();
+        qint64 nlaten = QDateTime::currentMSecsSinceEpoch() - reply.nreqsendtime();
+        calclatency(nlaten);
+
+        qDebug("latency is %ld",QDateTime::currentMSecsSinceEpoch() - reply.nreqsendtime());
 //        nfail = 0;
 //        std::cout << "接收到回复:" << reply.remsg()<<"--\n" << std::endl;
         if(reply.nres() == 1)

+ 5 - 0
src/driver/driver_cloud_grpc_client_stream/grpcclient.h

@@ -76,6 +76,10 @@ private:
 
 
     int gindex = 0;
+
+    int mninterval = 100;
+    int mnlatency = 0;
+    std::vector<qint64> mvectorlatency;
 public:
     void UpdateData(const char * strdata,const unsigned int nSize,const char * strmemname);
 private:
@@ -87,6 +91,7 @@ private:
 
     void threadsend(std::shared_ptr<::grpc::ClientReaderWriter<iv::UploadRequestStream, iv::UploadReplyStream> > writer,std::shared_ptr<bool> pbrun,std::shared_ptr<qint64> nlastreftime);
     void threadrecv(std::shared_ptr<::grpc::ClientReaderWriter<iv::UploadRequestStream, iv::UploadReplyStream> > writer,std::shared_ptr<bool> pbrun,std::shared_ptr<qint64> nlastreftime);
+    qint64 calclatency(qint64 nnewlatency);
 };
 
 #endif // GRPCCLIENT_H

+ 1 - 0
src/driver/driver_cloud_grpc_client_stream/uploadstreammsg.proto

@@ -53,6 +53,7 @@ message UploadReplyStream {
   bytes xdata = 2;
   int32 nreqid = 3;  
   int64 nreqSendTime = 4;  //id and SendTime used for calculate latency. 
+  float framerate = 5;
 //  string message = 1;
 }
 

+ 1 - 0
src/driver/driver_cloud_grpc_pc_stream/uploadstreammsg.proto

@@ -53,6 +53,7 @@ message UploadReplyStream {
   bytes xdata = 2;
   int32 nreqid = 3;  
   int64 nreqSendTime = 4;  //id and SendTime used for calculate latency. 
+  float framerate = 5;
 //  string message = 1;
 }
 

+ 1 - 0
src/driver/driver_cloud_grpc_server_stream/uploadstreammsg.proto

@@ -53,6 +53,7 @@ message UploadReplyStream {
   bytes xdata = 2;
   int32 nreqid = 3;  
   int64 nreqSendTime = 4;  //id and SendTime used for calculate latency. 
+  float framerate = 5;
 //  string message = 1;
 }
 

+ 1 - 0
src/include/proto3/uploadstreammsg.proto

@@ -53,6 +53,7 @@ message UploadReplyStream {
   bytes xdata = 2;
   int32 nreqid = 3;  
   int64 nreqSendTime = 4;  //id and SendTime used for calculate latency. 
+  float framerate = 5;
 //  string message = 1;
 }