Panel alat tambahan untuk memantau dan menyelidiki kesalahan aplikasi dan solusi integrasi pada platform data IRIS InterSystems, platform integrasi Ensemble, dan DBMS Caché, atau sejarah sepeda lain.
Dalam artikel ini saya ingin berbicara tentang aplikasi yang, bersama dengan alat administrasi standar, saya gunakan setiap hari untuk memonitor aplikasi dan solusi integrasi pada platform IRIS InterSystems dan untuk menemukan kesalahan ketika mereka terjadi.
Solusi ini mencakup melihat dan mengedit array global, menjalankan kueri (termasuk JDBC / ODBC), mengirimkan hasil pencarian email dalam bentuk file XLS yang diarsipkan. Lihat objek kelas dengan kemampuan untuk mengedit. Beberapa grafik sederhana dari protokol sistem.
Ini adalah aplikasi CSP berdasarkan
jQuery-UI ,
chart.js ,
jsgrid.jsJika tertarik, maka saya meminta potongan dan
repositori .
Semuanya dimulai dengan studi tentang cara mencatat perubahan objek di InterSystems IRIS, Ensemble, dan CMS DBMS.
Setelah membaca
artikel yang bagus tentang ini, saya
mengerjakan proyek itu . dan mulai menyelesaikannya untuk kebutuhannya.
Hasilnya adalah solusi yang diimplementasikan sebagai panel dari% CSP.Util.Pane subclass, di mana ada jendela utama untuk perintah dan tombol "Run", ditambah pengaturan penyempurnaan untuk perintah.
Saat memasukkan "?" kami mendapatkan deskripsi singkat tentang perintah ini:
GlobalTim saya yang paling sering melihat global. Biasanya, ini adalah protokol global saat men-debug proyek Anda sendiri atau orang lain. Itu dapat dilihat dalam urutan terbalik, serta dengan memfilter baik tautan dan data. Node yang ditemukan dapat diedit dan dihapus:

Anda dapat menghapus seluruh global dengan mengetikkan perintah setelah nama minus ^ logMSW-
Tetapi hanya global yang dimulai dengan ^ log (protokol global) yang dapat dihapus dengan cara ini, mis. menerapkan pembatasan terhadap penghapusan tidak disengaja.
Jika Anda memasukkan "*" setelah nama, kami mendapatkan daftar global dengan karakteristik tambahan. "*" Kedua - akan menambahkan bidang baru "Alokasi MB", dan satu lagi asterik - "MB Bekas". Kombinasi dua laporan dan pemisahan ini menjadi "bintang" dilakukan untuk membagi laporan yang sering kali dibuat panjang tentang blok yang ditempati dari blok global besar.

Dari pelat ini, Anda dapat mengklik tautan aktif untuk melihat global itu sendiri atau untuk melihat / mengeditnya dengan cara standar dari portal kontrol dengan mengklik bidang Izin pada R atau W.
PertanyaanKonversi laporan ke format ExcelFungsi kedua, dalam hal frekuensi penggunaan, adalah eksekusi permintaan. Untuk melakukan ini, kita memasukkan pernyataan sql sebagai perintah.
Hal utama yang cukup bagi saya di Portal Manajemen Sistem standar adalah untuk mengeksekusi query pada sumber-sumber JDBC / ODBC yang dikonfigurasi dalam DBMS dan menampilkan hasilnya dalam format XLS, mengarsipkan dan mengirim file ke email. Untuk melakukan ini, di alat saya, sebelum menjalankan perintah, saya harus mengaktifkan kotak centang "Unggah ke file Excel".
Fitur ini menghemat banyak waktu dalam rutinitas sehari-hari, dan saya berhasil mengintegrasikan modul yang sudah jadi dalam aplikasi baru dan solusi integrasi.

Tetapi untuk ini, pertama-tama Anda perlu mengkonfigurasi path untuk membuat file di server dan kredensial pengguna dan server mail, untuk ini, pada gilirannya, Anda perlu mengedit node dari pengaturan global ^ ^ App.Setting.
Menyimpan laporan secara globalSangat sering diperlukan untuk menyimpan hasil pelaksanaan laporan di global. Untuk melakukan ini, saya menerapkan prosedur:
Misalnya, jika di panel perintah
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
simpan hasil dari permintaan untuk menghitung penggunaan lisensi dalam ^ GN array, dan Anda dapat melihat apa yang disimpan di panel dengan perintah:
result ^GN("%SYSTEM.License:Counts",0)
Modul Fungsi yang DitambahDan peningkatan kedua, yang sangat menyederhanakan dan mengotomatisasi pekerjaan saya, adalah penerapan kemampuan untuk mengeksekusi modul yang ditulis secara khusus selama pembentukan setiap baris kueri. Jadi, dengan cepat, dalam sekali jalan, saya dapat memasukkan fungsi baru ke dalam laporan, misalnya, tautan aktif untuk operasi tambahan pada data.
Contoh 1: Bekerja dengan Kelas App.Parameter
Buat parameter melalui Table Navigator
Edit parameter melalui "Parameter"

Contoh 2: Melihat global melalui tautan "Riwayat"
GrafikTerkesan oleh artikel [9] dan untuk memvisualisasikan pertumbuhan database, sebuah halaman telah dibuat yang menampilkan grafik bulanan ukuran database yang dibuat menggunakan file iris.log (cconsole.log) dari "Expand" catatan secara retrospektif dari hari saat ini.
Misalnya, jadwal acara telah dibuat di InterSystems IRIS, yang juga dibentuk oleh file protokol:

Tautan ke materi:
[1]
logging subsistem di Kas[2]
Bubur Instan - Membuat CRUD di Caché dengan jqGrid[3]
Manajer SQL alternatif untuk Caché DBMS[4]
Contoh membuat dan mengirim Email menggunakan Caché DBMS[5]
Tembolok + jQuery. Mulai cepat[6]
Penerapan Aplikasi[7]
Dukungan UDL[8]
Lihat global di Portal Manajemen Database Caché[9]
Prometheus dengan Caché[10]
Lokalisasi dalam CMS DBMSSaya berterima kasih kepada penulis artikel ini dan lainnya yang membantu saya membuat alat ini.
PS Proyek ini sedang berkembang dan banyak ide belum diimplementasikan. Dalam waktu dekat saya berencana untuk melakukan:
1. Templat aplikasi pada kerangka kerja
uikit2. Otomatis mendokumentasikan kode dalam format Doxegen dengan integrasi ke CStudio