首页 > 其他分享 >使用Spring的StopWatch类优雅打印方法执行耗时

使用Spring的StopWatch类优雅打印方法执行耗时

时间:2024-06-20 13:59:46浏览次数:27  
标签:Thread Spring sw stop 耗时 sleep StopWatch public

在做开发的时需要统计每个方法的执行消耗时间,或者记录一段代码执行时间,最简单的方法就是打印当前时间与执行完时间的差值,然后这样如果执行大量测试的话就很麻烦,并且不直观,然而使用使用Spring的StopWatch类就可以优雅打印方法执行耗时间
简单的Demo

import org.springframework.util.StopWatch;  
  
public class SpringStopWatchExample {  
  
    public static void main (String[] args) throws InterruptedException {  
        StopWatch sw = new StopWatch();  
        sw.start();  
        //long task simulation  
        Thread.sleep(1000);  
        sw.stop();  
        System.out.println(sw.getTotalTimeMillis());  
    }  
}

打印同个方法多个代码块的执行消耗时间


import org.springframework.util.StopWatch;  
  
public class SpringStopWatchExample2 {  
  
    public static void main (String[] args) throws InterruptedException {  
        StopWatch sw = new StopWatch();  
        sw.start("A");  
        Thread.sleep(1000);  
        sw.stop();  
        sw.start("B");  
        Thread.sleep(200);  
        sw.stop();  
        sw.start("C");  
        Thread.sleep(500);  
        sw.stop();  
        System.out.println(sw.prettyPrint());  
    }  
}

 

输入结果

StopWatch '': running time (millis) = 1031  
-----------------------------------------  
ms     %     Task name  
-----------------------------------------  
00514  100%   A  
00302  0200%  B  
00215  0500%  C

StopWatch常用方法
getTotalTimeSeconds() 获取总耗时秒,同时也有获取毫秒的方法
prettyPrint() 优雅的格式打印结果,表格形式
shortSummary() 返回简短的总耗时描述
getTaskCount() 返回统计时间任务的数量
getLastTaskInfo().getTaskName() 返回最后一个任务TaskInfo对象的名称

标签:Thread,Spring,sw,stop,耗时,sleep,StopWatch,public
From: https://blog.csdn.net/2301_80488214/article/details/139830699

相关文章

  • Spring5中常用的注解说明
    用于创建对象的注解相当于:<beanid=""class="">1.1@Component注解作用:把资源让 spring 来管理。相当于在 xml 中配置一个 bean。属性:value:指定bean的 id。如果不指定 value 属性,默认 bean 的 id 是当前类的类名。首字母小写。1.2@Controller @Servic......
  • 【毕业设计】基于Springboot的酒店管理系统的设计与实现
    1.项目概述随着社会经济不断的发展,很多行业都发生了很大的变化,各种管理系统层出不穷,关于酒店管理系统也是其中的一种。近几年来,随着各行各业计算机智能化管理的转型,以及人们经济实力的提升,人们对于酒店住宿的需求不断的提升,用户的增多导致酒店管理信息的不断增多,于是酒店管理......
  • 【毕业设计】基于SpringBoot的人力资源管理系统的设计与实现
    1.项目概况在如今这个人才需求量大的时代,各方企业为了永葆企业的活力与生机,在不断开拓进取的同时,又广泛纳用人才,为企业的长久发展奠定了基础。于是,各个企业与部门机构,都不可避免地会接触到人力资源管理的问题。人力资源管理系统,其主要功能模块有员工个人信息修改、请假、员工......
  • IDEA~安装spring-javaformat插件
    相关文章springboot~代码风格统计spring-javaformat-maven-plugin插件springboot~spring-javaformat插件惹的祸说明在项目中,我们可以通过安装maven插件,spring-javaformat来达到代码统一的目的,而在idea中,为了与maven插件保持一致,我们最好也安装一个这个插件插件地址https:/......
  • Springboot 权限认证框架 -- SA-Token 简介(一)
    引言现今的软件开发中,权限认证与访问控制是每一个应用都必不可少的功能。SA-Token是一个简单、安全、易用的权限认证框架,它主要解决登录认证、权限认证、Session会话、单点登录等功能。SA-Token以其轻量级、零学习成本的特点,迅速赢得了开发者的青睐。本文将介绍如何在Sprin......
  • 基于springboot实现课程答疑管理系统项目【项目源码+论文说明】计算机毕业设计
    摘要随着信息互联网信息的飞速发展,无纸化作业变成了一种趋势,针对这个问题开发一个专门适应师生交流形式的网站。本文介绍了课程答疑系统的开发全过程。通过分析企业对于课程答疑系统的需求,创建了一个计算机管理课程答疑系统的方案。文章介绍了课程答疑系统的系统分析部分......
  • 基于springboot实现宠物咖啡馆平台管理系统项目【项目源码+论文说明】计算机毕业设计
    摘要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了基于SpringBoot的宠物咖啡馆平台的设计与实现的开发全过程。通过分析基于SpringBoot的宠物咖啡馆平台的设计与实现管理的不足,创建了一个计算机管理基于SpringBoot的......
  • Spring Environment 容器环境变量注入Spring属性不一致却能生效
    https://blog.csdn.net/fenglllle/article/details/126942480 前言最近使用容器部署应用,Spring应用,会注入一些环境变量,然而这些环境变量的大小写和真实的取值差异很大,而且也不是xxx.xxx,而是xxx_xxx,非常奇怪,代码里也没发现原因。通过分析Spring源码发现,原理就是Spring的特殊处理......
  • 深入理解微服务架构 - Spring Cloud
    目录一SpringCloud概述什么是SpringCloud?为什么选择SpringCloud?二SpringCloud的核心组件SpringCloudConfig概述工作原理示例代码SpringCloudNetflixEureka概述工作原理示例代码SpringCloudRibbon概述工作原理示例代码SpringCloudHystrix概述......
  • Java项目-基于SpringCloud+springboot+vue的分布式架构网上商城系统(源码+数据库+文档
    源码获取:https://download.csdn.net/download/u011832806/89440647基于SpringCloud+SpringBoot+Vue的分布式架构网上商城系统   开发语言:Java   数据库:MySQL   技术:SpringCloud+SpringBoot+MyBatis+Vue.js+eureka   工具:IDEA/Ecilpse、Navicat、Maven经......