From 6aa38f071f9eb6a9eb1fc4bbab63621aaf601520 Mon Sep 17 00:00:00 2001 From: Igor Gov Date: Mon, 12 Jul 2021 20:33:15 +0300 Subject: [PATCH] Mizu tap - adding logs for troubleshooting --- api/pkg/controllers/entries_controller.go | 11 +++++++++-- api/pkg/up9/main.go | 4 ++-- cli/cmd/tapRunner.go | 9 ++++++--- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/api/pkg/controllers/entries_controller.go b/api/pkg/controllers/entries_controller.go index d3c85a794..eb4c6109c 100644 --- a/api/pkg/controllers/entries_controller.go +++ b/api/pkg/controllers/entries_controller.go @@ -5,6 +5,7 @@ import ( "fmt" "github.com/gofiber/fiber/v2" "github.com/google/martian/har" + "github.com/romana/rlog" "mizuserver/pkg/database" "mizuserver/pkg/models" "mizuserver/pkg/up9" @@ -140,6 +141,8 @@ func GetHARs(c *fiber.Ctx) error { } func UploadEntries(c *fiber.Ctx) error { + rlog.Debugf("Upload entries - started\n") + uploadRequestBody := &models.UploadEntriesRequestBody{} if err := c.QueryParser(uploadRequestBody); err != nil { return c.Status(fiber.StatusBadRequest).JSON(err) @@ -150,8 +153,12 @@ func UploadEntries(c *fiber.Ctx) error { if up9.GetAnalyzeInfo().IsAnalyzing { return c.Status(fiber.StatusBadRequest).SendString("Cannot analyze, mizu is already analyzing") } - - token, _ := up9.CreateAnonymousToken(uploadRequestBody.Dest) + rlog.Debugf("Upload entries - creating token. dest %s\n", uploadRequestBody.Dest) + token, err := up9.CreateAnonymousToken(uploadRequestBody.Dest) + if err != nil { + return c.Status(fiber.StatusServiceUnavailable).SendString("Can't get token") + } + rlog.Infof("Upload entries - uploading. token: %s model: %s\n", token.Token, token.Model) go up9.UploadEntriesImpl(token.Token, token.Model, uploadRequestBody.Dest) return c.Status(fiber.StatusOK).SendString("OK") } diff --git a/api/pkg/up9/main.go b/api/pkg/up9/main.go index 5b6d3fe3a..9e2179edd 100644 --- a/api/pkg/up9/main.go +++ b/api/pkg/up9/main.go @@ -36,7 +36,7 @@ func getGuestToken(url string, target *GuestToken) error { return err } defer resp.Body.Close() - + rlog.Debugf("Got token from the server, starting to json decode... status code: %v", resp.StatusCode) return json.NewDecoder(resp.Body).Decode(target) } @@ -47,7 +47,7 @@ func CreateAnonymousToken(envPrefix string) (*GuestToken, error) { } token := &GuestToken{} if err := getGuestToken(tokenUrl, token); err != nil { - rlog.Infof("%s", err) + rlog.Infof("Failed to get token, %s", err) return nil, err } return token, nil diff --git a/cli/cmd/tapRunner.go b/cli/cmd/tapRunner.go index d3a6a69f8..f349529bb 100644 --- a/cli/cmd/tapRunner.go +++ b/cli/cmd/tapRunner.go @@ -3,6 +3,7 @@ package cmd import ( "context" "fmt" + "github.com/romana/rlog" "github.com/up9inc/mizu/cli/debounce" "github.com/up9inc/mizu/cli/kubernetes" "github.com/up9inc/mizu/cli/mizu" @@ -252,11 +253,12 @@ func portForwardApiPod(ctx context.Context, kubernetesProvider *kubernetes.Provi time.Sleep(time.Second * 5) // Waiting to be sure the proxy is ready if tappingOptions.Analyze { - url_path := fmt.Sprintf("http://%s/api/uploadEntries?dest=%s", mizuProxiedUrl, tappingOptions.AnalyzeDestination) + url_path := fmt.Sprintf("http://%s/api/uploadEntries?dest=%s", mizuProxiedUrl, url.QueryEscape(tappingOptions.AnalyzeDestination)) u, err := url.ParseRequestURI(url_path) if err != nil { log.Fatal(fmt.Sprintf("Failed parsing the URL %v\n", err)) } + rlog.Debugf("Sending get request to %v\n", u.String()) if response, err := http.Get(u.String()); err != nil && response.StatusCode != 200 { fmt.Printf("error sending upload entries req %v\n", err) } else { @@ -324,7 +326,8 @@ func waitForFinish(ctx context.Context, cancel context.CancelFunc) { } func syncApiStatus(ctx context.Context, cancel context.CancelFunc, tappingOptions *MizuTapOptions) { - controlSocket, err := mizu.CreateControlSocket(fmt.Sprintf("ws://%s/ws", kubernetes.GetMizuCollectorProxiedHostAndPath(tappingOptions.GuiPort, mizu.ResourcesNamespace, mizu.AggregatorPodName))) + controlSocketStr := fmt.Sprintf("ws://%s/ws", kubernetes.GetMizuCollectorProxiedHostAndPath(tappingOptions.GuiPort, mizu.ResourcesNamespace, mizu.AggregatorPodName)) + controlSocket, err := mizu.CreateControlSocket(controlSocketStr) if err != nil { fmt.Printf("error establishing control socket connection %s\n", err) cancel() @@ -337,7 +340,7 @@ func syncApiStatus(ctx context.Context, cancel context.CancelFunc, tappingOption default: err = controlSocket.SendNewTappedPodsListMessage(currentlyTappedPods) if err != nil { - fmt.Printf("error Sending message via control socket %s\n", err) + fmt.Printf("error Sending message via control socket %v, error: %s\n", controlSocketStr, err) } time.Sleep(10 * time.Second) }