@@ -71,6 +71,90 @@ TOpenTelemetryMetric metric("ydb_query_count", "1", labels);
7171TMetricsContext::Instance().RecordMetric(metric);
7272```
7373
74+ ### Datadog
75+
76+ ``` cpp
77+ #include < ydb-cpp-sdk/client/monitoring/metrics.h>
78+ #include < ydb-cpp-sdk/client/monitoring/impl/datadog.h>
79+
80+ // Создаем систему мониторинга
81+ auto monitoringSystem = TMonitoringSystemFactory::CreateDatadog(" your-api-key" );
82+ TMetricsContext::Instance ().SetMonitoringSystem(std::move(monitoringSystem));
83+
84+ // Создаем метрику
85+ std::unordered_map<std::string, std::string> labels = {
86+ {"operation", "query"},
87+ {"status", "success"}
88+ };
89+ TDatadogMetric metric("ydb.query.count", "1", labels);
90+
91+ // Записываем метрику
92+ TMetricsContext::Instance().RecordMetric(metric);
93+ ```
94+
95+ ### New Relic
96+
97+ ```cpp
98+ #include <ydb-cpp-sdk/client/monitoring/metrics.h>
99+ #include <ydb-cpp-sdk/client/monitoring/impl/newrelic.h>
100+
101+ // Создаем систему мониторинга
102+ auto monitoringSystem = TMonitoringSystemFactory::CreateNewRelic("your-license-key");
103+ TMetricsContext::Instance().SetMonitoringSystem(std::move(monitoringSystem));
104+
105+ // Создаем метрику
106+ std::unordered_map<std::string, std::string> labels = {
107+ {"operation", "query"},
108+ {"status", "success"}
109+ };
110+ TNewRelicMetric metric("Custom/ydb/query_count", "1", labels);
111+
112+ // Записываем метрику
113+ TMetricsContext::Instance().RecordMetric(metric);
114+ ```
115+
116+ ### AppDynamics
117+
118+ ``` cpp
119+ #include < ydb-cpp-sdk/client/monitoring/metrics.h>
120+ #include < ydb-cpp-sdk/client/monitoring/impl/appdynamics.h>
121+
122+ // Создаем систему мониторинга
123+ auto monitoringSystem = TMonitoringSystemFactory::CreateAppDynamics(" http://your-controller:8090" );
124+ TMetricsContext::Instance ().SetMonitoringSystem(std::move(monitoringSystem));
125+
126+ // Создаем метрику
127+ std::unordered_map<std::string, std::string> labels = {
128+ {"operation", "query"},
129+ {"status", "success"}
130+ };
131+ TAppDynamicsMetric metric("Custom Metrics|YDB|Query Count", "1", labels);
132+
133+ // Записываем метрику
134+ TMetricsContext::Instance().RecordMetric(metric);
135+ ```
136+
137+ ### Victoria Metrics
138+
139+ ```cpp
140+ #include <ydb-cpp-sdk/client/monitoring/metrics.h>
141+ #include <ydb-cpp-sdk/client/monitoring/impl/victoriametrics.h>
142+
143+ // Создаем систему мониторинга
144+ auto monitoringSystem = TMonitoringSystemFactory::CreateVictoriaMetrics("http://localhost:8428");
145+ TMetricsContext::Instance().SetMonitoringSystem(std::move(monitoringSystem));
146+
147+ // Создаем метрику
148+ std::unordered_map<std::string, std::string> labels = {
149+ {"operation", "query"},
150+ {"status", "success"}
151+ };
152+ TVictoriaMetricsMetric metric("ydb_query_count", "1", labels);
153+
154+ // Записываем метрику
155+ TMetricsContext::Instance().RecordMetric(metric);
156+ ```
157+
74158## Доступные метрики
75159
76160YDB C++ SDK собирает следующие метрики:
0 commit comments