Merged
Conversation
Changes: - Add getDieId() accessor to PCM class in cpucounters.h - Add --die option parsing in pcm.cpp - Add die-level aggregation in print_output() (normal mode) - Add die-level aggregation in print_csv_header() and print_csv() (CSV mode) - Update print_help() with new option documentation - Update fuzz test to exercise the new code path --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: rdementi <25432609+rdementi@users.noreply.github.com>
* Add native PCIe metrics collection and export support - Move IPlatform::getPlatform() from pcm-pcie.cpp to pcm-pcie.h as inline so both pcm-pcie (CLI) and pcm-sensor-server (HTTP exporter) can instantiate platform objects without duplicating the factory logic - Add pcm-pcie-collector.h for Prometheus-style PCIe metrics collection - Expose IPlatform data accessors (getReadBw, getWriteBw, event, etc.) as public so PCIeCollector can read metrics externally - Extend pcm-sensor-server.cpp with PCIe metrics HTTP endpoints - Replace exit() with throw std::runtime_error() for server safety - Use override instead of virtual for compile-time correctness - Fix build warning in pcm-pcicfg.cpp
…sr.sys drivers from System32 instead of current directory
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Clarify that the notice file must accompany any distribution or release of the software, including binary installers and other release artifacts. Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Add CMake install rule so third-party-software.txt is packaged alongside perfmon data in DEB/RPM/TXZ release artifacts. For Windows: updated AppVeyor file and ci-windows for verification.
Added 3rd parties software notice file
Change-Id: Ic264b1738bcb70025ce87462012661ea74c5e873
Change-Id: I7e1f84f8d694788dbdc0be036ef896a77e8bb863
Change-Id: I199f3bda367c2ac2591fc2c3a2ad19b6dee93721
Use thread-safe pcm_localtime() instead of localtime() in debug output to avoid potential race conditions and ensure cross-platform compatibility. Change-Id: Ib63f09f708590a7e185d9053d000aa9b0ba2654a Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Replace unsafe CRT functions with their secure alternatives on Windows: - fopen -> fopen_s in pcm-msr.cpp - gmtime -> gmtime_s in pcm-sensor-server.cpp - localtime -> localtime_s in pcm-sensor-server.cpp - strerror -> strerror_s in pcm-sensor-server.cpp These changes are Windows-specific using #ifdef _MSC_VER, preserving standard functions on other platforms. Change-Id: I18004fa5263332ae69ff7a6466b645c0724cf450 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Remove unused exception variable names in catch blocks in pcm-sensor-server.cpp. The exceptions are caught but not inspected, so use anonymous catch syntax. Fixed 3 instances of "unreferenced local variable 'e'" warnings. Change-Id: I094dc3a4f06afb888e7cf42f7c93575edb4da5b1 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Avoid redefining standard errno macros (EAGAIN, EWOULDBLOCK) by introducing PCM-specific versions: - PCM_EAGAIN: maps to WSAEWOULDBLOCK on Windows, EAGAIN on Unix - PCM_EWOULDBLOCK: maps to WSAEWOULDBLOCK on Windows, EWOULDBLOCK on Unix This prevents macro redefinition warnings on modern Windows SDKs that include POSIX error codes in errno.h. Change-Id: Ibb9cc407b541102b9e4b6c7db774e8e8a3280231 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Store the result of callbackList_[request.method()] in a variable to avoid: 1. Computing the lookup twice (more efficient) 2. C4550 warning: "expression evaluates to a function which is missing an argument list" The warning occurred because the code was dereferencing the function pointer for the null check, which the compiler interpreted as trying to evaluate the function without calling it. Change-Id: Ic63727b617b18d01fca3e69c93a8d8600537a6af Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Agent-Logs-Url: https://github.com/intel-innersource/applications.analyzers.pcm/sessions/abff2ea8-4d7a-4ef6-96a5-19553d495fd3 Co-authored-by: rdementi <25432609+rdementi@users.noreply.github.com>
Change-Id: I5876d70c6cce5251e0a9dd59a20eddf7b58b8177
Document the fix for MSVC compilation error caused by max macro conflict with std::numeric_limits<T>::max(). Explains the root cause, solution, and best practices for avoiding Windows macro conflicts. Change-Id: I697e5a071bb57c1cd73527ec120cdf97461de800 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…os parameter Agent-Logs-Url: https://github.com/intel-innersource/applications.analyzers.pcm/sessions/adc7d1d8-4453-4304-a564-4cc043f285df Co-authored-by: rdementi <25432609+rdementi@users.noreply.github.com>
…rsing Agent-Logs-Url: https://github.com/intel-innersource/applications.analyzers.pcm/sessions/adc7d1d8-4453-4304-a564-4cc043f285df Co-authored-by: rdementi <25432609+rdementi@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Change-Id: Ib218bcf66b5c60d3f3f2138b2389d19587d8a5cf Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Agent-Logs-Url: https://github.com/intel-innersource/applications.analyzers.pcm/sessions/dba2fcf2-5354-402c-a2ca-318125d1db02 Co-authored-by: rdementi <25432609+rdementi@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
opcm
approved these changes
Apr 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.