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-04-27 00:43:00 UTC


README

68747470733a2f2f706f7365722e707567782e6f72672f6d6574726978696f2f6769746875622d7075626c69632f726571756972652f706870 68747470733a2f2f706f7365722e707567782e6f72672f6d6574726978696f2f6769746875622d7075626c69632f76657273696f6e badge.svg 68747470733a2f2f706f7365722e707567782e6f72672f6d6574726978696f2f6769746875622d7075626c69632f646f776e6c6f616473

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.