udp - 如何检测包丢失和与 QuestDb 的 UDP 发布者的差距?
问题描述
我正在将 QuestDb 与 UDP Influx Line Protocol 发布者一起使用,并想查看是否由于包丢失或任何其他原因而导致指标存在差距。
我可以在发布方或 questdb 上做些什么来监控数据丢失的百分比(如果有的话)?
解决方案
您可以在生产者方面做的一件事是对每个发布者进行标记和排序
- 发布商的标签必须是唯一的
- 序列可以是一个
long
单调递增的值,并且(理想情况下)在发布者重新启动时不应重置序列号
在服务器端,您可以执行以下查询,假设您分别拥有列名tag
和seq
for 标记和序列
(SELECT a.tag, a.seq high, b.seq low
FROM tab a
ASOF JOIN tab b ON (tag))
WHERE high > low + 1;
推荐阅读
- excel - GetSaveAsFilename 使用单元格值作为文件标题
- java - 如何调试 javax.net.ssl 包
- javascript - 尽管在 Postman 工作,但出现 400 错误,可能的原因是什么?
- powershell - 是否可以使用 Powershell 从模板创建 Microsoft 团队?
- arrays - 如何根据 IlNumerics 中的数组中的多个条件过滤行
- javascript - 如何将我的字符串键映射到一些可能的枚举值?
- c++ - 如何正确设置 std::complex 的精度
并读进去? - python - Tensorflow 2中的分组卷积:过滤器中的通道数必须与输入的最后一个维度匹配
- python - 有没有办法减少嵌套 for 循环的运行时间?
- python - Angular ngx-socket-io 重复消息