gnosis / etherbalance Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
We should probably wrap this inside tini. We had an issue with our dex-services binary not handling signals well.
As proposed in slack, I think we should merely increment a metric for success/failure counts here instead of alerting on every RPC connection timeout like this one
ERROR (pod: dev-dfusion-etherbalance-xdai-64db97c847-rt4vj):
failed to get balance for address 0xf794…5a70 token ether: Transport error: Error(Connect, Os { code: 111, kind: ConnectionRefused, message: "Connection refused" })
Looking at the following code block, it seems we are only actually printing the statement about failing to get balance so I suspect eliminating this error in our alert channel will also involve some communication with DevOps as well.
Lines 132 to 145 in b6bf3e2
Proposal
Allow to specify low balance threshold for each monitored account.
Motivation
We have reached a point where we are attempting to monitor several accounts with this service. Each of these accounts is submitting different types of transactions for several different purposes (i.e. with varying expected transaction fees at varying frequencies).
Example/Use Case
For example solvers submit solutions and spend lots of gas doing so, while the synthetix liquidity provision bot sparsely places orders on an exchange. This implies that that the classification of a "low balance" in one account might be drastically different from that of another. In order to safely ensure a solver is running with sufficient balance over a long weekend we would consider 4 ETH to be a low balance, while a safety net for synthetix bot is 1 ETH.
We are making a lot of requests in a row. It would be more efficient to batch them together. There is a BatchTransport in web3.
Somehow, this code block (even though it is just a print statement) is still appears as an error in our alerts channel.
I have also checked with devops to see if they have some of their own triggers for such alerts (like any string containing "failed" or something).
Lines 151 to 161 in c13d061
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.