Astra Linux Directory Client Core API  1.7.0
ALDStats.h
См. документацию.
1 
6 #ifndef ALD_STATS
7 #define ALD_STATS
8 
9 #include "common.h"
10 #include <atomic>
11 
12 namespace ALD
13 {
19 typedef uint64_t ald_stat_counter;
21 
23 #define STAT_PROVIDER IALDStatProvider::GetStatProvider()
24 
29 {
30 protected:
32 public:
35 
37  virtual void Init(const string &path) = 0;
39  virtual void Destroy() = 0;
40 
42  virtual size_t RegisterCounter(const string& name) = 0;
44  virtual ald_stat_counter ReadCounter(const string& name) = 0;
45 
47  virtual void EnumerateCounters(ald_string_list& counters) = 0;
49  virtual void GetCounters(ald_string_map& counters) = 0;
50 
52  virtual void Inc(size_t idx) = 0;
54  virtual void Set(size_t idx, ald_stat_counter value) = 0;
56  virtual ald_stat_counter Get(size_t idx) = 0;
57 
59  virtual void Sync() = 0;
60 
61  virtual ~IALDStatProvider(){}
62 };
63 
65 } // ALD
66 
67 #endif //ALD_STATS
ALD::IALDStatProvider::RegisterCounter
virtual size_t RegisterCounter(const string &name)=0
Регистрация именованного счетчика (возвращается индекс счетчика)
ALD::IALDStatProvider::Inc
virtual void Inc(size_t idx)=0
Продвижение счетчика по индексу
ALD::IALDStatProvider::Set
virtual void Set(size_t idx, ald_stat_counter value)=0
Установка значения счетчика по индексу
ALD::IALDStatProvider::EnumerateCounters
virtual void EnumerateCounters(ald_string_list &counters)=0
Получение списка имен счетчика
ALD::IALDStatProvider::Destroy
virtual void Destroy()=0
Завершение работы провайдера статистики
ALD::IALDStatProvider::Sync
virtual void Sync()=0
Синхронизация
ALD::ald_string_map
map< string, string > ald_string_map
MAP строка => строка
Definition: ALDUtils.h:164
ALD::IALDStatProvider::Init
virtual void Init(const string &path)=0
Инициализации именованного провайдера статистики
ALD::IALDStatProvider::ReadCounter
virtual ald_stat_counter ReadCounter(const string &name)=0
Получение значения счетчика по имени
ALD::IALDStatProvider::GetStatProvider
static IALDStatProvider * GetStatProvider()
Статическая функция получения провайдера статистики
common.h
Основной заголовочный файл, содержащий необходимый минимум предварительных объявлений и включений дру...
ALD
Пространство имен основного интерфейса Astra Linux Directory.
Definition: action-definitions.h:10
ALD::IALDStatProvider::Get
virtual ald_stat_counter Get(size_t idx)=0
Получение значения счетчика по индексу
ALD::IALDStatProvider::GetCounters
virtual void GetCounters(ald_string_map &counters)=0
Получение карты (имя=>значение) счетчиков
ALD::IALDStatProvider
Абстрактный интерфейс провайдера статистики
Definition: ALDStats.h:29
ALD::ald_string_list
list< string > ald_string_list
Список строк
Definition: ALDUtils.h:152
ALD::ald_stat_counter
uint64_t ald_stat_counter
Базовый тип счетчика
Definition: ALDStats.h:20