dotCMS / dotCMS/core

Enhance Micrometer metrics with adaptive memory tracking and native memory support

Open
#33,040 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

dotCMS : Metrics Priority : 3 Average stale Team : Platform
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

  1. Basic Memory Metrics: Provide fundamental system memory metrics without performance overhead
  2. Adaptive Native Memory Tracking: Enable detailed native memory tracking based on -XX:NativeMemoryTracking JVM flag
  3. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.