Как и логирование, метрики являются базовым требованием для создания отслеживаемых сервисов. API метрик позволяет разработчикам использовать собственную систему метрик как в JavaScript, так и в C++ (аддон).
Метрика имеет свою идентичность, содержащую следующую информацию:
Метрики — это объекты, связанные с процессом, которые можно использовать в разных зонах.
/// <summary> Перечисление типа метрики. </summary>
enum class MetricType {
Number = 0,
Rate,
Percentile,
};
/// <summary> Интерфейс для представления многомерной метрики с максимальной размерностью 64. </summary>
class Metric {
public:
/// <summary> Устанавливает значение метрики с переменным числом аргументов измерения. </summary>
/// <param name="value"> Значение Int64. </param>
/// <param name="numberOfDimensions"> Количество устанавливаемых измерений. </param>
/// <param name="dimensionValues"> Массив значений имён измерений. </param>
/// <returns> Успех/Неудача. </returns>
/// <remarks>
/// Количество значений измерений должно точно соответствовать количеству измерений, предоставленных при создании этой метрики.
/// </remarks>
virtual bool Set(int64_t value, size_t numberOfDimensions, const char* dimensionValues[]) = 0;
/// <summary>
/// Увеличивает значение метрики на переменное число аргументов измерения.
/// Используется в основном для упрощения счётчиков скорости.
/// </summary>
/// <param name="value"> Значение UInt64 для увеличения. </param>
/// <param name="numberOfDimensions"> Количество измерений. </param>
/// <param name="dimensionValues"> Массив значений имён измерений. </param>
/// <returns> Успех/Неудача. </returns>
/// <remarks>
/// Количество
``` **napajs.metric.MetricType.Rate, ['client-id'])**
// Увеличиваем QPS для client-id 'client1'.
**latency.increment(['client1'])**.
#### **decrement(dimensions?: string[]): void**
Уменьшает значение метрики, ограниченной значениями измерений.
### **get(section: string, name: string, type: MetricType, dimensions: string[] = []): Metric**
Создаёт метрику с идентификатором, состоящим из секции, имени, типа и измерений. Если метрика уже существует с заданными параметрами, возвращает существующую.
Пример:
```ts
import * as napa from 'napajs';
let metric = napa.metric.get(
'app1',
'counter1',
napa.metric.MetricType.Number,
[]);
metric.increment([]);
Разработчики могут подключить пользовательский провайдер метрик, вызвав перед созданием любых зон следующее:
napa.runtime.setPlatformSettings({
"metricProvider": "<имя-модуля-пользовательского-провайдера-метрик>"
}
TBD
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )