Log Gila

Di pagi hari, tanpa menyesap kopi, Anda membuka surat dan melihat laporan bug tentang apa yang berfungsi dengan baik untuk dirinya sendiri, itu tidak gagal, dan itu tidak terlalu mengganggu. Tidak ada ide saat bepergian, tidak ada tersangka, juga tidak ada perubahan besar dalam kode - Anda harus masuk ke log.

Dan Anda tidak pergi ke sana sejak lama sehingga Anda mendistribusikan file dengan log hingga 100 mb. atau hingga 500 mb. Heck! Atau mungkin hingga 10 GB (*). Dan bukti berharga ada di antara 10.737.418.240 byte, yang harus segera dijalankan untuk mencari tahu apa yang sedang terjadi, sementara kopi sudah mulai dingin.

Atau mungkin arsip dengan dua ratus file (katakan masing-masing 5 MB) dari log yang rusak pergi ke laporan dengan trailer dan Anda perlu merekatkannya entah bagaimana, lalu melihat, menggali, dan berpikir.

Apakah itu familier?

Secara umum, kita semua, dengan satu atau lain cara, dihadapkan dengan kebutuhan untuk menganalisis "jejak kehidupan" dari kreasi kita, dan ada baiknya jika file tersebut memiliki berat beberapa MB, karena membuka log 1 GB dengan notepad dan bahkan mencoba melakukan pencarian adalah tugas yang meragukan.

Di bawah potongan, saya akan memberi tahu Anda tentang satu alat yang tidak memiliki batasan (**) pada ukuran file yang dibuka, tetapi memiliki pencarian yang sangat cepat.

Dan saya mengundang Anda untuk bergabung dalam pengembangan.

Dan ya, akan ada banyak gambar menarik.

Jadi, tampaknya tugas yang sepele untuk membuka log dan mencari, kadang-kadang dapat mengalami ukuran file yang dangkal. Anda dapat membuka sedikit dengan apa saja, setidaknya dengan notepad atau notepad yang sama ++, tetapi pada bunga poppy dan Linux, sehingga terkadang lebih mudah untuk meletakkan semuanya ke konsol dengan kucing dan melakukan pencarian.

Di antara hal-hal lain, Anda dapat menggunakan notepad ++ yang disebutkan, atom, logExpert, luhur, bare vim, bbedit, glogg, dll. Saya harus mengatakan segera bahwa tidak semua orang akan membuka gigabyte 2, dan beberapa yang masih hidup akan rusak dalam pencarian. Dan dari semua hal di atas, mungkin hanya atom yang benar-benar lintas platform, dan saya ingin memiliki satu hal ketika saya harus bekerja pada beberapa platform secara paralel. Dan berapa banyak yang memakan RAM untuk memproses setidaknya beberapa ratus megabyte log adalah cerita yang berbeda.

Itulah sebenarnya mengapa kami memiliki alat chipmunk, yang digergaji di bawah tugas yang sempit, tetapi dengan cepat tumbuh menjadi solusi komprehensif untuk menganalisis log. Chipmunk tidak dapat melakukan apa pun, tugasnya direduksi menjadi sederhana:

  • buka log tanpa khawatir tentang ukuran file;
  • cari agar Anda tidak menunggu, tetapi lihat hasilnya segera;
  • ingat semua pencarian Anda dan simpan dengan hati-hati sesuai permintaan;
  • membantu Anda memahami informasi secara visual;
  • berperilaku sederhana dalam kaitannya dengan RAM;
  • untuk menyelesaikan tugas yang lebih sempit lainnya, tetapi selalu direduksi menjadi analisis log.

Baiklah, mari kita bicara tentang semuanya secara berurutan.

Sumber daya


Chipmunk tidak memuat apa pun ke dalam RAM, kecuali potongan log yang terlihat di layar (well, sedikit lebih buffering, tapi ini agak sepele). Berjalan di sekitar file, chipmunk membaca sepotong file (sesuai dengan posisi pengguliran) dan hanya memuatnya ke dalam memori. Berkat ini, selera untuk RAM cukup dimengerti dan tidak berfluktuasi, dan "layar" pertama dengan isi file ditampilkan segera (meskipun pengindeksan akan dilanjutkan dengan latar belakang).

Kenyamanan dan visualisasi


gambar

Ada manajer permintaan pencarian tempat Anda dapat:

  • Tetapkan warna untuk difilter (yang memfasilitasi persepsi data)
  • simpan koleksi filter ke file sehingga Anda selalu memiliki pola pencarian yang sudah jadi.

Anda dapat, misalnya, melihat file untuk frekuensi kecocokan (semakin tinggi kolom, semakin banyak kecocokan dalam fragmen file).

gambar

Atau Anda dapat menentukan grup dalam ekspresi reguler dan mendapatkan grafik yang indah (dalam contoh yang digunakan, ekspresi penggunaan CPU: \ s + (\ d + \. \ D +) ). Dan sekarang Anda melihat di mana konsumsi CPU tidak normal dan potongan log mana yang harus diperiksa dengan cermat.

gambar

Selain mencari dengan sendirinya, setiap baris log dapat ditandai, yang akan selalu ditampilkan di jendela hasil pencarian. Ini sangat nyaman ketika saya melihat sesuatu yang penting di antara beberapa juta baris dan Anda tidak ingin melupakannya.

Kombinasi file


Untuk memecahkan masalah yang terkait dengan beberapa file, chipmunk dapat membutakan file menjadi satu (misalnya, pada tanggal perubahan terakhir dalam file). Semua yang dibutuhkan:

  • melempar sekelompok file ke jendela chipmunk
  • jika Anda perlu mengurutkan file yang Anda inginkan
  • selain itu, Anda dapat mencari semua file dan, misalnya, mengecualikan file-file yang tidak cocok dengan kata "kesalahan" (well, mengapa kita harus pergi ke tempat yang serba tenang?)

gambar

Sebagai hasilnya, kita mendapatkan urutan semua file yang dipilih di jendela.

Jika Anda memerlukan mekanisme yang lebih kompleks untuk menggabungkan log (misalnya, jika Anda memiliki log dari berbagai perangkat / sumber), Anda dapat menggunakan fungsi penggabungan, yang menentukan format cap waktu untuk setiap file dan menampilkan log dalam urutan kronologis.

gambar

Perhatikan label warna di sebelah kiri output - ini adalah label file. Artinya, Anda tidak melihat output dari satu file setelah yang lain (penggabungan), tetapi output diurutkan berdasarkan waktu dari semua file (penggabungan).

Fitur spesial


Jika Anda pernah mengalami DLT, maka Anda tahu betapa menyakitkannya menggunakan DLTViewer. Berita baiknya adalah chipmunk adalah alternatif untuk membuka dan menganalisis file DLT. Selain itu, ia juga mendukung streaming DLT.

gambar

Ketika Anda membuka file DLT, Anda akan segera melihat ringkasan file, termasuk daftar semua komponen, yang nyaman jika Anda tertarik pada APID tertentu, dan bukan seluruh log.

Berbicara tentang utas


Out of the box dengan chipmunk hadir plugin sederhana "Perintah", yang akan memungkinkan Anda untuk menjalankan perintah konsol dan menerima output dalam chipmunk dengan kemampuan untuk mencari output ini. Secara alami, jika Anda memiliki pencarian aktif (misalnya, filter tersimpan), maka data hasil akan diperbarui sebagai aliran diperbarui dari perintah konsol Anda.

gambar

Oh ya plugin


Ada beberapa dari mereka sejauh ini. Itu benar, sungguh tidak cukup. Hanya ada 5 yang umum (yang ada di domain publik dan dapat diakses oleh pengelola plugin), bukan publik, saya bahkan tidak tahu, mungkin beberapa lusin.

Menulis plugin Anda sangat sederhana (Saya akan melakukan reservasi untuk tugas sederhana).

Misalnya, jika log Anda berisi pesan yang disajikan dalam bentuk byte, dan Anda ingin melihatnya segera dalam bentuk yang dapat dibaca (yaitu, diterjemahkan); mudah untuk memotong plug-in, yang akan menerima fragmen log yang dipilih sebagai input dan membuang output yang diterjemahkan ke dalam panel. Atau mungkin bahkan decoding on the fly dan menampilkan teks yang dapat dimengerti di layar, dan bukan A5 FF 13 EE ... dll.

Secara umum, ada dua jenis ekstensi: karya pertama dengan render, yaitu, mereka memungkinkan Anda untuk mengubah presentasi output: jika Anda menginginkan kolom, silakan; Saya ingin memecahkan kode sesuatu dengan cepat - Anda bisa; ada keinginan untuk menempel grafik (misalnya, ikon) - tidak jelas mengapa Anda membutuhkannya, tetapi Anda bisa.

Jenis lain dari plugin (dan ini lebih menarik), mereka yang dapat menyediakan data (membuat aliran). Misalnya, ingin melihat output dari port serial? Bukan masalah: kasingnya adalah proyek npm baru, kami menyertakan port port favorit kami di dalamnya, tambahkan sedikit UI sesuai selera Anda dan sekarang plugin Anda dapat membuang data ke chipmunk.

Untuk kenyamanan dan kencan pertama, seperti biasa dalam keluarga yang layak, ada repositori quickstart dengan beberapa tiga contoh.

Jika tertarik, beri tahu saya di komentar - Saya akan membuat panduan pasca-terpisah untuk membuat dan menerbitkan plugin (omong-omong, tidak diperlukan pendaftaran untuk penerbitan)

Alih-alih sebuah kesimpulan


Itu mungkin saja. Saya tidak ingin membuat buklet iklan atau kartu pengguna dari pos ini - karena itu, singkat saja dengan huruf minimum. Tujuan saya adalah membagikan kepada Anda alat lain untuk bekerja dengan log, yang dapat berguna untuk menyelesaikan banyak masalah.

Proyek ini sepenuhnya open-source dan terbuka untuk partisipasi Anda, apa pun dari partisipasi Anda. Ingin melihat dukungan untuk hal seperti itu? Buat masalah dan pilih "Permintaan fitur". Menemukan bug? Kami akan dengan senang hati melihat laporan bug dari Anda dengan deskripsi masalah yang singkat (tapi cukup). Bahasa Inggris diterima, tetapi bahasa Rusia tidak dilarang.

Dan tentu saja, menempatkan bintang yang berharga di github, hanya dalam beberapa detik Anda akan merasakan sedikit kehangatan dan peningkatan suasana hati dari rasa terima kasih kami untuk persetujuan atas apa yang kami lakukan. Untuk Anda, klik - bagi kami, umpan balik dan inspirasi.

Terima kasih


Tautan lain

Klarifikasi
(*) , (1 <). , . . 10-20 , . embedded .

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

All Articles