Beispiel #1
0
        public static void CgoPprof()
        {
            runtime.SetCgoTraceback(0L, @unsafe.Pointer(C.pprofCgoTraceback), null, null);

            var(f, err) = ioutil.TempFile("", "prof");
            if (err != null)
            {
                fmt.Fprintln(os.Stderr, err);
                os.Exit(2L);
            }

            {
                var err__prev1 = err;

                var err = pprof.StartCPUProfile(f);

                if (err != null)
                {
                    fmt.Fprintln(os.Stderr, err);
                    os.Exit(2L);
                }

                err = err__prev1;
            }


            var t0 = time.Now();

            while (C.getCpuHogCount() < 2L && time.Since(t0) < time.Second)
            {
                C.cpuHog();
            }


            pprof.StopCPUProfile();

            var name = f.Name();

            {
                var err__prev1 = err;

                err = f.Close();

                if (err != null)
                {
                    fmt.Fprintln(os.Stderr, err);
                    os.Exit(2L);
                }

                err = err__prev1;
            }


            fmt.Println(name);
        }