26#ifndef ROUTER_SRC_MYSQL_REST_SERVICE_SRC_MRS_OBSERVABILITY_ENTITY_H_ 
   27#define ROUTER_SRC_MYSQL_REST_SERVICE_SRC_MRS_OBSERVABILITY_ENTITY_H_ 
   31#include <shared_mutex> 
   34namespace observability {
 
   38  static inline std::shared_mutex 
mutex;
 
   51template <u
int64_t counter_
id>
 
   56template <u
int64_t counter_
id>
 
   66  uint64_t 
get_id()
 const override { 
return counter_id; }
 
   73  static inline std::atomic<uint64_t> 
value_;
 
   76template <u
int64_t counter_
id>
 
   84template <u
int64_t counter_
id>
 
  101  static inline std::atomic<uint64_t> 
count_;
 
  106template <u
int64_t counter_
id>
 
  109template <u
int64_t counter_
id>
 
static std::shared_mutex mutex
Definition: entity.h:38
 
static std::atomic< uint64_t > count_
Definition: entity.h:101
 
static void increment(int32_t inc=1)
Definition: entity.h:90
 
uint64_t get_value_and_reset() override
Definition: entity.h:96
 
uint64_t get_value_and_reset() override
Definition: entity.h:81
 
uint64_t get_value_and_reset() override
Definition: entity.h:68
 
static std::atomic< uint64_t > value_
Definition: entity.h:73
 
std::string get_name() const override
Definition: entity.h:67
 
static void increment(int32_t inc=1)
Definition: entity.h:59
 
EntityCounter(const std::string &name)
Definition: entity.h:64
 
uint64_t get_id() const override
Definition: entity.h:66
 
void clear() override
Definition: entity.h:69
 
std::string name_
Definition: entity.h:72
 
virtual uint64_t get_value_and_reset()=0
 
virtual ~Entity()=default
 
virtual std::string get_name() const =0
 
virtual uint64_t get_id() const =0
 
Sharded atomic counter.
Definition: ut0counter.h:221
 
Type inc(Shards< COUNT > &shards, size_t id)
Increment the counter of a shard by 1.
Definition: ut0counter.h:293
 
Provides atomic access in shared-exclusive modes.
Definition: shared_spin_lock.h:79
 
Definition: authorize_manager.h:48
 
case opt name
Definition: sslopt-case.h:29