Add instance peers and instance activity
authorMikael Berthe <mikael@lilotux.net>
Tue, 20 Mar 2018 00:26:36 +0100
changeset 190 e058a8a15e22
parent 189 280fc76acf39
child 191 ae9b3c28fab3
Add instance peers and instance activity Only basic support for now since I'm not sure this API is stable...
cmd/instance.go
--- a/cmd/instance.go	Tue Mar 20 00:05:05 2018 +0100
+++ b/cmd/instance.go	Tue Mar 20 00:26:36 2018 +0100
@@ -24,6 +24,21 @@
 
 func init() {
 	RootCmd.AddCommand(instanceCmd)
+
+	instanceCmd.AddCommand(instancePeersSubcommand)
+	instanceCmd.AddCommand(instanceActivitySubcommand)
+}
+
+var instancePeersSubcommand = &cobra.Command{
+	Use:   "peers",
+	Short: "Display the instance peers",
+	RunE:  instanceStatsRunE,
+}
+
+var instanceActivitySubcommand = &cobra.Command{
+	Use:   "activity",
+	Short: "Display the instance activity",
+	RunE:  instanceStatsRunE,
 }
 
 func instanceRunE(cmd *cobra.Command, args []string) error {
@@ -45,3 +60,38 @@
 	}
 	return p.printObj(i)
 }
+
+func instanceStatsRunE(cmd *cobra.Command, args []string) error {
+	if err := madonInit(false); err != nil {
+		return err
+	}
+
+	var obj interface{}
+	var err error
+
+	switch cmd.Name() {
+	case "peers":
+		// Get current instance peers
+		peers, err := gClient.GetInstancePeers()
+		if err != nil {
+			errPrint("Error: %s", err.Error())
+			os.Exit(1)
+		}
+		obj = peers
+	case "activity":
+		// Get current instance activity
+		activity, err := gClient.GetInstanceActivity()
+		if err != nil {
+			errPrint("Error: %s", err.Error())
+			os.Exit(1)
+		}
+		obj = activity
+	}
+
+	p, err := getPrinter()
+	if err != nil {
+		errPrint("Error: %s", err.Error())
+		os.Exit(1)
+	}
+	return p.printObj(obj)
+}