Golang : Measure http.Get() execution time
There are times where you need to measure how long a http.Get() response time takes for debugging reason or network optimization purpose. It is kinda like ping command and in this tutorial, we will learn how to implement the code in Golang to measure the time taken for http.Get().
Here you go :
package main
import (
"fmt"
"os"
"time"
"net/http"
)
func main() {
start := time.Now()
url := "http://www.golang.org"
result, err := http.Get(url)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
defer result.Body.Close()
elapsed := time.Since(start).Seconds()
fmt.Printf("http.Get to %s took %v seconds \n", url, elapsed)
}
Sample output :
http.Get to http://www.golang.org took 1.227666872 seconds
Reference :
https://www.socketloop.com/tutorials/golang-calculate-elapsed-run-time
See also : Golang : calculate elapsed run time
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+20.6k Golang : How to reverse slice or array elements order
+13.9k Golang : Find location by IP address and display with Google Map
+20.1k Golang : Convert(cast) string to rune and back to string example
+3.8k Nginx and PageSpeed build from source CentOS example
+14.1k Golang : Validate hostname
+4.4k Golang : If else example and common mistake
+8.2k Golang : Web(Javascript) to server-side websocket example
+12.5k Golang : unknown escape sequence error
+15.7k Golang : Find file size(disk usage) with filepath.Walk
+7.2k Your page has meta tags in the body instead of the head
+13.9k Golang : How to get Unix file descriptor for console and file
+8.1k Golang : Detect number of active displays and the display's resolution