TUN-834: Enable tracing on cloudflared
This commit is contained in:
		
							parent
							
								
									6644f28d83
								
							
						
					
					
						commit
						a7d9747fae
					
				|  | @ -3,6 +3,7 @@ package main | |||
| import ( | ||||
| 	"fmt" | ||||
| 	"os" | ||||
| 	"runtime/trace" | ||||
| 	"sync" | ||||
| 	"time" | ||||
| 
 | ||||
|  | @ -295,6 +296,13 @@ func main() { | |||
| 			Usage:   "Disables chunked transfer encoding; useful if you are running a WSGI server.", | ||||
| 			EnvVars: []string{"TUNNEL_NO_CHUNKED_ENCODING"}, | ||||
| 		}), | ||||
| 		altsrc.NewStringFlag(&cli.StringFlag{ | ||||
| 			Name:    "trace-output", | ||||
| 			Value:   "cloudflared.trace.out", | ||||
| 			Usage:   "Name of trace output file.", | ||||
| 			EnvVars: []string{"TUNNEL_TRACE_OUTPUT"}, | ||||
| 			Hidden:  true, | ||||
| 		}), | ||||
| 	} | ||||
| 	app.Action = func(c *cli.Context) (err error) { | ||||
| 		tags := make(map[string]string) | ||||
|  | @ -398,6 +406,23 @@ func main() { | |||
| } | ||||
| 
 | ||||
| func startServer(c *cli.Context, shutdownC, graceShutdownC chan struct{}) error { | ||||
| 	traceFile, err := os.Create(c.String("trace-output")) | ||||
| 	if err != nil { | ||||
| 		logger.WithError(err).Errorf("Failed to create trace output file %s", c.String("trace-output")) | ||||
| 		return errors.Wrap(err, "Error creating trace output file") | ||||
| 	} | ||||
| 	defer func() { | ||||
| 		if err := traceFile.Close(); err != nil { | ||||
| 			logger.WithError(err).Error("Failed to close trace output file") | ||||
| 		} | ||||
| 	}() | ||||
| 
 | ||||
| 	if err := trace.Start(traceFile); err != nil { | ||||
| 		logger.WithError(err).Error("Failed to start trace") | ||||
| 		return errors.Wrap(err, "Error starting tracing") | ||||
| 	} | ||||
| 	defer trace.Stop() | ||||
| 
 | ||||
| 	var wg sync.WaitGroup | ||||
| 	listeners := gracenet.Net{} | ||||
| 	errC := make(chan error) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue