Giter Site home page Giter Site logo

tedparagon / workflow-telemetry-action Goto Github PK

View Code? Open in Web Editor NEW

This project forked from catchpoint/workflow-telemetry-action

0.0 0.0 0.0 16.93 MB

Github action to collect metrics (CPU, memory, I/O, etc ...) from your workflows to help you debug and optimize your CI/CD pipeline

License: Apache License 2.0

Shell 1.32% TypeScript 98.68%

workflow-telemetry-action's Introduction

workflow-telemetry-action

A GitHub Action to track and monitor the

  • workflow runs, jobs and steps
  • resource metrics
  • and process activities of your GitHub Action workflow runs. If the run is triggered via a Pull Request, it will create a comment on the connected PR with the results and/or publishes the results to the job summary.

The action traces the jobs' step executions and shows them in trace chart,

And collects the following metrics:

  • CPU Load (user and system) in percentage
  • Memory usage (used and free) in MB
  • Network I/O (read and write) in MB
  • Disk I/O (read and write) in MB

And traces the process executions (only supported on Ubuntu)

as trace chart with the following information:

  • Name
  • Start time
  • Duration (in ms)
  • Finish time
  • Exit status as success or fail (highlighted as red)

and as trace table with the following information:

  • Name
  • Id
  • Parent id
  • User id
  • Start time
  • Duration (in ms)
  • Exit code
  • File name
  • Arguments

Example Output

An example output of a simple workflow run will look like this.

Step Trace Example

Metrics Example

Process Trace Example

Usage

To use the action, add the following step before the steps you want to track.

- name: Collect Workflow Telemetry
  uses: runforesight/workflow-telemetry-action@v1

Configuration

Option Requirement Description
github_token Optional An alternative GitHub token, other than the default provided by GitHub Actions runner.
metric_frequency Optional Metric collection frequency in seconds. Must be a number. Defaults to 5.
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.
proc_trace_sys_enable Optional Enables tracing default system processes (aws, cat, sed, ...). Defaults to false.
proc_trace_chart_show Optional Enables showing traced processes in trace chart. Defaults to true.
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.
proc_trace_table_show Optional Enables showing traced processes in trace table. Defaults to true.
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.
job_summary Optional Set to true to publish the results as part of the job summary page of the workflow run. Defaults to true.
theme Optional Set to dark to generate charts compatible with Github dark mode. Defaults to light.

workflow-telemetry-action's People

Contributors

rwxdash avatar gokhan721 avatar actions-user avatar dependabot[bot] avatar tspascoal avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.