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
virtual void EnumerateCounters(ald_string_list &counters)=0
Получение списка имен счетчика
list< string > ald_string_list
Список строк
Definition: ALDUtils.h:152
virtual void Inc(size_t idx)=0
Продвижение счетчика по индексу
virtual ald_stat_counter Get(size_t idx)=0
Получение значения счетчика по индексу
Пространство имен основного интерфейса Astra Linux Directory.
Definition: action-definitions.h:9
virtual void Sync()=0
Синхронизация
uint64_t ald_stat_counter
Базовый тип счетчика
Definition: ALDStats.h:20
map< string, string > ald_string_map
MAP строка => строка
Definition: ALDUtils.h:164
virtual void Destroy()=0
Завершение работы провайдера статистики
virtual ald_stat_counter ReadCounter(const string &name)=0
Получение значения счетчика по имени
virtual void GetCounters(ald_string_map &counters)=0
Получение карты (имя=>значение) счетчиков
virtual void Set(size_t idx, ald_stat_counter value)=0
Установка значения счетчика по индексу
Абстрактный интерфейс провайдера статистики
Definition: ALDStats.h:28
virtual void Init(const string &path)=0
Инициализации именованного провайдера статистики
Основной заголовочный файл, содержащий необходимый минимум предварительных объявлений и включений дру...
static IALDStatProvider * GetStatProvider()
Статическая функция получения провайдера статистики
virtual size_t RegisterCounter(const string &name)=0
Регистрация именованного счетчика (возвращается индекс счетчика)