Thursday, 1 January 2015

EPM - Did you know? #5

Time now for the fifth and final part of the “did you know” miniseries and from the list of topics the following has been randomly selected for today:

Did you know there is an EPM System Activity Report in 11.1.2.3+?

It is not documented and probably was only developed for use with Oracle’s PBCS but nevertheless it does exist and can be run on any EPM server.

The report generates the following statistics:
  • Weblogic Top 10 Least Performing End User URL Requests
  • WebLogic Top 10 URL Request Instances by Duration
  • WebLogic Top 10 Functions by Number of Executions
  • WebLogic Number of Requests by Webapp
  • WebLogic Top 10 Number of Active Users by Period
  • WebLogic Top 10 Users by Duration
  • WebLogic Non-200 Status by Number of Requests
  • WebLogic Top 10 URLs by Number of Requests
  • WebLogic Top 10 URL Requests by Size
  • WebLogic Funtionally Unknown URLs
  • Database Top 10 Queries by Duration
  • Database Top 10 Queries by Execution
  • Essbase Top 10 Calc Scripts by Duration
  • Essbase Top 10 Calc Scripts by Execution
  • Essbase Top 10 Calc Scripts Execution Instance by Duration
As this looks like it has been developed for PBCS then the WebLogic statistics are only against the planning web application, the database statistics are produced against an Oracle database and looking at a single schema development.

So this report is obviously not for everybody but it highlights what is being developed in the background to the on-premise world.

Basically the WebLogic section of the report is built up from parsing the access log in the planning managed server logs directory.

The database section is generated from the Automatic Workload Repository (AWR), the AWR is used to collect performance statistics for the Oracle database.

The essbase section is generated by parsing the application logs for each database and focusing on the execution time of calcs.

To run the report is very simple and can be achieved from command line by running something similar to:

set classpath=E:\Oracle\Middleware\modules\com.bea.core.apache.velocity_1.4.jar;%EPM_ORACLE_HOME%\common\SharedServices\11.1.2.0\lib\epmactivity.jar;%EPM_ORACLE_HOME%\common\jlib\11.1.2.0\epm_j2se.jar;
set EPM_ORACLE_INSTANCE=E:\Oracle\Middleware\user_projects\epmsystem1

java -DEPM_ORACLE_INSTANCE=%EPM_ORACLE_INSTANCE% com.oracle.epm.activity.EPMActivityReport


This will generate an html report named EPMActivty.html in the diagnostics reports directory.


The report is broken down into all the statistics which I mentioned earlier.

It is possible to use parameters to generate the report within a specified number of days or between a specified time period.

To run the report for a specified number of days you would use:
–tday <DAYS>


So to run for the last 10 days it would be:

java -DEPM_ORACLE_INSTANCE=%EPM_ORACLE_INSTANCE% com.oracle.epm.activity.EPMActivityReport –t  10

To run the run against a time period the parameter format is
–t  <from date/time> <to date/time>


The “from and “to” time must be specified in YYYY-MM-DDTHOUR:MIN:SEC format using a 24-hour clock.

For example:

java -DEPM_ORACLE_INSTANCE=%EPM_ORACLE_INSTANCE% com.oracle.epm.activity.EPMActivityReport -t 2014-12-01T00:00:00 2014-12-31T23:59:59

There is also a separate report available which is only run against essbase and something similar can be run on any essbase server:

set classpath=E:\Oracle\Middleware\modules\com.bea.core.apache.velocity_1.4.jar;%EPM_ORACLE_HOME%\common\SharedServices\11.1.2.0\lib\essbaseactivity.jar;%EPM_ORACLE_HOME%\common\jlib\11.1.2.0\epm_j2se.jar;
set EPM_ORACLE_INSTANCE=E:\Oracle\Middleware\user_projects\epmsystem1

java -DEPM_ORACLE_INSTANCE=%EPM_ORACLE_INSTANCE% com.hyperion.essbasemonitor.EssbaseLogParser



There is another caveat to the reports generating any essbase results and that is it will only run against the appname.log and not the equivalent appname_odl.log

If the ODL logs exist the essbase sections of the reports will be blank, to get around this the ODL logs can be removed and disabled by editing the logging xml file, and did you know that was possible? Sorry that didn’t to the selected topics for this series.

The essbase activity report will be generated in the same location and named EssbaseActivityReport.html


If you are wondering what the inline scripts are in the report these are generated from planning business rules

I am not going to cover it but It is even possible to alter the design of the reports by editing certain template files.

So that is the end of the series which I hope some have found useful, there are many other topics in the list that could have been covered but unfortunately I have run out of time, maybe the series will return again some time in the future.

2 comments:

Robert Ogren said...

John: Thanks for posting this. Do not know where you found the time to find this nugget. I work in the EPM Infrastructure and do a ton of API work. I missed this one.
I had to add more Libs to the classpath to get it to run but have it running.
Thanks
Rob

Robert Ogren said...

Have you found a way to have this run against the distributed web apps. It seems to only pickup the "0" webapps (FOundation0, RaFramework0, etc).

Thanks