团队暂时没有条件部署 SkyWalking

简介: 本文详解APM链路追踪核心实践:先定位慢在哪一跳。通过SkyWalking开箱即用方案(Java零侵入Agent接入)或自研轻量方案(MDC+AOP日志埋点),快速生成耗时瀑布图,将3.2秒慢请求精准定位至2.35秒SQL,大幅提升性能排查效率。(239字)

重点一:APM 链路追踪 —— 先确定慢在哪一跳
1.1 排查思路
一个请求的典型链路是:

网关 → 服务A(业务逻辑) → 服务B(RPC调用) → MySQL → Redis
慢接口排查的第一步不是看日志,而是把整条链路的耗时拆解出来。链路追踪(Distributed Tracing)就是为这件事而生的:每个请求携带一个全局 TraceId,每经过一个节点产生一个 Span,记录该节点的开始时间和耗时。

1.2 接入 SkyWalking(开箱即用方案)
SkyWalking 是 Apache 开源的 APM 工具,Java 服务接入只需加一个 Agent 参数,零代码侵入:

启动命令中挂载 agent

java -javaagent:/path/to/skywalking-agent/skywalking-agent.jar \
-Dskywalking.agent.service_name=order-service \
-Dskywalking.collector.backend_service=127.0.0.1:11800 \
-jar order-service.jar
接入后在 UI 的 Trace 页面可以看到这样的耗时瀑布图:

/order/detail 3200ms ├──────────────────────────────┤
├─ OrderService.detail 180ms ├──┤
├─ UserRPC.getUser 2400ms ├───────────────────┤
│ └─ MySQL.select 2350ms ├────────────────┤ ← 慢在这里
└─ Redis.get 12ms ├┤
一眼就能看出:总耗时 3.2 秒,其中 2.4 秒花在一次 RPC 调用上,而 RPC 内部又有 2.35 秒是一条 SQL。排查范围瞬间从"整个系统"缩小到"一条 SQL"。

1.3 没有 APM 时的自建轻量方案
如果团队暂时没有条件部署 SkyWalking,可以用 MDC + AOP 自建一个简化版,把每个环节的耗时打到日志里:

/**

  • 基于 AOP 的链路耗时埋点:在关键方法上标注 @TraceSpan 即可记录耗时
    */
    @Aspect
    @Component
    @Slf4j
    public class TraceSpanAspect {
@Around("@annotation(traceSpan)")
public Object around(ProceedingJoinPoint pjp, TraceSpan traceSpan) throws Throwable {

    String spanName = traceSpan.value();
    String traceId = MDC.get("traceId");  // 由网关过滤器统一塞入
    long start = System.currentTimeMillis();

    try {

        return pjp.proceed();
    } finally {

        long cost = System.currentTimeMillis() - start;
        // 统一格式输出,方便用 ELK 做聚合分析
        log.info("SPAN|{}|{}|{}ms", traceId, spanName, cost);
    }
}

}

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface TraceSpan {

String value();

}
在业务方法上使用:

@Service
public class OrderService {

@TraceSpan("OrderService.detail")
public OrderDetailVO detail(Long orderId) {

    UserDTO user = userRpcClient.getUser(orderId);   // RPC 调用
    OrderDO order = orderMapper.selectById(orderId); // DB 查询
    return assemble(user, order);
}

}
同时在网关层加一个过滤器生成 TraceId:

@Component
public class TraceIdFilter implements Filter {

@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
        throws IOException, ServletException {

    String traceId = UUID.randomUUID().toString().replace("-", "").substring(0, 16);
    MDC.put("traceId", traceId);
    try {

        chain.doFilter(req, res);
    } finally {

        MDC.remove("traceId");  // 防止线程复用导致 traceId 串号
    }
}

}
这样用 grep "SPAN|abc123" app.log 就能还原一次请求各环节的耗时分布。

本阶段结论:链路追踪解决的是"定位"问题。找到耗时占比最高的那一跳之后,才进入下一阶段。






相关文章
|
2月前
|
人工智能 自然语言处理 数据挖掘
Data Agent 落地的下半场:让企业学会与 AI 协作
Data Agent 落地的上半场,是建设 AI-Ready Data;下半场,是建设 Agent-Ready Organization。上半场决定 Agent 能不能进入企业,下半场决定 Agent 能不能真正融入工作、形成规模,并持续创造价值。
|
2月前
|
SQL JSON 运维
一条SQL同时处理结构化条件和非结构化语义匹配。
本文对比智能客服场景下向量检索的两种架构:独立向量库 vs 内置向量的关系型数据库。结合5万知识库、日增数百条、QPS 20+的实际需求,剖析二者在数据一致性、运维成本、查询性能与扩展性上的真实差异,指出多数创业团队无需“为技术而技术”,关系库向量化已足够成熟可靠。(239字)
150 0
|
1月前
|
人工智能 安全 Shell
让 DeepSeek Harness 安全读懂 Git:dsh-plugin-git-inspect
一个面向 DeepSeek Harness 的只读 Git 检查插件,提供状态、差异、提交、冲突、blame、stash 和 worktree 等 10 个工具,并限制命令范围、输出大小和执行时间。
|
2月前
|
人工智能 搜索推荐 知识图谱
2026 GEO实战指南:让AI搜索引擎正确引用你的技术文章
GEO(生成式引擎优化)是面向LLM检索-推理-生成链路的信息组织工程,聚焦语义分块、结构化数据(Schema)、引用可信度与实体关系构建,提升内容在AI搜索引擎中的召回率与引用率,非SEO替代品,而是机器可读性的新基础设施。
347 1
|
2月前
|
人工智能 数据挖掘 数据安全/隐私保护
不会写提示词?用 4 个要素把 AI 用进日常办公
以会议纪要、周报和邮件为例,介绍用“对象、材料、要求、输出格式”四个要素编写办公提示词,并提供可复用模板与数据安全核对清单。
|
2月前
|
人工智能 分布式计算 DataWorks
阿里云大数据 AI 产品月刊-2026年6月
阿里云大数据& AI 产品技术月刊【2026 年 6 月】,涵盖 6 月技术速递、产品和功能发布、市场和客户应用实践等内容,帮助您快速了解阿里云大数据& AI 方面最新动态。
|
28天前
|
弹性计算 Linux
阿里云轻量应用服务器68元配置及购买条件,200M峰值带宽限速吗?
阿里云轻量应用服务器新人专享价68元/年:2核2G、40GB ESSD、200M峰值带宽(出入共享,非保底)、不限流量,支持宝塔等一键镜像。仅限新用户,地域与库存以官网实时为准。阿里云官方活动:https://t.aliyun.com/U/hvVXIF
|
6月前
|
SQL Java API
Agent 越用越聪明?AgentScope Java 在线训练插件来了!
使用AgentScope Java + Trinity-RFT 在线训练优化你的Agent,让你的Agent边运行边进化。
1592 48
|
30天前
|
人工智能 数据可视化 API
阿里云百炼大模型平台完整解析:核心功能、计费体系与实操落地全指南
随着大模型技术快速落地,大量开发者、中小企业都在寻找一套一站式的大模型开发应用平台,不需要投入高额硬件成本,就可以完成模型调用、智能体搭建、知识库问答、模型微调等一系列工作。阿里云百炼作为一站式大模型服务平台,整合了自研系列大模型以及众多第三方开源闭源模型,把模型推理、应用搭建、数据集管理、模型调优、API服务全部封装在统一控制台中,降低AI应用落地的技术门槛,不管是个人开发者做原型验证,还是企业做业务系统集成,都可以在此平台完成全链路的开发工作。很多刚接触平台的使用者,容易混淆不同订阅方案的差异,不清楚各类模型适用场景,同时在API对接、权限配置、成本管控方面踩坑,本文将从平台核心功能、计费
357 1