Skip to content
Snippets Groups Projects
Commit 778923e4 authored by Benjamin Wenger's avatar Benjamin Wenger
Browse files

Merge branch 'feature/profiling' into 'release'

CPU Profiling

See merge request !626
parents 2b0c3808 0c76f813
Branches
Tags
1 merge request!23Release
...@@ -25,6 +25,7 @@ import ( ...@@ -25,6 +25,7 @@ import (
"io/ioutil" "io/ioutil"
"log" "log"
"os" "os"
"runtime/pprof"
"strconv" "strconv"
"strings" "strings"
"time" "time"
...@@ -46,6 +47,14 @@ var rootCmd = &cobra.Command{ ...@@ -46,6 +47,14 @@ var rootCmd = &cobra.Command{
Short: "Runs a client for cMix anonymous communication platform", Short: "Runs a client for cMix anonymous communication platform",
Args: cobra.NoArgs, Args: cobra.NoArgs,
Run: func(cmd *cobra.Command, args []string) { Run: func(cmd *cobra.Command, args []string) {
profileOut := viper.GetString("profile-cpu")
if profileOut != "" {
f, err := os.Create(profileOut)
if err != nil {
jww.FATAL.Panicf("%+v", err)
}
pprof.StartCPUProfile(f)
}
client := initClient() client := initClient()
...@@ -262,6 +271,10 @@ var rootCmd = &cobra.Command{ ...@@ -262,6 +271,10 @@ var rootCmd = &cobra.Command{
"Failed to cleanly close threads: %+v\n", "Failed to cleanly close threads: %+v\n",
err) err)
} }
if profileOut != "" {
pprof.StopCPUProfile()
}
}, },
} }
...@@ -770,6 +783,10 @@ func init() { ...@@ -770,6 +783,10 @@ func init() {
"", uint(defaultE2EParams.NumRekeys), "", uint(defaultE2EParams.NumRekeys),
"Number of rekeys reserved for rekey operations") "Number of rekeys reserved for rekey operations")
viper.BindPFlag("e2eNumReKeys", rootCmd.Flags().Lookup("e2eNumReKeys")) viper.BindPFlag("e2eNumReKeys", rootCmd.Flags().Lookup("e2eNumReKeys"))
rootCmd.Flags().String("profile-cpu", "",
"Enable cpu profiling to this file")
viper.BindPFlag("profile-cpu", rootCmd.Flags().Lookup("profile-cpu"))
} }
// initConfig reads in config file and ENV variables if set. // initConfig reads in config file and ENV variables if set.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment