From df58e390a7e9e7950cac5d24197c19ae19e8062b Mon Sep 17 00:00:00 2001 From: earrage Date: Mon, 15 Oct 2018 17:30:20 -0700 Subject: Add visibility API in controller and CLI - Modify get visibility to retrieve config and stats - Add visibility REST API in controller to clear, set, and get from redis - Add example yaml to set visibility (service list by name, metric suffixes/prefixes, and custom metrics) from CLI - Modify example yaml to start visibility (collector) for Istio 1.0 from CLI Change-Id: I43304ff6d70bb4b817b345b9c383ce3621fb06c7 Signed-off-by: earrage --- .../cloverctl/src/cloverctl/cmd/get_visibility.go | 31 ++++++++++++++++------ 1 file changed, 23 insertions(+), 8 deletions(-) (limited to 'clover/cloverctl/src/cloverctl/cmd/get_visibility.go') diff --git a/clover/cloverctl/src/cloverctl/cmd/get_visibility.go b/clover/cloverctl/src/cloverctl/cmd/get_visibility.go index d987412..820b25a 100644 --- a/clover/cloverctl/src/cloverctl/cmd/get_visibility.go +++ b/clover/cloverctl/src/cloverctl/cmd/get_visibility.go @@ -13,23 +13,38 @@ import ( "github.com/spf13/cobra" ) +var VisibilityStat string +var VisibilityConfig string -var visibilitystatsCmd = &cobra.Command{ +var visibilitygetCmd = &cobra.Command{ Use: "visibility", - Short: "Get toplevel visibility stats", + Short: "Get visibility config & stats", Long: ``, Run: func(cmd *cobra.Command, args []string) { - statsCollector() + getVisibility() }, } func init() { - getCmd.AddCommand(visibilitystatsCmd) - //visibilitystartCmd.PersistentFlags().StringVarP(&cloverFile, "f", "f", "", "Input yaml file with test plan params") + getCmd.AddCommand(visibilitygetCmd) + visibilitygetCmd.PersistentFlags().StringVarP(&VisibilityStat, "stat", "s", "", "Visibility stats type to get") + visibilitygetCmd.PersistentFlags().StringVarP(&VisibilityConfig, "conf", "c", "", "Visibility config type to get") } -func statsCollector() { - url := controllerIP + "/collector/stats" +func getVisibility() { + + url_prefix := "/visibility/get/" + get_data := "all" + response_prefix := "Config" + if VisibilityStat != "" { + url_prefix = "/visibility/get/stats/" + get_data = VisibilityStat + response_prefix = "Stat" + } else if VisibilityConfig != "" { + get_data = VisibilityConfig + } + + url := controllerIP + url_prefix + get_data resp, err := resty.R(). SetHeader("Accept", "application/json"). @@ -37,5 +52,5 @@ func statsCollector() { if err != nil { panic(err.Error()) } - fmt.Printf("\nProxy Response Time: %v\n", resp) + fmt.Printf("\n%s %s: %v\n", response_prefix, get_data, resp) } -- cgit 1.2.3-korg