Enhance Micrometer metrics with adaptive memory tracking and native memory support
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 970
- Forks
- 486
- Avg merge
- 3d 33m
- Merged PRs (30d)
- 170
Description
Description
Enhance the current Micrometer metrics implementation to provide an adaptive approach for gathering system memory and native memory metrics to identify potential memory leaks or excessive usage.
Requirements
- Basic Memory Metrics: Provide fundamental system memory metrics without performance overhead
- Adaptive Native Memory Tracking: Enable detailed native memory tracking based on -XX:NativeMemoryTracking JVM flag
- Environment Variable Support: Add detection and configuration via environment variable in dotCMS/src/main/resources/container/tomcat9/bin/setenv.sh
Acceptance Criteria
- Implement adaptive memory metrics collection that scales based on available tracking options
- Add native memory tracking when -XX:NativeMemoryTracking is enabled
- Provide environment variable configuration in setenv.sh for easy enablement
- Maintain low overhead for basic metrics collection
- Include comprehensive metric labels for memory leak identification
- Add proper documentation for configuration options
Technical Details
- Leverage existing Micrometer infrastructure
- Integrate with dotCMS containerization setup
- Ensure compatibility with current monitoring stack
- Consider performance impact on production systems
Acceptance Criteria
- [Define what needs to be accomplished]
Additional Notes
[Any additional context or notes]
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the existing Micrometer metrics implementation and review dotCMS/src/main/resources/container/tomcat9/bin/setenv.sh for current JVM and environment configuration. Determine which tracking options are available and how the monitoring stack consumes memory metrics. Done means adaptive basic and native-memory metrics, configuration support, low-overhead collection, labels, tests, and documentation matching the acceptance criteria.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, shell
- Domain
- backend, devops, observability
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100