summaryrefslogtreecommitdiff
path: root/profiling
AgeCommit message (Collapse)Author
2025-06-26Remove bash scripts and update documentation to use dtail-toolsPaul Buetow
Following the successful refactoring to Go-based tooling, this commit: 1. Removes all obsolete bash scripts: - benchmarks/benchmark.sh - profiling/profile.sh - profiling/profile_benchmarks.sh - profiling/profile_dmap.sh - profiling/profile_quick.sh 2. Updates all documentation to use dtail-tools: - README.md: Updated benchmark commands to use dtail-tools - PROFILING.md: Updated profiling instructions to use dtail-tools 3. Updates Go code references: - profile_runner.go: Uses dtail-tools instead of profile.sh - profile_example.go: Uses dtail-tools for profile analysis The new dtail-tools provides all the functionality of the old bash scripts with better cross-platform compatibility, error handling, and maintainability. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-26feat: increase profiling test data sizes for meaningful resultsPaul Buetow
- profile_benchmarks.sh: Increased test data sizes - Small log: 1MB → 10MB - Medium log: 10MB → 100MB - CSV file: 10MB → 50MB - DTail format log: 1,000 lines → 100,000 lines - profile_dmap.sh: Already updated (1K and 1M lines) These larger datasets ensure that profiling runs long enough to collect meaningful performance data, especially for dmap which was finishing too quickly with the smaller datasets. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-26fix: update Makefile clean target and fix dmap profiling behaviorPaul Buetow
- Updated 'make clean' to also remove all .tmp and .prof files in the repo - Fixed dmap profiling scripts to let dmap complete naturally instead of killing it after a timeout (dmap terminates when input is fully processed) - Removed the special run_profile_dmap function as it's no longer needed - Updated all profiling scripts to reflect that dmap has a natural exit point Thanks for the correction - dmap does indeed terminate after processing all data from the source file, so the timeout/kill approach was unnecessary. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-26fix: update profiling scripts to use correct path for generate_profile_data.goPaul Buetow
- Fixed path references to generate_profile_data.go in profile_quick.sh and profile_benchmarks.sh (now ../benchmarks/cmd/) - Fixed dmap profiling in profile_quick.sh to use proper MapReduce query format and interrupt after 3 seconds (since dmap runs continuously) - Added CSV logformat specification for dmap query on CSV files This fixes the "make profile-quick" and "make profile-auto" commands that were failing due to incorrect paths after moving the profiling scripts from benchmarks/ to profiling/. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-26refactor: move profiling scripts from benchmarks/ to profiling/Paul Buetow
- Moved profile_benchmarks.sh, profile_dmap.sh, and profile_quick.sh to the profiling/ directory where they belong - Updated Makefile targets to reference new locations - Fixed profile_dmap.sh to remove outfile clauses since they're not needed for profiling and were preventing proper execution - Updated .gitignore to exclude generated files in profiling/ This better separates benchmarking (performance comparison) from profiling (performance analysis). 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-26feat: add profiling framework with command echoingPaul Buetow
Created a comprehensive profiling framework for dtail commands (dcat, dgrep, dmap) to analyze CPU usage and memory allocations. The framework now prints all executed commands to stdout for full transparency. Key features: - Integrated Go profiling (CPU, memory, allocations) into all three commands - Created profile.sh bash script for analyzing pprof profiles - Added multiple Makefile targets for different profiling scenarios - Automated profiling scripts with command echoing - Support for different data sizes (quick, normal, full) - Special handling for dmap MapReduce format All profiling commands are now echoed to stdout before execution, making it easy to understand what the framework is doing and reproduce commands manually. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>