پانلی از ابزارهای اضافی برای نظارت و بررسی خطاها در برنامهها و راهحلهای یکپارچهسازی در پلتفرم داده InterSystems IRIS، پلتفرم یکپارچهسازی Ensemble و Cache DBMS یا داستان یک دوچرخه دیگر.
در این مقاله میخواهم در مورد برنامهای صحبت کنم که همراه با ابزارهای مدیریت استاندارد، هر روز از آن برای نظارت بر برنامهها و راهحلهای یکپارچهسازی در پلتفرم InterSystems IRIS استفاده میکنم و هنگام بروز خطاها را پیدا میکنم.
این راه حل شامل مشاهده و ویرایش آرایه های جهانی، اجرای پرس و جوها (از جمله JDBC/ODBC)، ارسال نتایج جستجو از طریق ایمیل به عنوان فایل های فشرده XLS است. مشاهده اشیاء کلاس با قابلیت ویرایش. چندین نمودار ساده برای پروتکل های سیستم.
این یک برنامه CSP بر اساس است
اگر علاقه مند هستید، لطفا به زیر و در زیر مراجعه کنید
همه چیز با مطالعه این سوال شروع شد که چگونه تغییرات را در اشیاء در InterSystems IRIS، Ensemble و Cache DBMS ثبت کنید.
بعد از خواندن
راه حل به دست آمده به عنوان یک زیر کلاس پانل از %CSP.Util.Pane پیاده سازی می شود که دارای یک پنجره دستور اصلی و یک دکمه Run به همراه تنظیمات اصلاح دستور است.
وقتی "؟" را وارد می کنید شرح مختصری از این دستورات دریافت می کنیم:
جهانی ها
رایج ترین دستور من مشاهده جهانی است. به عنوان یک قاعده، این یک پروتکل جهانی هنگام اشکال زدایی پروژه خود یا شخص دیگری است. می توانید آن را به ترتیب معکوس و همچنین با اعمال یک فیلتر برای پیوند و داده مشاهده کنید. گره های یافت شده را می توان ویرایش و حذف کرد:
با وارد کردن منهای ^logMSW- در دستور بعد از نام، می توانید کل جهانی را حذف کنید.
اما به این ترتیب شما فقط میتوانید جهانیهایی را که با ^log شروع میشوند (globals پروتکل) حذف کنید. محدودیتی برای حذف تصادفی اعمال شده است.
اگر "*" را بعد از نام وارد کنید، لیستی از جهانی ها با ویژگی های اضافی دریافت خواهید کرد. "*" دوم یک فیلد جدید "مگابایت اختصاص داده شده" اضافه می کند و ستاره دیگر "مگابایت استفاده شده" خواهد بود. این ترکیب از دو گزارش و تقسیم به "ستاره" برای تقسیم گزارش اغلب طولانی به بلوک های اشغال شده انجام می شود. جهانی های بزرگ
از این جدول می توانید پیوندهای فعال را دنبال کنید تا خود جهانی را مشاهده کنید یا با کلیک روی R یا W در قسمت Permission آن را به روش استاندارد از پورتال مدیریت مشاهده/ویرایش کنید.
درخواست ها
تبدیل گزارش به فرمت اکسل
دومین تابع پرکاربرد، اجرای پرس و جو است. برای این کار عبارت sql را به عنوان دستور وارد کنید.
اصلیترین چیزی که در پورتال مدیریت سیستم استاندارد برای من کافی بود، اجرای پرسوجوها در منابع JDBC/ODBC پیکربندی شده در DBMS و خروجیگیری نتایج در قالب XLS، آرشیو کردن و ارسال فایل از طریق ایمیل بود. برای انجام این کار، در ابزار من، قبل از اجرای دستور، باید کادر "دانلود به فایل اکسل" را فعال کنید.
این ویژگی باعث صرفه جویی در وقت من در کارهای روزمره می شود و ماژول های آماده را با موفقیت در برنامه های کاربردی جدید و راه حل های یکپارچه سازی ادغام می کنم.
اما برای انجام این کار، ابتدا باید مسیر ایجاد فایلها در سرور و اطلاعات کاربری و سرور ایمیل را پیکربندی کنید؛ برای این کار، به نوبه خود، باید گرههای تنظیمات برنامه جهانی ^%App.Setting را ویرایش کنید. .
ذخیره گزارش ها در سطح جهانی
اغلب اوقات لازم است نتایج اجرای گزارش به صورت جهانی ذخیره شود. برای انجام این کار از روش های زیر استفاده می کنم:
برای JDBC:
##class(App.sys).SqlToDSN
برای ODBC:
##class(App.sys).SaveGateway
برای عبارات SQL:
##class(App.sys).SaveSQL
برای پرس و جو:
##class(App.sys).SaveQuery
به عنوان مثال، اگر در پنل دستور
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
بیایید نتیجه درخواست شمارش استفاده از مجوز را در آرایه ^GN ذخیره کنیم و می توانید آنچه را که در پانل ذخیره شده است با دستور زیر مشاهده کنید: result ^GN("%SYSTEM.License:Counts",0)
ماژول های قابلیت افزوده
و دومین پیشرفت که کار من را بسیار ساده و خودکار کرد، اجرای توانایی اجرای ماژول های نوشته شده ویژه هنگام تولید هر خط پرس و جو است. به این ترتیب من می توانم عملکرد جدیدی را در گزارش در حال پرواز در یک پاس ایجاد کنم، به عنوان مثال، پیوندهای فعال برای عملیات اضافی روی داده ها.
مثال 1: کار با کلاس App.Parameter
ایجاد یک پارامتر با استفاده از "Table Navigator"
ویرایش یک پارامتر از طریق "گزینه ها"
مثال 2: مشاهده جهانی از طریق پیوند "تاریخچه".
نمودار
با الهام از مقاله [9] و برای تجسم رشد پایگاه های داده، صفحه ای ایجاد شد که نمودار ماهانه اندازه های پایگاه داده ایجاد شده از فایل iris.log (cconsole.log) را با استفاده از رکوردهای "Expand" به صورت گذشته نگر از روز جاری نمایش می دهد.
به عنوان مثال، یک نمودار رویداد نیز در InterSystems IRIS ایجاد شده است که از فایل پروتکل نیز تولید می شود:
پیوند به مواد:
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
با تشکر از نویسندگان این مقالات و مقالات دیگر که به من در ایجاد این ابزار کمک کردند.
PS این پروژه در حال توسعه است و بسیاری از ایده ها هنوز اجرا نشده اند. در آینده نزدیک قصد دارم انجام دهم:
1. الگوی برنامه در چارچوب
2. اسناد خودکار قالب کد
منبع: www.habr.com