Një panel mjetesh shtesë për monitorimin dhe hetimin e gabimeve në aplikacione dhe zgjidhje integruese në platformën e të dhënave InterSystems IRIS, platformën e integrimit të Ansamblit dhe Caché DBMS, ose historinë e një biçiklete tjetër.
Në këtë artikull dua të flas për aplikacionin që, së bashku me mjetet standarde të administrimit, e përdor çdo ditë për të monitoruar aplikacionet dhe zgjidhjet e integrimit në platformën InterSystems IRIS dhe për të gjetur gabime kur ato ndodhin.
Zgjidhja përfshin shikimin dhe redaktimin e grupeve globale, ekzekutimin e pyetjeve (përfshirë JDBC/ODBC), dërgimin e rezultateve të kërkimit me email si skedarë të zip XLS. Shikoni objektet e klasës me aftësinë për të redaktuar. Disa grafikë të thjeshtë për protokollet e sistemit.
Ky është një aplikacion CSP i bazuar në
Nëse jeni të interesuar, ju lutemi shikoni më poshtë dhe brenda
Gjithçka filloi me studimin e pyetjes se si të regjistroni ndryshimet në objekte në InterSystems IRIS, Ansemble dhe Caché DBMS.
Pas leximit
Zgjidhja që rezulton zbatohet si një nënklasë paneli e %CSP.Util.Pane, e cila ka një dritare komanduese kryesore dhe një buton Run, plus cilësimet e përmirësimit të komandës.
Kur futni "?" marrim një përshkrim të shkurtër të këtyre komandave:
Globalët
Komanda ime më e zakonshme është të shikosh globalin. Si rregull, ky është një protokoll global kur korrigjoni projektin tuaj ose të dikujt tjetër. Mund ta shikoni në rend të kundërt, si dhe duke aplikuar një filtër si në lidhje ashtu edhe në të dhëna. Nyjet e gjetura mund të redaktohen dhe fshihen:
Mund të fshini të gjithë globalin duke futur minus ^logMSW- në komandën pas emrit.
Por në këtë mënyrë ju mund të fshini vetëm globalet duke filluar me ^log (protocol globals), d.m.th. Është zbatuar një kufizim kundër fshirjes aksidentale.
Nëse futni "*" pas emrit, do të merrni një listë të globalëve me karakteristika shtesë. "*" i dytë do të shtojë një fushë të re "MB të ndara" dhe një yll tjetër do të jetë "MB i përdorur". Ky kombinim i dy raporteve dhe ndarja në "yll" bëhet për të ndarë raportin shpeshherë të formuar në blloqe të zëna. të globalëve të mëdhenj.
Nga kjo tabelë mund të ndiqni lidhjet aktive për të parë vetë globalin ose për ta parë/redaktuar atë në mënyrë standarde nga portali i menaxhimit duke klikuar R ose W në fushën Permission.
Kërkesat
Konvertimi i një raporti në formatin Excel
Funksioni i dytë më i përdorur është ekzekutimi i pyetjeve. Për ta bërë këtë, futni deklaratën sql si komandë.
Gjëja kryesore që më mjaftonte në Portalin standard të Menaxhimit të Sistemit ishte ekzekutimi i pyetjeve në burimet JDBC/ODBC të konfiguruara në DBMS dhe nxjerrja e rezultateve në formatin XLS, arkivimi dhe dërgimi i skedarit me email. Për ta bërë këtë, në mjetin tim, përpara se të ekzekutoni komandën, duhet të aktivizoni kutinë e kontrollit "Shkarko në skedarin Excel".
Kjo veçori më kursen shumë kohë në rutinën time të përditshme dhe integroj me sukses modulet e gatshme në aplikacione të reja dhe zgjidhje integruese.
Por për ta bërë këtë, së pari duhet të konfiguroni shtegun për krijimin e skedarëve në server dhe kredencialet e përdoruesit dhe serverit të postës; për këtë, nga ana tjetër, duhet të modifikoni nyjet e cilësimeve të programit global ^%App.Setting .
Ruajtja e raporteve globalisht
Shumë shpesh është e nevojshme të ruhen rezultatet e ekzekutimit të raportit globalisht. Për ta bërë këtë, unë përdor procedurat e mëposhtme:
Për JDBC:
##class(App.sys).SqlToDSN
Për ODBC:
##class(App.sys).SaveGateway
Për shprehjet SQL:
##class(App.sys).SaveSQL
Për pyetje:
##class(App.sys).SaveQuery
Për shembull, nëse në panel komanda
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
Le të ruajmë rezultatin e kërkesës për numërimin e përdorimit të licencës në grupin ^GN dhe mund të shihni se çfarë u ruajt në panel me komandën: result ^GN("%SYSTEM.License:Counts",0)
Modulet e funksionalitetit të shtuar
Dhe përmirësimi i dytë, i cili thjeshtoi dhe automatizoi shumë punën time, ishte zbatimi i aftësisë për të ekzekutuar module të shkruara posaçërisht gjatë gjenerimit të çdo rreshti të pyetjes. Në këtë mënyrë, unë mund të ndërtoj funksione të reja në raport në fluturim me një kalim, për shembull, lidhje aktive për operacione shtesë mbi të dhënat.
Shembulli 1: Puna me klasën App.Parameter
Krijo një parametër duke përdorur "Table Navigator"
Ndryshoni një parametër përmes "Opsioneve"
Shembulli 2: Shikimi i globalit nëpërmjet lidhjes "Historia".
Grafikët
Frymëzuar nga artikulli [9] dhe për të vizualizuar rritjen e bazave të të dhënave, u krijua një faqe që shfaq një grafik mujor të madhësive të bazës së të dhënave të krijuar nga skedari iris.log (cconsole.log) duke përdorur të dhënat "Zgjero" në mënyrë retrospektive nga dita aktuale.
Si shembull, një grafik ngjarjesh është krijuar gjithashtu në InterSystems IRIS, i cili gjithashtu gjenerohet nga skedari i protokollit:
Lidhje me materialet:
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
Faleminderit autorëve të këtyre dhe artikujve të tjerë që më ndihmuan të krijoj këtë mjet.
PS Ky projekt është duke u zhvilluar dhe shumë ide ende nuk janë zbatuar. Në të ardhmen e afërt planifikoj të bëj:
1. Shablloni i aplikimit në kornizë
2. Auto-dokumentim i formatit të kodit
Burimi: www.habr.com