All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Code coverage reporting with Codecov integration
- Add MIT LICENSE file
- Add graphviz runtime dependency documentation
0.1.0 - 2026-02-05
First official release - transforming cpp-remote-profiler from a tool to a reusable library.
- CPU Profiling using gperftools
- Heap Profiling with memory leak detection (tcmalloc sample)
- Thread stack capture for all threads with dynamic thread count support
- Standard Go pprof interface compatibility
- Web interface with one-click flame graph analysis
- RESTful HTTP API endpoints
- Raw SVG download for CPU/Heap profiles
- Signal handler safety (save and restore user signal handlers)
- Modern CMake 3.15+ configuration with installation targets
find_package()support withcpp-remote-profiler-config.cmakeFetchContentintegration support- vcpkg package manager support with custom port
- Conan 2.0 package support
- Shared/static library build options (
BUILD_SHARED_LIBS) - Optional components (
with_web,with_symbolize)
- Complete API reference (
docs/user_guide/02_api_reference.md) - Quick start guide (
docs/user_guide/01_quick_start.md) - Integration examples for 6 scenarios (
docs/user_guide/03_integration_examples.md) - Installation guide with 5 methods (
docs/user_guide/05_installation.md) - Troubleshooting guide (
docs/user_guide/04_troubleshooting.md) find_packageusage guide (docs/user_guide/06_using_find_package.md)
- GitHub Actions workflow for build and test
- Code quality checks (AddressSanitizer, UBSan, Clang-Tidy)
- Support for GCC and Clang compilers
- vcpkg dependency caching
- Basic usage example (
example/main.cpp) - Workload example for profiling (
example/workload.cpp) - Custom signal handling example (
example/custom_signal.cpp)
- Semantic versioning support (
include/version.h) - Version check macro (
REMOTE_PROFILER_VERSION_AT_LEAST) - API stability policy documentation
/pprof/profile- CPU profile (Go pprof compatible)/pprof/heap- Heap profile (Go pprof compatible)/pprof/symbol- Symbol information (Go pprof compatible)/api/cpu/flamegraph- One-click CPU flame graph/api/heap/flamegraph- One-click heap flame graph/api/cpu/svg_raw- Raw CPU flame graph SVG download/api/heap/svg_raw- Raw heap flame graph SVG download/api/thread/stacks- Thread stack capture/api/status- Service status query
- gperftools - CPU/Heap profiling core
- Drogon - Web framework
- backward-cpp - Stack symbolization
- nlohmann-json - JSON support
- OpenSSL, zlib, Protobuf, Abseil - Supporting libraries
- Basic CPU profiling with gperftools
- Web interface for flame graph visualization
- Browser-based interactive flame graph rendering
- Protobuf-based profile parsing
- absl symbolization support
- One-click CPU/Heap analysis
- Removed pprof script dependency
- Unified dependency management with vcpkg
- Cleaned up build scripts
- Code organization for library usage
- Web resource embedding