OpenTelemetry Focus,2023 年 9 月

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

欢迎回到 2023 年 9 月的 OpenTelemetry Focus!秋风带来了项目的繁忙,我们正在为 KubeCon 和 Observability Day 做准备。您会参加吗?我们希望在那里见到您,参加我们首次举办的 OpenTelemetry Contribfest、Project Pavilion 以及更多活动!

您是维护者,有想要在此处展示的内容吗?通过 电子邮件联系 Austin Parker,或在 CNCF Slack 的 #otel-comms 频道联系。

发布和更新

以下是我们一些核心存储库的最新更新。

规范

最新的更新(v1.25.0)为 Metrics 和 Logs 带来了几项主要更改。Metric 名称的最大长度已从 63 个字符增加到 255 个字符。MetricProducer 规范已进入功能冻结期并已稳定。添加了同步 Gauge 指令和澄清了指标点持久性,并将“advice”一词替换为“advisory parameters”。已建立一项新规则,将 SimpleFixedSizeExemplarReservoir 的默认大小定义为 1。在 Logs 中,GCP 数据模型已更新为使用 TraceFlags 而不是 gcp.trace_sampled。此外,OpenTelemetry Protocol 的一项更改修复并澄清了 OTLP 导出器规范中“transient error”的定义。

兼容性更新包括 OpenTracing Shim 和 Prometheus 的更改,后者默认允许更改指标名称,因为它从 Prometheus 转换为 OpenTelemetry。

有关完整详细信息,请参阅 v1.24.0 和 v1.25.0 之间的更改

Collector (收集器)

在 OpenTelemetry Collector (v0.86.0) 的最新版本中,进行了几项重要更新。日志导出器已弃用,并被新添加的调试导出器取代。此外,linux/s390x 架构现已纳入交叉构建测试。

此版本中发生了重要的 API 更改。已移除 service.PipelineConfig,这构成了一个重大更改。几个 obsreport 模块的函数和结构体已被弃用,主要涉及 Exporter、Processor、Receiver 和 Scraper 功能。这些功能已移至各个辅助模块。

有关详细描述以及指向相应迁移和弃用的链接,请参阅 发布页面

collector-contrib 也包含许多更新。重要的重大更改包括移除已弃用的 jaegerjaegerthrifthttp 导出器,以及与 pkg/ottlpkg/stanzamongoDb 接收器、Azure Monitor 导出器、tailsampling 处理器等多个包相关的更改,以符合 checkapi

增强功能包括 tailsampling 处理器中的亚秒级决策等待时间、resourcedetection 处理器中的主机 cpuinfo 属性支持、为 split.Config 添加“omit_pattern”设置,以及 pkg/ottl 包的几项更新,例如添加新的“TruncateTime”函数以及支持函数调用中的命名参数等。

已针对以下问题进行了错误修复:tailsampling 处理器接受重复的策略名称、AWS EMF 导出器中具有 NaN 值的指标的 JSON marshaling 错误,以及在导出时恢复 AWS X-Ray 元数据结构,以及一系列针对各种组件的其他错误修复。

v0.85.0 中也有几项重大更改。

  • 移除已弃用的 Kubernetes API 资源,如 HorizontalPodAutoscaler v2beta2 版本和 CronJob v1beta1 版本,意味着在 Kubernetes 1.22 及更早版本上将不再发出这些资源的指标。
  • Prometheus 导出器现在默认附加类型和单位后缀,可以通过将“add_metric_suffixes”设置为 false 来禁用。
  • attributesprocessorresourceprocessor 功能门 coreinternal.attraction.hash.sha256 转换为稳定版。

再次提醒,在更新之前请仔细参阅发布说明。

Operator v0.85.0 已发布。增强功能包括在自动检测中为基于 Alpine 的镜像添加 .NET 自动检测支持,Go 自动检测支持已升级到 v0.3.0-alpha。此外,Operator 现在允许 collector CRD 指定要挂载的 configmap 列表,并引入了一种新的协调方法以减少复杂性和重复。还修复了一个错误,即 Operator 确保在实例发生更改时运行升级机制,这在 Operator 升级时,实例从非托管状态转换为托管状态时特别有用。组件更新包括 OpenTelemetry Collector、Contrib 和一些特定语言的自动检测。

重要更改:Operator 现在允许引入可靠的升级机制来处理实例更改。

重大更改:Go 自动检测支持已从先前的版本大幅升级到 v0.3.0-alpha,这可能包含重大更改。

此版本还包含 v0.84.0 的重大更改。

  • Target allocator 不再具有默认的内存和 CPU 限制,以匹配 collector 的默认设置。
  • 当使用 Prometheus 导出器时,会创建 ServiceMonitors。
Java

版本 1.30 包含对孵化 API 和 SDK 的许多更新。在 API 孵化器中,添加了一个实验性的同步 Gauge。SDK Metric System 已经增强了其功能,添加了 attributes advice API、AttributesProcessor toString、一个属性过滤器助手,并将指标名称的最大长度从 63 个字符增加到 255 个字符。Prometheus 导出器在非 ucum 单位以及将单位添加到 TYPE 和 HELP 注释中的指标名称方面进行了更改。

在 SDK Extensions 中,为孵化器添加了基于文件的配置支持。已更新以处理 Autoconfigure ConfigProperties#getMap 过滤器中的空值条目。

开发人员需要注意一个重要的弃用。io.opentelemetry:opentelemetry-semconv 已弃用并将被移除;现在从新存储库引入了一个备用项 io.opentelemetry.semconv:opentelemetry-semconv:1.21.0-alpha

Java Instrumentation 带来了重大更改,包括添加新的 Java Agent 检测、增强功能和错误修复。重要更改包括将实验性 HTTP 服务器指标拆分为一个单独的类,将 HttpClientResendHttpRouteHolder 重命名为 HttpClientResendCountHttpServerRoute,以及移除一个已弃用的配置。

已为 Hibernate Reactive 添加了新的 Java Agent 检测。增强功能包括支持 AWS Secrets Manager JDBC URL、改进了对语义约定更改的支持、将 javaagent 添加到检测 BOM 中,等等。还修复了几个错误,例如 OpenJ9 的 getDefinedPackage 查找问题、Lettuce 检测中序列化密钥的问题,以及 JMX 自动检测在没有触发器时无法工作的问题。

Go

版本 1.19.0 是 Metrics 的第一个稳定版本,标准项目稳定性保证现在适用于 go.opentelemetry.io/otel/sdk/metric 包。

新增功能包括一个新的“Roll the Dice”应用程序示例以及 WithWriterWithPrettyPrint 选项,用于自定义 io.Writer 并以人类可读的 JSON 格式显示输出。

值得注意的更改包括允许在指标仪器名称中使用“/”字符,以及导出器的默认输出格式更改,现在更加紧凑。

已修复的问题包括一个重复出现的问题,即 SDK 在每次 Collect 时尝试创建 Prometheus 指标,即使已知作用域无效。在移除方面,go.opentelemetry.io/otel/bridge/opencensus.NewMetricExporter 已被 NewMetricProducer 取代。

由于内容繁多,建议通过参阅 完整变更日志 来获取详细信息。

请注意,v1.18.0 包含了几项弃用和移除。

  • Jaeger 导出器和示例已被移除,因为 Jaeger 现在接受原生 OTLP。
  • 不再保证 Go 1.20 版本之前的兼容性。

JavaScript

版本 1.17.0 修复了先前版本中一个意外的重大更改。

实验性软件包中有几项重要更改,包括弃用旧的配置 API。

.NET

版本 1.6.0 包含对 Metrics 的少量更新。

新闻和即将举行的活动

北美 KubeCon 即将在芝加哥举行,日程安排已公布!查看可观测性主题,了解关于 OpenTelemetry、Prometheus 等的演讲。

Observability Day 也将回归,并且它将成为一个很棒的活动!请查看上面的链接中公布的日程安排。

我们也很高兴地宣布我们有史以来第一次 Contribfest!您将有机会与 Collector 和 JavaScript SIG 的维护者一起处理问题和 PR,并了解更多关于如何为 OpenTelemetry 做出贡献。

请务必在本周继续关注博客,获取关于今年 11 月 KubeCon 所有活动的完整细分!

最后修改于 2025 年 5 月 22 日:[chore] Accessible links 2 (#6050) (d58a7174)