Conversation
…ed metrics paths, copied walkthrough
Summary of ChangesHello @heidi-dang, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly expands the C++ core engine of the Highlights
Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
The pull request introduces several new core components and updates the daemon's source structure, including the addition of an async collector and manifest handling. However, there are a few significant issues: build artifacts and dependency sources have been committed to the repository, which should be avoided. Additionally, the CMakeLists.txt configuration duplicates source files across targets and appears to be missing critical link dependencies for the unit tests, which will likely lead to build failures.
| @@ -0,0 +1,592 @@ | |||
| # This is the CMakeCache file. | |||
There was a problem hiding this comment.
|
|
||
| target_include_directories(cpp_core_tests PRIVATE heidi_engine/cpp) | ||
| target_link_libraries(cpp_core_tests PRIVATE gtest gtest_main crypto pthread) | ||
| target_link_libraries(cpp_core_tests PRIVATE gtest_main crypto pthread heidi-metrics heidi-kernel-governor) |
There was a problem hiding this comment.
The cpp_core_tests target is missing heidi-kernel-lib and z in its link libraries, which are required by the core logic now included in the test target. Additionally, gtest was removed from the link list; it should likely be retained alongside gtest_main to ensure all necessary symbols are available.
target_link_libraries(cpp_core_tests PRIVATE gtest gtest_main crypto pthread heidi-metrics heidi-kernel-governor heidi-kernel-lib z)
| heidi_engine/cpp/core/core.cpp | ||
| heidi_engine/cpp/core/clock.cpp | ||
| heidi_engine/cpp/core/config.cpp | ||
| heidi_engine/cpp/core/journal_writer.cpp | ||
| heidi_engine/cpp/core/run_id.cpp | ||
| heidi_engine/cpp/core/status_writer.cpp | ||
| heidi_engine/cpp/core/subprocess.cpp | ||
| heidi_engine/cpp/core/mock_provider.cpp | ||
| heidi_engine/cpp/core/async_collector.cpp | ||
| heidi_engine/cpp/core/manifest.cpp |
There was a problem hiding this comment.
The core source files are listed directly in the heidid executable and duplicated in the cpp_core_tests target. This approach is error-prone and increases maintenance overhead.
Improvement: Refactor these core components into a static library target. This allows you to define the source list once and link it into both the daemon and the test suite, ensuring consistency and potentially speeding up the build process.
No description provided.