| Age | Commit message (Collapse) | Author |
|
|
|
|
|
- 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>
|
|
- 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>
|
|
- 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>
|
|
- 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>
|
|
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>
|
|
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>
|