OpenCensus 是由 Google 发起并开源的一套观测性工具集。它在分布式追踪(Tracing)指标监控(Metrics)领域曾具有重要影响力,现已与 OpenTracing 合并为 OpenTelemetry

核心定位

与只定义接口规范的 OpenTracing 不同,OpenCensus 是一个 “全栈式” 的解决方案:

  1. API + SDK:它不仅定义了如何记录数据,还提供了多种语言(Go, Java, Python, C++ 等)的具体实现库。
  2. Tracing + Metrics:它是最早尝试将“链路追踪”和“统计指标”统一在同一个库中的项目。
  3. 内置 Exporters:它内置了将数据推送到各种后端(如 Prometheus, Stackdriver, Zipkin)的导出器。

为什么它很重要?

在观测性领域的发展史上,OpenCensus 贡献了两个关键思想:

  • 标签传播 (Tags/Baggage):它完善了在分布式系统中传递上下文元数据的机制。
  • 低开销采集:由于是 Google 内部 Census 系统的开源版,它在设计上非常注重高性能和低资源消耗。

现状:功成身退

结论:OpenCensus 目前已停止新功能开发。

虽然它曾是 Google 强力推动的标准,但为了解决社区分裂问题,它在 2019 年选择与 OpenTracing 合并。