Go to the documentation of this file.
19 #ifndef GRPC_SRC_CPP_SERVER_LOAD_REPORTER_LOAD_REPORTER_H
20 #define GRPC_SRC_CPP_SERVER_LOAD_REPORTER_LOAD_REPORTER_H
33 #include <unordered_map>
39 #include "opencensus/stats/stats.h"
40 #include "opencensus/tags/tag_key.h"
46 #include "src/proto/grpc/lb/v1/load_reporter.pb.h"
49 namespace load_reporter {
56 std::unordered_map<std::string, ::opencensus::stats::ViewData>;
59 std::unordered_map<std::string, ::opencensus::stats::ViewDescriptor>;
74 const ViewDataMap& view_data_map,
const char* view_name,
75 size_t view_name_len,
const std::vector<std::string>& tag_values);
77 const ViewDataMap& view_data_map,
const char* view_name,
78 size_t view_name_len,
const std::vector<std::string>& tag_values);
103 std::unordered_map<std::string, ::opencensus::stats::View>
view_map_;
239 #endif // GRPC_SRC_CPP_SERVER_LOAD_REPORTER_LOAD_REPORTER_H
std::chrono::duration< std::int_fast64_t > seconds
::opencensus::tags::TagKey tag_key_metric_name_
std::deque< LoadBalancingFeedbackRecord > feedback_records_
std::chrono::time_point< std::chrono::system_clock, D > time_point
bool IsRecordInWindow(const LoadBalancingFeedbackRecord &record, std::chrono::system_clock::time_point now)
ViewDataMap FetchViewData() override
LoadReporter(uint32_t feedback_sample_window_seconds, std::unique_ptr< CensusViewProvider > census_view_provider, std::unique_ptr< CpuStatsProvider > cpu_stats_provider)
const std::chrono::seconds feedback_sample_window_seconds_
static uint64_t GetRelatedViewDataRowInt(const ViewDataMap &view_data_map, const char *view_name, size_t view_name_len, const std::vector< std::string > &tag_values)
std::unordered_map< std::string, ::opencensus::stats::ViewData > ViewDataMap
std::pair< uint64_t, uint64_t > CpuStatsSample
virtual ~CpuStatsProvider()=default
::opencensus::tags::TagKey tag_key_status_
CpuStatsSample GetCpuStats() override
::opencensus::tags::TagKey tag_key_user_id_
std::unordered_map< std::string, ::opencensus::stats::ViewDescriptor > ViewDescriptorMap
const ViewDescriptorMap & view_descriptor_map() const
void ProcessViewDataOtherCallMetrics(const CensusViewProvider::ViewDataMap &view_data_map)
constexpr absl::remove_reference_t< T > && move(T &&t) noexcept
static double GetRelatedViewDataRowDouble(const ViewDataMap &view_data_map, const char *view_name, size_t view_name_len, const std::vector< std::string > &tag_values)
void AttachOrphanLoadId(grpc::lb::v1::Load *load, const PerBalancerStore &per_balancer_store)
grpc_core::Mutex feedback_mu_
LoadDataStore load_data_store_
std::atomic< int64_t > next_lb_id_
CensusViewProvider * census_view_provider()
::google::protobuf::RepeatedPtrField< grpc::lb::v1::Load > GenerateLoads(const std::string &hostname, const std::string &lb_id)
unsigned __int64 uint64_t
grpc_core::Mutex store_mu_
grpc::lb::v1::LoadBalancingFeedback GenerateLoadBalancingFeedback()
void ProcessViewDataCallEnd(const CensusViewProvider::ViewDataMap &view_data_map)
std::unordered_map< std::string, ::opencensus::stats::View > view_map_
void ProcessViewDataCallStart(const CensusViewProvider::ViewDataMap &view_data_map)
std::chrono::system_clock::time_point end_time
::opencensus::tags::TagKey tag_key_token_
LoadBalancingFeedbackRecord(const std::chrono::system_clock::time_point &end_time, uint64_t rpcs, uint64_t errors, uint64_t cpu_usage, uint64_t cpu_limit)
virtual CpuStatsSample GetCpuStats()=0
CensusViewProviderDefaultImpl()
std::unique_ptr< CpuStatsProvider > cpu_stats_provider_
virtual ViewDataMap FetchViewData()=0
virtual ~CensusViewProvider()=default
void ReportStreamCreated(const std::string &hostname, const std::string &lb_id, const std::string &load_key)
ViewDescriptorMap view_descriptor_map_
std::unique_ptr< CensusViewProvider > census_view_provider_
void ReportStreamClosed(const std::string &hostname, const std::string &lb_id)
::opencensus::tags::TagKey tag_key_host_
std::string GenerateLbId()
CpuStatsProvider * cpu_stats_provider()
void AppendNewFeedbackRecord(uint64_t rpcs, uint64_t errors)
grpc
Author(s):
autogenerated on Fri May 16 2025 02:59:16