Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var AllInOne = &cobra.Command{ Use: "allinone", Short: "Skydive All-In-One", Long: "Skydive All-In-One (Analyzer + Agent)", SilenceUsage: true, Run: func(cmd *cobra.Command, args []string) { skydivePath, _ := osext.Executable() analyzerAttr := &os.ProcAttr{ Files: []*os.File{os.Stdin, os.Stdout, os.Stderr}, Env: os.Environ(), } if analyzerUID != 0 { analyzerAttr.Sys = &syscall.SysProcAttr{ Credential: &syscall.Credential{ Uid: analyzerUID, }, } } args = []string{"skydive"} if cfgPath != "" { args = append(args, "-c") args = append(args, cfgPath) } if cfgBackend != "" { args = append(args, "-b") args = append(args, cfgBackend) } analyzerArgs := make([]string, len(args)) copy(analyzerArgs, args) analyzer, err := os.StartProcess(skydivePath, append(analyzerArgs, "analyzer"), analyzerAttr) if err != nil { logging.GetLogger().Fatalf("Can't start Skydive All-in-One : %v", err) } os.Setenv("SKYDIVE_AGENT_ANALYZERS", "localhost:8082") agentAttr := &os.ProcAttr{ Files: []*os.File{os.Stdin, os.Stdout, os.Stderr}, Env: os.Environ(), } agentArgs := make([]string, len(args)) copy(agentArgs, args) agent, err := os.StartProcess(skydivePath, append(agentArgs, "agent"), agentAttr) if err != nil { logging.GetLogger().Fatalf("Can't start Skydive All-in-One : %v", err) } logging.GetLogger().Notice("Skydive All-in-One starting !") ch := make(chan os.Signal) signal.Notify(ch, syscall.SIGINT, syscall.SIGTERM) <-ch analyzer.Kill() agent.Kill() analyzer.Wait() agent.Wait() logging.GetLogger().Notice("Skydive All-in-One stopped.") }, }
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.