summaryrefslogtreecommitdiff
path: root/internal/tools
AgeCommit message (Collapse)Author
2026-03-20Optimize mapr parsing and stabilize aggregate shutdownPaul Buetow
2026-03-05Improve lint/vet reliability and refactor client runtime/bootstrapPaul Buetow
2025-07-04feat: enhance PGO with detailed command execution loggingPaul Buetow
- Add verbose command output showing exact commands executed during PGO - Show all client commands used to generate dserver load - Display profile merging commands with go tool pprof - Document all commands in pgo_commands_detail.md - Improve user visibility into PGO workflow execution This makes it easier to understand and debug the PGO process by showing exactly what commands are being run at each step. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-04feat: complete PGO implementation with improved profilingPaul Buetow
- Add comprehensive PGO documentation in doc/pgo_implementation.md - Improve dserver profiling using HTTP pprof endpoint - Handle empty profiles gracefully for I/O-bound operations - Add concurrent client workloads for better server profiling - Update .gitignore to exclude PGO-generated directories - Document performance improvements: 3-39% depending on command The PGO implementation now supports all dtail commands with realistic workloads and proper handling of edge cases. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-04fix: add profiling support to dtail and improve PGO workflowPaul Buetow
- Add profiling support to dtail command (was missing) - Import profiling package - Add profile flags and profiler initialization - Add metrics logging for startup/shutdown - Fix PGO profile generation for dtail - Create growing log file simulation for realistic profiling - Add regex filtering to generate more CPU work - Handle empty profiles gracefully - Improve PGO test data generation - Add growing_log file type for dtail testing - Generate varied log levels (INFO/WARN/ERROR/DEBUG) - Increase log generation rate for better profiling Note: dtail and dserver may generate minimal CPU profiles as they are primarily I/O-bound operations. PGO is most effective for CPU-intensive operations like dgrep pattern matching and dmap data processing. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-04feat: add Profile-Guided Optimization (PGO) supportPaul Buetow
- Add comprehensive PGO module in internal/tools/pgo/ - Integrate PGO into dtail-tools command with full CLI support - Add Makefile targets for PGO workflow: - make pgo: Full PGO workflow - make pgo-quick: Quick PGO with smaller datasets - make pgo-generate: Generate profiles only - make build-pgo: Build with existing profiles - make install-pgo: Install optimized binaries - Add convenience functions to data generator for PGO - Document PGO workflow in CLAUDE.md Performance improvements observed: - DCat: 3.8-7.0% additional improvement over turbo mode - DGrep: Up to 19% improvement for low hit rates - DMap: Variable impact, up to 64% for min_max on large files Benchmarks show total performance gains (pre-turbo → turbo+PGO): - DCat: 14-21x faster - DGrep: 9-15x faster - DMap: 9-29% faster 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-26Fix dmap CSV query syntax in profiling toolPaul Buetow
The WHERE clause in dmap queries uses 'eq' operator for string equality, not '=' or '=='. This was causing the CSV profiling query to fail with a parsing error. Fixed query: - Changed from: where $status = "success" - Changed to: where $status eq "success" 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-26Refactor profiling and benchmarking tools from bash to GoPaul Buetow
This major refactoring replaces all bash-based profiling and benchmarking scripts with a unified Go tool (dtail-tools) that provides: - Better cross-platform compatibility - Improved error handling and reliability - Structured data generation for test files - Consistent command-line interface - Easier maintenance and extensibility Key changes: - Created dtail-tools command with profile and benchmark subcommands - Implemented common utilities for data generation and file operations - Updated Makefile to use the new Go-based tools - Maintained backward compatibility with existing make targets - Fixed ParseSize to handle single-letter suffixes (10M, 1G, etc.) The new tool supports all previous functionality: - profile-quick, profile-all, profile-dmap - benchmark creation, comparison, and management - Test data generation with multiple formats - Profile analysis and listing 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>