【go-工具】pprof

pprof是什么

参考:https://wxsm.space/2023/go-pprof-note/

参考:https://juejin.cn/post/6961301143285104653

怎么用
复制代码
package main

import (
	"log"
	"net/http"
	_ "net/http/pprof"
	"time"
)

func work(w http.ResponseWriter, r *http.Request) {
	start := time.Now()
	result := 0
	for i := 0; i < 100000000; i++ {
		result += i
	}
	duration := time.Since(start)
	log.Printf("Done in %v. Result: %d", duration, result)
	w.Write([]byte("Done"))
}

func main() {
	http.HandleFunc("/work", work)
	log.Println("Server is starting...")
	log.Fatal(http.ListenAndServe(":8080", nil))
}
  • _ "net/http/pprof"
    • 添加这个之后,会调用pprof的init函数

访问:http://localhost:8080/debug/pprof/

相关推荐
IT_陈寒几秒前
Vite的HMR怎么突然失效了?原来是我太年轻
前端·人工智能·后端
Brilliantwxx8 分钟前
【C++】认识标准库STL(2)
开发语言·c++
故事还在继续吗13 分钟前
STL 容器算法手册
开发语言·c++·算法
胖纳特15 分钟前
Nextcloud 文件预览困局与破局:集成 BaseMetas Fileview 实现全格式在线预览
前端·后端
lczllx15 分钟前
MIT 6.824-lab3A(实现思路)
后端
派星15 分钟前
AOP实践:公共字段自动填充
后端
用户05101225729618 分钟前
从 malloc 到 DMA-BUF:嵌入式边缘设备上 mmap 的缓存一致性真相
后端
lczllx19 分钟前
MIT 6.824 MapReduce(实现思路)
后端