Table of Contents
1 - Introduction2 - Profiling your application
1 - Integrating the SDK
2 - Initialising the profiler
3 - Profile events
4 - Block types
5 - Event attributes
3 - User interface reference2 - Initialising the profiler
3 - Profile events
4 - Block types
5 - Event attributes
6 - Defining expressions
4 - SDK Reference
Contact Information
Sales
Sales and licensing related questions should be sent to our sales team at:Feedback
If you have feedback regarding this website or any of our products, please use the following email address:Support
Questions related to problems you have encountered with either this website or any of our products should be directed to our support team at:Enquiries
Any other questions, or general enquiries should be sent to the following email address:2.6 - Defining expressions
Warning and error expressions allow you to customise exactly which conditions should be flagged by the Oso Memory Profiler as problems. Events that are flagged will be highlighted in the Oso Memory Profiler's views and the expressions that failed will be displayed in the Problems tab of an event's detailed information.Custom expressions will generate errors or warnings for any events for which they evaluate as true.
Expressions should be UTF8-Latin1 (ASCII) only strings, and may contain the following:
Operators |
|
Literal values |
|
References |
References are used to access attributes from the profiler events being evaluated. References take one of the following forms:
Names are simplified versions of the name passed to OsoMP_NewAttribute. A simplified name is one that has been converted to lowercase, and had all spacing and punctuation removed. For example, the simplified name of 'Thread 34' is 'thread34'. Attribute numbers are the IDs specified when registering custom attributes. In addition to any custom defined attributes, it is also possible to reference any of the standard attributes that are defined in the Oso Memory Profiler SDK: size, address, threadid, threadname, time. |
Is attribute 107 for the second event minus the value of the same attribute for the first event less than two?
({S:107} - {F:107}) <= 1
Is the size of each block a multiple of four?
({F:size} % 4) != 0
Was the memory allocated and freed in the same thread? (This is the inverse of one of the standard warnings available in the Oso Memory Profiler.)
{F:threadid} == {S:threadid}