How can I profile only System.String allocations?
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Not sure if I can be of much help, but...
> I [...] cannot get any result.
Could you clarify what did you mean?
Are the results empty? Or you have difficulties to interpret them? Or something else?
Have you read http://support.smartbear.com/viewarticle/43234/ and http://support.smartbear.com/viewarticle/43573/ help topics?
It is my understanding, that your setup says that you want to profile String and Byte allocations made in the XPO class but I am not sure if this is what you really like to do.
I might be incorrect, but I think that if you want to profile all allocations of System.String within your application, than you need to get the debug info file for this class (from MS site?) and add it to the setup like you did for the XPO class.
/Alex [Community Champion]
____
[Community Champions] are not employed by SmartBear Software but
are just volunteers who have some experience with the tools by SmartBear Software
and a desire to help others. Posts made by [Community Champions]
may differ from the official policies of SmartBear Software and should be treated
as the own private opinion of their authors and under no circumstances as an
official answer from SmartBear Software.
The [Community Champion] signature is assigned on quarterly basis and is used with permission by SmartBear Software.
https://community.smartbear.com/t5/Community-Champions/About-the-Community-Champions-Program/gpm-p/252662
================================
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi AlexKaras,
We use the XPO as ORM in our system and the application allocate a huge amount of memory during an operation.
I would like to find which object takes the most memory.
It is Impossible to switch on the Entire .Net Core by Classes option and log all the loaded objects because the process memory usage more than 10G. The process never finishes. A lots of small objects are created during the operation.
I suppose the string and the byte objects takes the most memory and try to prove it. I have added the mscorlib.dll to the project (that contains the System.String type) and get information only these objects. (Later I can add other classes as well.)
But the result is empty (see picture below). I suppose my project setup is incorrect.
It would be fine to start an overall allocation profiling session where I see all the types in the process on a high level, only the amount of occupied memory by class not the concrete objects. But I cannot find a way to do it in this application.
I have tried execute the test with less objects but with less objects it is impossible to identify the problematic objects.
I would like to limit the examination to concrete objects like System.String.
Thank you for your help.
Regards,
Csaba
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@CsabaBurai, would you mind opening a Support Case with us, so we can take a closer look at this?
In the meantime, you could try enabling "Entire .NET Code By Classes", disabling "View Project Classes Only" on the Report toolbar, and then filtering by Object Name. This should work.
Alexander
Customer Care Manager
