3 ms·
The page is driven via the @balancedstatus Twitter account via a protocol our CEO, Matin, came up with. Here's the relevant section from the README for the repo
by mjallday 14y ago
The page is driven via the @balancedstatus Twitter account via a protocol our CEO, Matin, came up with. Here's the relevant section from the README for the repo:
## Message Display Behavior
Messages are fed into the system via the @balancedstatus Twitter account.
Messages take the format
`<SYSTEM>-<STATE>: <MESSAGE>`; e.g.
* `DASH-UP: Everything is back to normal`
* `API-ISSUE: We are experiencing problems`
* `JS: Here's an informal message` _(non-error message)_
Where STATE is one of `UP`, `DOWN`, `ISSUE`
Messages with a state are displayed in the lower portion of the page idefinitely, `ISSUE` or `DOWN` messages will change the icon of the corresponding service. These messages must be followed by an `UP` state message in order to revert the displayed icon to its natural state.
Messages without a state are displayed in the upper middle portion of the page for 24 hours.
/----------------------------------------------
Beyond that we parse and feed our logs from the various services that make up the Balanced stack and then calculate the uptime percentages based on number of 500s (and slow requests) / non-500s.
- rgarcia 14y agoIt'd be cool to see something like this built on top of the Pingdom API. https://www.pingdom.com/services/api-documentation-rest/#ResourceSummary.outage https://www.pingdom.com/services/api-documentation-rest/#Res...
- mh- 14y agoPingdom isn't fine-grained (or/therefore accurate) enough for this sort of display to be of much use, unfortunately.
- chewxy 14y ago> number of 500s (and slow requests) / non-500s? Shouldn't it be (# of 500s)/(# of 500s + # non-500s)? I assume of course, 500 is the HTTP status codes Other than that, brilliant beautiful page.
- mahmoudimus 14y agoHi Chwexy, That's actually how it's calculated :) I think mjallday had a typo. His anti procrastination settings are turned on so he can't make an edit to his comment :P Happy to talk more about how this works, why we decided to take this approach and how we constitute 500s as down time. I can also discuss our extensive automated testing and how it's conducted across all our services to provide transparency to our customers.