Skip to content

Метрики и аналитика

можно. собирает метрики использования фиче-флагов: сколько раз флаг оценивался и какой результат вернул. Метрики визуализируются в веб-панели через sparkline-графики и доступны через REST API.

Как собираются метрики

SDK накапливает счётчики true/false для каждого флага в памяти и отправляет их на сервер одним запросом раз в заданный интервал (по умолчанию — 60 секунд):

sequenceDiagram
    participant App as Приложение
    participant SDK as SDK
    participant Server

    loop Каждый isEnabled()
        App->>SDK: isEnabled("flag", ctx)
        Note over SDK: trueCount++ или falseCount++
    end

    Note over SDK: Интервал истёк:<br/>снять снапшот буфера,<br/>очистить буфер

    SDK->>Server: POST /api/client/metrics<br/>{flag: {t: 150, f: 50}}

    alt Успех
        Note over Server: Сохраняет в flag_metrics<br/>агрегируя в часовые бакеты
    else Ошибка сети
        Note over SDK: Возвращает счётчики<br/>обратно в буфер
    end

Каждая запись содержит:

ПолеОписание
flagIdID флага
environmentIdID окружения
evaluationTrueCountКоличество возвратов true
evaluationFalseCountКоличество возвратов false
timeBucketЧасовой интервал
instanceIdИдентификатор экземпляра SDK
appNameИмя приложения

Просмотр метрик в веб-панели

На странице флага отображается sparkline-график — миниатюрный график, показывающий тренд оценки флага за выбранный период. Зелёная линия — true, серая — false.

При клике на sparkline открывается диалог с полным графиком и списком SDK-экземпляров, сгруппированных по приложениям. Доступна фильтрация по приложению и конкретному экземпляру. Метрики хранятся за последние 48 часов.

Отключение метрик

Если метрики не нужны, отключите их в SDK:

java
MozhnoConfig config = MozhnoConfig.builder()
    .appName("my-app")
    .instanceId("instance-1")
    .mozhnoUrl("http://localhost:8080")
    .apiKey("<api-key>")
    .disableMetrics(true)
    .build();

Что значат метрики

ПаттернИнтерпретация
trueCount растётФлаг включается для всё большей аудитории — роллаут работает
falseCount растёт, trueCount = 0Флаг выключен или никто не подпадает под правила
Резкий скачок falseCountВозможная проблема: флаг внезапно перестал включаться
Нет метрикSDK не отправляет данные — проверьте подключение

Лимиты

Интервал отправки метрик — 60 секунд по умолчанию.

Что дальше?

Released under the BSL 1.1 License.