IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
  • 1.  Getting BPM failed processes information

    Posted Sat April 09, 2016 01:42 PM

    Hi,

    I would like to make some reporting about BPM failed processes.
    The reporting must show the process instance failed, the reason why the instance is failed and if it exists the step where the problem occurred.

    So I made some sql query to get these information.
    But I m facing performance issue with this query .
    It looks like:

    SELECT STEPS.INSTANCEID, STEPS.STEPID, ERR.ERRORMESSAGE
    FROM
    (SELECT DISTINCT STEP.INSTANCEID, STEP.STEPID, STEP.CONTEXTID
    FROM WMPROCESSRECENT PRREC INNER JOIN WMPROCESSSTEP STEP
    ON PRREC.INSTANCEID = STEP.INSTANCEID
    WHERE PRREC.AUDITTIMESTAMP BETWEEN TO_TIMESTAMP('01/04/2016 22:00', 'DD/MM/YYYY HH24:MI') AND TO_TIMESTAMP('02/04/2016 21:59', 'DD/MM/YYYY HH24:MI')
    AND PRREC.STATUS = 4
    AND PRREC.PROCESSKEY IN ('BPM_SalesProcess_V2_0/BPM_SalesProcess_V2_0')
    AND STEP.AUDITTIMESTAMP BETWEEN PRREC.AUDITTIMESTAMP - INTERVAL '1' MINUTE AND PRREC.AUDITTIMESTAMP
    ) STEPS
    INNER JOIN WMERROR ERR ON STEPS.CONTEXTID = ERR.CONTEXTID

    So how to do to get all these information in a fast way ?
    I m new with it and I only know about the main tables (wmprocess, wmprocessstep, wmprocessrecent, wmerror…)

    Thanks


    #webMethods-BPMS
    #BPM
    #webMethods


  • 2.  RE: Getting BPM failed processes information

    Posted Sat April 09, 2016 03:38 PM

    Please add some DB hints, try changing memory settings in terms of DB then you will able to get it.

    Thanks,


    #webMethods-BPMS
    #webMethods
    #BPM


  • 3.  RE: Getting BPM failed processes information

    Posted Sun April 10, 2016 05:30 PM

    Hi Kim,

    I would highly recommend you to use public services from WmMonitor to achieve the same. For instance, the data you seek can be obtained by invoking below services

    1. Invoke “pub.monitor.process.instance:getInstanceList” with status → 4, fromdate, todate etc…
    2. Then, invoke “pub.monitor.process.instance:getInstanceErrors” to get ErrorMessage and Stepid etc…

    I believe this would retrieve results faster than nested sql query with joins on the table.

    Give a try and do the performance comparison.


    #BPM
    #webMethods-BPMS
    #webMethods


  • 4.  RE: Getting BPM failed processes information

    Posted Mon April 11, 2016 08:40 AM

    Hi Kim,

    I agree with Prasad.

    Can you check your statement in a SQL Tool (like Oracle SQL Developer) and capture the Execution Plan?

    You will find out there are a lot of full table scans to occur.
    This is due to the fact that the columns used for joining do not have indices on them…
    By adding indices to these there should be an increase in performance

    Please provide your wM version, as some of the tables have changed their names recently (9.6 and above).

    Regards,
    Holger


    #webMethods
    #webMethods-BPMS
    #BPM