内容提要
GitLab发布了分布式跟踪的Beta版本,该功能允许工程师识别应用性能问题的来源。分布式跟踪使开发人员能够分析每个操作的时间和错误,帮助他们理解请求流程并识别性能瓶颈。该功能对于微服务架构尤为有价值。GitLab Observability结合软件交付和监控功能,旨在弥合开发和运维团队之间的差距,增强透明度和沟通。GitLab计划在即将发布的度量和日志功能中扩展其可观察性和监控功能。
延伸解读
分布式跟踪如何降低排障成本
文章指出,应用缺陷或性能问题导致的停机可能造成严重财务损失,而这些问题常源于人为的代码或配置变更。分布式跟踪通过记录单个请求在多个服务间的流转,帮助工程师快速定位性能瓶颈和错误来源。对于微服务架构,这种端到端的可见性尤为重要,能减少跨团队排查的时间,从而降低停机带来的业务影响。
OpenTelemetry 带来的灵活性与低迁移成本
GitLab 的分布式跟踪采用 OpenTelemetry 收集数据,这是一个供应商中立的开源框架,支持多种编程语言和框架。这意味着如果团队已在使用 OpenTelemetry 与其他监控工具,只需在配置中添加 GitLab 的端点即可发送数据,无需重写埋点代码。这种设计避免了供应商锁定,让团队可以更轻松地尝试新功能,同时保留未来更换工具的选择权。
从内部实践看分布式跟踪的实际价值
GitLab 团队已在内部使用分布式跟踪来调试 GitLab Agent for Kubernetes 的延迟问题,并优化部署流水线。例如,通过将流水线转换为跟踪数据,团队能识别关键路径上的瓶颈任务,进而调整作业执行方式,如让失败更快或增加并行度。这些实践表明,分布式跟踪不仅适用于微服务,也能用于 CI/CD 流水线等场景,帮助提升工程效率。
当前功能边界与后续演进
目前分布式跟踪处于 Beta 阶段,用户可查询过去 30 天的跟踪数据,并支持按服务、操作名、状态和时间范围过滤。GitLab 计划在未来几个月推出度量和日志功能,以扩展其可观察性套件。对于考虑采用的团队,需注意 Beta 阶段的功能可能仍在演进,且长期存储和查询性能依赖于 GitLab 基于 ClickHouse 和 Kubernetes 的解决方案。
Q&A
分布式跟踪的主要功能是什么?
分布式跟踪允许工程师识别应用性能问题的来源,分析每个操作的时间和错误,帮助理解请求流程并识别性能瓶颈。
GitLab如何解决开发和运维团队之间的沟通问题?
GitLab通过将软件交付和监控功能结合在同一平台上,增强透明度和沟通,帮助团队更有效地检测和解决问题。
分布式跟踪对微服务架构有什么特别的价值?
分布式跟踪为微服务架构提供请求流的可见性,帮助团队快速诊断和解决涉及多个服务调用的问题。
如何使用OpenTelemetry收集数据?
使用OpenTelemetry可以收集和导出遥测数据,支持多种编程语言和框架,避免供应商锁定。
GitLab的分布式跟踪如何帮助优化构建管道?
GitLab的团队利用分布式跟踪识别构建管道中的性能瓶颈,从而优化作业执行,提高整体管道效率。
GitLab未来的可观察性功能有哪些计划?
GitLab计划在未来几个月扩展其可观察性和监控功能,包括即将发布的度量和日志功能。