Сбор данных мониторинга приложений с сервера Diameter, записанных с использованием go-Diameter - PullRequest
0 голосов
/ 04 октября 2018

У меня есть сервер приложений на основе го-диаметра.Он получает CCR для Credit Auth и отвечает CCA.Запрос CCR, полученный на сервере, имеет несколько атрибутов, например RequestType (Init, Update, Terminate). Я хочу собрать данные о производительности для каждого типа запроса, который включает общее количество запросов и время, затраченное каждым типом запроса.Эти данные будут отправлены во внешнюю систему через определенное время (скажем, 15 секунд).

В настоящее время я создал глобальную структуру для каждого типа запроса, чтобы сохранить счет.Наряду с этим для каждого запроса создаются локальные переменные для ограничения времени начала и окончания.Это добавляется в компонент времени глобальной структуры.Данные из глобальной структуры отправляются во внешнюю систему через каждые 15 секунд, а затем счет и время сбрасываются на ноль.

Я не чувствую, что это правильный способ сделать это.Я искал пакеты golang, которые могли бы сделать это, включая блокировку и разблокировку глобального strcuture при обновлении и очистке.

Доступны ли их какие-либо пакеты golang для достижения этой цели более эффективно?

...