Inspiration
To learn more on API development in Python and solve day-to-day problems in any open source application. Eventually I want to write by own web application in Python
What it does
Argus is an open source monitoring service that monitors data that we are interested in. It uses time-series database. For example, these are the datapoints showing the timestamp and the value sent to Argus by my application. (1 means the test passed and -1 is test failed) 'datapoints': {'1606666060000': 1.0, '1606666297000': 1.0, '1606666596000': -1.0, '1606666745000': 1.0, '1606666872000': -1.0, '1606667074000': -1.0, '1606667141000': 1.0}}] Availability of the service is calculated based on how many times the test failed out of total runs. for example , here the test failed 3 times, so the pass percentage is 57%
But the problem here is sometimes the test is flaky and so we want to account only if the test failed consecutively for more than 1 time. In that case, the third -1 in above data should be ignored and the calculation should be 5 passed/7 runs and the pass percentage is 71%.
How I built it
I used Python to solve the logic of checking one time test failures and update the value to 2. This way when the availability percentage is calculated these one time flaky test failures are ignored.
Challenges I ran into
Setting up and connecting to the Argus server
Accomplishments that I'm proud of
Able to learn how to make API requests to a web application.
What I learned
I learned about API, server, how to connect to remote machine via APIs.
What's next for Flakiness_Customizer
Give an option for user to decide the criteria for flakiness. In this project , by default 1 time test failures are ignored. This decision criteria can be customizable as per user needs.
Log in or sign up for Devpost to join the conversation.