OpenTelemetry演示应用现已正式发布!

博客文章在发布后不会更新。这篇文章已经发布一年多了,其内容可能已过时,部分链接可能无效。在依赖任何信息之前,请务必核实。

今年早些时候,我们宣布了一项旨在构建OpenTelemetry Demo的项目,该项目代表了OpenTelemetry的广泛功能和语言。今天,Demo SIG自豪地宣布OpenTelemetry Demo v1.0!通过此演示,您将能够快速运行一个完整的端到端分布式系统,该系统使用了100%的OpenTelemetry追踪和指标进行检测。

The system architecture of the demo application represented as directed acyclic graph in Jaeger UI

本项目的主要目标之一是创建一个强大的示例应用程序,供开发人员用于学习OpenTelemetry,我们很自豪地说我们已经做到了。除Swift外,每个OpenTelemetry语言SDK都代表了此版本——是的,甚至包括PHP!我们构建了完整的追踪流程,演示了广泛的常见检测任务,例如:

  • 丰富自动检测的span。
  • 创建自定义span以获得更丰富、更有用的追踪。
  • 自动和手动传播追踪上下文。
  • 处理可观察性数据以在服务之间传递属性。
  • 创建属性、事件和其他遥测元数据。

我们还将OpenTelemetry指标集成到了多个服务中,以捕获运行时和业务指标用例。

现在,仅仅提供一个精彩的OpenTelemetry演示就足够了,但我们希望在1.0版本中关注的一个方面是展示OpenTelemetry的“为什么”,而不仅仅是“如何”。为此,我们构建了一个框架,用于实现由功能标志控制的故障场景。此外,我们的文档中包含预配置的仪表板和演练,介绍如何读取和解释每个服务发出的遥测数据,以发现应用程序中性能回归的根本原因。

此演示的另一个目标是简化供应商和商业OpenTelemetry实施者围绕标准化目标构建演示的能力。我们已经看到相当多的采纳,五家公司(包括Datadog、Dynatrace、Honeycomb、Lightstep和New Relic)已将社区演示应用程序集成到他们的产品演示中。我们希望鼓励在此基础上进一步贡献和合作。

然而,即使我们达到了1.0版本,也不意味着我们会停止——这个演示是一个活的产物,我们将继续改进它。在接下来的几个月里,随着更多SDK达到成熟,我们将继续迭代和改进指标和日志的覆盖范围。

我们还希望通过扩展应用程序的功能来添加新的检测场景和模式——队列和请求的异步处理、托管版本以零设置探索演示、添加对Swift的支持等。

我们非常希望您能试用这个演示,并告诉我们您的想法!查看文档,或使用DockerKubernetes运行演示,并告诉我们您的想法。如果您想做出贡献,请在GitHub上提交一个问题,或加入CNCF Slack的#otel-community-demo频道。

最后修改日期:2025 年 5 月 27 日:[chore] Accessible links 5 (#6053) (860f5141)