meshery / meshery

Meshery, the cloud native manager
https://meshery.io
Apache License 2.0
5.65k stars 1.77k forks source link

[UI]: Performance Testing - URL to test in invalid (for valid Linkerd main application URL) #7013

Open bluedog13 opened 1 year ago

bluedog13 commented 1 year ago

Current Behavior

Does not take a valid URL to run the performance test. It is treating valid URLs as invalid.

Below is for the Linkerd emojivoto example and the URL one uses to votes for the emojis ex: http://localhost:8888/api/vote?choice=:joy:

Desired Behavior

Should take the URL

Screenshots/Logs

Screenshot 2023-02-06 at 10 38 12 AM


Works in Chrome Screenshot 2023-02-06 at 10 38 32 AM


Works with CURL Screenshot 2023-02-06 at 10 39 53 AM

Environment


Contributor Guides and Handbook

github-actions[bot] commented 1 year ago

This issue has been labeled with 'component/ui'. 🧰 Here are docs on Contributing to Meshery UI. 🎨 Here is the Meshery UI Figma File File. Lastly, here are docs on Contributing to Meshery's End-to-End Tests Using Cypress.


        Be sure to join the community, if you haven't yet and please leave a :star: star on the project :smile:

leecalcote commented 1 year ago

Thanks for opening this issue, @bluedog13 πŸ‘

One common pitfall that folks stumble into is that depending upon your deployment model, Meshery Server (where the load generator is) resides on a network disconnected from (without route) to the endpoint under test. There are a number of scenarios in which this occurs. Will you confirm that localhost:8888 is accessible by Meshery Server?

It shouldn't be, but it's possible that URL validation in the endpoint input field is bothered by the ?, which would certainly be a bug.

bluedog13 commented 1 year ago

Yes, localhost:8888 is accessible by meshery server. The above seems very strictly related to some UI validation and I highly doubt it's related to localhost:8888 being accessible. I don't think the UI bothers to check the connection at this step.

I am able to run the performance tests using mesheryctl as an alternative. Below commands work and I also see the profile being created in the meshery UI as well.

mesheryctl perf apply local-perf-linkerd2 \
    --duration 60s \
    --qps 10 \
    --url http://localhost:8888/api/vote?choice=:joy: \
    --mesh linkerd

mesheryctl perf result local-perf-linkerd2 --page 1

Accessing the profile and the test results created from above in the UI Screenshot 2023-02-06 at 1 35 51 PM

Screenshot 2023-02-06 at 1 36 08 PM

bluedog13 commented 1 year ago

In the newer version of mesheryctl the command fails now. Link to this issue is here

I am seeing other issues after upgrading.