Feedback
Did this article resolve your question/issue?

   

Article

BI Checkpoint information

« Go Back

Information

 
TitleBI Checkpoint information
URL Name000031412
Article Number000151069
EnvironmentProduct: Progress
Version: 9.x
Product: OpenEdge
Version: 10.x, 11.x
OS: All supported platforms
Other: Checkpoint, _Checkpoint and _ActSummary VST
Question/Problem Description
How to report on BI Checkpoint information ?
Where does PROMON show BI Checkpoint information?
Can all the Checkpoint information from PROMON be displayed through a VST query?
Steps to Reproduce
Clarifying Information
Error Message
Defect Number
Enhancement Number
Cause
Resolution
PROMON displays BI Checkpoint information through the following menu:
 
$   promon dbname > R&D > 3. Other Displays > 4. Checkpoints

Checkpoint information can be also be accessed through the _Checkpoint and _ActSummary VST tables.

Example:  The following example ABL code uses the _Checkpoint and _ActSummary VST tables which can be customised to requirement.

The _Checkpoint-Duration and _Checkpoint-SyncTime were added in 10.2B06 Service Pack and need VST's to be updated offline against the database in order to use them:
$   proutil dbname -C updatevst
 
DEFINE VARIABLE seq# AS INTEGER NO-UNDO.

DEFINE  TEMP-TABLE tt_checkpoint NO-UNDO
    FIELD  ndx AS INT64
    FIELD  id  AS INT64
    FIELD  beg AS CHARACTER
    FIELD  fin  AS CHARACTER
    FIELD  drty AS INT64
    FIELD  cptq  AS INT64
    FIELD  scan  AS INT64
    FIELD  apwq  AS INT64
    FIELD  flush AS INT64
    FIELD duration AS DEC
    FIELD synctime AS DEC

    INDEX  ndx-idx IS  UNIQUE  PRIMARY  ndx.

EMPTY TEMP-TABLE tt_checkpoint.
    
seq# = 0.
 
FOR EACH _Checkpoint NO-LOCK:
    FIND tt_checkpoint EXCLUSIVE-LOCK
        WHERE tt_checkpoint.id = _checkpoint._checkpoint-id NO-ERROR.

    IF NOT AVAILABLE tt_checkpoint THEN
        DO:
        CREATE tt_checkpoint.
        ASSIGN
            seq# = seq# + 1
            tt_checkpoint.ndx = seq#.
        END.

    ASSIGN
        tt_checkpoint.id    = _Checkpoint._Checkpoint-Id
        tt_checkpoint.beg    = SUBSTRING ( _Checkpoint._Checkpoint-Time, 12, 8 )
        tt_checkpoint.fin  = SUBSTRING ( _Checkpoint._Checkpoint-Len, 12, 8 )
        tt_checkpoint.drty = _Checkpoint._Checkpoint-dirty
        tt_checkpoint.cptq  = _Checkpoint._Checkpoint-CptQ
        tt_checkpoint.scan  = _Checkpoint._Checkpoint-Scan
        tt_checkpoint.apwq  = _Checkpoint._Checkpoint-ApwQ
        tt_checkpoint.flush = _Checkpoint._Checkpoint-Flush
        tt_checkpoint.duration = _Checkpoint._Checkpoint-Duration  
        tt_checkpoint.synctime = _Checkpoint._Checkpoint-SyncTime
        .
    IF tt_checkpoint.fin = ? THEN tt_checkpoint.fin = "".

END.

FIND dictdb._ActSummary NO-LOCK.
    DISP _ActSummary._Summary-Chkpts FORMAT "->,>>>,>>9"
        _ActSummary._Summary-Flushed FORMAT "->,>>>,>>9"
        DATETIME(TODAY, MTIME) FORMAT "99/99/9999 HH:MM:SS"
            WITH FRAME a COLUMN 1 ROW 2.

    RELEASE dictdb._ActSummary.


FOR EACH tt_checkpoint WHERE tt_checkpoint.beg NE ? NO-LOCK:
    DISP
        tt_checkpoint.id FORMAT ">>>9"
        tt_checkpoint.beg FORMAT  "x(8)"
        tt_checkpoint.fin FORMAT "x(8)"
        tt_checkpoint.drty FORMAT "->,>>>,>>9"
        tt_checkpoint.cptq FORMAT  "->,>>>,>>9"
        tt_checkpoint.scan FORMAT  "->,>>>,>>9"
        tt_checkpoint.apwq FORMAT  "->,>>>,>>9"
        tt_checkpoint.flush FORMAT "->,>>>,>>9"
        tt_checkpoint.duration FORMAT "->>,>>9.99"
        tt_checkpoint.synctime FORMAT "->>,>>9.99"
        SKIP WITH NO-BOX USE-TEXT.
END.

 
Workaround
Notes
Last Modified Date11/20/2020 7:17 AM
Attachment 
Files
Disclaimer The origins of the information on this site may be internal or external to Progress Software Corporation (“Progress”). Progress Software Corporation makes all reasonable efforts to verify this information. However, the information provided is for your information only. Progress Software Corporation makes no explicit or implied claims to the validity of this information.

Any sample code provided on this site is not supported under any Progress support program or service. The sample code is provided on an "AS IS" basis. Progress makes no warranties, express or implied, and disclaims all implied warranties including, without limitation, the implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample code is borne by the user. In no event shall Progress, its employees, or anyone else involved in the creation, production, or delivery of the code be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample code, even if Progress has been advised of the possibility of such damages.