从使用go-diameter编写的直径服务器收集应用程序监视数据

时间:2018-10-04 08:36:19

标签: go monitoring diameter-protocol

我有一个基于直径的应用服务器。它收到信用认证的CCR并以CCA响应。 服务器中收到的CCR请求具有多个属性,例如RequestType(Init,Update,Terminate) 我想收集每种请求类型的性能数据,其中包括请求总数和每种请求类型花费的时间。在定义的持续时间(例如15秒)后,这些数据将被推送到外部系统。

当前我所要做的是,我为每种请求类型创建了一个全局结构以保持计数。随之而来的是,为每个需求创建局部变量以计算开始时间和结束时间。这被添加到全局结构的时间部分中。每15秒将来自全局结构的数据推送到外部系统,然后将计数和时间重置为零。

我不认为这是正确的方法。我一直在寻找可以做到这一点的golang软件包,包括在更新和刷新时锁定和解锁全局结构。

他们有没有可用的golang软件包来更有效地实现这一目标?

0 个答案:

没有答案