diff options
author | André Carvalho <asantostc@gmail.com> | 2017-07-25 19:18:58 -0300 |
---|---|---|
committer | Hyang-Ah Hana Kim <hyangah@gmail.com> | 2017-08-29 16:58:43 +0000 |
commit | f2c0531795462c0b49dea4f849af18087a5c1077 (patch) | |
tree | 2a72e492653148c7f5f5e6d0aa1941ca5310c769 /src/runtime/trace | |
parent | 91b6425031038ea4d91fb25bd1fb70c8d054ed09 (diff) | |
download | go-f2c0531795462c0b49dea4f849af18087a5c1077.tar.gz go-f2c0531795462c0b49dea4f849af18087a5c1077.zip |
runtime/trace: add example about trace.Start/Stop
This commit adds an example to the runtime/trace package
on how to use the trace.Start and trace.Stop functions
to trace the execution of a Go program and write
its trace output to a file.
Change-Id: Idf920398f1c3b9d185af9df5ce9293f2361db022
Reviewed-on: https://go-review.googlesource.com/51170
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
Diffstat (limited to 'src/runtime/trace')
-rw-r--r-- | src/runtime/trace/example_test.go | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/runtime/trace/example_test.go b/src/runtime/trace/example_test.go new file mode 100644 index 0000000000..ba96a829a3 --- /dev/null +++ b/src/runtime/trace/example_test.go @@ -0,0 +1,39 @@ +// 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") +} |