find_underused_resource_classes
Identifies underutilized CircleCI resource classes by analyzing CPU/RAM usage data from a CSV file. Helps optimize resource allocation by flagging jobs with usage below a specified threshold (default 40%).
Instructions
Analyzes a CircleCI usage data CSV file to find jobs/resource classes with average or max CPU/RAM usage below a given threshold (default 40%).
This helps identify underused resource classes that may be oversized for their workload.
Required parameter:
- csvFilePath: Path to the usage data CSV file (string). IMPORTANT: This must be an absolute path. If you are given a relative path, you must resolve it to an absolute path before calling this tool.
Optional parameter:
- threshold: Usage percentage threshold (number, default 40)
The tool expects the CSV to have columns: job_name, resource_class, median_cpu_utilization_pct, max_cpu_utilization_pct, median_ram_utilization_pct, max_ram_utilization_pct (case-insensitive). These required columns are a subset of the columns in the CircleCI usage API output and the tool will work with the full set of columns from the usage API CSV.
It returns a summary report listing all jobs/resource classes where any of these metrics is below the threshold.
Input Schema
Name | Required | Description | Default |
---|---|---|---|
params | No |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"params": {
"additionalProperties": false,
"properties": {
"csvFilePath": {
"description": "The path to the usage data CSV file to analyze.",
"type": "string"
},
"threshold": {
"default": 40,
"description": "The usage percentage threshold. Jobs with usage below this will be reported. Default is 40.",
"type": "number"
}
},
"required": [
"csvFilePath"
],
"type": "object"
}
},
"type": "object"
}