-
Notifications
You must be signed in to change notification settings - Fork 15
Demote Paraswap Errors to warn! + success/failure metrics #1248
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not a fan of passing metrics with the Solver::solve
method, I would instead recommend passing the metrics in when constructing the solvers.
Please do. You can run the solver and connect to |
I believe this PR closes #1015 |
Codecov Report
@@ Coverage Diff @@
## main #1248 +/- ##
==========================================
- Coverage 67.43% 67.42% -0.02%
==========================================
Files 135 135
Lines 28344 28372 +28
==========================================
+ Hits 19113 19129 +16
- Misses 9231 9243 +12 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me! Thanks for fixing this 😄.
As a follow up task, could you add panels in our Grafana dashboard for this as well?
Yes absolutely, although I am still trying to figure out how. |
Based on the amount of noise produced by Paraswap errors in our alerts channel, we deemed it appropriate to demote these errors to warnings and instead record success/failure counts of the single order solver grouped by solver name.
Note that this change required passing
Arc<dyn SolverMetrics>
through the trait methodSolver::solve
which remains unused in many places (apart from the single order solver). However, this PR serves as a good preparation for recording other metrics to come (refined time counters on different stages of solving, etc...).Test Plan
I recall that @fleupold had done some sort of manual test for metrics at one point and provided the result data in some strange prometheus file format. I could do that if it seems appropriate.Run the solver locally pointed at the production orderbook with just the Paraswap solver enabled
Connect to the metrics api and find something like this in the logs