Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Agent = &cobra.Command{ Use: "agent", Short: "Skydive agent", Long: "Skydive agent", SilenceUsage: true, Run: func(cmd *cobra.Command, args []string) { config.GetConfig().Set("logging.id", "agent") logging.GetLogger().Noticef("Skydive Agent %s starting...", version.Version) 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.") }, }
Agent skydive agent root command
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"} for _, cfgFile := range cfgFiles { args = append(args, "-c") args = append(args, cfgFile) } if cfgBackend != "" { args = append(args, "-b") args = append(args, cfgBackend) } analyzerArgs := make([]string, len(args)) copy(analyzerArgs, args) if len(cfgFiles) != 0 { if err := config.InitConfig(cfgBackend, cfgFiles); err != nil { panic(fmt.Sprintf("Failed to initialize config: %s", err.Error())) } } if err := logging.InitLogging(); err != nil { panic(fmt.Sprintf("Failed to initialize logging system: %s", err.Error())) } 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_ANALYZERS", config.GetConfig().GetString("analyzer.listen")) 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.") }, }
AllInOne skydive allinone root command
View Source
var Analyzer = &cobra.Command{ Use: "analyzer", Short: "Skydive analyzer", Long: "Skydive analyzer", SilenceUsage: true, Run: func(cmd *cobra.Command, args []string) { config.GetConfig().Set("logging.id", "agent") logging.GetLogger().Noticef("Skydive Analyzer %s starting...", version.Version) server := analyzer.NewServerFromConfig() server.Start() 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.") }, }
Analyzer skydive analyzer root command
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("analyzers", analyzerAddr) } else { config.GetConfig().SetDefault("analyzers", "localhost:8082") } }, }
Client skydive client root command
View Source
var RootCmd = &cobra.Command{ Use: "skydive [sub]", Short: "Skydive", SilenceUsage: true, PersistentPreRun: func(cmd *cobra.Command, args []string) { LoadConfiguration() }, }
RootCmd skydive root command
View Source
var VersionCmd = &cobra.Command{ Use: "version", Short: "Print the version number of Skydive", Run: func(cmd *cobra.Command, args []string) { version.PrintVersion() }, }
VersionCmd skydive version root command
Functions ¶
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.