Skip to Content
In this WebLog I want to promote a very simple but also effective way of analyzing the performance of a running Web Dynpro application. This technique is an easy approach to detect given bottlenecks of a running Web Dynpro application. When a Web Dynpro application developer has to detect such a bottleneck during the development process she has to find an answer on the following questions:

  • Origin: Where does the performance bottleneck originiate from? Is it based on a problem on client side (parsing), on server side (application logic, server processing) or on backend side (business logic)? Does my dynamic view modification code cause the problem? Is it the execution of an Adaptive RFC model class?
  • Effectiveness: How do I know whether my approach to solving the performance problem is going in the right direction? How can I measure the performance improvement during this iterative optimization process?

Attaching the Web Dynpro URL-parameter sap-wd-showInfo

To find a first answer on these two questions I highly suggest using the generic Web Dynpro URL-parameter named sap-wd-showInfo, which is applicable in SAP NW04 and NW04s.
In order to measure and characterize end-to-end performance of a running Web Dynpro application per client-server-roundtrip, just add the parameter sap-wd-showInfo to the application-URL and set it to any non-null value (e.g. “X” or “true”). The Web Dynpro HTML browser client then displays the following time values [in ms] in the status line

Browser
  • parsing: time for parsing HTML
  • JSBefore: time for processing JavaScript code before HTML rendering
  • HTML: time for rendering HTML
  • JSAfter: time for processing JavaScript code after HTML rendering
J2EE
  • Server side processing time
  • Time to process and dispatch an incoming request to the Web Dynpro Runtime
  • Time needed by the Web Dynpro Runtime to process the complete phase model
Back-End
  • Length of time for accessing the backend (executing Adptive RFC model classes)
  • Not measured (0) when other models are used (JavaBean, Adaptive Web Service Model)
Size
  • Estimated response size in kilobytes.

 

image

With the displayed time values you can determine the origin of potential performance bottlenecks on client side, server side or on backend side. The values are re-calculated in every single request-response cycle.

Restrictions

  • The URL parameter sap-wd-showInfo can only be applied for those Web Dynpro applications, which are not running within the SAP NetWeaver Portal as iViews do not provide a visible status line.
  • The Backend time value is only measured for Adpative RFC Models. It is 0 for (Adaptive) Web Service or JavaBean Models.

Setting URL Parameters in the Web Dynpro Tool Preferences

To automatically add the key-value pair sap-wd-showInfo=X to the URL of a deployed Web Dynpro application you can use the Web Dynpro Tools preferences.

  • Select menu item Window – Preferences in the SAP NetWeaver Developer Studio.
  • In the preferences tree open node Web Dynpro – Server.
  • In the field URL parameters enter the value sap-wd-showInfo=X.

image

Afterwards the defined URL parameter will be automatically attached to the application URL when iteratively deploying and running the Web Dynpro application you are actually developing.

Using the Web Dynpro Console

In this respect I want point out, that the Web Dynpro Console can be used to measure the client performance across multiple request-response cycles.

  • Login to the Web Dynpro Console Application as an Administrator: http://:/webdynpro/dispatcher/sap.com/tc~wd~tools/WebDynproConsole
  • Select the node Admin Menu – Performance – Client
  • Open a new browser instance. Do not use the menu item File – New – Window (or CTRL+N) but run a new browser instance via Programs ….
  • Start Measuring by pressing the Start button.
    image
  • Enter the URL of your test application in the new browser window and press Return.
  • Interact with your Web Dynpro application by triggering on or more actions.
  • After having completed your test scenario inside your Web Dynpro application window press Stop in the Web Dynpro Cosole.
  • The Web Dynpro Console now displays the client performance results for the recorded request/response cycles (time interval). The calculation of  different time values (total, average, minimum and maximum time, call count) for the quantities time_parse, time_scriptAfterHTML, time_applyInnerHTML, time_scriptBeforeHTML and response is based on the Browser-related performance values, which were displayed in the status bar.
    image

Enjoy Web Dynpro,

Bertram Ganz, NW ESI F UI – WDF4J, SAP AG

To report this post you need to login first.

19 Comments

You must be Logged on to comment or reply to a post.

  1. Valery Silaev
    Bertram,

    There should be yet another parameter, that shows transfered content for every request in separate browser window. Unfortunately, I forget its name 🙁

    Do you remember it?

    P.S. Overall, very useful hint

    (0) 
    1. Bertram Ganz Post author
      Hi Valery, yes there are additional parameters for analyzing the communication between Web Dynpro Client and Web Dynpro Runtime; but they are not public and only used by framework developers.
      Regards, Bertram
      (0) 
          1. Hanoz Tarapore
            Hi,

            sap-wd-clienttrace=5 gives me information NOT related to the purpose of the Blog.

            My Question still remains as what Simon first posted:
            When I use the parameter sap-wd-showInfo=X I see Browser: XXXX J2EE: XXXX Back-end: XXXX. I do not see the breakdown of Browser into (Parsing, HTML etc…) nor do I see the Size: value.

            Can you please help us with the same?

            (0) 
  2. Bharathwaj Ragothaman
    Hi ,
    It does not seem to work in my case..

    This parameter is not available in SAP Help documentation.. Is this is also restricted ? Or is there somethin i need to set.?

    Regards
    Bharathwaj

    (0) 
  3. Frank Ruggaber
    Hi!

    Is there a way to get this information for
    Web Dynpro ABAP, too ? In WDA this parameter
    isn’t implemented yet, or doesn’t work – why ?

    Greetings
    Frank Ruggaber

    (0) 
    1. Thomas Szücs
      Hi Frank,

      It’s sap-wd-ssrconsole=X and displays quite alot of interesting information, like how many context nodes, attributes or view elements were changed, etc.

      Best regards,
      Thomas

      P.S: I’ve got to add the disclaimer that this parameter is purely SAP internal and that we might change its purpose, remove it, change the content of the popup, etc without further notice.. :))

      (0) 
    1. Claire Cachan
      Hi,

      Very helpful weblog !

      I would like too to use this to simulate several users …
      Faniel, Did you ever try it ? What tool did you use to simulate a lot of users ?

      Thanks In Advance
      Claire

      (0) 
  4. Simon Kemp
    Hi Bertram,

    Thank you for the blog, it is very useful. When I use the parameter sap-wd-showInfo=X I see Browser: XXXX J2EE: XXXX Back-end: XXXX. I do not see the breakdown of Browser into (Parsing, HTML etc…) nor  do I see the Size: value.

    Can you comment on this?

    Thanks,
    Simon

    (0) 
    1. Bertram Ganz Post author
      Hallo Simon, for the initial Request the Web Dynpro Runtime cannot calculate exact time values. The time HTML/Script time values are only calculated for successive requests. Do you also see these “XXXX” time value strings in successive cycles? Regards Bertram
      (0) 
  5. Jaret Funk
    Hi Bertram,

    I have a webdynpro application in which after setting this parameter to see the performance values it returns HTML rendering values that are really high ( > 5000) when the application is run on a 2 ghz processor laptop with 3 GB of ram.  This value is way less on a desktop PC (around 200) with similar hardware.  I was just wondering what this higher value means?  Does it mean that there is something on the laptop computer that causes this higher value for html rendering?

    (0) 
  6. kunal kotak
    Hi Bertram,

    Your blog is very much helpful. Thanx a ton for sharing this useful info.

    I have passed “sap-wd-showInfo=X” in “Application Parametrs” for an iView.

    Time to update the blog 🙂

    Thank u,
    Kunal Kotak

    (0) 

Leave a Reply