Merge branch 'develop' of github.com:up9inc/mizu into feat/oas-parameter-patterns

This commit is contained in:
Andrey Pokhilko
2022-02-22 18:59:45 +03:00
8 changed files with 46 additions and 37 deletions

View File

@@ -103,7 +103,6 @@ func TestRedis(t *testing.T) {
} }
func TestAmqp(t *testing.T) { func TestAmqp(t *testing.T) {
t.Skip("Invalid test. Not stable")
if testing.Short() { if testing.Short() {
t.Skip("ignored acceptance test") t.Skip("ignored acceptance test")
} }
@@ -156,7 +155,7 @@ func TestAmqp(t *testing.T) {
defer conn.Close() defer conn.Close()
// Temporary fix for missing amqp entries // Temporary fix for missing amqp entries
time.Sleep(5 * time.Second) time.Sleep(10 * time.Second)
for i := 0; i < defaultEntriesCount/5; i++ { for i := 0; i < defaultEntriesCount/5; i++ {
ch, err := conn.Channel() ch, err := conn.Channel()

View File

@@ -150,9 +150,10 @@ func runCypressTests(t *testing.T, cypressRunCmd string) {
t.Logf("running command: %v", cypressCmd.String()) t.Logf("running command: %v", cypressCmd.String())
out, err := cypressCmd.Output() out, err := cypressCmd.Output()
if err != nil { if err != nil {
t.Errorf("%s", out) t.Errorf("error running cypress, error: %v", err)
return return
} }
t.Logf("%s", out) t.Logf("%s", out)
} }

View File

@@ -56,7 +56,7 @@ const (
func main() { func main() {
logLevel := determineLogLevel() logLevel := determineLogLevel()
logger.InitLoggerStderrOnly(logLevel) logger.InitLoggerStd(logLevel)
flag.Parse() flag.Parse()
if err := config.LoadConfig(); err != nil { if err := config.LoadConfig(); err != nil {
logger.Log.Fatalf("Error loading config file %v", err) logger.Log.Fatalf("Error loading config file %v", err)

View File

@@ -30,6 +30,11 @@ type SocketConnection struct {
isTapper bool isTapper bool
} }
type WebSocketParams struct {
Query string `json:"query"`
EnableFullEntries bool `json:"enableFullEntries"`
}
var ( var (
websocketUpgrader = websocket.Upgrader{ websocketUpgrader = websocket.Upgrader{
ReadBufferSize: 1024, ReadBufferSize: 1024,
@@ -110,31 +115,26 @@ func websocketHandler(w http.ResponseWriter, r *http.Request, eventHandlers Even
logger.Log.Error(err) logger.Log.Error(err)
} }
out: var params WebSocketParams
for { for {
// params[0]: query _, msg, err := ws.ReadMessage()
// params[1]: enableFullEntries (empty: disable, non-empty: enable) if err != nil {
params := make([][]byte, 2) if _, ok := err.(*websocket.CloseError); ok {
for i := range params { logger.Log.Debugf("Received websocket close message, socket id: %d", socketId)
_, params[i], err = ws.ReadMessage() } else {
if err != nil { logger.Log.Errorf("Error reading message, socket id: %d, error: %v", socketId, err)
if _, ok := err.(*websocket.CloseError); ok {
logger.Log.Debugf("Received websocket close message, socket id: %d", socketId)
} else {
logger.Log.Errorf("Error reading message, socket id: %d, error: %v", socketId, err)
}
break out
} }
}
enableFullEntries := false break
if len(params[1]) > 0 {
enableFullEntries = true
} }
if !isTapper && !isQuerySet { if !isTapper && !isQuerySet {
query := string(params[0]) if err := json.Unmarshal(msg, &params); err != nil {
logger.Log.Errorf("Error: %v", socketId, err)
}
query := params.Query
err = basenine.Validate(shared.BasenineHost, shared.BaseninePort, query) err = basenine.Validate(shared.BasenineHost, shared.BaseninePort, query)
if err != nil { if err != nil {
toastBytes, _ := models.CreateWebsocketToastMessage(&models.ToastMessage{ toastBytes, _ := models.CreateWebsocketToastMessage(&models.ToastMessage{
@@ -162,7 +162,7 @@ out:
err = json.Unmarshal(bytes, &entry) err = json.Unmarshal(bytes, &entry)
var message []byte var message []byte
if enableFullEntries { if params.EnableFullEntries {
message, _ = models.CreateFullEntryWebSocketMessage(entry) message, _ = models.CreateFullEntryWebSocketMessage(entry)
} else { } else {
base := tapApi.Summarize(entry) base := tapApi.Summarize(entry)
@@ -201,7 +201,7 @@ out:
connection.Query(query, data, meta) connection.Query(query, data, meta)
} else { } else {
eventHandlers.WebSocketMessage(socketId, params[0]) eventHandlers.WebSocketMessage(socketId, msg)
} }
} }
} }

View File

@@ -41,9 +41,8 @@ func outputSpec(label string, spec *openapi.OpenAPI, t *testing.T) string {
} }
func TestEntries(t *testing.T) { func TestEntries(t *testing.T) {
logger.InitLoggerStderrOnly(logging.DEBUG) logger.InitLoggerStd(logging.INFO)
//files, err := getFiles("/media/bigdisk/UP9/trcc/alon-up9") files, err := getFiles("./test_artifacts/")
files, err := getFiles("/media/bigdisk/UP9")
if err != nil { if err != nil {
t.Log(err) t.Log(err)
t.FailNow() t.FailNow()

View File

@@ -14,10 +14,10 @@ var installCmd = &cobra.Command{
logger.Log.Infof("This command has been deprecated, please use helm as described below.\n\n") logger.Log.Infof("This command has been deprecated, please use helm as described below.\n\n")
logger.Log.Infof("To install stable build of Mizu on your cluster using helm, run the following command:") logger.Log.Infof("To install stable build of Mizu on your cluster using helm, run the following command:")
logger.Log.Infof(" helm install mizu https://static.up9.com/mizu/helm --namespace=mizu --create-namespace\n\n") logger.Log.Infof(" helm install mizu mizu --repo https://static.up9.com/mizu/helm --namespace=mizu --create-namespace\n\n")
logger.Log.Infof("To install development build of Mizu on your cluster using helm, run the following command:") logger.Log.Infof("To install development build of Mizu on your cluster using helm, run the following command:")
logger.Log.Infof(" helm install mizu https://static.up9.com/mizu/helm-develop --namespace=mizu --create-namespace") logger.Log.Infof(" helm install mizu mizu --repo https://static.up9.com/mizu/helm-develop --namespace=mizu --create-namespace\n")
return nil return nil
}, },

View File

@@ -29,10 +29,21 @@ func InitLogger(logPath string) {
logging.SetBackend(backend1Leveled, backend2Formatter) logging.SetBackend(backend1Leveled, backend2Formatter)
} }
func InitLoggerStderrOnly(level logging.Level) { func InitLoggerStd(level logging.Level) {
backend := logging.NewLogBackend(os.Stderr, "", 0) var backends []logging.Backend
backendFormatter := logging.NewBackendFormatter(backend, format)
logging.SetBackend(backendFormatter) stderrBackend := logging.NewLogBackend(os.Stderr, "", 0)
logging.SetLevel(level, "") stderrFormater := logging.NewBackendFormatter(stderrBackend, format)
stderrLeveled := logging.AddModuleLevel(stderrFormater)
stderrLeveled.SetLevel(logging.ERROR, "")
backends = append(backends, stderrLeveled)
if level >= logging.WARNING {
stdoutBackend := logging.NewLogBackend(os.Stdout, "", 0)
stdoutFormater := logging.NewBackendFormatter(stdoutBackend, format)
stdoutLeveled := logging.AddModuleLevel(stdoutFormater)
stdoutLeveled.SetLevel(level, "")
backends = append(backends, stdoutLeveled)
}
logging.SetBackend(backends...)
} }

View File

@@ -121,8 +121,7 @@ export const TrafficPage: React.FC<TrafficPageProps> = ({setAnalyzeStatus}) => {
ws.current = new WebSocket(MizuWebsocketURL); ws.current = new WebSocket(MizuWebsocketURL);
ws.current.onopen = () => { ws.current.onopen = () => {
setWsConnection(WsConnectionStatus.Connected); setWsConnection(WsConnectionStatus.Connected);
ws.current.send(query); ws.current.send(JSON.stringify({"query": query, "enableFullEntries": false}));
ws.current.send("");
} }
ws.current.onclose = () => { ws.current.onclose = () => {
setWsConnection(WsConnectionStatus.Closed); setWsConnection(WsConnectionStatus.Closed);