精华内容
下载资源
问答
  • 1 viakiba 325 天前 Sleuth + Zipkin 2 ayonel 325 天前 这些是监控系统干的活,国内比较好的是 CAT,但是系统比较庞大。或者 metrics,比较轻量。... java 平台 spri...
       

        1

    viakiba   325 天前

    Sleuth + Zipkin

    ayonel  

        2

    ayonel   325 天前

    这些是监控系统干的活,国内比较好的是 CAT,但是系统比较庞大。或者 metrics,比较轻量。https://github.com/dropwizard/metrics

    msaionyc  

        3

    msaionyc   325 天前

    java 平台 spring aop 做这种事情很容易了吧

    hihipp  

        4

    hihipp   325 天前

    https://skywalking.apache.org/zh/

    lihongjie0209  

        5

    lihongjie0209   325 天前

    自己写一个拦截器不就好了

    w292614191  

        6

    w292614191   325 天前

    druid 可以监控以下内容:
    SQL 监控
    SQL 防火墙
    Web 应用
    URI 监控
    Session 监控
    Spring 监控
    JSON API

       

        7

    xiaoyaojc   325 天前

    如果只是这些需求,自己做个 aop 就得了,打个 log,自己统计下就完事了

    Varobjs  

        8

    Varobjs   325 天前 via Android

    日志做好,分析日志就可以吧

    whp1473  

        9

    whp1473   325 天前

    普罗米修斯

    aitaii  

        10

    aitaii   325 天前 via iPhone

    prometheus

    gz911122  

        11

    gz911122   325 天前

    普罗米修斯 + 1

    seanxx  

        12

    seanxx   325 天前

    aop + metric
    我们项目就在用

       

        13

    quadrapop   325 天前

    一般用日志就能实现,不过有框架的-_-

    yannanfei  

        14

    yannanfei   325 天前

    per4j 可以统计调用量,平均耗时等

       

        15

    Aresxue   325 天前

    简单点就 aop,还想要高性能和扩展性就用 JVMTI, 比如 Instrumentation (编码复杂度要高很多)

    luozic  

        16

    luozic   324 天前

    前面搞个 api gateway 啥都齐了,不要在一个里面搞太多东西。

    phantomzz  

        17

    phantomzz   324 天前 via Android

    Metrics:Prometheus actuator micrometer
    Tracing:jaeger zipkin pinpoint

    conn4575  

        18

    conn4575   324 天前 via Android

    java 的话就用 cat 吧,其他语言用 prometheus

    ohyeahhh  

        19

    ohyeahhh   324 天前

    谢谢各位,我搞了个拦截器,嘿嘿

       

        20

    jiaozongguan   321 天前 via Android

    apache 日志了解下

    展开全文
  • 一、访问量与响应时间统计工具。 1、能让你知道当前服务上的接口单位时间内访问量是多少,总的响应时间是多少 2、通过1里的数据,你能知道哪个接口反应慢,如果服务假死,能根据它来快速判断哪些接口搞死了服务...
  • 在学习了plotly的Time Series 时间序列图标之后,绘制了一张接口响应耗时的图标,分享代码,供大家参考。下面是从数据库读取数据的java代码:JSONObject data = new JSONObject(); ResultSet resultSet = ...

    本人在做工作中,要对某一个接口的响应耗时进行一个长期的统计,由于之前的数据全都写在了数据库中,统计了半年多的数据。在学习了plotly的Time Series 时间序列图标之后,绘制了一张接口响应耗时的图标,分享代码,供大家参考。

    下面是从数据库读取数据的java代码:

    JSONObject data = new JSONObject();
            ResultSet resultSet = MySqlTest.excuteQuerySql("SELECT DATE(create_time),AVG(elapsed_time) *1000 FROM request_record WHERE api_name in("/service/user/v3/login/mobile/v5","/service/user/v3/login/mobile/v4") GROUP BY DATE(create_time) ORDER BY DATE(create_time);");
            while (resultSet.next()) {
                String name = resultSet.getString(1);
                double time = resultSet.getDouble(2);
                data.put(name, time);
            }
            resultSet.close();
            Save.saveJsonList(data, "apitime");

    下面是读取文件的方法和生成表格的调用类的代码:

    #!/usr/bin/python
    # coding=utf-8
     
    from first.date import DatePlot
     
     
    class Fission:
        x = []
        y = []
        z = []
     
        def __init__(self):
            print "欢迎使用fission类!"
     
        def getData(self, name):
            size = 0;
            with open("/Users/Vicky/Documents/workspace/api_test/long/" + name + ".log") as apidata:
                for i in apidata:
                    data = i.split("rn")[0]
                    time = float(data)
                    if time > 2: continue
                    self.z.append(data)
                    size += 1;
            length = size;
            for i in range(length):
                self.x.append(name + "线程")
     
        def getDataMarkLine(self, name):
            with open("/Users/Vicky/Documents/workspace/api_test_najm/long/" + name + ".log") as apidata:
                for i in apidata:
                    data = i.split("rn")[0].split("|")
                    day = data[0]
                    time = float(data[1])
                    self.x.append(day)
                    self.y.append(time)
            return [self.x, self.y]
     
     
    if __name__ == "__main__":
        fission = Fission()
        a = fission.getDataMarkLine("apitime")
        DatePlot.MakePlot(a[0], a[1], "time")

    下面是生成时间序列表的封装类(我保留了多条折现的方法以及注释了显示规定日期间隔数据的方法):

    #!/usr/bin/python
    # coding=utf-8
     
    import plotly.graph_objs as drive
    import plotly.plotly
     
     
    class DatePlot:
        def __init__(self):
            print "时间表格!"
     
        @staticmethod
        def MakePlot(x, y, titile):
            a = drive.Scatter(
                x=x,
                y=y,
                name="SSSSS",
                line=dict(color='#17BECF'),
                opacity=1
            )
     
            b = drive.Scatter(
                x=["2016-02-20", "2016-02-21", "2016-02-23"],
                y=[28.04, 20, 33],
                name="AAAAA",
                line=dict(color='#7F7F7F'),
                opacity=0.8
            )
     
            data = [a]
     
            layout = dict(
                title=titile,
                # xaxis=dict(
                #     range=['2018-07-01', '2018-07-20'])
            )
            fig = dict(data=data, layout=layout)
            plotly.offline.plot(fig, filename=titile + ".html")

    下面是效果图:

    50e67ea1d4bd15995d84b044e0b2b0c6.png

    技术类文章精选

    • java一行代码打印心形
    • Linux性能监控软件netdata中文汉化版
    • 接口测试代码覆盖率(jacoco)方案分享
    • 性能测试框架
    • 如何在Linux命令行界面愉快进行性能测试
    • 图解HTTP脑图
    • 将swagger文档自动变成测试代码
    • 五行代码构建静态博客
    • 基于java的直线型接口测试框架初探

    非技术文章精选

    • 为什么选择软件测试作为职业道路?
    • 写给所有人的编程思维
    • 自动化测试的问题所在
    • 成为优秀自动化测试工程师的7个步骤
    • 未来10年软件测试的新趋势-上
    • 未来10年软件测试的新趋势-上
    • 手动测试存在的重要原因
    • 成为自动化测试的7种技能

    大咖风采

    • Tcloud 云测平台--集大成者
    • Android App 测试工具及知识大集合
    • 4399AT UI自动化CI与CD
    • Android App常规测试内容
    • JVM的对象和堆
    展开全文
  • 在学习了plotly的Time Series 时间序列图标之后,绘制了一张接口响应耗时的图标,分享代码,供大家参考。 下面是从数据库读取数据的java代码: 本人在做工作中,要对某一个接口的响应耗时进行一个长期的统计,...

    本人在做工作中,要对某一个接口的响应耗时进行一个长期的统计,由于之前的数据全都写在了数据库中,统计了半年多的数据。在学习了plotly的Time Series 时间序列图标之后,绘制了一张接口响应耗时的图标,分享代码,供大家参考。

    下面是从数据库读取数据的java代码:

    本人在做工作中,要对某一个接口的响应耗时进行一个长期的统计,由于之前的数据全都写在了数据库中,统计了半年多的数据。在学习了plotly的Time Series 时间序列图标之后,绘制了一张接口响应耗时的图标,分享代码,供大家参考。

     

    下面是从数据库读取数据的java代码:

    下面是生成时间序列表的封装类(我保留了多条折现的方法以及注释了显示规定日期间隔数据的方法):

    下面是效果图:

     

    展开全文
  • 价值快速定位性能瓶颈快速定位故障原因优势高性能: 单线程支持每秒 1600 万次 响应时间的记录,每次记录只花费 63 纳秒无侵入: 采用 JavaAgent 方式,对应用程序完全无侵入,无需修改应用代码低内存: 采用内存复用...

    MyPerf4J

    一个针对高并发、低延迟应用设计的高性能 Java 性能监控和统计工具。

    68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f4c696e5368756e4b616e672f4d7950657266344a2f616c6c2e73766768747470733a2f2f7472617669732d63692e636f6d2f4c696e5368756e4b616e672f4d7950657266344a2e7376673f6272616e63683d646576656c6f7068747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f4c696e5368756e4b616e672f4d7950657266344a2f62616467652e7376673f6272616e63683d646576656c6f7068747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f4c696e5368756e4b616e672f4d7950657266344a2e73766768747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d636c6f7365642f4c696e5368756e4b616e672f4d7950657266344a2e73766768747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f4c696e5368756e4b616e672f4d7950657266344a2e737667

    价值

    快速定位性能瓶颈

    快速定位故障原因

    优势

    高性能: 单线程支持每秒 1600 万次 响应时间的记录,每次记录只花费 63 纳秒

    无侵入: 采用 JavaAgent 方式,对应用程序完全无侵入,无需修改应用代码

    低内存: 采用内存复用的方式,整个生命周期只产生极少的临时对象,不影响应用程序的 GC

    高实时: 支持秒级统计,最低统计粒度为 1 秒,并且是全量统计,不丢失任何一次记录

    文档

    监控指标

    MyPerf4J 为每个应用收集数十个监控指标,所有的监控指标都是实时采集和展现的。

    下面是 MyPerf4J 目前支持的监控指标列表:

    快速启动

    MyPerf4J 采用 JavaAgent 配置方式,透明化接入应用,对应用代码完全没有侵入。

    下载

    阅读解压出的 README 文件

    修改解压出的 MyPerf4J.properties 配置文件中 AppName、IncludePackages 和 xxxMetricsFile 的配置值

    查看配置文件模板。想了解更多的配置?请看这里

    配置

    在 JVM 启动参数里加上以下两个参数

    -javaagent:/path/to/MyPerf4J-ASM.jar

    -DMyPerf4JPropFile=/path/to/MyPerf4J.properties

    形如:java -javaagent:/path/to/MyPerf4J-ASM.jar -DMyPerf4JPropFile=/path/to/MyPerf4J.properties -jar yourApp.jar

    运行

    启动应用,监控日志输出到 /path/to/log/method_metrics.log:

    MyPerf4J Method Metrics [2020-01-01 12:49:57, 2020-01-01 12:49:58]

    Method[6] Type Level TimePercent RPS Avg(ms) Min(ms) Max(ms) StdDev Count TP50 TP90 TP95 TP99 TP999 TP9999

    DemoServiceImpl.getId2(long) General Service 322.50% 6524 0.49 0 1 0.50 6524 0 1 1 1 1 1

    DemoServiceImpl.getId3(long) General Service 296.10% 4350 0.68 0 1 0.47 4350 1 1 1 1 1 1

    DemoServiceImpl.getId4(long) General Service 164.60% 2176 0.76 0 1 0.43 2176 1 1 1 1 1 1

    DemoServiceImpl.getId1(long) General Service 0.00% 8704 0.00 0 0 0.00 8704 0 0 0 0 0 0

    DemoDAO.getId1(long) DynamicProxy DAO 0.00% 2176 0.00 0 0 0.00 2176 0 0 0 0 0 0

    DemoDAO.getId2() DynamicProxy DAO 0.00% 2176 0.00 0 0 0.00 2176 0 0 0 0 0 0

    卸载

    在 JVM 启动参数中去掉以下两个参数,重启即可卸载此工具。

    -javaagent:/path/to/MyPerf4J-ASM.jar

    -DMyPerf4JPropFile=/path/to/MyPerf4J.properties

    构建

    您可以自行构建 MyPerf4J-ASM.jar

    git clone git@github.com:LinShunKang/MyPerf4J.git

    mvn clean package

    MyPerf4J-ASM-${MyPerf4J-version}.jar 在 MyPerf4J-ASM/target/ 目录下

    问题

    如果您有任何问题、疑问或者建议,您可以 提交Issue 或者 发送邮件 :)

    注意,为了保障大家的时间,请保证您已经完整阅读过以下内容:

    已知用户

    Boss_300x300.png?raw=true    

    Lever.jpeg?raw=true    

    dianzhang_303x303.jpeg?raw=true

    项目捐赠

    如果 MyPerf4J 对您有帮助,可以使用微信扫描下面的赞赏码,请我喝杯咖啡 : )

    WechatIMG16.jpeg?raw=true

    参考项目

    MyPerf4J 是受以下项目启发而来:

    更多信息

    展开全文
  • Kuaishou-KcodeK-Code快手程序设计大赛,对服务调用日志数据进行统计分析,衡量... 响应时间的衡量标准有P99, P50, AVG, MAX等,分别对应99分位响应时间,中位数时间,平均响应时间和最长耗时。 题目内容实现一个...
  • MyPerf4J: GitHub地址一个极快的Java接口性能监控和...多语言文档English WIKI中文背景我需要一个能统计接口响应时间的程序perf4j现有的统计结果不能满足我的需求需求能统计出接口的RPS、Avg、Min、Max、StdDev、...
  • MyPerf4J: GitHub地址一个极快的Java接口性能监控和...多语言文档English WIKI中文背景我需要一个能统计接口响应时间的程序perf4j现有的统计结果不能满足我的需求需求能统计出接口的RPS、Avg、Min、Max、StdDev、...
  • 给第三方提供接口,每个接口都需要统计响应时间2.Map和Bean的转化统计响应时间 大致思路如下1.给用户提供统一接口,将具体方法和参数放到post的参数中,传过来。2.服务器响应后,记录当前时间。3.判断方法参数是否...
  • 假如我有一个订单相关的统计接口,需要返回3样数据:今日订单数、今日交易额、总交易额。 一般的我们的做法是串行调用3个函数,把调用返回的结果返回给调用者,这3次调用时串行执行的,如果每个调用耗时1秒的话,3...
  • java反射机制简单应用

    2017-02-21 15:32:59
    真正用到的是这样一个需求,给第三方提供接口,每个接口都需要统计响应时间 大致思路如下 1.给用户提供统一接口,将具体方法和参数放到post的参数中,传过来。 2.服务器响应后,记录当前时间。 3.判断方法参数是否...
  • 1.接口返回信息使用jmeter插件的统计接口的请求数、响应时间、平均响应时间、TPS、错误率等指标2.服务器负载使用jmeter插件统计服务器cpu、内存、硬盘IO、网络IO的趋势图3.jvm性能指标a.) jmap -heap pid 查看堆内存...
  • 前后端都加以控制,做到按钮/接口级别的权限。 快速开发脚手架 RuoYi :RuoYi 一款基于基于 SpringBoot 的权限管理系统 易读易懂、界面简洁美观,直接运行即可用 。 ruoyi-vue-pro : 基于 SpringBoot,Spring ...
  • java开源包1

    千次下载 热门讨论 2013-06-28 09:14:34
    Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
  • java开源包12

    热门讨论 2013-06-28 10:14:45
    Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
  • Java资源包01

    2016-08-31 09:16:25
    Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
  • java开源包101

    2016-07-13 10:11:08
    Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
  • java开源包11

    热门讨论 2013-06-28 10:10:38
    Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
  • java开源包2

    热门讨论 2013-06-28 09:17:39
    Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
  • java开源包3

    热门讨论 2013-06-28 09:20:52
    Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
  • java开源包6

    热门讨论 2013-06-28 09:48:32
    Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
  • java开源包5

    热门讨论 2013-06-28 09:38:46
    Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
  • java开源包10

    热门讨论 2013-06-28 10:06:40
    Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
  • java开源包4

    热门讨论 2013-06-28 09:26:54
    Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
  • java开源包8

    热门讨论 2013-06-28 09:55:26
    Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
  • java开源包9

    热门讨论 2013-06-28 09:58:55
    Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
  • java开源包7

    热门讨论 2013-06-28 09:52:16
    Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
  • 比如接口每秒响应次数要求1000次/秒,就需要平均每次请求处理的时间在1ms以内,如果需要满足这个指标,就需要在开发阶段对接口执行函数进行监控,也可以通过打印日志进行监控,从而统计对应的性能指标,然后可以根据...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
    显示出当前时间及年份,还可以选择年份及月份和日期 Java编写的HTML浏览器 一个目标文件 摘要:Java源码,网络相关,浏览器  Java编写的HTML浏览器源代码,一个很简单甚至不算是浏览器的HTML浏览器,使用方法:  可...
  • JAVA+JSP的聊天室 8个目标文件 简单 JavaScript万年历 显示出当前时间及年份,还可以选择年份及月份和日期 Java编写的HTML浏览器 一个目标文件 摘要:Java源码,网络相关,浏览器 Java编写的HTML浏览器源代码,一个很...

空空如也

空空如也

1 2 3 4 5 6
收藏数 112
精华内容 44
关键字:

java统计接口响应时间

java 订阅