mirror of
				https://github.com/tailscale/tailscale.git
				synced 2025-10-31 16:22:03 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			25 lines
		
	
	
		
			852 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			852 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright (c) Tailscale Inc & AUTHORS
 | |
| // SPDX-License-Identifier: BSD-3-Clause
 | |
| 
 | |
| //go:build !js && !wasm
 | |
| 
 | |
| package tsweb
 | |
| 
 | |
| import (
 | |
| 	"net/http"
 | |
| 	"net/http/pprof"
 | |
| )
 | |
| 
 | |
| func addProfilingHandlers(d *DebugHandler) {
 | |
| 	// pprof.Index serves everything that runtime/pprof.Lookup finds:
 | |
| 	// goroutine, threadcreate, heap, allocs, block, mutex
 | |
| 	d.Handle("pprof/", "pprof (index)", http.HandlerFunc(pprof.Index))
 | |
| 	// But register the other ones from net/http/pprof directly:
 | |
| 	d.HandleSilent("pprof/cmdline", http.HandlerFunc(pprof.Cmdline))
 | |
| 	d.HandleSilent("pprof/profile", http.HandlerFunc(pprof.Profile))
 | |
| 	d.HandleSilent("pprof/symbol", http.HandlerFunc(pprof.Symbol))
 | |
| 	d.HandleSilent("pprof/trace", http.HandlerFunc(pprof.Trace))
 | |
| 	d.URL("/debug/pprof/goroutine?debug=1", "Goroutines (collapsed)")
 | |
| 	d.URL("/debug/pprof/goroutine?debug=2", "Goroutines (full)")
 | |
| }
 |