Skip to content

feat(collectors): implement or remove test-only stub collectors #690

Description

@kcenon

What

Three collector headers ship as test-only interface sketches: they declare a full collector API but have no compiled implementation, no test, and are not registered with builtin_collectors.h.

  • include/kcenon/monitoring/collectors/logger_system_collector.h
  • include/kcenon/monitoring/collectors/thread_system_collector.h
  • include/kcenon/monitoring/collectors/plugin_metric_collector.h

Why

These headers declare ctors, collect(), initialize(), get_statistics(), etc. with no definition anywhere in src/ and no inline body. They are not linked into the library (the file(GLOB_RECURSE ... src/*.cpp) source set in cmake/sources.cmake finds nothing for them). A consumer including these headers and instantiating the class would hit link errors. They were flagged during the support-status audit (#689) and marked test-only in docs/SUPPORT_STATUS.md plus @warning header comments.

Where

  • include/kcenon/monitoring/collectors/logger_system_collector.h
  • include/kcenon/monitoring/collectors/thread_system_collector.h
  • include/kcenon/monitoring/collectors/plugin_metric_collector.h
  • include/kcenon/monitoring/factory/builtin_collectors.h
  • tests/collectors/

How

For each of the three collectors, decide and execute one of:

  1. Implement — add the src/ implementation, a tests/collectors/test_*.cpp, and register in builtin_collectors.h; promote to production in docs/SUPPORT_STATUS.md.
  2. Remove — delete the header if the interface is not needed; update docs/SUPPORT_STATUS.md.

Acceptance Criteria

  • Each of the three collectors is either fully implemented + tested + registered, or removed.
  • docs/SUPPORT_STATUS.md reflects the final state (no remaining test-only collectors, or the row is deleted).
  • No dangling @warning header comments remain.

Relates to #689

Metadata

Metadata

Assignees

Labels

priority/mediumMedium priority - Important but not urgenttype/choreMaintenance and cleanup tasks

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions