You Can (Not) Observe
Open Analysis Service
- Install CMD Tool
go install github.com/B1NARY-GR0UP/openalysis@latest
- Get Library
go get -u github.com/B1NARY-GR0UP/openalysis
- Do not have a Go environment? Check the Quick Start section.
Usage:
openalysis [command]
Available Commands:
help Help about any command
restart restart openalysis service
start start openalysis service
Flags:
-h, --help help for openalysis
-v, --version version for openalysis
NOTE:
1. All configurations are based on the configuration file, and if flags are set, they will override the configurations in the configuration file.
2. If the configuration file path is not specified, the project's default configuration file will be used.
- Usage
openalysis start [flags] [path2config]
- Flags
Short | Long | Description |
---|---|---|
-t | --token | Your GitHub Token |
-c | --cron | Your Cron Spec |
-r | --retry | Retry Times |
-h | --help | Help for Start |
- Example
openalysis start -c "@hourly" -r "5" config.yaml
- Usage
openalysis restart [flags] [path2config]
- Flags
Short | Long | Description |
---|---|---|
-t | --token | Your GitHub Token |
-c | --cron | Your Cron Spec |
-r | --retry | Retry Times |
-h | --help | Help for Restart |
- Example
openalysis restart -t "example-github-token"
- groups
Configure the organization or repository you want to analyze on a group basis.
You can set up multiple groups, where each group can contain multiple organizations or repositories.
- datasource
The configuration for MySQL, will be used as a datasource for Grafana.
- backend
The backend configuration for the service includes settings for cron
, GitHub token
, and retry
attempts.
- cleaner
The configuration for unifying contributor's location and company information.
groups:
- name: "cloudwego"
orgs:
- "cloudwego"
- "kitex-contrib"
- "hertz-contrib"
- "volo-rs"
repos:
- "bytedance/sonic"
- "bytedance/monoio"
datasource:
mysql:
host: "mysql"
port: "3306"
user: "openalysis"
password: "openalysis"
database: "openalysis?charset=utf8&parseTime=True&loc=Local"
backend:
cron: "@daily"
token: "your-github-token"
retry: 3
# "`Before` => `After`"
cleaner:
- "`@CloudWeGo` => `CloudWeGo`"
- "`@cloudwego` => `CloudWeGo`"
Create a fine-grained personal access token.
- Use Docker-Compose
Config the command in the openalysis
service.
docker-compose up --build
- Build from Dockerfile
Start your MySQL and Grafana.
docker build -t openalysis .
docker run -it -v path2config.yaml:/src openalysis start path2config.yaml
- Visit
127.0.0.1:3000
on browser - Add MySQL Datasource
- Import template in
template
folder
- org, group time series support
- leaderboard, issue, pr adapt to time range
- support for marking contributor company manually
- issue, pr number => issue. pr id
- use dashboard variable to implement personal dashboard display
Sincere appreciation to the CloudWeGo community, without whose help this project would not have been possible.
OPENALYSIS is distributed under the Apache License 2.0. The licenses of third party dependencies of OPENALYSIS are explained here.
OPENALYSIS is a Subproject of the BINARY WEB ECOLOGY