سجلات مجنون

في الصباح ، دون تناول رشفة من القهوة ، تفتح البريد وترى تقرير خطأ حول ما كان يعمل بشكل جيد لنفسه ، ولم يفشل ، ولم يزعجك كثيرًا. لا توجد أفكار حول هذه الخطوة ، ولا يوجد مشتبه بهم ، ولم تكن هناك تغييرات كبيرة في الرمز أيضًا - تحتاج إلى الدخول إلى السجلات.

ولم تذهب إلى هناك منذ فترة طويلة لدرجة أنك وزعت ملفًا بسجلات تصل إلى 100 ميغابايت. أو حتى 500 ميجا بايت. تبا! أو ربما حتى 10 جيجابايت (*). وتوجد أدلة ثمينة في مكان ما بين 10،737،418،240 بايت ، والتي يجب تشغيلها على وجه السرعة من أجل معرفة ما يجري ، حتى عندما تكون القهوة باردة بالفعل.

أو ربما ذهب أرشيف يحتوي على مائتي ملف (على سبيل المثال 5 ميغابايت لكل منها) من السجلات المعطلة إلى التقرير باستخدام مقطع دعائي وتحتاج إلى لصقها بطريقة أو بأخرى ، ثم ابحث وحفر وفكر.

هل هذا مألوف؟

بشكل عام ، نواجه جميعًا ، بطريقة أو بأخرى ، الحاجة إلى تحليل "آثار الحياة" لإبداعاتنا ، ومن الجيد إذا كان الملف يزن بضع ميغابايت ، لأن فتح سجل 1 غيغابايت باستخدام مفكرة وحتى محاولة إجراء بحث مهمة مشكوك فيها.

تحت هذا القص ، سأخبرك عن أداة واحدة ليس لها حدود (**) على حجم الملفات المفتوحة ، ولكنها تحتوي على بحث سريع للغاية.

وأنا أدعوكم للانضمام إلى التنمية.

ونعم ، سيكون هناك العديد من الصور المثيرة للاهتمام.

لذلك ، قد تبدو مهمة بسيطة لفتح السجلات والبحث ، وأحيانًا يمكن أن تصل إلى حجم ملف عادي. من الممكن فتح تافه بأي شيء ، على الأقل بنفس المفكرة أو المفكرة ++ ، ولكن على الخشخاش ولينكس ، لذلك من الأسهل أحيانًا إلقاء كل شيء في وحدة التحكم مع قطة وإجراء بحث.

من بين أمور أخرى ، يمكنك استخدام المفكرة المذكورة ++ ، atom ، logExpert ، sublime ، bare vim ، bbedit ، glogg ، إلخ. يجب أن أقول على الفور أنه لن يفتح الجميع جيجابايت 2 ، وأن بعض الأسف الباقية ستنهار في البحث. ومن بين كل ما سبق ، ربما تكون الذرة فقط عبر الأنظمة الأساسية حقًا ، وأريد أن أمتلك شيئًا واحدًا عندما أضطر للعمل على عدة منصات بالتوازي. وكم يأكل البعض ذاكرة الوصول العشوائي لمعالجة ما لا يقل عن بضع مئات من الميجابايت من السجلات قصة مختلفة.

لهذا في الواقع لدينا أداة السنجاب ، التي تم نشرها في مهام ضيقة ، ولكنها سرعان ما تطورت إلى حل شامل لتحليل السجلات. لا يمكن لـ Chipmunk القيام بأي شيء آخر ؛ يتم تقليل مهامه إلى مهمة بسيطة:

  • فتح السجلات دون القلق بشأن حجم الملف ؛
  • البحث حتى لا تنتظر ، ولكن انظر النتيجة على الفور ؛
  • تذكر جميع عمليات البحث الخاصة بك وتخزينها بعناية عند الطلب ؛
  • مساعدتك على إدراك المعلومات بصريًا ؛
  • التصرف بشكل متواضع فيما يتعلق بذاكرة الوصول العشوائي ؛
  • لحل المهام الأضيق الأخرى ، ولكن يتم تقليلها دائمًا إلى تحليل السجلات.

حسنًا ، لنتحدث عن كل شيء بالترتيب.

مصادر


لا يقوم Chipmunk بتحميل أي شيء في ذاكرة الوصول العشوائي ، باستثناء قطعة السجلات المرئية على الشاشة (حسنًا ، تخزين مؤقت أكثر قليلاً ، ولكن هذا تافه). يتجول السنجاب حول الملف ، ويقرأ جزءًا من الملف (يتوافق مع موضع التمرير) ويحمله فقط في الذاكرة. وبفضل هذا ، فإن شهوات ذاكرة الوصول العشوائي واضحة تمامًا ولا تتقلب ، وتظهر "الشاشة" الأولى التي تحتوي على محتويات الملف على الفور (على الرغم من أن الفهرسة ستستمر مع الخلفية).

الراحة والتصور


صورة

يوجد مدير استعلام بحث حيث يمكنك:

  • تعيين الألوان للمرشحات (مما يسهل إدراك البيانات)
  • احفظ مجموعة الفلاتر في ملف بحيث يكون لديك دائمًا نمط بحث جاهز في متناول اليد.

يمكنك ، على سبيل المثال ، إلقاء نظرة على الملف لمعرفة مدى تكرار المطابقات (كلما زاد العمود ، زادت المطابقات في جزء الملف).

صورة

أو يمكنك تحديد مجموعة في تعبير عادي والحصول على رسم بياني جميل (في المثال المستخدم ، استخدام وحدة المعالجة المركزية للتعبير : \ s + (\ d + \. \ D +) ). والآن ترى أين كان استهلاك وحدة المعالجة المركزية غير طبيعي وأي جزء من السجلات يجب فحصه بعناية.

صورة

بالإضافة إلى البحث بمفرده ، يمكن وضع إشارة مرجعية على سطور السجلات الفردية ، والتي سيتم تقديمها دائمًا في نافذة نتائج البحث. هذا مريح للغاية عندما رأيت شيئًا مهمًا بين بضعة ملايين من الخطوط ولا تريد أن تغفل عنه.

تركيبة الملف


لحل المشاكل المرتبطة بالعديد من الملفات ، يمكن أن يقوم السنجاب بإخفاء الملفات في ملف واحد (على سبيل المثال ، بحلول تاريخ آخر تغيير في الملف). كل ما هو مطلوب:

  • رمي مجموعة من الملفات في نافذة السنجاب
  • إذا كنت بحاجة إلى فرز الملفات كما تريد
  • بالإضافة إلى ذلك ، يمكنك البحث في جميع الملفات ، على سبيل المثال ، استبعاد تلك الملفات التي لا تحتوي على تطابقات لكلمة "خطأ" (حسنًا ، لماذا يجب أن نذهب إلى حيث يكون كل شيء هادئًا جدًا؟)

صورة

نتيجة لذلك ، نحصل في النافذة على تسلسل لجميع الملفات المحددة.

إذا كنت بحاجة إلى آلية أكثر تعقيدًا لدمج السجلات (على سبيل المثال ، إذا كان لديك سجلات من أجهزة / مصادر مختلفة) ، فيمكنك استخدام وظيفة الدمج ، التي تحدد تنسيق الطابع الزمني لكل ملف وتعرض السجلات بترتيب زمني.

صورة

انتبه إلى تسميات الألوان الموجودة على يسار الإخراج - فهذه تسميات الملفات. أي أنك لا ترى إخراج ملف تلو الآخر (تسلسل) ، ولكن الإخراج مرتبة حسب الوقت من جميع الملفات (الدمج).

مميزات خاصة


إذا واجهت DLT ، فأنت تعرف ما هو الألم لاستخدام DLTViewer. الخبر السار هو أن السنجاب هو بديل لفتح ملفات DLT وتحليلها. بالإضافة إلى ذلك ، فإنه يدعم أيضًا تدفق DLT.

صورة

عندما تفتح ملف DLT ، سترى على الفور ملخصًا للملف ، بما في ذلك قائمة بجميع المكونات ، وهو مناسب إذا كنت مهتمًا بـ APID معين ، وليس السجل بالكامل.

يتحدث عن خيوط


يأتي خارج الصندوق مع chipmunk يأتي المكون الإضافي البسيط "Commands" ، والذي سيسمح لك بتشغيل أي أمر وحدة تحكم وتلقي الإخراج في chipmunk مع القدرة على البحث عن هذا الإخراج. بطبيعة الحال ، إذا كان لديك بحث نشط (على سبيل المثال ، مرشح محفوظ) ، فسيتم تحديث بيانات النتيجة كتحديثات الدفق من أمر وحدة التحكم الخاصة بك.

صورة

نعم الإضافات


هناك القليل منهم حتى الآن. هذا صحيح ، لا يكفي حقًا. لا يوجد سوى 5 منها عامة (تلك الموجودة في المجال العام ويمكن الوصول إليها من قبل مدير المكونات الإضافية) ، وليست عامة ، لا أعرف حتى ، ربما عشرات.

تعد كتابة المكوّن الإضافي أمرًا بسيطًا للغاية (سأجري حجزًا لمهمة بسيطة).

على سبيل المثال ، إذا كانت سجلاتك تحتوي على رسائل مقدمة في شكل وحدات البايت ، وترغب في رؤيتها على الفور في شكل قابل للقراءة (أي يتم فك تشفيره) ؛ من السهل تحطيم أحد المكونات الإضافية ، والتي ستتلقى جزء السجل المحدد كمدخل وإلقاء الناتج الذي تم فك ترميزه في اللوحة. أو ربما حتى فك التشفير على الطاير وعرض نص واضح على الشاشة ، وليس A5 FF 13 EE ... إلخ.

بشكل عام ، هناك نوعان من الإضافات: أول عمل مع العرض ، أي أنها تسمح لك بتغيير عرض الإخراج: إذا كنت تريد الأعمدة ، من فضلك ؛ أريد فك شفرة شيء على الطاير - يمكنك ؛ هناك رغبة في التمسك بالرسومات (على سبيل المثال ، الرموز) - ليس من الواضح سبب حاجتك إليها ، ولكن يمكنك ذلك.

نوع آخر من المكونات الإضافية (وهو أكثر إثارة للاهتمام) ، تلك التي يمكن أن توفر البيانات (إنشاء تيارات). على سبيل المثال ، هل تريد رؤية الإخراج من المنفذ التسلسلي؟ ليست مشكلة: الحالة هي مشروع npm جديد ، نحن ندرج منفذ المنفذ المفضل لدينا فيه ، ونضيف القليل من واجهة المستخدم إلى ذوقك ، والآن يمكن للمكون الإضافي الخاص بك إلقاء البيانات في السنجاب.

للراحة والتواريخ الأولى ، كما هو معتاد في العائلات اللائقة ، هناك مستودع سريع لبدء التشغيل مع اثنين من الأمثلة الثلاثة.

إذا كنت مهتمًا ، فأخبرني بذلك في التعليقات - سأقدم دليلاً لاحقًا منفصلًا لإنشاء المكونات الإضافية ونشرها (بالمناسبة ، لا يلزم التسجيل للنشر).

بدلا من الاستنتاج


ربما هذا كل شيء. لا أريد أن أعمل كتيبًا إعلانيًا أو بطاقة مستخدم من هذا المنشور - لذا ، باختصار مع حد أدنى من الحروف. هدفي هو أن أشارك معك أداة أخرى للعمل مع السجلات ، والتي يمكن أن تكون مفيدة لحل العديد من المشاكل.

المشروع مفتوح المصدر بالكامل ومفتوح على مشاركتك ، أي من مشاركتك. تريد أن ترى الدعم لشيء مثل هذا؟ قم بإنشاء مشكلة وحدد "طلب ميزة". وجدت خطأ؟ سنكون سعداء لرؤية تقرير خطأ منك مع وصف موجز (لكن كاف) للمشكلة. اللغة الإنجليزية مرحب بها ، ولكن الروسية ليست ممنوعة.

وبالطبع ، وضع النجم العزيز على جيثب، في بضع ثوانٍ فقط ستشعر بدفء طفيف وتحسن في المزاج من امتناننا للموافقة على ما نقوم به. بالنسبة لك ، انقر - بالنسبة لنا ، وردود الفعل والإلهام.

شكرا.

إطلاق

روابط أخرى

توضيح
(*) , (1 <). , . . 10-20 , . embedded .

(**), , . chipmunk . , chipmunk RAM, , SSD.

All Articles