webMethods Integration Server Service Profiler (ISSPROF) v1.5

www.wrightia.com (c) 2006-2017

Please choose the closest match to your installation environment:

webMethods Version Operating System
v6.0 to v8.1: Unix, Linux, OSX, Solaris:
v8.2: MS Windows, as application:
v9.0 to v9.5: MS Windows, as service:
v9.6 to v10.1:  

Introduction

The Service Profiler is a tool to collect and analyze runtime information about Integration Server Services.

It is intended to have a small footprint while running, be easy and fast to install and uninstall, and to require no configuration over the Services being profiled.

Installation

Before attempting to perform the installation, first read this document to the end.

Install the profiler by installing the following Integration Server Packages, in the order they are presented:

The presented ZIP filenames may have a version suffix appended to its name. These suffixes are not shown here so that this readme can be independent from their specific versions.

Instructions for webMethods versions prior to v8.2

After installing the Integration Server Packages the installation must be completed by configuring the Integration Server. Perform the following steps:

  1. Shutdown the Integration Server;
  2. Edit the startup script;

    Save a copy of the file server.shbat as server.org.shbat;

    Edit the script file server.shbat and insert a call to a setenv.shbat script at the point shown below with this style and as indicated.

          ...
          . "${IS_DIR}"/serviceprofiler/bin/setenv.sh
    
          CLASSPATH=$PREPEND_SYSTEM_CLASSPATH:$CLASSPATH:$APPEND_SYSTEM_CLASSPATH
    
          export LD_LIBRARY_PATH
          export SHLIB_PATH
          export LIBPATH
          export CLASSPATH
    
          ## .... run Integration Server
          ${JAVA_RUN} -DWM_HOME=${WM_HOME} -classpath ${CLASSPATH} ...
          ...
    
          ...
          Call %IS_DIR%\serviceprofiler\bin\setenv.bat
    
          set CLASSPATH=%PREPEND_SYSTEM_CLASSPATH%;%CLASSPATH%;%APPEND_SYSTEM_CLASSPATH%
          set PATH=%PATH%;%IS_DIR%\support\win32;%IS_DIR%\jvm\bin\classic;%IS_DIR%\lib;
    
          rem
          rem Run as an NT service ? If so, save program arguments to Registry
          rem
          if "1%1"=="1-service" (
          ...
    
  3. Integration Server running as Windows NT Service

    There is no additional setting for using the Service Profiler on an Integration Server running as a Windows (NT, W2K, XP) Service.

    If the Integration Server is already running as a Windows Service you need to unregister it and register it again. The same is valid when uninstalling the tool. As required and documented by Software AG, all actions that change the Java command line require the Windows Service to be unregistred and be registered again.

  4. Start the Integration Server;
  5. Set the tool License Key.

    When the tool is first installed there is no License Key set and any attempt to perform an action will result in a License not set exception.

    Access the Service Profiler licensing page and set the License Key.

The Integration Server can be prevented from starting with the Service Profiler, without the need to uninstall it, by means of putting a file named ISSPROF_VOID in the <wm_dir>/IntegrationServer folder. The presence of this file skips the loading sequence. A direct result is having the functionality links in the tool menu disabled.

Important: When installing webMethods updates (i.e., FIXes, Service Packs, etc.) the server.shbat script may be overwritten thus disabling the Service Profiler start-up. When this happens, just repeat the script-editing step described above.

Instructions for webMethods version v8.2

  1. Shutdown the Integration Server;
  2. Edit the startup script;

    The webMethods v8.2 shell scripts introduce the segregation of starting the JVM into a specific script: <wm_dir>/profiles/IS/bin/start_runtime.shbat.

    So, with this version it is not the server.shbat that has to be edited, but rather the start_runtime.shbat.

    Save a copy of the file start_runtime.shbat as start_runtime.org.shbat;

    To continue using the server.shbat to start the Integration Server, all there is to do is to add the line...

          . "${IS_DIR}"/serviceprofiler/bin/setenv.shbat
    
          Call "%IS_DIR%\serviceprofiler\bin\setenv.bat"
    

    ... right before the Java starting command line in start_runtime.shbat, at the point shown below with this style and as indicated.

          else
             . "${IS_DIR}"/serviceprofiler/bin/setenv.sh
             echo "Starting as an application using Java because it is not set to use Tanuki Wrapper."
             ${JAVA_RUN} ${JAVA_OPTS} ${JAVA_SYSPROPS} -jar ${OSGI_FRAMEWORK_JAR} ... $*
          fi
    
          ...
          title %WINDOW_TITLE%
          if "%USE_WRAPPER%"=="yes" (
            goto use_wrapper
          )
          Call "%IS_DIR%\serviceprofiler\bin\setenv.bat"
          echo Starting as an application using Java.
          %JAVA_RUN% %JAVA_OPTS% %JAVA_SYSPROPS% -jar %OSGI_FRAMEWORK_JAR% -debug -configuration %OSGI_CONFIGURATION_AREA% %2 %3 %4 %5 %6 %7 %8 %9
          ...
    
  3. Integration Server running as Windows NT Service

    Save a copy of the file server.bat as server.org.bat.

    To be able to use the Service Profiler with an Integration Server running as a Windows NT Service, the same statement that was added to start_runtime.bat needs to be added to the server.bat. So, in server.bat to add the line...

          Call "%IS_DIR%\serviceprofiler\bin\setenv.bat"
    

    ... right before the LOCKFILE removal statement, at the point shown below with this style and as indicated.

          ...
          rem
          rem Run as an NT service ? If so, save program arguments to Registry
          rem
          rem Run as Server JVM
          set SERVER_VM_OPT=-server
          if "1%1"=="1-service" (
              Call "%IS_DIR%\serviceprofiler\bin\setenv.bat"
              if exist LOCKFILE del LOCKFILE
              "%JAVA_EXEC%" -classpath %IS_PROXY_JAR% com.wm.app.server.CustomServiceUpdater -isdir "%IS_DIR%" -wrapperdir "%IS_DIR%\..\profiles\IS\configuration" -binpath "%PATH%" -jvmargs "%SERVER_VM_OPT% %JAVA2_MEMSET% %JAVA_OPTS%" -progargs %3#%4#%5#%6#%7#%8#%9
              goto :EOF
          )
          ...
    

    If the Integration Server is already registered as a Windows NT Service you need to first unregister it and register it again. The registration must be done only after the changes indicated above. The same is valid when uninstalling the tool. As required and documented by Software AG, all actions that change the Java command line require the Windows Service to be unregistred and be registered again.

  4. Start the Integration Server;
  5. Set the tool License Key.

    When the tool is first installed there is no License Key set and any attempt to perform an action will result in a License not set exception.

    Access the Service Profiler licensing page and set the License Key.

To the use of the Tanuki wrapper, the preparation scripts already create the necessary configuration settings and add them to the <wm_dir>/profiles/IS/configuration/wrapper.conf. A copy of the file before the changes were made is saved with the name wrapper.conf.beforeissprof.

Important: When installing webMethods updates (i.e., FIXes, Service Packs, etc.) the startup scripts may be overwritten thus disabling the Service Profiler start-up. When this happens, just repeat all the script-editing steps.

Instructions for webMethods versions v9.0 to v9.5v9.6 to v10.1

To use Java 8, you must use the lastest version of the Service Profiler (or at least v1.4 build 9348).

Upgrading: If you have a previous v1.4 of the tool and have already upgraded the Integration Server with Java 8 and now your are stuck with a server that does not start, you will have to prevent the Service Profiler from loading and install the newest version of the tool's package, by performing the following steps:

  1. Delete the file serviceprofiler/var/wrapper.conf;

    It is located under the Integration Server's home folder.

  2. Start the Integration Server and install the newest versions of the Service Profiler packages;

    Just install them as regular packages, on top of the existing ones.

  3. Shutdown the Integration Server;
  4. Start the Integration Server.

    A simple restart will not work.

The Integration Server should start with no issues and the Service Profiler should be working normally. No further actions are required.

If you are not upgrading on top a current v1.4 of the tool, you have to perform a full installation, as follows.

Full installation (continued):

  1. Shutdown the Integration Server;
  2. Edit the startup script;

    Important: For Integration Server v9.6 and above, the Service Profiler must be v1.4 or above.

    Save a copy of the file startup.shruntime.bat as startup.org.shruntime.org.bat, located in <wm_dir>/profiles/ISIS_<instance>/bin;

    Save a copy of the file(s) going to be edited, in the bin folder of profiles for your Integration Server instance:

    • Copy runtime.bat to runtime.org.bat
    • Copy service.bat to service.org.bat

    Important: Since v9.7 the startup.shbat shell script available from within the Integration Server instance file structure is being deprecated in favor of the startup script from within the profiles structure. This has already impact in some v9.x installations where some environment variables are no longer available. One of them is IS_DIR.

    To overcome that limitation we need to add a statement that sets the IS_DIR enviroment variable (what is being shown is just an example and you should use the path and instance name of your installation), at the point shown below with this style and as indicated.

    Edit the runtime.bat script file and costumize as indicated.

          ...
          :start
          rem =================================== Start ===================================
    
          Set IS_DIR=C:\SoftwareAG\IntegrationServer\instances\default
          Call "%IS_DIR%\serviceprofiler\bin\setenv.bat"
          ...
    
          #!/bin/sh
    
          if [ -z "$IS_DIR" ]; then
             IS_DIR="/opt/wm/v9-10_dev00/IntegrationServer/instances/default"
          fi
    
          DIRNAME=`dirname $0`
          LOGFILE=$DIRNAME/../logs/`basename $0`.out
          ...
    

    And also add the line...

          . "${IS_DIR}"/serviceprofiler/bin/setenv.shbat
    
          Call "%IS_DIR%\serviceprofiler\bin\setenv.bat"
    

    ... right before the structure that starts the Java in startup.sh, at the point shown below with this style and as indicated.

          ...
          . "${IS_DIR}"/serviceprofiler/bin/setenv.sh
    
          if [ "${USE_WRAPPER}" = "yes" ]; then
            if [ "$STARTUP_MODE" = "console" ]; then
              echo "Starting console mode using Tanuki Wrapper..."
              if [ "${BLOCKING_SCRIPT}" = "yes" ]; then
                ${WRAPPER_SCRIPT} console
              else
                nohup ${WRAPPER_SCRIPT} console > $LOGFILE 2>&1 &
              fi
            else
              echo "Checking is started..."
              ${WRAPPER_SCRIPT} status
    
              if [ "$?" -ne "0" ]; then
                echo "Starting daemon using Tanuki Wrapper..."
                ${WRAPPER_SCRIPT} start
              fi
            fi
          else
            echo "Starting as an application using Java because it is not set to use Tanuki Wrapper."
          ...
    
  3. Integration Server running as Windows NT Service

    If the server is running as a Windows NT Service and to be able to set it up, the service.bat script needs to be edited and customized as indicated.

           ...
           :doConf
           set _WRAPPER_CONF="C:\SoftwareAG\profiles\IS_default\configuration\wrapper.conf"
    
           Set IS_DIR=C:\SoftwareAG\IntegrationServer\instances\default
           If "%1"=="-install"      Call "%IS_DIR%\serviceprofiler\bin\setenv.bat"
           If "%1"=="-installstart" Call "%IS_DIR%\serviceprofiler\bin\setenv.bat"
    
           :execCmd
           ...
    

    Important: If the Integration Server is already registered as a Windows NT Service you need to unregister it and register it again. The same is valid when uninstalling the tool.

  4. Start the Integration Server;
  5. Set the tool License Key.

    When the tool is first installed there is no License Key set and any attempt to perform an action will result in a License not set exception.

    Access the Service Profiler licensing page and set the License Key.

To use the Tanuki wrapper, the preparation scripts already create the necessary profile configuration settings and add them to the corresponding Integration Server intance custom_wrapper.conf. A copy of the file before the changes were made is saved with the name custom_wrapper.conf.beforeissprof.

Important: When installing webMethods updates (i.e., FIXes, Service Packs, etc.) the startup scripts may be overwritten thus disabling the Service Profiler startup. When this happens, just repeat all the script-editing steps.

Uninstall

To uninstall the tool:

  1. Shutdown the Integration Server;
  2. Revert the edited start-up scripts back to their saved originals, or just remove the lines inserted upon installation (refer to point script editing steps in this document);

    Depending on the server version, which files are these may vary.

  3. Delete the folder <wm_dir>/IntegrationServer/serviceprofiler;
  4. Delete the folder for the package WiaServiceProfiler;
  5. Delete the folder <wm_dir>/IntegrationServer/packages.var/WiaServiceProfiler;
  6. Unregister the Windows NT Service of the Integration Server and register it again;
  7. Start the Integration Server.

Optionally, you can also remove the Integration Server Packages WiaRuntimeEcosystem, WiaUtilities and WiaRoot.

Upgrading

Due to the nature of the tool, its architecture and the runtime behaviour, and also depending on the nature of the upgrade it may require steps beyond the simple (re)installation of an Integration Server Package and/or patch.

For upgrade of versions prior to v1.4, do a complete uninstall and re-install.

For upgrade of v1.4 just reinstall the new package version of the tool and immediately after that do a complete shutdown of the Integration Server followed by a startup (a simple restart will not do).

Further Reading

The Profiling Whitepaper is recommended as the next reading document. This document is available for download from Wrightia's website. A direct link to it is provided in the installed WiaServiceProfiler Integration Server Package (see its Info page, from the main menu).

The About page includes an abstract of the Service Profiler, and links to Release Notes and Version History.

The Online Help is contextual and is available from any page, at the top-right, and is useful to quickly check the way to use the tool.

The Info page also gives access to the User Guide, which is a more detailed documentat about using the Service Profiler, concerning all the aspects about using the tool, including troubleshooting the installation.