当前位置:首页 > 文章列表 > 科技周边 > 业界新闻 > OpenTelemetry 怎样承载软件碳强度信号

OpenTelemetry 怎样承载软件碳强度信号

来源:17golang原创 2026-10-17 11:37:41 0浏览 收藏

如果团队已经在看 CPU、内存、请求延迟和资源利用率,为什么还要讨论软件碳强度?我的理解是:这些指标说明系统“做得怎么样”,却不一定说明“每完成一单位有用工作付出了多少环境代价”。CNCF 近期讨论的方向,是把 Software Carbon Intensity(SCI)带来的碳相关语义,放到 OpenTelemetry 熟悉的可观测性上下文里。

官方地址:https://opentelemetry.io/

OpenTelemetry 在这个方向上更像一套共同语言,而不是一台负责测量碳排放的计算器。当前公开工作仍在演进,不能把讨论中的语义约定当成已经定稿的标准。
OpenTelemetry、SCI、能耗、碳强度、功能单元与 Kubernetes 工作负载的静态关系说明图
图1:SCI 与云原生可观测性信号的静态关系说明图;这是原创说明图,不是运行截图。

为什么现有可观测性还缺一类信号

传统可观测性已经能回答许多问题:某个服务是否变慢、CPU 是否升高、内存是否持续增长、一次请求经过了哪些组件。但当我们把副本数、资源请求、调度位置或处理吞吐改掉时,仅看总能耗很容易得出片面的结论。

例如一个版本总共排放 110 千克二氧化碳当量,处理了 200 万次交易;另一个版本排放 100 千克,却只处理 100 万次交易。前者总量更高,但按交易计算的碳强度更低。SCI 的价值正在于把“排放”放回软件完成的功能单元中比较,功能单元可以是请求、交易或其他明确的工作量。

这也解释了为什么它适合成为可观测性中的补充信号:它不替代延迟、错误率或可靠性,而是让资源优化的结果多一个判断维度。

SCI 把总排放换成可比较的单位

SCI 讨论的核心可以拆成四部分:软件消耗的能耗、供电对应的碳强度、按活动分摊的硬件具身排放,以及代表“完成了多少工作”的功能单元。四部分缺一不可,否则同一个数字很难被复查或比较。

观察对象应该问什么常见误区
能耗测量或估算覆盖了哪些资源?把节点总量直接当成服务消耗
碳强度电力来源和时间范围是什么?忽略区域或时段变化
具身排放硬件排放如何分摊到活动?把模型值当成直接测量
功能单元一次请求、交易还是用户任务?只比较总排放,不比较工作量

我会先把功能单元写进团队的指标说明,而不是急着做一张漂亮的碳排放大盘。只有“每次请求”或“每笔交易”这类边界稳定,优化前后的结果才有机会放在同一张表里讨论。

OpenTelemetry 解决的是交换语言,不是计算器

OpenTelemetry 的优势是已经提供跨语言、跨组件传递遥测上下文的方式。CNCF 文章讨论的 SCI for OpenTelemetry 工作,重点并不是让 OpenTelemetry 自己测出能耗,而是探索如何用语义约定表达能耗、碳强度、具身排放、功能单元以及这些值的来源和粒度。

这个区分很重要。Kepler 等工具可以提供 Kubernetes 环境中的能耗相关数据,其他系统也可能提供电力碳强度或估算值;Collector 则更适合承担接收、处理和导出遥测的连接角色。统一语义的目标,是让不同工具产生的字段、单位和上下文更容易交换,而不是给所有环境强行套一个相同的测量算法。

目前公开讨论仍然强调“提议中的约定”与“已正式采用的 OpenTelemetry 语义约定”不是一回事。工程团队在阅读资料或做试验时,应该把字段命名、计算方式和来源记录在自己的实验说明中,避免把试验格式误当作稳定接口。

真正难的是共享基础设施归因

在共享节点上,测到一台机器的能耗,并不能自动推出某个服务应该承担多少。多个工作负载可能同时运行,副本会动态伸缩,服务还可能跨节点、跨区域调用。即使拿到了估算值,也要知道它来自直接测量、模型推导还是区域碳强度数据。

所以我会把归因拆成四个检查点:第一,明确测量边界,是节点、容器、Pod 还是业务请求;第二,保留工作负载与服务的上下文;第三,标记估算、预测和直接测量的区别;第四,保留来源、单位和功能单元。缺少其中任何一项,跨服务或跨供应商比较都可能只是数字的并排展示。

Kubernetes 节点、共享工作负载、Kepler、Collector、语义约定和服务决策的归因关系说明图
图2:共享基础设施碳数据归因与语义交换的结构说明图;这是原创结构图,不是实际部署截图。

工程团队现在可以观察什么

在正式约定还没有完全落地前,仍然可以做三件务实的事。先收集环境中已经可用的能耗、资源和吞吐数据;再把工作负载、服务、区域、时间窗口和功能单元补到同一份记录里;最后在发布、扩缩容、资源请求和调度决策中同时看性能、成本、可靠性与碳效率。

这样的顺序能避免两个极端:一是只看总能耗,忽略完成的工作量;二是为了追求一个碳指标,反过来损害延迟和稳定性。OpenTelemetry 可以提供跨工具交换上下文的方向,SCI 提供按功能单元思考的方法,但最终的测量边界和决策权仍然要由团队自己说明。

相关问题

OpenTelemetry 会直接计算碳排放吗?

不会把它理解成直接计算器更准确。它更适合承载和交换碳相关的遥测上下文,具体测量或估算仍依赖环境工具和计算方法。

为什么不能只比较两个版本的总排放?

因为两个版本可能完成了不同数量的请求或交易。需要先约定功能单元,再比较单位工作量的碳强度,同时保留测量边界和来源。

现在能把讨论中的 SCI 字段直接用于生产吗?

不应把正在演进的提议当成稳定标准。可以做小范围实验,但要明确记录字段来源、估算性质、单位和边界,并单独评估兼容性。

版本声明
本文转载于:17golang原创 如有侵犯,请联系study_golang@163.com删除
上线前依据模型卡整理限制条件的清单上线前依据模型卡整理限制条件的清单
上一篇
上线前依据模型卡整理限制条件的清单
CNCF 宣布 Karmada 毕业后的多集群治理变化
下一篇
CNCF 宣布 Karmada 毕业后的多集群治理变化
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    485次学习
查看更多
AI推荐
  • PubMedQA数据集详解:生物医学问答基准、功能与应用指南
    PubMedQA
    深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
    502次使用
  • H2O EvalGPT:开源LLM大模型评估与排行榜工具
    H2O EvalGPT
    H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
    561次使用
  • LMArena是什么?伯克利AI模型评估平台使用指南与功能解析
    LMArena
    LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
    588次使用
  • 斯坦福HELM:大语言模型Holistic Evaluation整体评估框架详解
    HELM
    深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
    540次使用
  • MMBench详解:多模态大模型基准测试、功能特点与使用指南
    MMBench
    MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
    352次使用