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