💡
原文英文,约900词,阅读约需4分钟。
📝
内容提要
最近有客户询问IRIS是否支持OpenTelemetry,因为他们想要测量IRIS实现SOAP服务所需的时间。目前,InterSystems IRIS不原生支持OpenTelemetry,但可以通过嵌入式Python和相应的Python库实现将Trace事件发布到OpenTelemetry后端。本文介绍了如何使用Embedded Python来实现SOAP服务的Tracing。通过对Trace、Span和Telemetry的解释,以及实现方法的说明,帮助客户快速上手。
🎯
关键要点
- 客户询问IRIS是否支持OpenTelemetry,以测量SOAP服务的完成时间。
- InterSystems IRIS目前不原生支持OpenTelemetry,但可以通过嵌入式Python实现Trace事件的发布。
- 可通过Embedded Python和相应的Python库,帮助开发者将Trace事件发布到OpenTelemetry后端。
- 可观察性包括三个主要方面:度量捕获、日志记录和追踪。
- 追踪涉及跟踪服务请求或事务在各组件间的流动,分布式追踪提供整个事务流的可视化表示。
- Trace标识解决方案中的操作,Span表示单个工作单元,Trace由根Span开始。
- 实现方法是子类化IRIS的%SOAP.WebService类,包含OpenTelemetry实现逻辑和Python库函数。
- 每个SOAP服务默认会被追踪并报告追踪信息,首次使用时初始化OpenTelemetry Tracer对象。
- 用户可使用$$$OTELLog(...)进行手动日志记录,使用$$$OTELPushChildSpan(...)和$$$OTELPopChildSpan(...)创建非根Span。
- 安装和测试步骤包括克隆代码库并使用docker-compose构建和启动Jaeger和IRIS容器。
- 文章总结了如何使用Embedded Python为IRIS添加额外功能,实现SOAP服务的可观察性追踪。
🏷️
标签
➡️