19 #ifndef GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_XDS_XDS_CLIENT_STATS_H
20 #define GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_XDS_XDS_CLIENT_STATS_H
41 int cmp_result = strcmp(lhs->region_.
get(), rhs->region_.
get());
42 if (cmp_result != 0)
return cmp_result < 0;
43 cmp_result = strcmp(lhs->zone_.
get(), rhs->zone_.
get());
44 if (cmp_result != 0)
return cmp_result < 0;
45 return strcmp(lhs->sub_zone_.
get(), rhs->sub_zone_.
get()) < 0;
52 : region_(std::move(
region)),
53 zone_(std::move(
zone)),
54 sub_zone_(std::move(subzone)) {}
57 return strcmp(region_.get(), other.region_.get()) == 0 &&
58 strcmp(zone_.get(), other.zone_.get()) == 0 &&
59 strcmp(sub_zone_.get(), other.sub_zone_.get()) == 0;
62 const char*
region()
const {
return region_.get(); }
63 const char*
zone()
const {
return zone_.get(); }
64 const char*
sub_zone()
const {
return sub_zone_.get(); }
67 if (human_readable_string_ ==
nullptr) {
69 gpr_asprintf(&tmp,
"{region=\"%s\", zone=\"%s\", sub_zone=\"%s\"}",
70 region_.get(), zone_.get(), sub_zone_.get());
71 human_readable_string_.reset(tmp);
73 return human_readable_string_.get();
111 uint64_t num_requests_finished_with_metric_{0};
112 double total_metric_value_{0};
167 Atomic<uint64_t> total_error_requests_{0};
168 Atomic<uint64_t> total_issued_requests_{0};
173 Mutex load_metric_stats_mu_;
177 Atomic<uint8_t> picker_refcount_{0};
191 std::map<grpc_core::UniquePtr<char>, uint64_t,
StringLess>;
223 Mutex dropped_requests_mu_;
T FetchSub(Arg arg, MemoryOrder order=MemoryOrder::SEQ_CST)
Definition: atomic.h:77
T FetchAdd(Arg arg, MemoryOrder order=MemoryOrder::SEQ_CST)
Definition: atomic.h:71
Definition: ref_counted.h:248
Definition: ref_counted_ptr.h:35
T * get() const
Definition: ref_counted_ptr.h:144
Definition: xds_client_stats.h:97
Snapshot GetSnapshotAndReset()
Definition: xds_client_stats.cc:51
Definition: xds_client_stats.h:95
std::map< grpc_core::UniquePtr< char >, LoadMetric, StringLess > LoadMetricMap
Definition: xds_client_stats.h:116
void AddCallFinished(bool fail=false)
Definition: xds_client_stats.cc:105
Snapshot GetSnapshotAndReset()
Definition: xds_client_stats.cc:79
void UnrefByPicker()
Definition: xds_client_stats.h:148
void RefByPicker()
Definition: xds_client_stats.h:141
void AddCallStarted()
Definition: xds_client_stats.cc:100
bool IsSafeToDelete()
Definition: xds_client_stats.h:155
std::map< grpc_core::UniquePtr< char >, LoadMetric::Snapshot, StringLess > LoadMetricSnapshotMap
Definition: xds_client_stats.h:118
Definition: xds_client_stats.h:93
DroppedRequestsMap DroppedRequestsSnapshotMap
Definition: xds_client_stats.h:192
RefCountedPtr< LocalityStats > FindLocalityStats(const RefCountedPtr< XdsLocalityName > &locality_name)
Definition: xds_client_stats.cc:159
void MaybeInitLastReportTime()
Definition: xds_client_stats.cc:155
std::map< RefCountedPtr< XdsLocalityName >, RefCountedPtr< LocalityStats >, XdsLocalityName::Less > LocalityStatsMap
Definition: xds_client_stats.h:186
std::map< grpc_core::UniquePtr< char >, uint64_t, StringLess > DroppedRequestsMap
Definition: xds_client_stats.h:191
void PruneLocalityStats()
Definition: xds_client_stats.cc:170
std::map< RefCountedPtr< XdsLocalityName >, LocalityStats::Snapshot, XdsLocalityName::Less > LocalityStatsSnapshotMap
Definition: xds_client_stats.h:189
Snapshot GetSnapshotAndReset()
Definition: xds_client_stats.cc:130
void AddCallDropped(const grpc_core::UniquePtr< char > &category)
Definition: xds_client_stats.cc:181
Definition: xds_client_stats.h:36
const char * zone() const
Definition: xds_client_stats.h:63
const char * AsHumanReadableString()
Definition: xds_client_stats.h:66
XdsLocalityName(grpc_core::UniquePtr< char > region, grpc_core::UniquePtr< char > zone, grpc_core::UniquePtr< char > subzone)
Definition: xds_client_stats.h:49
const char * sub_zone() const
Definition: xds_client_stats.h:64
const char * region() const
Definition: xds_client_stats.h:62
bool operator==(const XdsLocalityName &other) const
Definition: xds_client_stats.h:56
int64_t grpc_millis
Definition: exec_ctx.h:35
Round Robin Policy.
Definition: backend_metric.cc:24
std::unique_ptr< T, DefaultDeleteChar > UniquePtr
Definition: memory.h:45
GPRAPI int gpr_asprintf(char **strp, const char *format,...) GPR_PRINT_FORMAT_CHECK(2
printf to a newly-allocated string.
Definition: xds_client_stats.h:99
double total_metric_value
Definition: xds_client_stats.h:103
bool IsAllZero() const
Definition: xds_client_stats.cc:42
uint64_t num_requests_finished_with_metric
Definition: xds_client_stats.h:102
Definition: xds_client_stats.h:120
bool IsAllZero()
Definition: xds_client_stats.cc:62
uint64_t total_issued_requests
Definition: xds_client_stats.h:128
LoadMetricSnapshotMap load_metric_stats
Definition: xds_client_stats.h:129
uint64_t total_requests_in_progress
Definition: xds_client_stats.h:126
uint64_t total_error_requests
Definition: xds_client_stats.h:127
uint64_t total_successful_requests
Definition: xds_client_stats.h:125
Definition: xds_client_stats.h:194
bool IsAllZero()
Definition: xds_client_stats.cc:116
grpc_millis load_report_interval
Definition: xds_client_stats.h:203
LocalityStatsSnapshotMap upstream_locality_stats
Definition: xds_client_stats.h:199
uint64_t total_dropped_requests
Definition: xds_client_stats.h:200
DroppedRequestsSnapshotMap dropped_requests
Definition: xds_client_stats.h:201
Definition: xds_client_stats.h:38
bool operator()(const RefCountedPtr< XdsLocalityName > &lhs, const RefCountedPtr< XdsLocalityName > &rhs) const
Definition: xds_client_stats.h:39