All Projects → zalando-incubator → Catwatch

zalando-incubator / Catwatch

Licence: other
A metrics dashboard for GitHub organizations, with results accessible via REST API

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Catwatch

Corefreq
CoreFreq is a CPU monitoring software designed for the 64-bits Processors.
Stars: ✭ 1,026 (+1800%)
Mutual labels:  monitoring
Procmon Parser
Parser to process monitor file formats
Stars: ✭ 49 (-9.26%)
Mutual labels:  monitoring
Spm Agent Nodejs
NodeJS Monitoring Agent
Stars: ✭ 51 (-5.56%)
Mutual labels:  monitoring
Azuremonitoringhackathon
Operationalize Azure deployments with Azure platform tools​
Stars: ✭ 46 (-14.81%)
Mutual labels:  monitoring
Homer7 Docker
HOMER 7 Docker Images
Stars: ✭ 47 (-12.96%)
Mutual labels:  monitoring
Grafana Zabbix Dashboards
Grafana dashboards for Zabbix
Stars: ✭ 50 (-7.41%)
Mutual labels:  monitoring
Kapo
Wrap any command in a status socket
Stars: ✭ 45 (-16.67%)
Mutual labels:  monitoring
Unifi exporter
Multiarch images for scraping Prometheus metrics from a Unifi Controller. Kubernetes / prometheus-operator compatible.
Stars: ✭ 54 (+0%)
Mutual labels:  monitoring
Hubblemon
Stars: ✭ 48 (-11.11%)
Mutual labels:  monitoring
Overseer
A golang-based remote protocol tester for testing sites & service availability
Stars: ✭ 51 (-5.56%)
Mutual labels:  monitoring
Stackimpact Nodejs
DEPRECATED StackImpact Node.js Profiler - Production-Grade Performance Profiler: CPU, memory allocations, async calls, errors, metrics, and more
Stars: ✭ 46 (-14.81%)
Mutual labels:  monitoring
Llama
Library for testing and measuring network loss and latency between distributed endpoints.
Stars: ✭ 47 (-12.96%)
Mutual labels:  monitoring
Kvmtop
A monitoring tool for black box virtual machines from KVM hypervisor level
Stars: ✭ 51 (-5.56%)
Mutual labels:  monitoring
Examples
Demo applications and code examples for Confluent Platform and Apache Kafka
Stars: ✭ 571 (+957.41%)
Mutual labels:  monitoring
Ethmonitoring
Miner monitoring software with different notifications support
Stars: ✭ 53 (-1.85%)
Mutual labels:  monitoring
Ward
Server dashboard
Stars: ✭ 1,026 (+1800%)
Mutual labels:  monitoring
Laravel Heartbeat
Periodically schedule a job to send a heartbeat to a monitoring system.
Stars: ✭ 49 (-9.26%)
Mutual labels:  monitoring
Poshmon
A PowerShell-based server and farm monitoring solution
Stars: ✭ 54 (+0%)
Mutual labels:  monitoring
Ostrio
▲ Web services for JavaScript, Angular.js, React.js, Vue.js, Meteor.js, Node.js, and other JavaScript-based websites, web apps, single page applications (SPA), and progressive web applications (PWA). Our services: Pre-rendering, Monitoring, Web Analytics, WebSec, and Web-CRON
Stars: ✭ 52 (-3.7%)
Mutual labels:  monitoring
Graphql Inspector
🕵️‍♀️ Validate schema, get schema change notifications, validate operations, find breaking changes, look for similar types, schema coverage
Stars: ✭ 1,059 (+1861.11%)
Mutual labels:  monitoring

Travis build status Coveralls coverage status Apache 2 Analytics

CatWatch

CatWatch is a web application that fetches GitHub statistics for your GitHub accounts, processes and saves your GitHub data in a database, then makes the data available via a REST API. The data reveals the popularity of your open source projects, most active contributors, and other interesting points. As an example, you can see the data at work behind the Zalando Open Source page.

To compare it to CoderStats: CatWatch aggregates your statistics over a list of GitHub accounts.

Prerequisites

  • Maven 3.0.5
  • Java 8
  • PostgreSQL 9.4

Getting Started

First, run PostgreSQL and create the database and a role via a unix shell:

psql -c "create database catwatch;" -U postgres -h localhost
psql -c "create database catwatch_test;" -U postgres -h localhost
psql -c "create user cat1 with password 'cat1';" -U postgres -h localhost

Build and run the web application with Maven.

cd catwatch-backend

# build
../mvnw package

# run
../mvnw spring-boot:run -Dorganization.list=<listOfGitHubAccounts>

# run with postgresql and auto create the database (drops existing contents)
../mvnw spring-boot:run -Dspring.profiles.active=postgresql -Dspring.jpa.hibernate.ddl-auto=create

# run with H2 in memory database and auto create the database
../mvnw spring-boot:run 

# run with GitHub basic authentication
../mvnw spring-boot:run -Dgithub.login=XXX -Dgithub.password=YYY

# run with GitHub OAuth token (supports 2FA)
../mvnw spring-boot:run -Dgithub.oauth.token=XXX

The web application is available at http://localhost:8080

It provides the CatWatch REST API.

Details

General

Travis CI is used for continuous integration (see button on the top). Coveralls is used for tracking test coverage (see button on the top).

Database

By default, the web application uses an H2 in-memory database. The file application-postgresql.properties demonstrates how a PostgreSQL database can be configured.

After the application is started, some test data are added to the database.

Admin Console

Currently the scheduler is being executed at 8:00 AM every morning. There are some endpoints.

Initialise the database with test data (for the virtual organization 'galanto''):

GET /init

Drop the database:

GET /delete

Import the data (see catwatch-dump/export.txt):

POST /import

Export the data:

GET /export

Fetch the data. Please note that the properties github.login github.password must be set:

GET /fetch

Get the config:

GET /config

Update temporarily the scoring function for projects (see catwatch-score/scoring.project.sh):

POST /config/scoring.project

TODO

Here are open tasks regarding the infrastructure:

  • Deployment (Database migration, GitHub account credentials management)
  • Monitoring
  • Robustness (DB fails, CatWatch backend fails)
  • Cleaning up the code base

Potential and confirmed bugs:

  • not all Zalando projects are listed (confirmed)
  • the number of contributors is not correct (potential)
  • the time series graphs should be hidden for the first version as they break the responsive layout (confirmed)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].