I'm looking to track the response times of API calls. I then want to plot the response times of the calls( GET, PUT, POST DELETE) on a graph afterwards to compare the time differences.
This is what I'm currently doing to find the response time of a GET call but I'm not quite sure if it's right.
@RequestMapping(value="/Students", method = RequestMethod.GET) public ResponseEntity<List<Students>> getStudents() { long beginTime = System.currentTimeMillis(); List<Students> students = (List<Students>) repository.findAll(); if(students.isEmpty()) { return new ResponseEntity(HttpStatus.NO_CONTENT); } long responseTime = System.currentTimeMillis() - beginTime; logger.info("Response time for the call was "+responseTime); return new ResponseEntity(students, HttpStatus.OK); } I believe I am returning the response time before I actually return the data to the client which is the whole point of this but I wouldn't be able to put it after the return statement as it would be unreachable code.
Are there any better ways of trying to track the times of the calls?