Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( CfgPath string CfgBackend string )
View Source
var Agent = &cobra.Command{ Use: "agent", Short: "Skydive agent", Long: "Skydive agent", SilenceUsage: true, Run: func(cmd *cobra.Command, args []string) { logging.SetLoggingID("agent") logging.GetLogger().Notice("Skydive Agent starting...") agent := agent.NewAgent() agent.Start() logging.GetLogger().Notice("Skydive Agent started") ch := make(chan os.Signal) signal.Notify(ch, syscall.SIGINT, syscall.SIGTERM) <-ch agent.Stop() logging.GetLogger().Notice("Skydive Agent stopped.") }, }
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.") }, }
View Source
var Analyzer = &cobra.Command{ Use: "analyzer", Short: "Skydive analyzer", Long: "Skydive analyzer", SilenceUsage: true, Run: func(cmd *cobra.Command, args []string) { logging.SetLoggingID("analyzer") logging.GetLogger().Notice("Skydive Analyzer starting...") server, err := analyzer.NewServerFromConfig() if err != nil { logging.GetLogger().Fatalf("Can't start Analyzer : %v", err) } server.ListenAndServe() logging.GetLogger().Notice("Skydive Analyzer started !") ch := make(chan os.Signal) signal.Notify(ch, syscall.SIGINT, syscall.SIGTERM) <-ch server.Stop() logging.GetLogger().Notice("Skydive Analyzer stopped.") }, }
View Source
var Client = &cobra.Command{ Use: "client", Short: "Skydive client", Long: "Skydive client", SilenceUsage: true, PersistentPreRun: func(cmd *cobra.Command, args []string) { cmd.Root().PersistentPreRun(cmd.Root(), args) if analyzerAddr != "" { config.GetConfig().Set("agent.analyzers", analyzerAddr) } else { config.GetConfig().SetDefault("agent.analyzers", "localhost:8082") } }, }
View Source
var RootCmd = &cobra.Command{ Use: "skydive [sub]", Short: "Skydive", SilenceUsage: true, PersistentPreRun: func(cmd *cobra.Command, args []string) { LoadConfiguration() }, }
View Source
var VersionCmd = &cobra.Command{ Use: "version", Short: "Print the version number of Skydive", Run: func(cmd *cobra.Command, args []string) { version.PrintVersion() }, }
Functions ¶
func LoadConfiguration ¶
func LoadConfiguration()
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.