I hope you are well.
I was wondering whether it is possible on Dynatrace App Mon to measure separate CPU cores usage for a specific process utilising a Linux Operating System?
If this is possible I was wondering what the protocol is for obtaining such metrics within Dynatrace App Mon.
Any help on this topic would be much appreciated.
Hello Joseph, apologies for the late reply the scenario is a follows: the team that manages the application would like to analyze the
information related to the individual 4 vCPUs present on each server and not
just the total values.
For this purpose are additional views available for each agent and for
all CPU entries of the "Host Performance"? I hope this makes sense
As mentioned, we don't provide metrics down to the individual core level. And this is for good reason: There's no value in this information. vCPUs are a shared commodity and a given thread of any process can be moved from Vcore to Vcore at any time during execution and the application doesn't know or care. The entire CPU capacity (across all cores) is the resource being utilized and thus to watch it move from core to core isn't helpful. Perhaps I missed the value of such information. But bottom line: we don't provide it.
Sorry to resurrect an old thread here, but we've had this request lately.
The use case is to analyze CPU utilization and thread/process distribution of applications. A host with 8 cores may be running an application that only utilizes 4 of these (e.g. because the thread pool is misconfigured), or it may have performance issues where one core peaks running a single thread, while remaining threads are running OK. Looking at the aggregate CPU consumption, this may be around 40% and look OK, while the problematic thread is actually consuming all the CPU it can.
Breakdown by core is not available, however I think you can do much of what you need with existing data. For example, if you have a 4 core machine and you see 25% utilization at the host level, and it's all being consumed by a single process, then you can assume that this is a saturated core. Similar conclusions can be made from the existing data based on analyzing the Process level CPU consumption metrics. For some supported technologies, you also have CPU data down to the method level (java). This obviously helps nail down consuming code to a much deeper granularity. Look at the Methods dashlet and you also have CPU consumption summarized at the method/class/package level.