在第一个用例成功后,参与尝试的每个人都回去重新编排了他们的产品。跟踪功能已添加到几个更多的用例中。Broad 说:“我们希望尽早度过最初的实施难关,而不会让整个部门一起渡过难关。”“现在,许多团队在启动新服务时添加它。我们现在确实比以前更将推动采用。”
一些团队很快就赢了。软件工程师 Michael Davis 说:“跟踪让我们能够立即了解如何改进我们的(工作空间)服务。通过查看每个调用的花费时间以及最常使用哪些调用的组合,我们能够在单个修复中将平均响应时间减少 95%(从 600ms 到 30ms)”。
Workiva 的大部分主要产品现在都使用 OpenTracing 进行跟踪,将数据推送到
Google StackDriver。即使未完全使用跟踪功能的产品,也具有一些组件和库。
Broad 指出,由于一些工程师正在使用 App Engine,并且已经拥有平台的 Appstats 库分析性能的经验,因此他们不需要花太多时间才能习惯使用 OpenTracing。但其他人则有点不情愿。“我认为,使用 OpenTracing 的最大障碍是担心引入跟踪和 StackDriver 的成本会是多少,”他说。“人们也非常关心将中间件添加到他们正在处理的任何内容中。有关传递上下文以及如何完成这些工作的问题很常见。我们的许多 Go 开发人员对此都很好,因为他们已经以这样或那样的形式这样做了。我们的 Java 开发人员并不热衷于这样做,因为他们使用了其他不需要该功能的系统。”
但好处显然超过了人们的担忧,而今天,Workiva 的官方政策是使用追踪。
事实上,Broad 认为跟踪天然符合 Workiva 现有的日志记录和指标系统。“这是我们在内部展示的方式,也是我们设计使用方式的方式,”他说。“我们的跟踪记录在与我们的应用指标和日志记录数据完全相同的机制中,并且它们被推送的方式完全相同。因此,在创建和记录所有数据时,我们对待这些数据完全一样。我们有一个内部库,用于日志记录、遥测、分析和跟踪。”