github.com/Psiphon-Labs/psiphon-tunnel-core@v2.0.28+incompatible/psiphon/pprof.go (about) 1 // +build PSIPHON_RUN_PPROF 2 3 /* 4 * Copyright (c) 2018, Psiphon Inc. 5 * All rights reserved. 6 * 7 * This program is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program. If not, see <http://www.gnu.org/licenses/>. 19 * 20 */ 21 22 package psiphon 23 24 import ( 25 "net/http" 26 _ "net/http/pprof" 27 "sync" 28 ) 29 30 var pprofRunOnce sync.Once 31 32 func pprofRun() { 33 pprofRunOnce.Do(func() { 34 go func() { 35 NoticeInfo("Running http://localhost:6060/debug/pprof/") 36 NoticeInfo("pprofRun: %s", http.ListenAndServe("localhost:6060", nil)) 37 }() 38 }) 39 }