| // Copyright 2017 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| package trace_test |
| |
| import ( |
| "fmt" |
| "log" |
| "os" |
| "runtime/trace" |
| ) |
| |
| // Example demonstrates the use of the trace package to trace |
| // the execution of a Go program. The trace output will be |
| // written to the file trace.out |
| func Example() { |
| f, err := os.Create("trace.out") |
| if err != nil { |
| log.Fatalf("failed to create trace output file: %v", err) |
| } |
| defer func() { |
| if err := f.Close(); err != nil { |
| log.Fatalf("failed to close trace file: %v", err) |
| } |
| }() |
| |
| if err := trace.Start(f); err != nil { |
| log.Fatalf("failed to start trace: %v", err) |
| } |
| defer trace.Stop() |
| |
| // your program here |
| RunMyProgram() |
| } |
| |
| func RunMyProgram() { |
| fmt.Printf("this function will be traced") |
| } |