Exemplo n.º 1
0
        private static void pprofThread()
        {
            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;
            }


            C.runCPUHogThread();

            var t0 = time.Now();

            while (C.getCPUHogThreadCount() < 2L && time.Since(t0) < time.Second)
            {
                time.Sleep(100L * time.Millisecond);
            }


            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);
        }