Go to the documentation of this file.
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};
156 return picker_refcount_.
FetchAdd(0, MemoryOrder::ACQ_REL) == 0 &&
157 total_requests_in_progress_.
FetchAdd(0, MemoryOrder::ACQ_REL) == 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_;
void AddCallStarted()
Definition: xds_client_stats.cc:100
std::map< grpc_core::UniquePtr< char >, LoadMetric, StringLess > LoadMetricMap
Definition: xds_client_stats.h:116
Definition: xds_client_stats.h:95
Snapshot GetSnapshotAndReset()
Definition: xds_client_stats.cc:79
bool IsAllZero() const
Definition: xds_client_stats.cc:42
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:93
XdsLocalityName(grpc_core::UniquePtr< char > region, grpc_core::UniquePtr< char > zone, grpc_core::UniquePtr< char > subzone)
Definition: xds_client_stats.h:49
std::map< grpc_core::UniquePtr< char >, uint64_t, StringLess > DroppedRequestsMap
Definition: xds_client_stats.h:191
uint64_t total_dropped_requests
Definition: xds_client_stats.h:200
Round Robin Policy.
Definition: backend_metric.cc:24
grpc_millis load_report_interval
Definition: xds_client_stats.h:203
T * get() const
Definition: ref_counted_ptr.h:144
Definition: ref_counted.h:248
uint64_t num_requests_finished_with_metric
Definition: xds_client_stats.h:102
Definition: xds_client_stats.h:120
LocalityStatsSnapshotMap upstream_locality_stats
Definition: xds_client_stats.h:199
bool IsAllZero()
Definition: xds_client_stats.cc:116
Snapshot GetSnapshotAndReset()
Definition: xds_client_stats.cc:130
T FetchAdd(Arg arg, MemoryOrder order=MemoryOrder::SEQ_CST)
Definition: atomic.h:71
DroppedRequestsSnapshotMap dropped_requests
Definition: xds_client_stats.h:201
Definition: ref_counted_ptr.h:35
const char * zone() const
Definition: xds_client_stats.h:63
void PruneLocalityStats()
Definition: xds_client_stats.cc:170
RefCountedPtr< LocalityStats > FindLocalityStats(const RefCountedPtr< XdsLocalityName > &locality_name)
Definition: xds_client_stats.cc:159
Definition: xds_client_stats.h:99
void RefByPicker()
Definition: xds_client_stats.h:141
bool IsAllZero()
Definition: xds_client_stats.cc:62
void MaybeInitLastReportTime()
Definition: xds_client_stats.cc:155
const char * region() const
Definition: xds_client_stats.h:62
Snapshot GetSnapshotAndReset()
Definition: xds_client_stats.cc:51
void AddCallFinished(bool fail=false)
Definition: xds_client_stats.cc:105
std::map< grpc_core::UniquePtr< char >, LoadMetric::Snapshot, StringLess > LoadMetricSnapshotMap
Definition: xds_client_stats.h:118
uint64_t total_error_requests
Definition: xds_client_stats.h:127
std::unique_ptr< T, DefaultDeleteChar > UniquePtr
Definition: memory.h:45
std::map< RefCountedPtr< XdsLocalityName >, LocalityStats::Snapshot, XdsLocalityName::Less > LocalityStatsSnapshotMap
Definition: xds_client_stats.h:189
int64_t grpc_millis
Definition: exec_ctx.h:35
Definition: xds_client_stats.h:194
uint64_t total_issued_requests
Definition: xds_client_stats.h:128
LoadMetricSnapshotMap load_metric_stats
Definition: xds_client_stats.h:129
bool IsSafeToDelete()
Definition: xds_client_stats.h:155
DroppedRequestsMap DroppedRequestsSnapshotMap
Definition: xds_client_stats.h:192
const char * AsHumanReadableString()
Definition: xds_client_stats.h:66
uint64_t total_requests_in_progress
Definition: xds_client_stats.h:126
T FetchSub(Arg arg, MemoryOrder order=MemoryOrder::SEQ_CST)
Definition: atomic.h:77
void UnrefByPicker()
Definition: xds_client_stats.h:148
Definition: xds_client_stats.h:97
bool operator==(const XdsLocalityName &other) const
Definition: xds_client_stats.h:56
Definition: xds_client_stats.h:36
Definition: xds_client_stats.h:38
void AddCallDropped(const grpc_core::UniquePtr< char > &category)
Definition: xds_client_stats.cc:181
double total_metric_value
Definition: xds_client_stats.h:103
bool operator()(const RefCountedPtr< XdsLocalityName > &lhs, const RefCountedPtr< XdsLocalityName > &rhs) const
Definition: xds_client_stats.h:39
std::map< RefCountedPtr< XdsLocalityName >, RefCountedPtr< LocalityStats >, XdsLocalityName::Less > LocalityStatsMap
Definition: xds_client_stats.h:186
const char * sub_zone() const
Definition: xds_client_stats.h:64
uint64_t total_successful_requests
Definition: xds_client_stats.h:125