microsoft / ApplicationInsights-Java

Application Insights for Java
http://aka.ms/application-insights
Other
296 stars 200 forks source link

Application insight profiler is not triggering for memory. No JFR report has been seen for memory. #3100

Open Sachin1O1 opened 1 year ago

Sachin1O1 commented 1 year ago

Expected behavior

The profiler should trigger when the memory threshold is achieved and jfr report should be generated for memory.

Actual behavior

No JFR report is generated for memory.

To Reproduce

Submitting a PR with an example reproducing the issue in this repository would make it easier for the Application Insight maintainers to help you. Before doing this, you have to fork this repository.

System information

Please provide the following information:

Logs

Turn on SDK logs and attach/paste them to the issue. If using an application server, also attach any relevant server logs.

Be sure to remove any private information from the logs before posting!

Screenshots

If applicable, add screenshots to help explain your problem.

image
trask commented 1 year ago

cc @johnoliver

Sachin1O1 commented 1 year ago

Any update?

cc @trask @johnoliver

johnoliver commented 1 year ago

@Sachin1O1 its difficult to say without details, the best detail here would be a GC log, or a JFR file with the GC events included from a process that could allow us to confirm that your memory is over the threshold.

But some common issues could be:

If you can provide a gc log we can hopefully confirm that you are performing tenured garbage collections, and after the garbage collection is complete that your tenured occupancy is over the threshold.

Sachin1O1 commented 1 year ago

HI @johnoliver, Thank you for explaining things. This gives a little clarity. If I understand it in the right way, you mean that there is no bug in the profiler triggering for memory and it should be something with the tenured garbage collections that I need to verify.

But I had an observation earlier that when the profiler trigger either for CPU or memory it shows the usage of other resources while it is triggered.

for example, if the profiler triggers for cpu at 90% in the report it also shows the value for memory usage at 40% but now it shows 0 as you can refer to the snap that I shared above in the issue. Please check this.

johnoliver commented 1 year ago

@Sachin1O1

There might be a bug in the profiling trigger for memory, but I am not aware of one, and would need to see what the output of a tenured garbage collection looks like to confirm.

There is a bug we have where generally we only show the percentage of the resource that triggered the profile, and 0 for the other value. This is an issue that architecturally is difficult to work around, but is a known bug that we have. I will re-take a look at this to see if we can fix this

Rohi-spark commented 5 months ago

is there any updates. I am also facing same issue for container apps.

johnoliver commented 5 months ago

@Rohi-spark, are you able to confirm if: