GUI Performance: How to turn on the API call debug flag in RCP Client

Version 1
    Share:|

    Provides detailed information about each API call send from RCP client to appserver, and the time spend on each call.

    Don't leave this running long term, as there's some cost to it.

    Important note:

    Please make sure you have run the latest BMC "gather stats" script against the database (if Oracle).  This will ensure your database is performing as quickly as possible.

    1. Turn on the API call log:

    How to Setup

    a. Open the following file in an editor: <Blade Installation dir>\...\NSH\br\rcp.cf

         (typically: "C:\Program Files\BMC Software\BladeLogic\NSH\br\rcp.cf")

    b. find the line log4j.logger.com.bladelogic.om.infra.message.MuxRequest=INFO
    and replace with log4j.logger.com.bladelogic.om.infra.message.MuxRequest=DEBUG

    rcp api debug flag.tiff

    c. Seeing entries in the GUI:

    If you comment out log4j.rootLogger=INFO, A1 and add log4j.rootLogger=INFO, A1, A2 like the following

    #log4j.rootLogger=INFO, A1
    log4j.rootLogger=INFO, A1, A2

    You will be able to see the debug output from the console directly (in the "Error Log" widget)

    2. Restart the UI. Go to the place in the UI right before the action to be analyzed. (Get ready to do the action you most want timings for.)

    After changing the rcp.cf, restart the rcp client, from Window->show view->open Error log.

    (or look at the relevant log file on disk if you prefer: open the UI log file (Mine, for user name Administrator was in: "C:\Users\Administrator\AppData\Roaming\Bladelogic\1_2_0\Workspace1\.metadata\.log"),

    You can find the API Call information like the following (some whitespace deleted)

    [...]

    !ENTRY com.bladelogic.client.ui 1 20000 2014-03-05 10:39:33.347

    !MESSAGE INFO main com.bladelogic.om.infra.client.ui.rcp.BLWorkbenchPlugin - time taken to fetch children of :Servers:0.053 seconds


    !ENTRY com.bladelogic.client.ui 1 20000 2014-03-05 10:39:45.370

    !MESSAGE INFO main com.bladelogic.om.infra.client.ui.rcp.BLUiReference - Time to load properties: 0ms

     

    !ENTRY com.bladelogic.client.ui 1 20000 2014-03-05 10:39:45.423

    !MESSAGE INFO main com.bladelogic.om.infra.client.ui.rcp.BLWorkbenchPlugin - time taken to fetch children of :Jobs:0.052 seconds

     

    !ENTRY com.bladelogic.client.ui 1 20000 2014-03-05 10:39:49.961

    !MESSAGE INFO main com.bladelogic.om.infra.client.ui.rcp.BLWorkbenchPlugin - time taken to fetch children of :Patching Jobs:0.064 seconds

     

    !ENTRY com.bladelogic.client.ui 1 20000 2014-03-05 10:39:51.079

    !MESSAGE INFO main com.bladelogic.om.infra.client.ui.rcp.BLWorkbenchPlugin - time taken to fetch children of :Compliance:0.04 seconds

     

    !ENTRY com.bladelogic.client.ui 1 20000 2014-03-05 10:39:52.435

    !MESSAGE INFO main com.bladelogic.om.infra.client.ui.rcp.BLWorkbenchPlugin - time taken to fetch children of :Regulatory & Security:0.035 seconds

     

    !ENTRY com.bladelogic.client.ui 1 20000 2014-03-05 10:39:54.969

    !MESSAGE INFO main com.bladelogic.om.infra.client.ui.rcp.BLWorkbenchPlugin - time taken to fetch children of :Workspace:0.097 seconds

     

    !ENTRY com.bladelogic.client.ui 1 20000 2014-03-05 10:39:58.884

    !MESSAGE INFO main com.bladelogic.om.infra.client.ui.rcp.BLUiReference - Time to load properties: 16ms

     

    3. Then please repeat the following for all the UI performance issues you encountered.  

        3.1 Before you perform any operation, click on “Delete Log” button from the log view. (Should be the 4th button from left of the button bar)

        3.2 Perform the operation(each operation you perform, the atomic the operation, the better for us debugging. For example, for right click server to bring up the browse server editor. Ideally I prefer to see one log file for right click server till context menu popup, the other log file for selecting the browse server till the editor show up)

        3.3 click on “Export Log” button from the log view. (Should be the first button from left of the button bar)

        3.4 capture a screen shot of the UI.
        3.5 associate each file with the operation you performance