metrixio/github-public

This tool helps developers see how popular their code is and how it's being used. It works with Prometheus and Grafana to gather data from Github and create cool visualizations. You can use Grafana to filter and customize the metrics you collect. We hope you find it helpful!

1.0.0 2022-12-26 21:14 UTC

This package is auto-updated.

Last update: 2024-11-27 01:49:24 UTC


README

github

This tool helps developers see how popular their code is and how it's being used.

It works with Prometheus and Grafana to collect data from Github, store it in Prometheus, and create visualizations with Grafana. You can use Grafana to customize the data you collect and create dashboards that fit your needs.

Dashboard

image

Usage

To get started with this package, you'll need to create a Github API token. Once you have that, you can start collecting metrics data.

# Gitgub API token
GITHUB_TOKEN=

# Github repositories to follow (comma separated)
GITHUB_REPOSITORIES=

Docker

version: "3.7"

services:
    twitter-metrics:
        image: ghcr.io/metrixio/github-public:latest
        environment:
            GITHUB_TOKEN: ...
            GITHUB_REPOSITORIES: ...
        restart: on-failure

    prometheus:
        image: prom/prometheus
        volumes:
            - ./runtime/prometheus:/prometheus
        restart: always

    grafana:
        image: grafana/grafana
        depends_on:
            - prometheus
        ports:
            - 3000:3000
        volumes:
            - ./runtime/grafana:/var/lib/grafana
        restart: always

Local server

composer create-project metrixio/github-public

Define the repositories you want to track in .env file

# Gitgub API token
GITHUB_TOKEN=xxx

# Github repositories to follow (comma separated)
GITHUB_REPOSITORIES=spiral/framework,...

Once the project is installed and configured you can start application server:

./rr serve

Metrics will be available on http://127.0.0.1:2112.

Note: To fix unable to open metrics page, change metrics address in RoadRunner config file to 127.0.0.1:2112.

The package is built with some of the best tools out there for PHP. It's powered by Spiral Framework, which makes it super fast and efficient, and it uses RoadRunner as the server, which is a really great tool for collecting metrics data for Prometheus.