Home  >  Article  >  Java  >  How to count code execution time in Springboot

How to count code execution time in Springboot

WBOY
WBOYforward
2023-05-16 08:40:211310browse

    Start System.currentTimeMillis() minus End System.currentTimeMillis() equals Time consuming

    In fact, I personally feel that it is OK , that’s pretty good, and many projects use it this way.

    Simple is good.

    How to count code execution time in Springboot

    Text

    ① StopWatch

    The first way to play, the StopWatch

    sample code provided in spring util:

    StopWatch stopWatch = new StopWatch();
    stopWatch.start();
    //doInsert();
    //执行业务等
    stopWatch.stop();
    System.out.println(stopWatch.getTotalTimeMillis());

    Effect:

    How to count code execution time in Springboot

    ② System.nanoTime()

    The second way to play System.nanoTime()

    Don’t worry about how to use it first. After we finished reading the first StopWatch, did any of you think about the statistical time-consuming of this spring package? How did you achieve it?

    Digression:

    We must develop this kind of radiant thinking. Many brothers and friends have given me feedback on some topics, that is, there is nothing in the project. Learnable.

    Actually, this is normal. The working process is not a teaching process. You have to dig vertically and horizontally distribute learning thinking.

    Just click on the source code of StopWatch to take a look. Oh, the principle is to use System.nanoTime():

    How to count code execution time in Springboot

    System.nanoTime() code usage example:

            long startTime = System.nanoTime();
            doInsert();
            //执行业务
            long endTime = System.nanoTime();
            System.out.println((endTime - startTime));

    Effect:

    How to count code execution time in Springboot

    ##③ new Date ()

    The third way to play, usually Occasionally I see others writing new Date like this

    Sample code:

            Date startDate = new Date();
           // doInsert();
           //执行业务等
            Date endDate = new Date();
            System.out.println((endDate.getTime() - startDate.getTime()));

    Effect:

    How to count code execution time in Springboot

    ④ System.currentTimeMillis()

    Omitted

    ps: StopWatch is actually more than just closing the time-consuming statistics, this is too much. . .

    actually encapsulates many other functions related to time statistics (those who are interested can study it separately, especially refer to the author’s packaging ideas):

    • void start("task name"): Start timing for a task name

    • void stop(): Stop timing for the current task

    • boolean isRunning(): Whether a task is being timed

    • long getTotalTimeMillis(): All The overall execution time of the task (in milliseconds)

    • ##double getTotalTimeSeconds()

      : The total time of all tasks (in seconds)

    • long getLastTaskTimeMillis()

      : The time taken by the previous task (in milliseconds)

    • int getTaskCount()

      : Timing Number of tasks

    • String prettyPrint()

      : Beautifully print the detailed time-consuming status of all tasks

    • StopWatch.TaskInfo[] getTaskInfo()

      : Entity class array containing task name and task time consumption

    The above is the detailed content of How to count code execution time in Springboot. For more information, please follow other related articles on the PHP Chinese website!

    Statement:
    This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete