Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/utgwkk/github-actions-profiler
A profiler for GitHub Actions workflow
https://github.com/utgwkk/github-actions-profiler
github-actions golang profiling
Last synced: 11 days ago
JSON representation
A profiler for GitHub Actions workflow
- Host: GitHub
- URL: https://github.com/utgwkk/github-actions-profiler
- Owner: utgwkk
- License: mit
- Created: 2020-11-28T05:48:48.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2021-02-04T00:36:22.000Z (almost 4 years ago)
- Last Synced: 2024-10-09T04:21:55.805Z (30 days ago)
- Topics: github-actions, golang, profiling
- Language: Go
- Homepage:
- Size: 98.6 KB
- Stars: 3
- Watchers: 3
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# github-actions-profile
A profiler for GitHub Actions workflow
## Installation
Download executable from [Releases](https://github.com/utgwkk/github-actions-profiler/releases). If you want to install HEAD version, run `go get`.
```
go get github.com/utgwkk/github-actions-profiler/cmd/github-actions-profiler
```## Configuration
### Arguments
|arguments|type|description|
|:-|:-|:-|
|`access-token`|`string`|An access token|
|`cache`|`bool`|Enable disk cache (Default: `true`)|
|`cache-dir`|`string`|Where to store cache data|
|`concurrency`|`int`|Concurrency of GitHub API client (Default: 2)|
|`number-of-job`|`int`|The number of job to analyze|
|`format`|`string`|Output format (Default: `table`, Supported: `table`, `json`, `tsv`, `markdown`)|
|`job-name-regexp`|`string`|Filter regular expression for a job name|
|`owner`|`string`|Repository owner name|
|`repository`|`string`|Repository name|
|`reverse`|`bool`|Reverse the result of sort|
|`sort`|`string`|A field name to sort by (Default: `number`, Supported: `number`, `min`, `max`, `median`, `mean`, `p50`, `p90`, `p95`, `p99`)|
|`verbose`|`bool`|Verbose mode|
|`workflow-file`|`string`|Workflow file name (without `.github/workflows/`)|### Passing access token with a environment variable
You may pass `access-token` with `GITHUB_ACTIONS_PROFILER_TOKEN` environment variable.
### TOML
You may set configuration with a TOML file and pass it with `--config `.
```toml
access-token = "YOUR_ACCESS_TOKEN"
cache = true
cache-dir = "/tmp/cache/dir"
number-of-job = 50
format = "table"
job-name-regexp = "Perl"
owner = "your-name"
repository = "your-repository"
reverse = true
sort = "max"
workflow-file = "ci.yml"
```## Example output
```
Job: Perl 5.32
+--------+----------+----------+----------+----------+----------+-----------+------------+------------+----------------------------------------------------+
| Number | Min | Median | Mean | P50 | P90 | P95 | P99 | Max | Name |
+--------+----------+----------+----------+----------+----------+-----------+------------+------------+----------------------------------------------------+
| 1 | 2.000000 | 3.000000 | 3.430769 | 3.000000 | 5.000000 | 5.000000 | 5.000000 | 5.000000 | Set up job |
| 2 | 1.000000 | 1.000000 | 1.307692 | 1.000000 | 2.000000 | 3.000000 | 3.000000 | 3.000000 | Run actions/checkout@v2 |
| 3 | 0.000000 | 1.000000 | 1.138462 | 1.000000 | 2.000000 | 2.500000 | 5.000000 | 6.000000 | Run actions/cache@v2 |
| 4 | 1.000000 | 2.000000 | 2.000000 | 2.000000 | 2.000000 | 2.500000 | 3.000000 | 3.000000 | Set up Perl |
| 5 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | Remove Perl Problem Matcher |
| 6 | 0.000000 | 0.000000 | 7.323077 | 0.000000 | 2.500000 | 26.000000 | 176.500000 | 178.000000 | Run cpanm -L local |
| | | | | | | | | | --installdeps . |
| 7 | 0.000000 | 2.000000 | 1.553846 | 2.000000 | 3.000000 | 4.000000 | 5.000000 | 6.000000 | Run cpanm -L local |
| | | | | | | | | | Test2::Plugin::GitHub::Actions::AnnotateFailedTest |
| 8 | 2.000000 | 2.000000 | 2.466667 | 2.000000 | 3.000000 | 4.000000 | 4.000000 | 4.000000 | Run prove -Ilocal/lib/perl5 |
| | | | | | | | | | -Ilib -lv t |
| 13 | 0.000000 | 0.000000 | 0.371429 | 0.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | Post Run actions/cache@v2 |
| 14 | 0.000000 | 0.000000 | 0.200000 | 0.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | Post Run actions/checkout@v2 |
| 15 | 0.000000 | 0.000000 | 0.338462 | 0.000000 | 1.000000 | 1.000000 | 1.500000 | 2.000000 | Post Run actions/cache@v2 |
| 16 | 0.000000 | 0.000000 | 0.033333 | 0.000000 | 0.000000 | 0.000000 | 0.500000 | 1.000000 | Post Run actions/checkout@v2 |
| 17 | 0.000000 | 0.000000 | 0.033333 | 0.000000 | 0.000000 | 0.000000 | 0.500000 | 1.000000 | Complete job |
+--------+----------+----------+----------+----------+----------+-----------+------------+------------+----------------------------------------------------+
```