作者:Israel Ogbole, Stephanie Boomsma
在软件无处不在且影响深远的世界中,效率的重要性不仅仅局限于业务范围。 高效的软件不仅有利于企业,而且有利于企业。 这对全球也有好处。 通过将计算效率作为核心目标,并为专业人员提供正确的工具来实现这一目标,我们不仅推动实现更有利可图的业务成果,而且还培育一个更加负责任和可持续的未来。
在我们专注于优化计算效率的推动下,Elastic Observability 为我们的客户带来了可衡量的成本节约和碳减排,描绘了可持续软件工程的新前沿。 今天,我们很高兴地宣布 Elastic® Universal Profiling™ 正式上市,这是一种可观察性解决方案,体现了我们对可持续软件开发和运营的承诺。
Elastic Universal Profiling™ 是一种全系统、始终在线、连续的分析解决方案,无需代码检测、重新编译、主机上调试符号或服务重新启动。 通用分析利用 eBPF 在 Linux 内核空间内运行,以不引人注目的方式以最小的开销仅捕获所需的数据。 它分析机器上运行的每一行代码 —— 不仅包括你的应用程序代码库,还包括内核和第三方 —— 从而为你的整个机群提供深入的、全系统的代码可见性,这样你就可以消除猜测。
此外,Elastic Universal Profiling™ 旨在通过最大限度地减少计算浪费来帮助组织运行高效的服务。 为此,它从三个维度衡量代码效率:CPU 利用率、CO2 和云成本。 这种方法与我们客户的可持续发展目标产生共鸣,确保 Elastic Universal Profiling™ 与其战略 ESG 目标无缝衔接。
认证软件的能源效率与硬件一样重要,但如果没有衡量与碳排放相关的软件效率的工具,我们就失去了指南针。
Israel Ogbole,Elastic Observability 首席产品经理
对节能软件的需求变得越来越重要,这反映了硬件能效认证的成熟实践。 然而,认证软件节能的过程很复杂,因为没有可靠的方法来衡量代码效率与碳排放的关系。 Elastic Universal Profiling™ 正在通过估算与整个基础设施中每一行代码相关的二氧化碳排放量来解决这一差距,使 SRE 和开发人员能够设计出更环保、更具成本效益的软件。
通用分析演示
我可以使用 Elastic Universal Profiling™ 做什么?
了解整个基础架构中哪些代码行始终消耗 CPU 资源。
通用分析为所有应用程序的运行时行为提供了前所未有的可见性:它构建从内核到用户空间本机代码,一直到在更高级别运行时运行的代码的堆栈跟踪,使你能够识别性能回归,减少浪费的计算,并更快地调试复杂问题。
以下是领先的云安全和管理平台 AppOmni 的首席安全工程师 Mike Brancato 的说法:
使用 Elastic Universal Profiling,我们能够非常快速地识别应用程序中最慢的部分,并针对这些部分进行改进。 我们能够轻松快速地部署到生产中,而不会中断现有工作负载。 我们的应用程序和其他组件的分析数据可以立即获得,无需包含任何库或对我们的应用程序进行任何修改。
AppOmni 首席安全工程师 Mike Brancato
我们在构建通用分析时考虑了三个人:SRE、开发人员和 FinOps 专业人员。
SRE 用例
对于 SRE,Elastic Universal Profiling™ 提供涵盖内核、运行时和第三方库代码的系统范围性能洞察。 凭借前所未有的广度和深度的可见性,它可以洞察可能潜伏在系统中的未知因素,从而实现精确、快速的故障排除。 这种更深层次的全系统可见性使 SRE 能够回答基本的 “为什么” 和 “什么” 问题:
- 为什么我们要将 x% 的 CPU 预算花在函数 y 上?
- 为什么我们会在非高峰时段遇到意外的 CPU 峰值?
- 不同工作负载的资源消耗模式是什么?如何优化它们以提高成本和碳排放效率?
- 我们整个多云队列中最昂贵的代码行是什么?
所有这些可见性都可供你(SRE)使用,而无需依赖开发人员来检测或更改代码,并且零重新编译或重新启动。 Universal Profiling 使你能够准确、快速地诊断和解决问题。 只需部署代理并在几分钟后接收分析数据(在 Kibana® 中)。 现在就开始。
[有关如何分析插件 APM 的相关文章:为什么指标、日志和跟踪还不够]
开发者用例
开发人员现在可以衡量每个已部署变更的性能(获得或损失)、云成本和碳排放影响,这在历史上还是第一次。
Elastic Universal Profiling™ 为性能优化、捕获回归、验证版本以及有助于节省云成本和二氧化碳排放提供了强大的见解。 凭借识别内核和用户空间级别的数据结构、内存分配和代码执行问题的洞察力,开发人员有能力捕获最难以捉摸的问题。 这种代码级可见性使开发人员能够回答关键的“什么”和“为什么”问题,例如:
- 为什么最近的代码更改会导致特定方法速度减慢?
- 最新版本引入了哪些意外的回归,以及如何及时解决这些问题?
- 与之前的版本相比,新版本在 CPU 消耗、云成本和二氧化碳排放方面如何?
- 如何微调第三方图书馆功能以满足绩效标准,同时与可持续发展目标保持一致?
借助 Elastic Universal Profiling™,开发人员可以专注于创新、优化和交付高效的应用程序,以满足性能、业务和环境可持续发展目标。
通用分析支持 PHP、Python、Java(或任何 JVM 语言)、Go、Rust、C/C++、Zig、Node.js/V8、Ruby 和 Perl。
FinOps 运营用例
想象一下,你知道代码的哪些部分负责计算成本,并且可以轻松构建单位成本指标,以指导工程师将精力集中在哪里,以提高利润并减少二氧化碳足迹。
Thomas Dullien,Elastic Observability 杰出工程师
Elastic Universal Profiling™ 为 FinOps 专业人员提供战略性管理成本所需的见解,使财务决策与绩效需求和可持续发展目标保持一致,使他们能够回答关键问题,例如:
- 如何在不影响性能的情况下降低云成本?
- 资源利用的趋势是什么?它们如何与我们的可持续发展目标保持一致?
- 提高效率并同时带来经济和环境效益的机会在哪里?
总而言之,就像汽车制造商监控装配线上每个组件的成本一样,Elastic Universal Profiling 可以更深入地洞察软件装配线的单位经济性。
通过 Elastic Universal Profiling 了解每一行代码(包括你不拥有的代码)如何影响你的销售成本 (COGS)。
借助 Universal Profiling™ 实现更高效的软件
计算效率一直是软件专业人员最关心的问题,但在每一行代码都影响底线和环境的时代,有一个新的理由来关注它。 提高软件效率可以带来更好的性能、更低的资源消耗、更低的成本和更低的排放。 高效的软件不仅有利于企业,而且有利于企业。 这对全球也有好处。
Elastic Universal Profiling™ 拥护这一原则,为你的整个舰队提供前所未有的见解。 通过将计算效率、成本洞察和环境可持续性融入软件开发的结构中,它满足了 SRE、开发人员和 FinOps 专业人员的需求。
与我们一起踏上可持续软件开发的激动人心的旅程。 现在就开始。
本文中描述的任何特性或功能的发布和时间安排均由 Elastic 自行决定。 当前不可用的任何特性或功能可能无法按时交付或根本无法交付。
原文:Elastic Universal Profiling™, a continuous profiling solution, is now GA | Elastic Blog