OpenTelemetry演示现已正式发布!

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

在Jaeger UI中以有向无环图表示的演示应用程序的系统架构

我们这个项目的主要目标之一就是为开发人员创建一个强大的示例应用程序,供其学习OpenTelemetry使用,我们自豪地说,我们已经做到了。除了Swift之外,我们在这个版本中涵盖了几乎所有OpenTelemetry语言SDK,是的,甚至包括PHP!我们构建了完整的跟踪流程,展示了一系列常见的仪表化任务,例如:

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

我们还在几个服务中集成了OpenTelemetry指标,以捕获运行时和业务度量使用案例。

现在,仅提供一个很好的OpenTelemetry演示就已经足够了,但我们1.0版本的一个重点是不仅要展示OpenTelemetry的“如何”,还要展示OpenTelemetry的“为什么”。为此,我们构建了一个通过功能标志进行限制的故障场景的实施框架。此外,我们在文档中还包括了预配置的仪表板和演示,以演示如何读取和解释每个服务发出的遥测数据,以发现应用程序性能下降的根本原因。

这个演示的另一个目标是简化OpenTelemetry的供应商和商业实施者创建演示的标准化目标的能力。我们已经看到了很多采用情况,包括Datadog、Dynatrace、Honeycomb、Lightstep和New Relic等五个公司将社区演示应用程序集成到他们的产品演示中(您可以在这里找到列表)。我们希望鼓励进一步的贡献和合作。

然而,仅仅因为我们达到了1.0,并不意味着我们就停止了——这个演示是一个不断改进的产物,我们打算继续改进覆盖度更广的度量和日志,随着更多的SDK成熟。

我们还希望通过扩展应用程序的功能来增加新的仪表化场景和模式——例如,对请求进行队列和异步处理、提供无需设置的托管版本以便探索演示,添加对Swift的支持等等。

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