report.h
Go to the documentation of this file.
1 /*
2  *
3  * Copyright 2015 gRPC authors.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  */
18 
19 #ifndef TEST_QPS_REPORT_H
20 #define TEST_QPS_REPORT_H
21 
22 #include <memory>
23 #include <set>
24 #include <vector>
25 
26 #include <grpcpp/channel.h>
27 #include <grpcpp/support/config.h>
28 
29 #include "src/proto/grpc/testing/report_qps_scenario_service.grpc.pb.h"
30 #include "test/cpp/qps/driver.h"
31 
32 namespace grpc {
33 namespace testing {
34 
36 class Reporter {
37  public:
39  explicit Reporter(const string& name) : name_(name) {}
40 
41  virtual ~Reporter() {}
42 
46  string name() const { return name_; }
47 
49  virtual void ReportQPS(const ScenarioResult& result) = 0;
50 
52  virtual void ReportQPSPerCore(const ScenarioResult& result) = 0;
53 
55  virtual void ReportLatency(const ScenarioResult& result) = 0;
56 
58  virtual void ReportTimes(const ScenarioResult& result) = 0;
59 
61  virtual void ReportCpuUsage(const ScenarioResult& result) = 0;
62 
64  virtual void ReportPollCount(const ScenarioResult& result) = 0;
65 
67  virtual void ReportQueriesPerCpuSec(const ScenarioResult& result) = 0;
68 
69  private:
70  const string name_;
71 };
72 
74 class CompositeReporter : public Reporter {
75  public:
76  CompositeReporter() : Reporter("CompositeReporter") {}
77 
79  void add(std::unique_ptr<Reporter> reporter);
80 
81  void ReportQPS(const ScenarioResult& result) override;
82  void ReportQPSPerCore(const ScenarioResult& result) override;
83  void ReportLatency(const ScenarioResult& result) override;
84  void ReportTimes(const ScenarioResult& result) override;
85  void ReportCpuUsage(const ScenarioResult& result) override;
86  void ReportPollCount(const ScenarioResult& result) override;
87  void ReportQueriesPerCpuSec(const ScenarioResult& result) override;
88 
89  private:
90  std::vector<std::unique_ptr<Reporter> > reporters_;
91 };
92 
94 class GprLogReporter : public Reporter {
95  public:
96  explicit GprLogReporter(const string& name) : Reporter(name) {}
97 
98  private:
99  void ReportQPS(const ScenarioResult& result) override;
100  void ReportQPSPerCore(const ScenarioResult& result) override;
101  void ReportLatency(const ScenarioResult& result) override;
102  void ReportTimes(const ScenarioResult& result) override;
103  void ReportCpuUsage(const ScenarioResult& result) override;
104  void ReportPollCount(const ScenarioResult& result) override;
105  void ReportQueriesPerCpuSec(const ScenarioResult& result) override;
106 
107  void ReportCoreStats(const char* name, int idx,
108  const grpc::core::Stats& stats);
109 };
110 
112 class JsonReporter : public Reporter {
113  public:
114  JsonReporter(const string& name, const string& report_file)
115  : Reporter(name), report_file_(report_file) {}
116 
117  private:
118  void ReportQPS(const ScenarioResult& result) override;
119  void ReportQPSPerCore(const ScenarioResult& result) override;
120  void ReportLatency(const ScenarioResult& result) override;
121  void ReportTimes(const ScenarioResult& result) override;
122  void ReportCpuUsage(const ScenarioResult& result) override;
123  void ReportPollCount(const ScenarioResult& result) override;
124  void ReportQueriesPerCpuSec(const ScenarioResult& result) override;
125 
126  const string report_file_;
127 };
128 
129 class RpcReporter : public Reporter {
130  public:
131  RpcReporter(const string& name, const std::shared_ptr<grpc::Channel>& channel)
132  : Reporter(name), stub_(ReportQpsScenarioService::NewStub(channel)) {}
133 
134  private:
135  void ReportQPS(const ScenarioResult& result) override;
136  void ReportQPSPerCore(const ScenarioResult& result) override;
137  void ReportLatency(const ScenarioResult& result) override;
138  void ReportTimes(const ScenarioResult& result) override;
139  void ReportCpuUsage(const ScenarioResult& result) override;
140  void ReportPollCount(const ScenarioResult& result) override;
141  void ReportQueriesPerCpuSec(const ScenarioResult& result) override;
142 
143  std::unique_ptr<ReportQpsScenarioService::Stub> stub_;
144 };
145 
146 } // namespace testing
147 } // namespace grpc
148 
149 #endif
_gevent_test_main.result
result
Definition: _gevent_test_main.py:96
testing
Definition: aws_request_signer_test.cc:25
grpc::testing::GprLogReporter::ReportCoreStats
void ReportCoreStats(const char *name, int idx, const grpc::core::Stats &stats)
Definition: report.cc:101
grpc::testing::GprLogReporter::ReportTimes
void ReportTimes(const ScenarioResult &result) override
Definition: report.cc:136
grpc::testing::GprLogReporter::ReportQPS
void ReportQPS(const ScenarioResult &result) override
Definition: report.cc:81
grpc::testing::CompositeReporter
Definition: report.h:74
grpc::testing::RpcReporter::RpcReporter
RpcReporter(const string &name, const std::shared_ptr< grpc::Channel > &channel)
Definition: report.h:131
grpc::testing::RpcReporter::ReportQueriesPerCpuSec
void ReportQueriesPerCpuSec(const ScenarioResult &result) override
Definition: report.cc:234
grpc
Definition: grpcpp/alarm.h:33
driver.h
grpc::testing::JsonReporter::ReportPollCount
void ReportPollCount(const ScenarioResult &result) override
Definition: report.cc:190
grpc::testing::RpcReporter::ReportQPS
void ReportQPS(const ScenarioResult &result) override
Definition: report.cc:198
grpc::testing::Reporter::Reporter
Reporter(const string &name)
Definition: report.h:39
grpc::testing::GprLogReporter
Definition: report.h:94
grpc::testing::CompositeReporter::ReportLatency
void ReportLatency(const ScenarioResult &result) override
Definition: report.cc:51
grpc::testing::GprLogReporter::ReportCpuUsage
void ReportCpuUsage(const ScenarioResult &result) override
Definition: report.cc:147
grpc::testing::JsonReporter::ReportQPS
void ReportQPS(const ScenarioResult &result) override
Definition: report.cc:166
grpc::testing::JsonReporter::ReportQueriesPerCpuSec
void ReportQueriesPerCpuSec(const ScenarioResult &result) override
Definition: report.cc:194
grpc::testing::Reporter
Definition: report.h:36
grpc::testing::JsonReporter::ReportTimes
void ReportTimes(const ScenarioResult &result) override
Definition: report.cc:182
grpc::testing::GprLogReporter::GprLogReporter
GprLogReporter(const string &name)
Definition: report.h:96
grpc::testing::Reporter::ReportQueriesPerCpuSec
virtual void ReportQueriesPerCpuSec(const ScenarioResult &result)=0
channel
wrapped_grpc_channel * channel
Definition: src/php/ext/grpc/call.h:33
grpc::testing::RpcReporter
Definition: report.h:129
grpc::testing::RpcReporter::ReportPollCount
void ReportPollCount(const ScenarioResult &result) override
Definition: report.cc:230
grpc::testing::CompositeReporter::add
void add(std::unique_ptr< Reporter > reporter)
Definition: report.cc:35
grpc::testing::RpcReporter::ReportLatency
void ReportLatency(const ScenarioResult &result) override
Definition: report.cc:218
gen_stats_data.stats
list stats
Definition: gen_stats_data.py:58
grpc::testing::Reporter::ReportLatency
virtual void ReportLatency(const ScenarioResult &result)=0
channel.h
grpc::testing::GprLogReporter::ReportLatency
void ReportLatency(const ScenarioResult &result) override
Definition: report.cc:126
grpc::testing::GprLogReporter::ReportPollCount
void ReportPollCount(const ScenarioResult &result) override
Definition: report.cc:152
grpc::testing::Reporter::ReportCpuUsage
virtual void ReportCpuUsage(const ScenarioResult &result)=0
grpc::testing::RpcReporter::stub_
std::unique_ptr< ReportQpsScenarioService::Stub > stub_
Definition: report.h:143
grpc::testing::CompositeReporter::ReportTimes
void ReportTimes(const ScenarioResult &result) override
Definition: report.cc:57
grpc::testing::JsonReporter
Definition: report.h:112
config.h
setup.idx
idx
Definition: third_party/bloaty/third_party/capstone/bindings/python/setup.py:197
grpc::testing::RpcReporter::ReportQPSPerCore
void ReportQPSPerCore(const ScenarioResult &result) override
Definition: report.cc:214
grpc::testing::Reporter::name_
const string name_
Definition: report.h:70
grpc::testing::JsonReporter::report_file_
const string report_file_
Definition: report.h:126
grpc::testing::CompositeReporter::CompositeReporter
CompositeReporter()
Definition: report.h:76
grpc::testing::JsonReporter::ReportQPSPerCore
void ReportQPSPerCore(const ScenarioResult &result) override
Definition: report.cc:174
grpc::testing::CompositeReporter::reporters_
std::vector< std::unique_ptr< Reporter > > reporters_
Definition: report.h:90
grpc::testing::JsonReporter::JsonReporter
JsonReporter(const string &name, const string &report_file)
Definition: report.h:114
grpc::testing::CompositeReporter::ReportPollCount
void ReportPollCount(const ScenarioResult &result) override
Definition: report.cc:69
grpc::testing::Reporter::name
string name() const
Definition: report.h:46
grpc::testing::CompositeReporter::ReportCpuUsage
void ReportCpuUsage(const ScenarioResult &result) override
Definition: report.cc:63
grpc::testing::CompositeReporter::ReportQPS
void ReportQPS(const ScenarioResult &result) override
Definition: report.cc:39
grpc::testing::Reporter::~Reporter
virtual ~Reporter()
Definition: report.h:41
grpc::testing::JsonReporter::ReportLatency
void ReportLatency(const ScenarioResult &result) override
Definition: report.cc:178
grpc::testing::CompositeReporter::ReportQueriesPerCpuSec
void ReportQueriesPerCpuSec(const ScenarioResult &result) override
Definition: report.cc:75
grpc::testing::Reporter::ReportQPSPerCore
virtual void ReportQPSPerCore(const ScenarioResult &result)=0
grpc::testing::RpcReporter::ReportTimes
void ReportTimes(const ScenarioResult &result) override
Definition: report.cc:222
grpc::testing::Reporter::ReportPollCount
virtual void ReportPollCount(const ScenarioResult &result)=0
grpc::testing::GprLogReporter::ReportQPSPerCore
void ReportQPSPerCore(const ScenarioResult &result) override
Definition: report.cc:121
grpc::testing::GprLogReporter::ReportQueriesPerCpuSec
void ReportQueriesPerCpuSec(const ScenarioResult &result) override
Definition: report.cc:159
grpc::testing::JsonReporter::ReportCpuUsage
void ReportCpuUsage(const ScenarioResult &result) override
Definition: report.cc:186
grpc::testing::CompositeReporter::ReportQPSPerCore
void ReportQPSPerCore(const ScenarioResult &result) override
Definition: report.cc:45
grpc::testing::Reporter::ReportQPS
virtual void ReportQPS(const ScenarioResult &result)=0
grpc::testing::RpcReporter::ReportCpuUsage
void ReportCpuUsage(const ScenarioResult &result) override
Definition: report.cc:226
grpc::testing::Reporter::ReportTimes
virtual void ReportTimes(const ScenarioResult &result)=0


grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:01:10