MCP Server 之旅第 7 站:助力 MCP 打破“黑盒困境”

简介: 通过本次升级,FC 函数计算与 OpenTelemetry 的深度融合实现了全链路透明化,覆盖从系统层到业务层的完整追踪,并基于统一的 W3C 协议标准打破数据孤岛,确保跨环境一致性。同时,动态采样策略的引入有效平衡了性能与成本,为可观测性提供经济高效的解决方案。

1.gif


背景


在分布式系统中,请求链路追踪(Trace) 是诊断性能瓶颈、定位故障的核心能力。近期,阿里云函数计算的 Tracing 能力由 2.0 的 Jeager 升级为 OpenTelemetry 标准的 W3C 协议,通过打通 FC 函数计算与可观测链路 OpenTelemetry 版的全链路观测能力,彻底打通了函数执行的全路径观测, 这不仅让用户能够清晰、直观地透视函数内部执行细节、上下游依赖关系及整个系统的交互行为,更关键的是打破了传统 Serverless 架构中的“黑盒”困境,清晰界定函数与外部服务(云服务、自建系统等)的业务边界,从而在复杂业务场景下显著提升问题排查效率与根因定位精度。


关键特性


1. 全链路透明化


  • FC 系统级 Span 透传:将 FC 内部组件(如调度器、冷启动模块)的关键生命周期事件以 Span 形式上报,覆盖函数调用全流程(调度→初始化→执行→释放)。
  • 业务 Span 与系统 Span 自动拼接:用户自定义业务逻辑(函数代码)的 Span 与 FC 系统 Span 自动拼接,形成端到端 Trace 视图,暴露潜在性能瓶颈(如冷启动耗时、资源争抢)。



2. 跨环境互通


  • 标准化协议支持:兼容 traceparent、tracestate、baggage 等 Header,确保 FC 函数与下游服务(如数据库、消息队列)的上下文无损传递。
  • 多环境互通:支持跨函数、跨服务、跨云厂商的 Trace 上下文透传,无缝集成已有 OpenTelemetry 生态工具链。


3. 动态成本控制


  • 灵活的采样率控制:支持通过函数配置调整采样率(如 1% 低负载采样,100% 故障排查采样),平衡数据量与资源开销。


使用场景


函数计算集成链路追踪后,可以快速定位 Serverless 场景下的性能瓶颈。以一个 langchain 作为 mcp-client 端,高德天气查询作为 mcp-server 端为例,一次查询天气的调用链路如下:可以清晰地看到冷启动信息、sse 连接,message 连接,以及 Agent 的调用信息。



1. 分析冷启动时间,优化代码


开启链路追踪后,开发者可以在 FC 控制台以及链路追踪控制台查看函数执行情况,请求在函数计算的时间消耗对开发者完全透明可见。


查看冷启动时间,如果 PrepareCode 时间比预期时间长,需要精简代码包;


使用自定义运行时和自定义镜像时,函数执行环境完全由用户自定义,RuntimeInitialization 时间比预期时间长则需要优化启动代码。



2. 快速定位异常请求根因


当有异常请求时,定位到对应 Trace 可查看异常信息,并利用 AI 运维助手分析 Trace。




3. 作为分布式链路的一环,追踪链路


当函数计算作为分布式链路中的一环时,函数计算链路追踪可以串联上下游服务,看到请求在各个步骤的延时。串联 mcp-client 和 mcp-server 端。



4. 使用 ARMS Python 探针监控 LLM 应用


为 LLM(Large Language Model)应用安装 Python 探针后,调用链分析功能将会对大模型应用的调用链信息进行分析,您可以在调用链分析页面查看大模型调用链中不同类型的 Span 耗时、以及 Span 的关联信息,例如 Input、Output、Token消耗等。



效果对比


场景

升级前

升级后

冷启动耗时分析

依赖日志拼凑,无法区分系统/业务耗时

可视化Span分段,精准定位瓶颈环节

跨服务调用追踪

上下文断裂,无法关联上下游

W3C Header透传,完整链路还原


总结


通过本次升级,FC 函数计算与 OpenTelemetry 的深度融合实现了全链路透明化,覆盖从系统层到业务层的完整追踪,并基于统一的 W3C 协议标准打破数据孤岛,确保跨环境一致性。同时,动态采样策略的引入有效平衡了性能与成本,为可观测性提供经济高效的解决方案。


未来,我们计划进一步扩展无侵入式监控能力,同时持续丰富可观测诊断工具集,通过智能分析和自动化诊断功能提升故障排查效率,助力用户构建更敏捷、更智能的运维体系。

相关文章
|
存储 XML JSON
consul 简易上手指南
consul 是一个用来做服务发现的框架,具有分布式、高可用以及可横向扩展的特性
|
Java Maven
Maven - Error:java: Annotation processing is not supported for module cycles. Please ensure that all
Maven - Error:java: Annotation processing is not supported for module cycles. Please ensure that all
2636 0
Maven - Error:java: Annotation processing is not supported for module cycles. Please ensure that all
|
消息中间件 中间件 Kafka
Kafka - TimeoutException: Expiring 1 record(s) for art-0:120001 ms has passed since batch creation
Kafka - TimeoutException: Expiring 1 record(s) for art-0:120001 ms has passed since batch creation
1900 0
|
8月前
|
人工智能 API 开发工具
HagiCode 为什么选择 Hermes 作为综合 Agent 核心
HagiCode 为什么选择 Hermes 作为综合 Agent 核心 在构建 AI 辅助编码平台时,选择合适的 Agent 核心直接决定了系统能力的天花板。毕竟有些事情,勉强不来——选错了框架,怎么折腾都不得劲。本文分享 HagiC...
790 3
|
存储 数据库
Union All:数据库查询的得力助手
Union All:数据库查询的得力助手
1153 4
|
前端开发 JavaScript Java
OpenTelemetry × Elastic Observability 系列(一):整体架构介绍
本文介绍了 OpenTelemetry Demo 的整体架构,并演示了如何借助 Elastic Observability 实现链路追踪、日志与指标的统一观测。
552 3
OpenTelemetry × Elastic Observability 系列(一):整体架构介绍
|
存储 监控 Java
微服务技术系列教程(42)- SpringCloud -Sleuth与Zipkin服务链路
微服务技术系列教程(42)- SpringCloud -Sleuth与Zipkin服务链路
692 0
|
Java 监控 自然语言处理
一站式链路追踪:阿里云的端到端解决方案
端到端链路追踪是覆盖全部关联 IT 系统,能够完整记录用户行为在系统间调用路径与状态的最佳实践方案。而真正实现端到端链路追踪,需要解决三个难题:链路插桩、链路采集与加工、链路上下文透传。阿里云 ARMS 目前已支持全链路端到端追踪,快来查看转发吧~
62354 124
|
XML 前端开发 JavaScript
Ajax与Axios,以及Apifox的入门使用
本文由blue编写于2025年3月20日,主要介绍了Ajax、Axios以及Apifox的入门使用。文章首先讲解了Ajax的概念与作用,通过原生代码示例展示了如何实现异步数据交互;接着引入Axios,说明其对Ajax的封装简化了开发流程,并给出Axios实现相同功能的代码;最后详细讲述了Apifox的基本用法,包括创建接口、设置参数及生成Mock数据,为前后端开发提供了便利工具。
658 0
|
数据可视化 Java Nacos
Sleuth+Zipkin 实现 SpringCloud 链路追踪
【8月更文挑战第9天】Sleuth+Zipkin 实现 SpringCloud 链路追踪
1045 1
Sleuth+Zipkin 实现 SpringCloud 链路追踪