Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add local monitoring package and a grafana dashboard #580

Merged
merged 4 commits into from
Dec 11, 2023

Conversation

Choraden
Copy link
Contributor

@Choraden Choraden commented Nov 30, 2023

forwarder-dashboard1 forwarder-dashboard2 forwarder-dashboard3 forwarder-dashboard4 forwarder-dashboard5

@mmatczuk
Copy link
Contributor

mmatczuk commented Dec 1, 2023

Can we add max latency

@mmatczuk
Copy link
Contributor

mmatczuk commented Dec 1, 2023

Can Go routines and threads be a diagram to see how things change over time

@mmatczuk
Copy link
Contributor

mmatczuk commented Dec 1, 2023

Would be nice to see

  • how many request/s we process
  • how many connect tunnels we have (possibly by type) i.e. connect +ws
  • network level info rx and tx (maybe by client connection - it depends on the use case really)
  • nr of client connection

@mmatczuk
Copy link
Contributor

mmatczuk commented Dec 1, 2023

Not exactly sure what we do now but latency should be measured for connect and upgrades separately from normal http requests.

@mmatczuk
Copy link
Contributor

mmatczuk commented Dec 1, 2023

For things that require code changes please add separate issue for 1.2

@Choraden
Copy link
Contributor Author

Choraden commented Dec 1, 2023

I addressed things that did not require code change:

  • Response Code Rates diagram has been changed to plot each codes rates separately.
  • Latency has been extended with P100 and division into CONNECT and all other request.
  • Goroutines diagram has been changed to be a plot now.
  • Gothreads remain a number since it rarely changes (having diverse diagrams is good). However, to be able to observe spike a subplot was added. It's visible on the same diagram under the number.

@Choraden Choraden force-pushed the hg/local_monitoring branch 4 times, most recently from 10718e3 to 5a97414 Compare December 1, 2023 12:24
@mmatczuk
Copy link
Contributor

mmatczuk commented Dec 1, 2023

  • System bytes does not have Mean and Max unlike others.
  • I guess all diagrams would benefit from info especially if other ppl are to use the dashboard
  • Should Go Therads be Threads?
  • The threads also could have mean max
  • In Response Codes you have Mean XXX req/s I guess req can be remove; also, I'm not sure what's the benefit of this information
  • I think we could split Response code Rates for 2XX and everything else, this could improve resolution for the latter diagram
  • Latencies seems not to go down
image
  • It would be super cool if after make up it printer Grafana URL I could click to open the page

@Choraden
Copy link
Contributor Author

Choraden commented Dec 4, 2023

Should Go Therads be Threads?

I chose to stay with Go Threads to indicate where the metric comes from.

The threads also could have mean max

I doubt if it's possible in this number form. We can always switch to standard plot, but I would stay with the one we have.

I addressed all other comments. Errors diagrams will be rendered even though there is no data. Moreover, round trip errors diagram was changed to show increment instead of rate. It looks much better IMO as you can see exact number of errors that occurred instead of some random 0.1388 errors/s. I'm thinking of doing the same for HTTP requests diagrams.

Take a look at the updated pictures or run dashboard yourself and share what you think @mmatczuk

@mmatczuk
Copy link
Contributor

mmatczuk commented Dec 4, 2023

Nice I agree that adding increments for error codes is a good idea.

Overall LGTM.

@@ -4,4 +4,67 @@ title: Monitoring

# Monitoring

TBD
Monitoring your forward proxy is essential for ensuring its health, performance, and resource utilization.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

" your forward proxy "?


We have provided a local monitoring setup that you can use to try out the monitoring features of the Forwarder.
All you need is a Docker to run Prometheus, Grafana and Forwarder.
Visit [here](https://github.com/saucelabs/forwarder/blob/main/local/monitoring/README.md) for more info.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See local/monitoring for more details.

@Choraden Choraden force-pushed the hg/local_monitoring branch 6 times, most recently from 328f8c9 to dc51772 Compare December 7, 2023 13:08
This is replaced by monitoring.
This makes the base url the same in both private(local) and public deployments.
@mmatczuk mmatczuk merged commit 73e966b into main Dec 11, 2023
4 checks passed
@mmatczuk mmatczuk deleted the hg/local_monitoring branch December 11, 2023 08:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants