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

Consul: When do events get removed from the event list?

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

最近的到底是什么意思?最近的 100 个事件? 1000?过去 7 天内触发的事件?

我有办法配置吗?

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

所以在深入研究了 consul 的源代码之后。我发现最大 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