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
Jika anda berminat, sila lihat di bawah dan dalam
Semuanya bermula dengan mengkaji persoalan bagaimana untuk log perubahan pada objek dalam InterSystems IRIS, Ensemble dan DBMS Caché.
Selepas membaca
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:
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:
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.
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.
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 .
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)
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"
Contoh 2: Melihat global melalui pautan "Sejarah".
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:
Pautan ke bahan:
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
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
2. Autodokumentasi format kod
Sumber: www.habr.com