mirror of
https://github.com/octoleo/syncthing.git
synced 2024-11-09 14:50:56 +00:00
Include perfstats and heap profiles in standard build
This commit is contained in:
parent
58381496a2
commit
213acaee3b
@ -2,8 +2,6 @@
|
|||||||
// All rights reserved. Use of this source code is governed by an MIT-style
|
// All rights reserved. Use of this source code is governed by an MIT-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
// +build heapprof
|
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@ -16,7 +14,9 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
go saveHeapProfiles()
|
if os.Getenv("STHEAPPROFILE") != "" {
|
||||||
|
go saveHeapProfiles()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func saveHeapProfiles() {
|
func saveHeapProfiles() {
|
||||||
|
@ -104,9 +104,6 @@ The following enviroment variables are interpreted by syncthing:
|
|||||||
Set this variable when running under a service manager such as
|
Set this variable when running under a service manager such as
|
||||||
runit, launchd, etc.
|
runit, launchd, etc.
|
||||||
|
|
||||||
STPROFILER Set to a listen address such as "127.0.0.1:9090" to start the
|
|
||||||
profiler with HTTP access.
|
|
||||||
|
|
||||||
STTRACE A comma separated string of facilities to trace. The valid
|
STTRACE A comma separated string of facilities to trace. The valid
|
||||||
facility strings:
|
facility strings:
|
||||||
- "beacon" (the beacon package)
|
- "beacon" (the beacon package)
|
||||||
@ -120,10 +117,18 @@ The following enviroment variables are interpreted by syncthing:
|
|||||||
- "xdr" (the xdr package)
|
- "xdr" (the xdr package)
|
||||||
- "all" (all of the above)
|
- "all" (all of the above)
|
||||||
|
|
||||||
STCPUPROFILE Write CPU profile to the specified file.
|
|
||||||
|
|
||||||
STGUIASSETS Directory to load GUI assets from. Overrides compiled in assets.
|
STGUIASSETS Directory to load GUI assets from. Overrides compiled in assets.
|
||||||
|
|
||||||
|
STPROFILER Set to a listen address such as "127.0.0.1:9090" to start the
|
||||||
|
profiler with HTTP access.
|
||||||
|
|
||||||
|
STCPUPROFILE Write a CPU profile to cpu-$pid.pprof on exit.
|
||||||
|
|
||||||
|
STHEAPPROFILE Write heap profiles to heap-$pid-$timestamp.pprof each time
|
||||||
|
heap usage increases.
|
||||||
|
|
||||||
|
STPERFSTATS Write running performance statistics to perf-$pid.csv.
|
||||||
|
|
||||||
STDEADLOCKTIMEOUT Alter deadlock detection timeout (seconds; default 1200).`
|
STDEADLOCKTIMEOUT Alter deadlock detection timeout (seconds; default 1200).`
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -498,7 +503,7 @@ nextRepo:
|
|||||||
}
|
}
|
||||||
|
|
||||||
if cpuprof := os.Getenv("STCPUPROFILE"); len(cpuprof) > 0 {
|
if cpuprof := os.Getenv("STCPUPROFILE"); len(cpuprof) > 0 {
|
||||||
f, err := os.Create(cpuprof)
|
f, err := os.Create(fmt.Sprintf("cpu-%d.pprof", os.Getpid()))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
@ -2,8 +2,6 @@
|
|||||||
// All rights reserved. Use of this source code is governed by an MIT-style
|
// All rights reserved. Use of this source code is governed by an MIT-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
// +build perfstats
|
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@ -15,7 +13,9 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
go savePerfStats(fmt.Sprintf("perfstats-%d.csv", syscall.Getpid()))
|
if os.Getenv("STPERFSTATS") != "" {
|
||||||
|
go savePerfStats(fmt.Sprintf("perfstats-%d.csv", syscall.Getpid()))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func savePerfStats(file string) {
|
func savePerfStats(file string) {
|
||||||
|
Loading…
Reference in New Issue
Block a user