与时间相关的 OpenTelemetry 指标是一种反模式吗?
Are time-related OpenTelemetry metrics an anti-pattern?
在为我的 API 设置指标和遥测时,将“请求延迟”之类的东西作为指标(可能除了)作为跨度跟踪是一种反模式吗?
例如,假设我的 API 向另一个 API 发出请求以生成响应。如果我想跟踪延迟信息,例如:
- 我的API的响应延迟
- 从我的 API 到上游 API
的请求的延迟
- 数据库请求延迟
- 等
这似乎是使用跨度的一个很好的候选者,但我认为将其作为指标也会有所帮助。
复制 OTEL 数据捕获(作为度量和跨度)是否是一种不好的做法?
我可能可以提取该信息并避免重复,但将其记录为指标可能更简单。
在此先感谢您的帮助。
我想说跟踪和指标都有自己的用例。跟踪的保留期通常很短(AWS X-Ray:30 天)+ 您可以根据跟踪生成短期指标(AWS X-Ray:24 小时)。如果您需要更长的时间,那么这些查询将很昂贵(而且很慢)。所以我想说存储在时间序列数据库中的指标将是较长时间段统计数据的完美用例。
顺便说一句:还有实验性的 Span Metrics Processor,您可以使用它直接通过 OTEL 收集器从跨度生成 Prometheus 指标 - 无需额外的应用程序 instrumentation/code。
在为我的 API 设置指标和遥测时,将“请求延迟”之类的东西作为指标(可能除了)作为跨度跟踪是一种反模式吗?
例如,假设我的 API 向另一个 API 发出请求以生成响应。如果我想跟踪延迟信息,例如:
- 我的API的响应延迟
- 从我的 API 到上游 API 的请求的延迟
- 数据库请求延迟
- 等
这似乎是使用跨度的一个很好的候选者,但我认为将其作为指标也会有所帮助。
复制 OTEL 数据捕获(作为度量和跨度)是否是一种不好的做法?
我可能可以提取该信息并避免重复,但将其记录为指标可能更简单。
在此先感谢您的帮助。
我想说跟踪和指标都有自己的用例。跟踪的保留期通常很短(AWS X-Ray:30 天)+ 您可以根据跟踪生成短期指标(AWS X-Ray:24 小时)。如果您需要更长的时间,那么这些查询将很昂贵(而且很慢)。所以我想说存储在时间序列数据库中的指标将是较长时间段统计数据的完美用例。
顺便说一句:还有实验性的 Span Metrics Processor,您可以使用它直接通过 OTEL 收集器从跨度生成 Prometheus 指标 - 无需额外的应用程序 instrumentation/code。