{"id":13484928,"url":"https://github.com/catchpoint/workflow-telemetry-action","last_synced_at":"2025-04-05T09:05:21.901Z","repository":{"id":38317204,"uuid":"497825138","full_name":"catchpoint/workflow-telemetry-action","owner":"catchpoint","description":"Github action to collect metrics (CPU, memory, I/O, etc ...) from your workflows to help you debug and optimize your CI/CD pipeline","archived":false,"fork":false,"pushed_at":"2024-07-24T00:09:36.000Z","size":17192,"stargazers_count":343,"open_issues_count":33,"forks_count":46,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-29T08:06:40.221Z","etag":null,"topics":["actions","ci-cd","github","monitoring","observability","telemetry","workflow"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/catchpoint.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-30T06:57:10.000Z","updated_at":"2025-03-27T10:09:13.000Z","dependencies_parsed_at":"2023-11-21T13:59:31.768Z","dependency_job_id":"7f1ebd3a-527d-4347-bfa2-4895c8815a73","html_url":"https://github.com/catchpoint/workflow-telemetry-action","commit_stats":{"total_commits":58,"total_committers":14,"mean_commits":4.142857142857143,"dds":0.5172413793103448,"last_synced_commit":"f974e0c5942f8f37973c4cc395704165fbe629ba"},"previous_names":["catchpoint/workflow-telemetry-action","runforesight/workflow-telemetry-action"],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catchpoint%2Fworkflow-telemetry-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catchpoint%2Fworkflow-telemetry-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catchpoint%2Fworkflow-telemetry-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catchpoint%2Fworkflow-telemetry-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/catchpoint","download_url":"https://codeload.github.com/catchpoint/workflow-telemetry-action/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247312077,"owners_count":20918344,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actions","ci-cd","github","monitoring","observability","telemetry","workflow"],"created_at":"2024-07-31T17:01:39.127Z","updated_at":"2025-04-05T09:05:21.705Z","avatar_url":"https://github.com/catchpoint.png","language":"TypeScript","readme":"# workflow-telemetry-action\n\nA GitHub Action to track and monitor the \n- workflow runs, jobs and steps\n- resource metrics \n- and process activities \nof your GitHub Action workflow runs. \nIf the run is triggered via a Pull Request, it will create a comment on the connected PR with the results \nand/or publishes the results to the job summary. \n\nThe action traces the jobs' step executions and shows them in trace chart,\n\nAnd collects the following metrics:\n- CPU Load (user and system) in percentage\n- Memory usage (used and free) in MB\n- Network I/O (read and write) in MB\n- Disk I/O (read and write) in MB\n\nAnd traces the process executions (only supported on `Ubuntu`) \n\nas trace chart with the following information:\n- Name\n- Start time\n- Duration (in ms)\n- Finish time\n- Exit status as success or fail (highlighted as red)\n\nand as trace table with the following information:\n- Name\n- Id\n- Parent id\n- User id\n- Start time\n- Duration (in ms)\n- Exit code\n- File name\n- Arguments\n\n### Example Output\n\nAn example output of a simple workflow run will look like this.\n\n![Step Trace Example](/images/step-trace-example.png)\n\n![Metrics Example](/images/metrics-example.png)\n\n![Process Trace Example](/images/proc-trace-example.png)\n\n## Usage\n\nTo use the action, add the following step before the steps you want to track.\n\n```yaml\npermissions:\n  pull-requests: write\njobs:\n  workflow-telemetry-action:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Collect Workflow Telemetry\n        uses: catchpoint/workflow-telemetry-action@v2\n```\n\n## Configuration\n\n| Option                       | Requirement       | Description\n|------------------------------| ---               | ---\n| `github_token`               | Optional          | An alternative GitHub token, other than the default provided by GitHub Actions runner.\n| `metric_frequency`           | Optional          | Metric collection frequency in seconds. Must be a number. Defaults to `5`.\n| `proc_trace_min_duration`    | Optional          | Puts minimum limit for process execution duration to be traced. Must be a number. Defaults to `-1` which means process duration filtering is not applied.\n| `proc_trace_sys_enable`      | Optional          | Enables tracing default system processes (`aws`, `cat`, `sed`, ...). Defaults to `false`.\n| `proc_trace_chart_show`      | Optional          | Enables showing traced processes in trace chart. Defaults to `true`.\n| `proc_trace_chart_max_count` | Optional          | Maximum number of processes to be shown in trace chart (applicable if `proc_trace_chart_show` input is `true`). Must be a number. Defaults to `100`.\n| `proc_trace_table_show`      | Optional          | Enables showing traced processes in trace table. Defaults to `true`.\n| `comment_on_pr`              | Optional          | Set to `true` to publish the results as comment to the PR (applicable if workflow run is triggered by PR). Defaults to `true`. \u003cbr/\u003e Requires `pull-requests: write` permission\n| `job_summary`                | Optional          | Set to `true` to publish the results as part of the [job summary page](https://github.blog/2022-05-09-supercharging-github-actions-with-job-summaries/) of the workflow run. Defaults to `true`.\n| `theme`                      | Optional          | Set to `dark` to generate charts compatible with Github **dark** mode. Defaults to `light`.\n","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcatchpoint%2Fworkflow-telemetry-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcatchpoint%2Fworkflow-telemetry-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcatchpoint%2Fworkflow-telemetry-action/lists"}