In order to trace performance issues, you will first need to change the logging level.
Open NotePad and choose to “Run as
an Administrator” (right click on the icon Notepad).
You will receive the following prompt, click Yes.
Once Notepad is opened, from the File menu, choose Open..
In order to find the correct file(s), you must change the type of files to display from (*.txt) to All Files (*.*).
Navigate to where the EPM Add-in is installed. If you have taken the defaults during the installation process,
you will need to navigate to
C:\Program Files (x86)\SAP BusinessObjects\EPM Add-In
Within the directory type in *logconfig* in the Filter box (assuming you are using Windows 7) which will
display three different files: one for Excel Logging, one for PowerPoint logging, and one for Word logging.
Each of these files contains the same information, but you will concentrate on Excel logging.
Highlight FLMXLClient.dll-ExcelLogConfig.xml and click Open (do not double click on the file as the file will open without Admin privileges).
Within this file, you will notice it is broken up into five sections:
* DefaultLogFileAppender – default log
* DefaultTraceFileAppender – default trace
* PerfLogFileAppender – performance log
* PerfTraceFileAppender – performance trace
* MigrationLogFileAppender – Migration log (log for the migration of EVDRE report’s/input forms to the EPM Add-in)
One of the first things you may want to do is change the locking mechanism for each of these sections.
Each log is appended with the instance number so a user can create logs per instance.
When the EPM Add-in is first installed, each file is created with an Exclusive lock, meaning once Excel is
open, you cannot modify/delete the log until Excel is closed. Sometimes, a developer may want to clear out
the logs while Excel is still open in order to isolate a single report/input form. To change this, scroll to the top
of the file and press Ctrl+H or from the menu, Edit -> Replace.
In the Find what text box, type in ExclusiveLock. In the Replace with text box, type in MinimalLock. Click Replace All when finished.
After all changes have been made, close the window by clicking the red X in the upper right hand corner.
Within the EPM Add-in, there are several log levels to choose from:
These levels, excluding ALL, are in a hierarchical order based on priorities. Alert is priority 1, Error is priority
2, Warn is priority 3, etc. This means if you set the logging to WARN, then the EPM Add-in will write all
Alerts, Errors, and Warnings to the log. If you set the level to TRACE, the EPM Add-in will write all Alerts,
Errors, Warnings, Notice, Info, Debug, and Trace logs to the file.
When tracking down performance issues,
TRACE will give you the best results as Verbose writes the performance of loading connections to the ribbon.
When the EPM Add-in is first installed, the defaults for the logs are:
* Migration – ALL
* Log – ERROR
* Trace – ERROR
* Performance Log – ERROR
* Performance Trace - ERROR
When a report/sheet is having performance issues, simply change the Trace.Performance to TRACE which
is the most commonly used for tracking performance issues.
By setting the log level to TRACE, this does
add performance overhead, so it is best to have the log level set back to ERROR or
ALERT for all logs which will write the least amount of data as well as setting the lock level to ExclusiveLock.
Save the file and if Excel is open, please close it and start again.
Finding the Logs:
The easiest way to find the logs is to type %temp%/log in Windows Explorer which will take you to
C:\Users\i821769\AppData\Local\Temp\log, assuming you are on Windows 7
As stated before, each Excel Instance will have four logs (PerfTrace, Trace, Log, and Migration) with the
appended instance number.
Each log will do the following:
* PerfTrace – Used to trace the execution times of features within the EPM Add-in
* Trace – Contains all the functions called by the code
* Log – Contains high level information
* Migration – Contains information related to migration of EVDRE reports/input forms
Contents of the log:
Each action is written to the log, with the beginning time as well as the ending time for each event. Some of
the start and end times have other events embedded. In the below example, you can see the start and end
times for the event “Insert Local Members” and “ClearOnData” are in sequence, but the “Clear report” event
contains the event “ClearOnData”.
69|||||1|Measure [Insert Local Members] start#
69|||||1|Measure [Insert Local Members] end, duration = 0.000 s#
69|||||1|Measure [Clear report] start#
Method [ClearOnData] start#
Method [ClearOnData] end, duration = 0.001 s#
69|||||1|Measure [Clear report] end, duration = 0.029 s#
At the end of the trace, you will see the ending event “RefreshSheetWithScan” which is the summation of all
events and corresponds to the total time it took to refresh a report or input form.
[RefreshSheetWithScan] end, duration = 2.876 s#