...
Run Format

Source file src/runtime/testdata/testprog/memprof.go

Documentation: runtime/testdata/testprog

  // Copyright 2016 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 main
  
  import (
  	"bytes"
  	"fmt"
  	"io/ioutil"
  	"os"
  	"runtime"
  	"runtime/pprof"
  )
  
  func init() {
  	register("MemProf", MemProf)
  }
  
  var memProfBuf bytes.Buffer
  var memProfStr string
  
  func MemProf() {
  	for i := 0; i < 1000; i++ {
  		fmt.Fprintf(&memProfBuf, "%*d\n", i, i)
  	}
  	memProfStr = memProfBuf.String()
  
  	runtime.GC()
  
  	f, err := ioutil.TempFile("", "memprof")
  	if err != nil {
  		fmt.Fprintln(os.Stderr, err)
  		os.Exit(2)
  	}
  
  	if err := pprof.WriteHeapProfile(f); err != nil {
  		fmt.Fprintln(os.Stderr, err)
  		os.Exit(2)
  	}
  
  	name := f.Name()
  	if err := f.Close(); err != nil {
  		fmt.Fprintln(os.Stderr, err)
  		os.Exit(2)
  	}
  
  	fmt.Println(name)
  }
  

View as plain text