mirror of
				https://github.com/tailscale/tailscale.git
				synced 2025-10-31 13:05:22 +00:00 
			
		
		
		
	cmd/tailscale/cli: add "debug metrics" subcommand
To let users inspect the tailscaled metrics easily. Updates #3307 Change-Id: I922126ca0626659948c57de74c6ef62f40ef5f5f Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
		 Brad Fitzpatrick
					Brad Fitzpatrick
				
			
				
					committed by
					
						 Brad Fitzpatrick
						Brad Fitzpatrick
					
				
			
			
				
	
			
			
			 Brad Fitzpatrick
						Brad Fitzpatrick
					
				
			
						parent
						
							945290cc3f
						
					
				
				
					commit
					68917fdb5d
				
			| @@ -196,6 +196,12 @@ func Goroutines(ctx context.Context) ([]byte, error) { | ||||
| 	return get200(ctx, "/localapi/v0/goroutines") | ||||
| } | ||||
|  | ||||
| // DaemonMetrics returns the Tailscale daemon's metrics in | ||||
| // the Prometheus text exposition format. | ||||
| func DaemonMetrics(ctx context.Context) ([]byte, error) { | ||||
| 	return get200(ctx, "/localapi/v0/metrics") | ||||
| } | ||||
|  | ||||
| // Profile returns a pprof profile of the Tailscale daemon. | ||||
| func Profile(ctx context.Context, pprofType string, sec int) ([]byte, error) { | ||||
| 	var secArg string | ||||
|   | ||||
| @@ -46,17 +46,22 @@ var debugCmd = &ffcli.Command{ | ||||
| 			Exec:      runDaemonGoroutines, | ||||
| 			ShortHelp: "print tailscaled's goroutines", | ||||
| 		}, | ||||
| 		&ffcli.Command{ | ||||
| 		{ | ||||
| 			Name:      "metrics", | ||||
| 			Exec:      runDaemonMetrics, | ||||
| 			ShortHelp: "print tailscaled's metrics", | ||||
| 		}, | ||||
| 		{ | ||||
| 			Name:      "env", | ||||
| 			Exec:      runEnv, | ||||
| 			ShortHelp: "print cmd/tailscale environment", | ||||
| 		}, | ||||
| 		&ffcli.Command{ | ||||
| 		{ | ||||
| 			Name:      "local-creds", | ||||
| 			Exec:      runLocalCreds, | ||||
| 			ShortHelp: "print how to access Tailscale local API", | ||||
| 		}, | ||||
| 		&ffcli.Command{ | ||||
| 		{ | ||||
| 			Name:      "prefs", | ||||
| 			Exec:      runPrefs, | ||||
| 			ShortHelp: "print prefs", | ||||
| @@ -66,7 +71,7 @@ var debugCmd = &ffcli.Command{ | ||||
| 				return fs | ||||
| 			})(), | ||||
| 		}, | ||||
| 		&ffcli.Command{ | ||||
| 		{ | ||||
| 			Name:      "watch-ipn", | ||||
| 			Exec:      runWatchIPN, | ||||
| 			ShortHelp: "subscribe to IPN message bus", | ||||
| @@ -245,3 +250,12 @@ func runDaemonGoroutines(ctx context.Context, args []string) error { | ||||
| 	Stdout.Write(goroutines) | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func runDaemonMetrics(ctx context.Context, args []string) error { | ||||
| 	out, err := tailscale.DaemonMetrics(ctx) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	Stdout.Write(out) | ||||
| 	return nil | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user