Page tree
Skip to end of metadata
Go to start of metadata

ESL Diagnostic Pack poskytuje pohľad na aktuálne bežiace ESL a JAVA skripty v aplikácii. Je prístupný z D2000 CNF z menu Objekty -> ESL Diagnostic Pack alebo z D2000 GrEditor, menu Konfigurácia D2000 -> ESL Diagnostic Pack.

Každý skript je interpretovaný v rámci procesu, ktorý je v evidovaný v rámci DODM modelu. Podľa konfigurácie môžu byť tieto procesy zhodné s procesmi bežiacimi v operačnom systéme (HIP, EVH, SES, HIS) alebo sú to len DODM procesy (SEE).

Pohľad na fyzické procesy poskytuje záložka Physical process.

Fyzické procesy

Význam stĺpcov:

ID (HOBJ)Jednoznačný identifikátor objektu typu Proces v rámci DODM modelu.
NAMEJednoznačné meno objektu typu Proces v rámci DODM modelu.
IPIdentifikátor počítača, na ktorom je proces spustený.
AllocatedMermoryMnožstvo spotrebovanej pamäte daným procesom.

Všetky prehľady ponúkajú po stlačení pravého tlačidla myši ponuku s voľbou Copy, ktorá kopíruje zobrazený zoznam do schránky.

Fyzické procesy

Pohľad na inštancie JVM je dostupný v záložke JVM Instances:

Inštancie JVM

Pre každú JVM sú dostupné jej parametre:

Physical processMeno fyzického procesu, v rámci ktorého je JVM vytvorená.
Allocated memoryAlokovaná pamäť v Java Virtual Machine (total - free).
Total memoryCelková pamäť v JVM.
Free memoryVoľná pamäť v JVM.
Max memoryMaximálne množstvo pamäte, ktoré sa JVM pokúsi použíť.

Pohľad na DODM procesy poskytuje záložka DODM Process.

DODM proces

Význam stĺpcov:

ID (HOBJ)Jednoznačný identifikátor objektu typu Proces v rámci DODM modelu.
NAMEJednoznačné meno objektu typu Proces v rámci DODM modelu.
Physical processMeno fyzického procesu, v rámci ktorého je DODM proces vykonávaný.
D2000 HIMeno procesu D2000 HI, ak proces slúži na interpretáciu ESL skriptov otvorených v príslušnom procese HIP.

Rozdielna hodnota v stĺpcoch NAME a Physical process je len v prípade, ak Physical process je typu SES.

Pohľad na definície objektov typu Event alebo Schéma, tak ako sú umiestnené v rámci jednotlivých logických DODM procesov, poskytuje záložka Event Definitions.

Definície objektov

Proces typu EVH obsahuje v zozname definíciu všetkých svojich potomkov (objekty typu Event), alebo definíciu objektov typu Event, ktoré boli na danom procese otvorené akciou OPENEVENT.

Proces typu HIS obsahuje v zozname definíciu aktuálne otvorených schém (klientska časť skriptu) a definíciu objektov typu Event (klientska časť skriptu), ktoré boli na danom procese otvorené akciou OPENEVENT.

Proces typu SEE obsahuje v zozname definíciu serverovských častí skriptov aktuálne otvorených schém a objektov typu Event na dedikovanom procese HIS.

Význam stĺpcov:

ID (HOBJ)Ak bol objekt otvorený inštančne (akcie OPEN alebo OPENEVENT), stĺpec obsahuje jeho dynamické HOBJ. Toto je návratová hodnota funkcie %GetSelfHBJ(@FALSE).
NAMEMeno objektu, ktorý obsahuje daný ESL skript.
Physical process
DODM process
Meno objektov typu Proces (s príponou EVH, HIS, SEE, SES), ktorý danú definíciu obsahuje.
D2000 HIMeno procesu D2000 HI ak DODM proces slúži na interpretáciu ESL skriptov otvorených v príslušnom procese HIP.
Kernel instance IDSkutočné číslo inštancie. Hodnota 0, ak objekt nie je otvorený inštančne. Ak bol otvorený ako inštancia, tak tu je uvedená jeho skutočná inštancia. Toto je návratová hodnota funkcie %GetSelfInstanceId(@TRUE).
Logical instance IDPožadované číslo inštancie. Hodnota 0, ak objekt nie je otvorený inštančne. Ak bol otvorený ako inštancia, tak tu je uvedená jeho požadovaná inštancia. Toto je návratová hodnota funkcie %GetSelfInstanceId(@FALSE).
BASE ID (HOBJ)HOBJ objektu, ktorý obsahuje daný ESL skript. Toto je návratová hodnota funkcie %GetSelfHBJ(@TRUE).
EventTypeKonfiguračný parameter. Možné hodnoty TRIGGEREVENT, SERVEREVENT, CLIENTANDSERVEREVENT, UNITEVENT
QueueLengthV prípade objektov typu SERVEREVENT alebo CLIENTANDSERVEREVENT (sem patrí aj schéma) hodnota vyjadruje počet požiadaviek (napríklad volania RPC procedúr, zmeny sledované akciou ON CHANGE, ...) vo fronte. V prípade eventu typu TRIGGEREVENT a povolení fronty požiadaviek pre štart hodnota vyjadruje počet požiadaviek pre štart.
Openned by OPENEVENTPríznak, či bola inštancia otvorená akciou OPENEVENT. Ak áno, je možné ju zatvoriť alebo reštartovať stlačením pravého tlačidla myši a výberom príslušnej voľby.
lastInstanceIdExistencia definície objektu typu Event na procese typu EVH nemusí znamenať aj existenciu jeho inštancie. Tento stav sa vyskytuje pri objekte Event, ktorý je štartovaný zmenou hodnoty objektu (trigger). V ostatných prípadoch obyčajne k jednej definícii existuje práve jedna inštancia ESL skriptu. Každá bežiaca inštancia je v rámci procesu označená jednoznačným identifikátorom, ktorý je zobrazený v tomto stĺpci. Jeho hodnotu je možné získať volaním funkcie %GetEventInstanceId().
Number of InstancesPočet inštancií objektu typu Event, ktoré boli odštartované z danej definície. Obyčajne je to 0 alebo 1. Vyššiu hodnotu je možné dosiahnuť v prípade použitia akcie ENABLE.  

Stlačením pravého tlačidla myši je dostupná ponuka s voľbami Edit a Copy. Voľba Edit je prístupná pre objekt typu Schéma len v prostredí grafického editora.

Definície objektov

Zoznam všetkých sJAVA inštancií je dostupný prostredníctvom záložky sJava Instances.

Definície objektov

Pre každú sú k dispozícii nasledovné údaje:

ID (HOBJ)HOBJ objektu, ku ktorému daná inštancia prislúcha.
NAMEMeno objektu, ku ktorému daná inštancia prislúcha.
DODM processMeno objektu typu Proces (s príponou EVH, HIS, SEE), ktorý danú inštanciu obsahuje.
StateInit_Error – inštanciu sJava sa nepodarilo spustiť z dôvodu kompilačnej chyby alebo chyby, ktorú generoval JVM pri vytváraní inštancie triedy (napríklad sa nepodarilo nájsť závislé triedy - classNotFound java exception ...).
IDLE – fronta požiadaviek na spracovanie je prázdna a žiadna požiadavka sa nespracováva (zmena hodnoty objektu, požiadavka na vykonanie RPC, ...).
Running – prebieha spracovanie požiadavky.
SyncWaiting – prebieha pasívne čakanie na ukončenie synchrónnej akcie (napr. čítanie dát z archívu, synchrónne volanie RPC, ...) počas spracovania požiadavky.
Start TimeČas vzniku inštancie (štartu skriptu).
QueueLengthPočet nespracovaných požiadaviek vo fronte. 
DB Transactions countPočet otvorených databázových transakcií (vzniknutých volaním metódy dbTransOpen).
Table Change Listeners countCelkový počet listenerov registrovaných volaním metódy addDBTableListener.
RPC Conversation contexts countPočet registrovaných aplikačne definovaných RPC konverzácií.

Z pohľadu diagnostiky je najzaujímavejší pohľad na systém prostredníctvom záložky Event Instances.

Event Instances

Do pohľadu sú zaradené všetky bežiace inštancie ESL skriptov v systéme. Každá inštancia je popísaná nasledovnými atribútmi:

idInstanceJednoznačný identifikátor inštancie. Je možné ho získať volaním funkcie %GetEventInstanceId(). 
ID (HOBJ)Ak bol objekt otvorený inštančne (akcie OPEN alebo OPENEVENT), stĺpec obsahuje jeho dynamické HOBJ. Toto je návratová hodnota funkcie %GetSelfHBJ(@FALSE).  
NAMEMeno objektu.
EventTypeKonfiguračný parameter. Možné hodnoty TRIGGEREVENT, SERVEREVENT, CLIENTANDSERVEREVENT, UNITEVENT.
Kernel instance IDSkutočné číslo inštancie. Hodnota 0, ak objekt nie je otvorený inštančne. Ak bol otvorený ako inštancia, tak tu je uvedená jeho skutočná inštancia. Toto je návratová hodnota funkcie %GetSelfInstanceId(@TRUE).
Logical instance IDPožadované číslo inštancie. Hodnota 0, ak objekt nie je otvorený inštančne. Ak bol otvorený ako inštancia, tak tu je uvedená jeho požadovaná inštancia. Toto je návratová hodnota funkcie %GetSelfInstanceId(@FALSE).
Modify time stampČasová značka z konfigurácie objektu.
Start TimeČas vzniku inštancie (štartu skriptu).
Current LineAktuálne vykonávaný riadok.
CNT count(+) Počet vytvorených dátových kontajnerov.
CNT dataSize(+) Veľkosť pamäte, ktorú zaberajú dáta v kontajneroch umiestnené.
Local vars data size(+) Veľkosť pamäte, ktoré zaberajú všetky lokálne premenné (veľkosť jednotlivých premenných je možné zistiť v ESL Diagnostic Pack - Instance).
DB Connects count(+) Počet databázových pripojení vytvorených akciami DB_CONNECT, PG_CONNECT a SQL_CONNECT.
DB Transactions count(+) Počet otvorených databázových transakcií otvorených akciou DB_TRANS_OPEN.
Files count(+) Počet súborov otvorených alebo vytvorených akciou %FIO_*.
Object lists count(+) Počet zoznamov otvorených akciou LST_CREATE.
StatusAktuálny stav skriptu (stav ES_WAIT_EXTERNAL_RQ zodpovedá stavu pasívneho čakania).
Physical process, DODM processMeno objektov typu Proces (s príponou EVH, HIS, SEE, SES), ktorý danú inštanciu obsahuje.
Queue LengthZhodné s Event Definitions.
XML Docs count(+) Počet otvorených XML dokumentov.
DBS objects count(+) Počet databázových objektov, s ktorými prebehla výmena dát (čítanie/zápis).
D2000 HIZhodné s Event Definitions.

Stĺpce označené (+) obsahujú v tomto pohľade celkový počet daných elementov, ktorý zahŕňa aj prípadné inštancie UNIT eventov !!!!

Stlačením pravého tlačidla myši nad inštanciou bude zobrazená nasledujúca ponuka.

Event Instances popup

Voľba Close Instance a Restart Instance je prístupná len pre inštancie, ktoré boli otvorené akciou OPENEVENT a umožňuje inštanciu zatvoriť alebo zatvoriť a znovu otvoriť (požadované číslo inštancie bude zachované).

Voľba Open Detail otvorí detailný pohľad na danú inštanciu (ESL Diagnostic Pack – Instance).

Voľba Open Tree Detail je povolená len pre skript schémy. Otvorí detailný pohľad na všetky otvorené schémy a eventy na danom procese D2000 HI.

Príklad:

Otvorené schémy a eventy

Zo zobrazenia vidieť, že na ploche príslušného D2000 HI sú zobrazené dve schémy S.Browser a S.Master.
Schéma S.Browser má lokálny aj vzdialený skript (vzdialený je označený slovom REMOTE). Za menom je vždy zobrazený aj atribút idInstance pre jednoduchšiu identifikáciu inštancie. Vzdialený skript (označený REMOTE) používa dva eventy typu UNIT, ktoré sú deklarované v rámci ESL skriptu ako _u a _u1.
Schéma S.Master obsahuje podschému S.Sub.
V kontexte D2000 HI je ešte otvorený objekt typu Event s menom E.server. V mene má príznak REMOTE, teda je spustený ako vzdialený skript. Ak kliknete pravým tlačidlom myši nad event alebo schému, zobrazí sa ponuka:

Event Instances popup2

Refresh – aktualizuje dáta zobrazené pre jednu inštanciu skriptu alebo schémy.

Reset counters – vynuluje počítadlá v zoznamoch CNTs, ACTIONs, DbConnects, Dbs a DbTrans (popis nižšie).

Ak je určitá schéma skriptovaná len prostredníctvom JAVA, zobrazia sa nasledovné informácie:

Ak je prítomná ESL aj JAVA, zobrazenie bude nasledovné:

Každá inštancia podrobnejšie popisuje svoj stav pomocou nasledujúcich položiek (v zátvorke je uvedený počet inštancií pre každú položku).

CNTs  - zoznam dátových kontajnerov

Dvojklik myšou na dátový kontajner zobrazí riadok jeho vzniku.

Pravým klikom na dátový kontajner je vyvolané kontextové menu. Po kliknutí na položku "Watch" sa otvorí Inšpektor objektov kontajnera.

Popis stĺpcov: 

HandleJednoznačný identifikátor dátového kontajnera. Hodnota je zhodná s hodnotou, ktorú vráti akcia CNT_CREATE.
userIdentHodnota užívateľom definovaného reťazca v rámci akcie CNT_DEBUG.
Current ItemsAktuálny počet záznamov v kontajneri.
Maximal ItemsMaximálny počet záznamov v kontajneri (resetuje voľba Reset counters).
Current SizeVeľkosť kontajnera v Bytoch.
In Array modePríznak existencie interného poľa (pozri akciu CNT_CNVTOARRAY).
Created by CNT_CREATEPopisuje spôsob vzniku kontajnera. TRUE – akcia CNT_CREATE. FALSE – akcia GETARCHARR_TO_CNT.


ACTIONs  - zoznam akcií v ESL skripte

Každá akcia daného ESL skriptu je popísaná nasledovne:

Skript E.CallServerWithQueue:

Skript E. ServerWithQueue:

Popis stĺpcov:

LineRiadok, na ktorom sa akcia nachádza.
ActionIdentifikácia typu akcie.
CounterPočet vykonaní danej akcie (resetuje voľba Reset counters).
Counter passivePočet pasívnych čakaní. Táto hodnota sa zvýši o 1 pri každom pasívnom čakaní akcie na vykonanie činnosti, ktorú vyvolala. Počítadlo môže byť aj väčšie ako Counter. Na našom príklade sú to akcie DELAY a RPC CALL SYNC (resetuje voľba Reset counters).
DurationSumárny čas, ktorý akcia strávila aktívnym vykonávaním (resetuje voľba Reset counters).
DurationPassiveSumárny čas, ktorý akcia strávila pasívnym čakaním na vykonanie požadovanej činnosti (resetuje voľba Reset counters).
maxDuration Maximálny čas, ktorý akcia strávila aktívnym vykonávaním (resetuje voľba Reset counters).
maxDurationPassive Maximálny čas, ktorý akcia strávila pasívnym čakaním na vykonanie požadovanej činnosti (resetuje voľba Reset counters).
actionInfo Variabilná informácia závislá od typu akcie. Aktuálne poskytujú túto informáciu len dve akcie:
  • REDIM - zobrazuje sa požadovaný rozmer pre 10 posledných vykonaní.
  • VAR - deklarácia lokálnej premennej. Zobrazuje sa meno lokálnej premennej a aktuálna veľkosť potrebnej pamäte (v prípade rekurzie a lokálnej premennej je to spotreba pamäte pre všetky jej inštancie).


FIOs  - zoznam otvorených súborov

Dvojklik myšou na súbor zobrazí riadok jeho vzniku (otvorenia).

Popis stĺpcov:

IdJednoznačný identifikátor súboru. Hodnota je zhodná s hodnotou, ktorú vráti príslušná %FIO_* akcia.
File NameMeno súboru.
EncodingKódovanie súboru.


DbConnects - zoznam databázových pripojení, ktoré vznikli akciami DB_CONNECT, PG_CONNECT a SQL_CONNECT

Dvojklik myšou na pripojenie zobrazí riadok jeho vzniku (otvorenia).

Popis stĺpcov:

HandleJednoznačný identifikátor pripojenia. Hodnota je zhodná s hodnotou, ktorú vráti príslušná akcia. 
parentDB_TRANSHodnota DEFAULT, ak je pripojenie na databázu realizované prostredníctvom tvz. Automatického pripojenia. Alebo meno objektu typu Databáza, ktoré bolo použité pre nadviazanie databázovej transakcie prostredníctvom akcie DB_TRANS_OPEN. 
connectStringHodnota platná pri nadviazaní spojenia prostredníctvom akcie SQL_CONNECT s connectStringom. 
outDataSize, inDataSizeMnožstvo dát, ktoré boli v rámci daného pripojenia odoslané alebo prijaté. 
nr out, nr inPočet výstupných alebo vstupných operácií. 
connectTypeV závislosti od spôsobu vytvorenia spojenia hodnota PG_CONNECT, DB_CONNECT alebo SQL_CONNECT.
dbObjectMeno objektu typu Tabuľka, ktoré bolo použité pri vytváraní spojenia (ak je k dispozícii len HOBJ objektu zobrazí sa nasledovne: #ObjNotFound#(302), pričom HOBJ=302). 
structTypIdMeno definície štruktúry priradené príslušnému objektu typu Tabuľka.
bSqlPreparedPríznak, či je na danom pripojení aktívny SQL_PREPARE.
sqlPrepareStmtZnenie SQL príkazu.


Dbs - zoznam databázových objektov, ktoré boli skriptom čítané alebo bolo do nich zapisované

Pohľad sumarizuje množstvo prenášaných dát vzhľadom na objekty typu Tabuľka bez ohľadu na spôsob alebo pripojenie, na ktorom k prenosu došlo.

Popis stĺpcov:

TableMeno objektu typu Tabuľka (ak je k dispozícii len HOBJ objektu, zobrazí sa nasledovne: #ObjNotFound#(302), pričom HOBJ=302). 
outDataSize, inDataSizeMnožstvo dát, ktoré boli odoslané alebo prijaté. 
nr out, nr inPočet výstupných alebo vstupných operácií.


DbTrans - zoznam databázových transakcií otvorených akciou DB_TRANS_OPEN

Dvoklik myšou na pripojenie zobrazí riadok jeho vzniku (otvorenia).

Popis stĺpcov:

HandleJednoznačný identifikátor pripojenia. Hodnota je zhodná s hodnotou, ktorú vráti príslušná akcia DB_TRANS_OPEN. 
dbObjectMeno objektu typu Databáza, vzhľadom na ktorý bola transakcia otváraná.
subConnectsNrPočet pripojení typu DB_CONNECT, PG_CONNECT, SQL_CONNECT nadviazaných v rámci transakcie.  
outDataSize, inDataSizeMnožstvo dát, ktoré boli v rámci daného pripojenia odoslané alebo prijaté.
nr out, nr inPočet výstupných alebo vstupných operácií.


UNITs - zoznam inštancií ESL Unitov

Zoznam inštancií eventov typu UNIT poskytuje podobné informácie, aké sú k dispozícii pri inštancii eventu.

Súvisiace stránky:

Write a comment…