有什么方法可以计算Go app的启动时间吗?
Is there any way to calculate the startup time of Go app?
我试图计算 Go 应用程序启动和接受请求所需的时间。
我尝试使用:
func main() {
start:=time.Now()
repo.CreateConnection()
router := mux.NewRouter()
r := bookController.Controller(router)
fmt.Println("Starting server on the port 8080...")
log.Fatal(http.ListenAndServe(":8080", r))
fmt.Println(time.Since(start))
}
但是控制台只打印到 正在端口 8080 上启动服务器...
GOROOT=/usr/local/go #gosetup
GOPATH=/Users/admin/go #gosetup
/usr/local/go/bin/go build -o /private/var/folders/t3/1fk2w7y55qs1dfxbxbvpsn9h0000gp/T/___go_build_payments_go_performance go-performance #gosetup
/private/var/folders/t3/1fk2w7y55qs1dfxbxbvpsn9h0000gp/T/___go_build_go_performance
Successfully connected!
Starting server on the port 8080...
有没有办法显示正确的启动时间?
启动时间是指这个应用程序开始监听 8080 端口的时间。
最简单的,对于大多数情况应该足够好,是这样的:
package main
var start = time.Now()
/* place any other package variable declarations after `start` */
func main() {
/* set up code */
fmt.Printf("Startup took aprox %v\n", time.Since(start))
log.Fatal(http.ListenAndServe(...))
}
这确保了 start
在您的程序执行过程中尽早初始化,在其他包级变量和任何 init
函数之前。然后作为启动服务器之前的最后一件事,它显示经过的时间。
我试图计算 Go 应用程序启动和接受请求所需的时间。 我尝试使用:
func main() {
start:=time.Now()
repo.CreateConnection()
router := mux.NewRouter()
r := bookController.Controller(router)
fmt.Println("Starting server on the port 8080...")
log.Fatal(http.ListenAndServe(":8080", r))
fmt.Println(time.Since(start))
}
但是控制台只打印到 正在端口 8080 上启动服务器...
GOROOT=/usr/local/go #gosetup
GOPATH=/Users/admin/go #gosetup
/usr/local/go/bin/go build -o /private/var/folders/t3/1fk2w7y55qs1dfxbxbvpsn9h0000gp/T/___go_build_payments_go_performance go-performance #gosetup
/private/var/folders/t3/1fk2w7y55qs1dfxbxbvpsn9h0000gp/T/___go_build_go_performance
Successfully connected!
Starting server on the port 8080...
有没有办法显示正确的启动时间? 启动时间是指这个应用程序开始监听 8080 端口的时间。
最简单的,对于大多数情况应该足够好,是这样的:
package main
var start = time.Now()
/* place any other package variable declarations after `start` */
func main() {
/* set up code */
fmt.Printf("Startup took aprox %v\n", time.Since(start))
log.Fatal(http.ListenAndServe(...))
}
这确保了 start
在您的程序执行过程中尽早初始化,在其他包级变量和任何 init
函数之前。然后作为启动服务器之前的最后一件事,它显示经过的时间。