领事:什么时候从事件列表中删除事件?

时间:2018-03-22 16:05:43

标签: consul

在领事documentation中,它指出: 此端点返回代理已知的最新事件。

最近的确切含义是什么?最近的100个活动? 1000?过去7天内发生的事件?

我有办法配置吗?

我担心的是,如果在合理的时间内没有删除旧事件(这可能会因不同的应用程序而异),此事件列表可能会变得无限大。

1 个答案:

答案 0 :(得分:2)

所以经过一些挖掘领事的源代码。我发现它是max 256

https://github.com/hashicorp/consul/blob/94835a2715892f48ffa9f81a9a32808d544b1ca5/agent/agent.go#L221

eventBuf:        make([]*UserEvent, 256),

在下面你可以看到旋转

https://github.com/hashicorp/consul/blob/94835a2715892f48ffa9f81a9a32808d544b1ca5/agent/user_event.go#L229

a.eventBuf[idx] = msg
a.eventIndex = (idx + 1) % len(a.eventBuf)

下面的代码显示数据仅从同一个缓冲区中提取

https://github.com/hashicorp/consul/blob/94835a2715892f48ffa9f81a9a32808d544b1ca5/agent/user_event.go#L235

func (a *Agent) UserEvents() []*UserEvent {

所以你可以放心地假设,这将是最大256