skywalking从入门到精通(二)-性能剖析

一、简介

skywalking 的 性能剖析 能够很好地的帮我们分析出来,具体那个服务的哪段代码耗时,性能剖析默认是没有任何数据,此时需要点击一下右上角的 刷新 按钮,这样 服务 下拉列表就会展示 我们已经接入skywalking的服务。
注意的是 skywalking 8.9.1 好像只能对个单个服务进行性能剖析,且还不支持对 gateway的剖析。
在这里插入图片描述

二、性能剖析

2.1 新建任务

skywalking并不会主动帮我们进行性能剖析,我想大概率是因为这样会影响程序性能吧,所以我们需要新建 性能剖析任务。
注意

  1. 端点名称(接口)前面一定要把请求方式(GET:)加上,否者也不会被监控到。这个是个巨坑,我搞了一天才实验出来。
  2. 进行性能剖析的接口一定不要选用响应很快(官方中文翻译文档关于性能剖析的介绍),这样skywalking并不会采集到数据,所以我在代码故意加了下面一段。,请求一个并不存在网站,以及让线程睡眠了500ms。
    @GetMapping("/testProfile")
    public GoodsEntity testProfile(){
        GoodsEntity goodsEntity = new GoodsEntity();
        goodsEntity.setGoodsId(1);
        goodsEntity.setGoodsName("iphone 14 pro max 1TB");
        goodsEntity.setGoodsPrice(9999.99D);
        增加线程休眠,否则skywalking无法采集到数据
        try {
            HttpUtil.get("https://www.youtube.com/watch?v=mfKaToAKl7k",500);

        } catch (Exception e) {
            log.info(e.getMessage(),e);
        }
        try {
            Thread.sleep(500);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        return goodsEntity;
    }

在这里插入图片描述

官方中文翻译文档关于性能剖析的介绍 也可以注意下图的说法:
在这里插入图片描述

2.2 发起请求

新建完成以后我们可以 多请求几次: http://localhost:9010/ratel-goods/goods/testProfile
在这里插入图片描述

我们往下翻一下分析结果不难发现,就是因为请求一个不存在的网站(根据我们项目代码包名(com.ratel.goods.controller)和耗时分析较长的步骤(堆栈分析蓝色高亮部分)可以快速定位到确实是43行)以及线程睡眠(代码的49行),所以我们整个接口的响应时间变长了。
在这里插入图片描述
在这里插入图片描述

三、下一篇

下一篇:skywalking从入门到精通(三)-日志收集

四、官方skywalking-ui介绍文档

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

T-OPEN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值