cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Akshay_Utekar
Dynatrace Guide
Dynatrace Guide

Problem

We can sometimes encounter high resource overhead because of the Dynatrace Object named “DynatraceLogEnrichmentData.combineMDCs”

This article will be helpful in understanding the regular working of the Log enrichment component. The technology involved is Java.

Below is the example screenshot from the Memory profiling page that shows the Dynatrace Object is taking up high memory:

logsnip2.jpg

 

Troubleshooting steps

The "DynatraceLogEnrichmentData.combineMDCs" method can be safely disabled by turning-off the Log Enrichment OneAgent feature for Java from the settings page. Please refer to the screenshot below to make the changes via Global settings:

logsnip1.jpg

This can also be done via process group settings on a specific application process.

However, be mindful that this can be disabled only if the Application process does not use log monitoring.

 

Working/ Expected Behavior

The "Profiling and Optimization" page shows memory allocation. The Dynatrace objects/ methods seen in the above screenshot are freed again.

This is the so-called Java object churn. It is not a heap dump showing objects still in memory (memory leak).
It is correct that the method "DynatraceLogEnrichmentData.combineMDCs" is related to the log enrichment feature. The more logs are enriched, the more often it is called. However, all objects are garbage collected after the method is left.

We can conclude that this behavior is expected and that there will be no issues as long as the heap memory is stable.

 

What’s next

If there is suspicion that the memory leak is caused by OneAgent, a full heap dump must be provided, which contains proof of leaking objects.

A support case can be created in the above scenario for further troubleshooting.

Note: Prediction of heap usage/ object churn can't be done. The activity of the log enrichment sensor highly depends on the configured environment settings.
Verbose logging via debug, trace will cause more churn than only logging warnings.
Also, it depends on their usage of Mapped Diagnostic Context (MDC).

As the lifetime of the OneAgent objects is very short, the Garbage Collection of the JVM will actually reclaim the memory immediately. Thus, a significant heap increase should not be visible.

Version history
Last update:
‎17 Feb 2025 06:57 AM
Updated by: