مجموعة من الأدوات الإضافية للمراقبة والتحقيق في الأخطاء في التطبيقات وحلول التكامل على منصة بيانات InterSystems IRIS، ومنصة التكامل Ensemble ونظام Caché DBMS، أو قصة دراجة أخرى.
أريد في هذه المقالة أن أتحدث عن التطبيق الذي أستخدمه يوميًا، إلى جانب أدوات الإدارة القياسية، لمراقبة التطبيقات وحلول التكامل على منصة InterSystems IRIS والعثور على الأخطاء عند حدوثها.
يتضمن الحل عرض المصفوفات العامة وتحريرها، وتشغيل الاستعلامات (بما في ذلك JDBC/ODBC)، وإرسال نتائج البحث عبر البريد الإلكتروني كملفات XLS مضغوطة. عرض كائنات الفئة مع القدرة على التحرير. عدة رسوم بيانية بسيطة لبروتوكولات النظام.
هذا هو تطبيق CSP يعتمد على
إذا كنت مهتما، يرجى الاطلاع أدناه وفي
بدأ الأمر كله بدراسة مسألة كيفية تسجيل التغييرات على الكائنات في InterSystems IRIS وEnsemble وCaché DBMS.
بعد القراءة
يتم تنفيذ الحل الناتج كفئة فرعية للوحة %CSP.Util.Pane، والتي تحتوي على نافذة أوامر رئيسية وزر تشغيل، بالإضافة إلى إعدادات تحسين الأوامر.
عندما تدخل "؟" نحصل على وصف موجز لهذه الأوامر:
الكرة الأرضية
أمري الأكثر شيوعًا هو عرض ملف global. كقاعدة عامة، يعد هذا بروتوكولًا عالميًا عند تصحيح أخطاء مشروعك أو مشروع شخص آخر. يمكنك عرضه بترتيب عكسي، وكذلك من خلال تطبيق مرشح على كل من الرابط والبيانات. يمكن تحرير وحذف العقد التي تم العثور عليها:
يمكنك حذف العمومي بالكامل عن طريق إدخال ناقص ^logMSW- في الأمر بعد الاسم.
ولكن بهذه الطريقة يمكنك فقط حذف العناصر العالمية التي تبدأ بـ ^log (بروتوكولات عمومية)، أي. تم تطبيق قيود ضد الحذف العرضي.
إذا قمت بإدخال "*" بعد الاسم، فستحصل على قائمة بالعناصر العالمية ذات الخصائص الإضافية. سيضيف "*" الثاني حقلاً جديدًا "الميجابايت المخصصة"، وستكون علامة النجمة الأخرى هي "الميجابايت المستخدمة". يتم إجراء هذا الجمع بين تقريرين والتقسيم إلى "علامات نجمية" لتقسيم التقرير الذي غالبًا ما يكون طويلًا إلى كتل مشغولة من العوالم الكبيرة.
من هذا الجدول، يمكنك اتباع الارتباطات النشطة لعرض النطاق العام نفسه أو لعرضه/تحريره بالطريقة القياسية من بوابة الإدارة عن طريق النقر فوق R أو W في حقل الإذن.
طلبات
تحويل التقرير إلى تنسيق Excel
الوظيفة الثانية الأكثر استخدامًا هي تنفيذ الاستعلام. للقيام بذلك، أدخل عبارة SQL كأمر.
الشيء الرئيسي الذي كان كافيًا بالنسبة لي في بوابة إدارة النظام القياسية هو تنفيذ الاستعلامات على مصادر JDBC/ODBC التي تم تكوينها في نظام إدارة قواعد البيانات (DBMS) وإخراج النتائج بتنسيق XLS، وأرشفة الملف وإرساله عبر البريد الإلكتروني. للقيام بذلك، في أداتي، قبل تنفيذ الأمر، تحتاج إلى تمكين مربع الاختيار "تنزيل إلى ملف Excel".
توفر لي هذه الميزة الكثير من الوقت في روتيني اليومي، وأنجح في دمج الوحدات الجاهزة في التطبيقات الجديدة وحلول التكامل.
ولكن للقيام بذلك، تحتاج أولاً إلى تكوين المسار لإنشاء الملفات على الخادم وبيانات اعتماد المستخدم وخادم البريد، ولهذا تحتاج بدوره إلى تحرير العقد الخاصة بإعدادات البرنامج العامة ^%App.Setting .
حفظ التقارير على مستوى العالم
في كثير من الأحيان يكون من الضروري حفظ نتائج تنفيذ التقرير عالميًا. للقيام بذلك أستخدم الإجراءات التالية:
بالنسبة لـ JDBC:
##class(App.sys).SqlToDSN
بالنسبة لـ ODBC:
##class(App.sys).SaveGateway
بالنسبة لتعبيرات SQL:
##class(App.sys).حفظ SQL
للاستعلام:
##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) باستخدام سجلات "توسيع" بأثر رجعي من اليوم الحالي.
على سبيل المثال، تم أيضًا إنشاء رسم بياني للحدث في InterSystems IRIS، والذي تم إنشاؤه أيضًا من ملف البروتوكول:
روابط للمواد:
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
شكرًا لمؤلفي هذه المقالات وغيرها الذين ساعدوني في إنشاء هذه الأداة.
ملحوظة: هذا المشروع قيد التطوير والعديد من الأفكار لم يتم تنفيذها بعد. في المستقبل القريب أخطط للقيام بما يلي:
1. قالب التطبيق على الإطار
2. التوثيق التلقائي لتنسيق التعليمات البرمجية
المصدر: www.habr.com