Bar alat pembangun tambahan pada InterSystems IRIS

Panel alat tambahan untuk memantau dan menyiasat ralat dalam aplikasi dan penyelesaian penyepaduan pada platform data InterSystems IRIS, platform penyepaduan Ensemble dan DBMS Caché, atau kisah basikal lain.

Dalam artikel ini, saya ingin bercakap tentang aplikasi yang, bersama-sama dengan alat pentadbiran standard, saya gunakan setiap hari untuk memantau aplikasi dan penyelesaian penyepaduan pada platform InterSystems IRIS dan mencari ralat apabila ia berlaku.
Penyelesaiannya termasuk melihat dan mengedit tatasusunan global, menjalankan pertanyaan (termasuk JDBC/ODBC), menghantar hasil carian melalui e-mel sebagai fail XLS yang dizip. Lihat objek kelas dengan keupayaan untuk mengedit. Beberapa graf mudah untuk protokol sistem.

Ini adalah aplikasi CSP berdasarkan jQuery-UI, carta.js, jsgrid.js
Jika anda berminat, sila lihat di bawah dan dalam repositori.

Semuanya bermula dengan mengkaji persoalan bagaimana untuk log perubahan pada objek dalam InterSystems IRIS, Ensemble dan DBMS Caché.

Selepas membaca artikel yang sangat baik tentang ini, saya bercabang projek. dan mula menyelesaikannya untuk keperluannya.

Penyelesaian yang terhasil dilaksanakan sebagai subkelas panel %CSP.Util.Pane, yang mempunyai tetingkap arahan utama dan butang Jalankan, serta tetapan penghalusan arahan.

Apabila anda memasukkan “?” kami mendapat penerangan ringkas tentang arahan ini:

Bar alat pembangun tambahan pada InterSystems IRIS

Global

Perintah saya yang paling biasa ialah melihat global. Sebagai peraturan, ini adalah protokol global apabila menyahpepijat projek anda sendiri atau orang lain. Anda boleh melihatnya dalam susunan terbalik, serta dengan menggunakan penapis pada kedua-dua pautan dan data. Nod yang ditemui boleh diedit dan dipadamkan:

Bar alat pembangun tambahan pada InterSystems IRIS

Anda boleh memadamkan keseluruhan global dengan memasukkan tolak ^logMSW- dalam arahan selepas nama.
Tetapi dengan cara ini anda hanya boleh memadamkan global bermula dengan ^log (protocol globals), i.e. Sekatan terhadap pemadaman tidak sengaja telah dilaksanakan.

Jika anda memasukkan “*” selepas nama, anda akan mendapat senarai global dengan ciri tambahan. "*" kedua akan menambah medan baharu "MB Diperuntukkan", dan asterisk lain akan menjadi "MB Terpakai". Gabungan dua laporan dan pembahagian kepada "asteris" dilakukan untuk membahagikan laporan yang sering membentuk panjang kepada blok yang diduduki global yang besar.

Bar alat pembangun tambahan pada InterSystems IRIS

Daripada jadual ini, anda boleh mengikuti pautan aktif untuk melihat global itu sendiri atau untuk melihat/mengeditnya dalam cara standard dari portal pengurusan dengan mengklik R atau W dalam medan Kebenaran.

permintaan

Menukar laporan kepada format Excel

Fungsi kedua yang paling kerap digunakan ialah pelaksanaan pertanyaan. Untuk melakukan ini, masukkan pernyataan sql sebagai arahan.

Perkara utama yang cukup untuk saya dalam Portal Pengurusan Sistem standard ialah melaksanakan pertanyaan pada sumber JDBC/ODBC yang dikonfigurasikan dalam DBMS dan mengeluarkan keputusan dalam format XLS, mengarkibkan dan menghantar fail melalui e-mel. Untuk melakukan ini, dalam alat saya, sebelum melaksanakan arahan, anda perlu mendayakan kotak semak "Muat turun ke fail Excel".

Ciri ini menjimatkan banyak masa saya dalam rutin harian saya, dan saya berjaya menyepadukan modul siap sedia ke dalam aplikasi baharu dan penyelesaian penyepaduan.

Bar alat pembangun tambahan pada InterSystems IRIS

Tetapi untuk melakukan ini, anda perlu terlebih dahulu mengkonfigurasi laluan untuk membuat fail pada pelayan dan bukti kelayakan pengguna dan pelayan mel; untuk ini, anda perlu mengedit nod tetapan program global ^%App.Setting .

Bar alat pembangun tambahan pada InterSystems IRIS

Menyimpan laporan secara global

Selalunya adalah perlu untuk menyimpan hasil pelaksanaan laporan secara global. Untuk melakukan ini saya menggunakan prosedur berikut:

Untuk JDBC:
##class(App.sys).SqlToDSN

Untuk ODBC:
##class(App.sys).SaveGateway

Untuk ungkapan SQL:
##class(App.sys).SaveSQL

Untuk Pertanyaan:
##class(App.sys).SaveQuery

Sebagai contoh, jika dalam panel arahan
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
Mari kita simpan hasil permintaan pengiraan penggunaan lesen dalam tatasusunan ^GN, dan anda boleh melihat perkara yang disimpan dalam panel dengan arahan: result ^GN("%SYSTEM.License:Counts",0)

Bar alat pembangun tambahan pada InterSystems IRIS

Modul fungsi tambahan

Dan peningkatan kedua, yang sangat memudahkan dan mengautomasikan kerja saya, ialah pelaksanaan keupayaan untuk melaksanakan modul bertulis khas apabila menjana setiap baris pertanyaan. Dengan cara ini saya boleh membina fungsi baharu ke dalam laporan dengan pantas dalam satu laluan, contohnya, pautan aktif untuk operasi tambahan pada data.

Contoh 1: Bekerja dengan kelas App.Parameter

Buat parameter menggunakan "Navigator Jadual"

Edit parameter melalui "Pilihan"

Bar alat pembangun tambahan pada InterSystems IRIS

Contoh 2: Melihat global melalui pautan "Sejarah".

Bar alat pembangun tambahan pada InterSystems IRIS

Graf

Diilhamkan oleh artikel [9] dan untuk menggambarkan pertumbuhan pangkalan data, halaman telah dicipta yang memaparkan graf bulanan saiz pangkalan data yang dibuat daripada fail iris.log (cconsole.log) menggunakan rekod "Kembangkan" secara retrospektif dari hari semasa.

Sebagai contoh, graf peristiwa juga telah dibuat dalam InterSystems IRIS, yang juga dihasilkan daripada fail protokol:

Bar alat pembangun tambahan pada InterSystems IRIS

Pautan ke bahan:

[1] subsistem pembalakan di Kasha
[2] Bubur segera - melakukan CRUD dalam Caché menggunakan jqGrid
[3] Pengurus SQL alternatif untuk DBMS Caché
[4] Contoh menjana dan menghantar E-mel menggunakan DBMS Caché
[5] Cache + jQuery. Permulaan yang cepat
[6] Penyerahan Aplikasi
[7] Sokongan UDL
[8] Melihat global dalam Portal Pengurusan Caché
[9] Prometheus dengan Cache
[10] Penyetempatan dalam DBMS Caché

Terima kasih kepada pengarang artikel ini dan artikel lain yang membantu saya mencipta alat ini.

PS Projek ini sedang dibangunkan dan banyak idea masih belum dilaksanakan. Dalam masa terdekat saya bercadang untuk melakukan:

1. Templat aplikasi pada rangka kerja uikit
2. Autodokumentasi format kod Doxegen dengan penyepaduan ke dalam CStudio

Sumber: www.habr.com

Tambah komen