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.

Built With

Share this project:

Updates