Karagdagang toolbar ng developer sa InterSystems IRIS

Isang panel ng mga karagdagang tool para sa pagsubaybay at pagsisiyasat ng mga error sa mga application at mga solusyon sa pagsasama sa InterSystems IRIS data platform, ang Ensemble integration platform at ang Caché DBMS, o ang kuwento ng isa pang bisikleta.

Sa artikulong ito gusto kong pag-usapan ang application na, kasama ng karaniwang mga tool sa pangangasiwa, ginagamit ko araw-araw upang subaybayan ang mga application at mga solusyon sa pagsasama sa platform ng InterSystems IRIS at maghanap ng mga error kapag nangyari ang mga ito.
Kasama sa solusyon ang pagtingin at pag-edit ng mga global array, pagpapatakbo ng mga query (kabilang ang JDBC/ODBC), pagpapadala ng mga resulta ng paghahanap sa pamamagitan ng email bilang naka-zip na XLS file. Tingnan ang mga bagay ng klase na may kakayahang mag-edit. Maraming mga simpleng graph para sa mga protocol ng system.

Ito ay isang CSP application batay sa jQuery-UI, chart.js, jsgrid.js
Kung interesado ka, mangyaring tingnan sa ibaba at sa imbakan.

Nagsimula ang lahat sa pag-aaral ng tanong kung paano mag-log ng mga pagbabago sa mga bagay sa InterSystems IRIS, Ensemble at ang Caché DBMS.

Pagkatapos magbasa mahusay na artikulo tungkol dito, nag-forward ako proyekto. at nagsimulang tapusin ito para sa kanyang mga pangangailangan.

Ang resultang solusyon ay ipinatupad bilang panel subclass ng %CSP.Util.Pane, na mayroong pangunahing command window at Run button, kasama ang command refinement settings.

Kapag ipinasok mo ang "?" nakakakuha kami ng maikling paglalarawan ng mga utos na ito:

Karagdagang toolbar ng developer sa InterSystems IRIS

Globals

Ang pinakakaraniwang utos ko ay tingnan ang global. Bilang panuntunan, isa itong protocol sa buong mundo kapag nagde-debug ng iyong sarili o ng proyekto ng ibang tao. Maaari mo itong tingnan sa reverse order, gayundin sa pamamagitan ng paglalapat ng filter sa link at sa data. Maaaring i-edit at tanggalin ang mga nahanap na node:

Karagdagang toolbar ng developer sa InterSystems IRIS

Maaari mong tanggalin ang buong global sa pamamagitan ng paglalagay ng minus ^logMSW- sa command pagkatapos ng pangalan.
Ngunit sa ganitong paraan maaari ka lamang magtanggal ng mga global na nagsisimula sa ^log (protocol globals), i.e. Ipinatupad ang isang paghihigpit laban sa hindi sinasadyang pagtanggal.

Kung ilalagay mo ang "*" pagkatapos ng pangalan, makakakuha ka ng listahan ng mga global na may mga karagdagang katangian. Ang pangalawang “*” ay magdaragdag ng bagong field na “Nakalaang MB”, at ang isa pang asterisk ay magiging “Nagamit na MB”. Ang kumbinasyong ito ng dalawang ulat at ang paghahati sa “mga asterisk” ay ginagawa upang hatiin ang madalas na matagal nang nabubuo na ulat sa mga inookupahang bloke. ng malalaking globals.

Karagdagang toolbar ng developer sa InterSystems IRIS

Mula sa talahanayang ito maaari mong sundin ang mga aktibong link upang tingnan ang global mismo o upang tingnan/i-edit ito sa karaniwang paraan mula sa portal ng pamamahala sa pamamagitan ng pag-click sa R ​​o W sa field ng Pahintulot.

kahilingan

Pag-convert ng ulat sa Excel na format

Ang pangalawang pinaka-madalas na ginagamit na function ay query execution. Upang gawin ito, ipasok ang sql statement bilang isang command.

Ang pangunahing bagay na sapat para sa akin sa standard na System Management Portal ay ang pagsasagawa ng mga query sa JDBC/ODBC sources na na-configure sa DBMS at pag-output ng mga resulta sa XLS format, pag-archive at pagpapadala ng file sa pamamagitan ng email. Upang gawin ito, sa aking tool, bago isagawa ang utos, kailangan mong paganahin ang checkbox na "I-download sa Excel file".

Ang tampok na ito ay nakakatipid sa akin ng maraming oras sa aking pang-araw-araw na gawain, at matagumpay kong isinasama ang mga nakahandang module sa mga bagong application at mga solusyon sa pagsasama.

Karagdagang toolbar ng developer sa InterSystems IRIS

Ngunit upang gawin ito, kailangan mo munang i-configure ang landas para sa paglikha ng mga file sa server at ang mga kredensyal ng user at mail server; para dito, kailangan mong i-edit ang mga node ng mga setting ng pandaigdigang programa ^%App.Setting .

Karagdagang toolbar ng developer sa InterSystems IRIS

Pag-save ng mga ulat sa buong mundo

Kadalasan kinakailangan na i-save ang mga resulta ng pagpapatupad ng ulat sa buong mundo. Upang gawin ito, ginagamit ko ang mga sumusunod na pamamaraan:

Para sa JDBC:
##class(App.sys).SqlToDSN

Para sa ODBC:
##class(App.sys).SaveGateway

Para sa mga SQL expression:
##class(App.sys).SaveSQL

Para sa Query:
##class(App.sys).SaveQuery

Halimbawa, kung sa panel ang command
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
I-save natin ang resulta ng kahilingan sa pagbibilang ng paggamit ng lisensya sa ^GN array, at makikita mo kung ano ang na-save sa panel gamit ang command: result ^GN("%SYSTEM.License:Counts",0)

Karagdagang toolbar ng developer sa InterSystems IRIS

Augmented functionality modules

At ang pangalawang pagpapabuti, na lubos na nagpasimple at nag-automate ng aking trabaho, ay ang pagpapatupad ng kakayahang magsagawa ng mga espesyal na nakasulat na mga module kapag bumubuo ng bawat linya ng query. Sa ganitong paraan makakagawa ako ng bagong functionality sa ulat on the fly sa isang pass, halimbawa, mga aktibong link para sa mga karagdagang operasyon sa data.

Halimbawa 1: Paggawa gamit ang klase ng App.Parameter

Gumawa ng parameter gamit ang "Table Navigator"

Mag-edit ng parameter sa pamamagitan ng “Options”

Karagdagang toolbar ng developer sa InterSystems IRIS

Halimbawa 2: Pagtingin sa global sa pamamagitan ng link na "Kasaysayan".

Karagdagang toolbar ng developer sa InterSystems IRIS

Graph

Dahil sa inspirasyon ng artikulo [9] at upang mailarawan ang paglaki ng mga database, nilikha ang isang pahina na nagpapakita ng buwanang graph ng mga laki ng database na ginawa mula sa iris.log file (cconsole.log) gamit ang "Palawakin" na mga talaan nang retrospektibo mula sa kasalukuyang araw.

Bilang halimbawa, ang isang graph ng kaganapan ay ginawa din sa InterSystems IRIS, na nabuo din mula sa protocol file:

Karagdagang toolbar ng developer sa InterSystems IRIS

Mga link sa mga materyales:

[1] logging subsystem sa Kasha
[2] Instant na lugaw - paggawa ng CRUD sa Caché gamit ang jqGrid
[3] Mga alternatibong tagapamahala ng SQL para sa Caché DBMS
[4] Mga halimbawa ng pagbuo at pagpapadala ng Email gamit ang Caché DBMS
[5] Cache + jQuery. Mabilis na pagsisimula
[6] Pag-deploy ng Application
[7] Suporta sa UDL
[8] Pagtingin sa mga global sa Caché Management Portal
[9] Prometheus na may Cache
[10] Lokalisasyon sa Caché DBMS

Salamat sa mga may-akda ng mga ito at iba pang mga artikulo na tumulong sa akin sa paggawa ng tool na ito.

PS Ang proyektong ito ay umuunlad at maraming ideya ang hindi pa naipapatupad. Sa malapit na hinaharap plano kong gawin:

1. Application template sa framework uikit
2. Auto-dokumentasyon ng format ng code Doxegen na may pagsasama sa CStudio

Pinagmulan: www.habr.com

Magdagdag ng komento