A CLI tool written in Go that profiles Terraform runs to provide detailed statistics, resource-level metrics, and visualizations.
tf-profile is a CLI tool written in Go that profiles Terraform runs by analyzing execution logs. It extracts detailed statistics, resource-level metrics, and generates visualizations to help understand the performance and behavior of infrastructure deployments. The tool solves the problem of opaque Terraform operations by providing clear insights into apply times, resource states, and module structures.
Infrastructure engineers, DevOps professionals, and platform teams who use Terraform for managing cloud resources and need to optimize or debug their deployments.
Developers choose tf-profile for its ability to transform verbose Terraform logs into structured, actionable data with multiple output formats and visualizations, all through a modern, easy-to-use CLI interface.
CLI tool to profile Terraform runs, written in Go
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Can read Terraform logs directly from stdin via pipes or from files, enabling seamless integration into existing workflows, as demonstrated in the basic usage examples.
Provides global stats and resource-level metrics with customizable outputs, such as detailed tables for per-resource analysis, helping identify bottlenecks.
Generates Gantt-like charts to visualize the order of resource modifications, aiding in debugging complex deployments, though it requires Gnuplot.
Built with Cobra for a user-friendly experience including autocomplete, making it easy to use and integrate into command-line environments.
Supports wildcard patterns to filter logs for specific resources, allowing focused analysis on problematic modules or resources.
The README explicitly warns that the project is no longer being actively developed, so it won't receive updates or support for newer Terraform versions.
Requires Gnuplot to generate visualizations, adding setup complexity and an extra dependency that might not be available in all environments.
As admitted in the disclaimer, Terraform logs lack absolute timestamps, so the graph's X-axis only shows order, not precise durations, reducing its utility for timing analysis.
Relies on specific Terraform log formats; without updates, changes in Terraform could break functionality, making it unreliable for future-proof projects.