{"repo":"spreaker/poduptime","free":true,"listed":false,"github":"https://github.com/spreaker/poduptime","clone":"git clone https://github.com/spreaker/poduptime.git","description":"Distributed uptime monitoring for the podcast industry","language":"JavaScript","stars":24,"topics":["monitoring","podcasting","serverless"],"license":"MIT","category":"analytics","readme_excerpt":"PodUptime PodUptime is a distributed uptime monitoring for the podcast industry, developed and maintained by Spreaker. Its purpose is to measure the availability of hosting platforms and track prefixes. This project originated as a side endeavor, aimed at assisting our Creators Success team in promptly assessing and addressing issues within the podcast industry that might impact our customers. For instance, it helps identify problems such as import procedures failing due to temporary unavailability of an RSS feed or RSS enclosure, or playback issues resulting from tracking prefix glitches. Architecture PodUptime is made of 3 different components: monitor , analytics , and website . Monitor The monitor component is responsible for performing the actual measurements and is a multi-region system deployed in three AWS Regions: us-west-1 , us-east-2 , and eu-south-1 . These regions were chosen to avoid those where most companies typically host their workloads, ensuring an unbiased measurement. The monitoring process starts with a scheduled Lambda function that runs every minute and pushes monitoring jobs to an SQS queue. Each job corresponds to a URL to be monitored and is executed in isolation by a second Lambda that consumes the queue. Measurement results are sent to a dedicated EventBridge bus in the same region. Each EventBridge bus is configured with rules to forward the measurements to a centralized EventBridge bus belonging to the analytics application. Analytics The purpos","default_branch":null,"files":null,"tree":[],"storefront":"/r/spreaker","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/spreaker/poduptime/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}