Performance Profiler

Stable Version 1.0 (OutSystems 8)
Published on 12 June 2014 by 
Conigent
Conigent
Created on 12 June 2014
Details
Performance Profiler allows you to capture in-depth details of the performance of an Action, letting you find the exact places that need performance improvements.
Read More
Feature List
  • Allows precise, granular insight into performance.
  • Uses the .NET Stopwatch object to get high resolution ticks instead of the imprecise DateTime.Now() or OutSystems' CurrDateTime().

Main Benefits
  • It is much easier to make performance fixes when you know the exact causes of poor performance instead of wasting time guessing!
How To Use
  1. Make a call to GetNewProfileLog and set a local variable to the output.
  2. At the beginning of each step within the Action, call the Profile function, passing in a description of the step and "True" for "IsStart" and "False" for "IsEnd". Set the local variable to the output of this function.
  3. If a step has multiple sub-steps, you can call Profile with both IsStart and IsEnd to "False" to get a timestamp within the step, or you can call it with IsStart = True to get a sub-level of performance. You may nest "IsStart" as deep as you need to. Set the local variable to the output.
  4. At the end of the step, call Profile with IsStart = False and IsEnd = True. Set the local variable to the output.
  5. At the end of the Action itself, call RecordProfileLog and pass in the local variable, eSpaceId (I use GetOwnerEspaceIdentifier()), and optionally the TenantId and UserId. Also pass in a screen name and an ActionName, and any other details you wish.
  6. Publish and run!
The application (it uses the Users eSpace for authentication, feel free to change it!) will show a list of recorded profile logs. You can click on it to get details. Looking at the details will show you a nicely formatted, nested view of the individual steps and sub-steps that you profiled. The number displayed is the number of milliseconds since the previous entry.
Reviews (0)
Category
Support Options
This component is not supported by OutSystems. You may use the discussion forums to leave suggestions or obtain best-effort support from the community, including from Conigent who created this component.
Dependencies
Performance Profiler has no dependencies.
Requirements
Platform:
8.0.1.0
Database:
All
Stack:
.NET
Component Consumers
No consumers yet.
Weekly Downloads 
Related Components
More from Conigent