Ini adalah perintah innotop yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
innotop - monitor transaksi/status MySQL dan InnoDB.
RINGKASAN
Untuk memantau server secara normal:
innotop
Untuk memantau informasi status InnoDB dari file:
innotop /var/log/mysql/mysqld.err
Untuk menjalankan innotop secara non-interaktif dalam konfigurasi pipa dan filter:
innotop --hitung 5 -d 1 -n
Untuk memantau database di sistem lain menggunakan nama pengguna dan kata sandi tertentu:
innotop -u -P -H
DESKRIPSI
innotop memonitor server MySQL. Setiap modenya menunjukkan aspek berbeda dari apa yang ada
terjadi di server. Misalnya, ada mode untuk memantau replikasi, satu untuk
query, dan satu untuk transaksi. innotop menyegarkan datanya secara berkala, sehingga Anda melihat
memperbarui tampilan.
innotop memiliki banyak fitur untuk power user, tetapi Anda dapat memulai dan menjalankannya dengan virtual
tidak ada konfigurasi. Jika Anda baru memulai, lihat "MULAI CEPAT". Tekan '?' apapun
waktu saat menjalankan innotop untuk bantuan peka konteks.
MULAI CEPAT
Untuk memulai innotop, buka terminal atau command prompt. Jika Anda telah menginstal innotop di
sistem Anda, Anda seharusnya bisa mengetikkan "innotop" dan tekan Enter; jika tidak, kamu
perlu mengubah ke direktori innotop dan ketik "perl innotop".
Tanpa opsi yang ditentukan, innotop akan mencoba terhubung ke server MySQL di localhost
menggunakan mysql_read_default_group=client untuk parameter koneksi lainnya. Jika Anda perlu
tentukan nama pengguna dan kata sandi yang berbeda, gunakan opsi -u dan -p, masing-masing. Ke
memantau database MySQL di host lain, gunakan opsi -h.
Setelah Anda terhubung, innotop akan menampilkan sesuatu seperti berikut ini:
[RO] Daftar Kueri (? untuk bantuan) localhost, 01:11:19, 449.44 QPS, 14/7/163 con/run
CXN Saat Memuat QPS Lambat QCacheHit KCacheHit BpsIn BpsOut
localhost Total 0.00 1.07k 697 0.00% 98.17% 476.83k 242.83k
CXN Cmd ID Pengguna Host DB Waktu Kueri
localhost Query 766446598 tes 10.0.0.1 foo 00:02 INSERT INTO table (
(Sampel ini dipotong di sebelah kanan sehingga akan muat di terminal saat menjalankan 'man
innotop')
Jika server Anda sibuk, Anda akan melihat lebih banyak output. Perhatikan baris pertama di layar,
yang memberi tahu Anda bahwa readonly disetel ke true ([RO]), mode apa yang Anda gunakan dan server apa
Anda terhubung. Anda dapat mengubah ke mode lain dengan penekanan tombol; tekan 'T' untuk beralih
ke daftar transaksi InnoDB, misalnya.
Tekan '?' untuk melihat tombol apa yang aktif dalam mode saat ini. Anda dapat menekan salah satu dari
kunci dan innotop ini akan mengambil tindakan yang diminta atau meminta Anda untuk memasukkan lebih banyak.
Jika sistem Anda memiliki dukungan Term::ReadLine, Anda dapat menggunakan TAB dan kunci lainnya untuk melengkapi secara otomatis
dan mengedit masukan.
Untuk keluar dari innotop, tekan tombol 'q'.
PILIHAN
innotop sebagian besar dikonfigurasi melalui file konfigurasinya, tetapi beberapa konfigurasi
pilihan bisa datang dari baris perintah. Anda juga dapat menentukan file yang akan dipantau untuk InnoDB
keluaran status; lihat "MONITORING FILE" untuk lebih jelasnya.
Anda dapat meniadakan beberapa opsi dengan mengawali nama opsi dengan --no. Misalnya, --noinc
(atau --no-inc) meniadakan "--inc".
--warna
Mengaktifkan atau menonaktifkan pewarnaan terminal. Sesuai dengan pengaturan file konfigurasi "warna".
--konfigurasi
Menentukan file konfigurasi untuk dibaca. Opsi ini tidak lengket, artinya
tidak bertahan pada file konfigurasi itu sendiri.
--menghitung
Segarkan hanya beberapa kali (centang) yang ditentukan sebelum keluar. Setiap penyegaran adalah
jeda selama "interval" detik, diikuti dengan meminta data dari koneksi MySQL dan
mencetaknya ke terminal.
--menunda
Menentukan jumlah waktu untuk menjeda antara centang (menyegarkan). Sesuai dengan
opsi konfigurasi "interval".
--membantu
Cetak ringkasan penggunaan baris perintah dan keluar.
--tuan rumah
Host untuk terhubung.
--termasuk
Menentukan apakah innotop harus menampilkan angka absolut atau angka relatif (offset
dari nilai sebelumnya). Sesuai dengan opsi konfigurasi "status_inc".
--mode
Menentukan mode di mana innotop harus dimulai. Sesuai dengan konfigurasi
opsi "modus".
--tidak ada
Aktifkan operasi non-interaktif. Lihat "OPERASI NON-INTERAKTIF" untuk lebih lanjut.
--kata sandi
Kata sandi yang akan digunakan untuk koneksi.
--Pelabuhan
Port yang digunakan untuk koneksi.
--skippusat
Jangan membaca file konfigurasi pusat.
--pengguna
Pengguna yang akan digunakan untuk koneksi.
--Versi: kapan
Keluarkan informasi versi dan keluar.
--menulis
Setel opsi konfigurasi "readonly" ke 0, membuat innotop menulis berjalan
konfigurasi ke ~/.innotop/innotop.conf saat keluar, jika tidak ada file konfigurasi yang dimuat
saat start-up.
KUNCI PANAS
innotop bersifat interaktif, dan Anda mengontrolnya dengan menekan tombol.
· Tombol huruf besar beralih di antara mode.
· Tombol huruf kecil memulai beberapa tindakan dalam mode saat ini.
· Kunci lain melakukan sesuatu yang istimewa seperti mengubah konfigurasi atau menunjukkan lisensi innotop.
Tekan '?' setiap saat untuk melihat kunci yang sedang aktif dan apa yang mereka lakukan.
MODE
Setiap mode innotop mengambil dan menampilkan tipe data tertentu dari server
Anda sedang memantau. Anda beralih di antara mode dengan tombol huruf besar. Berikut ini adalah
deskripsi singkat dari setiap mode, dalam urutan abjad. Untuk beralih ke mode, tekan tombol
kunci yang tercantum di depan judulnya dalam daftar berikut:
B: Buffer InnoDB
Mode ini menampilkan informasi tentang kumpulan buffer InnoDB, statistik halaman, sisipan
buffer, dan indeks hash adaptif. Data berasal dari SHOW INNODB STATUS.
Mode ini berisi "buffer_pool", "page_statistics", "insert_buffers", dan
tabel "adaptive_hash_index" secara default.
C: Ringkasan Perintah
Mode ini mirip dengan mode Ringkasan Perintah mytop. Ini menunjukkan "cmd_summary"
tabel, yang terlihat seperti berikut:
Ringkasan Perintah (? untuk bantuan) localhost, 25+07:16:43, 2.45 QPS, 3 thd, 5.0.40
_________ Ringkasan Perintah _________
Nama Nilai Pct Terakhir Inc Pct
Select_scan 3244858 69.89% 2 100.00%
Pilih_rentang 1354177 29.17% 0 0.00%
Select_full_join 39479 0.85% 0 0.00%
Select_full_range_join 4097 0.09% 0 0.00%
Pilih_range_check 0 0.00% 0 0.00%
Tabel ringkasan perintah dibuat dengan mengekstraksi variabel dari "STATUS_VARIABLES".
Variabel harus numerik dan harus cocok dengan awalan yang diberikan oleh "cmd_filter"
variabel konfigurasi. Variabel kemudian diurutkan berdasarkan nilai menurun dan
dibandingkan dengan variabel terakhir, seperti yang ditunjukkan di atas. Kolom persentase adalah persentase
dari total semua variabel dalam tabel, sehingga Anda dapat melihat bobot relatif dari
variabel.
Contoh menunjukkan apa yang Anda lihat jika awalan adalah "Pilih_". Awalan defaultnya adalah
"Kom_". Anda dapat memilih awalan dengan tombol 's'.
Ini seperti menjalankan SHOW VARIABLES LIKE "prefix%" dengan memori dan nice
pemformatan.
Nilai dikumpulkan di semua server. Kolom Pct tidak benar
dikumpulkan di beberapa server. Ini adalah batasan pengelompokan yang diketahui
algoritma yang mungkin diperbaiki di masa depan.
D: Kebuntuan InnoDB
Mode ini menunjukkan transaksi yang terlibat dalam kebuntuan InnoDB terakhir. Meja kedua
menunjukkan kunci setiap transaksi yang ditahan dan ditunggu. Kebuntuan disebabkan oleh siklus
dalam grafik menunggu, jadi harus ada dua kunci yang ditahan dan satu kunci yang menunggu kecuali
informasi kebuntuan terpotong.
InnoDB menempatkan informasi kebuntuan sebelum beberapa informasi lain di SHOW INNODB
keluaran STATUS. Jika ada banyak gembok, informasi kebuntuan bisa bertambah banyak
besar, dan ada batasan ukuran output SHOW INNODB STATUS. Besar
kebuntuan dapat mengisi seluruh output, atau bahkan terpotong, dan mencegah Anda melihat
informasi lain sama sekali. Jika Anda menjalankan innotop dalam mode lain, misalnya T
mode, dan tiba-tiba Anda tidak melihat apa pun, Anda mungkin ingin memeriksa dan melihat apakah a
kebuntuan telah menghapus data yang Anda butuhkan.
Jika sudah, Anda dapat membuat kebuntuan kecil untuk menggantikan yang besar. Gunakan tombol 'w'
untuk 'menghapus' kebuntuan besar dengan kebuntuan kecil. Ini tidak akan berhasil kecuali Anda memiliki
mendefinisikan tabel kebuntuan untuk koneksi (lihat "SAMBUNGAN SERVER").
Anda juga dapat mengonfigurasi innotop untuk secara otomatis mendeteksi ketika kebuntuan besar perlu
diganti dengan yang kecil (lihat "auto_wipe_dl").
Mode ini menampilkan tabel "deadlock_transactions" dan "deadlock_locks" secara default.
F: Kesalahan Kunci Asing InnoDB
Mode ini menunjukkan informasi kesalahan kunci asing InnoDB terakhir, seperti tabel di mana
itu terjadi, kapan dan siapa dan pertanyaan apa yang menyebabkannya, dan seterusnya.
InnoDB memiliki berbagai macam pesan kesalahan kunci asing, dan banyak di antaranya hanya
sulit untuk diurai. innotop tidak selalu melakukan pekerjaan terbaik di sini, tetapi ada begitu banyak kode
dikhususkan untuk menguraikan keluaran yang berantakan dan tidak dapat diuraikan ini yang kemungkinan besar tidak akan pernah terjadi pada innotop
sempurna dalam hal ini. Jika innotop tidak menunjukkan apa yang perlu Anda lihat, lihat saja
di teks status secara langsung.
Mode ini menampilkan tabel "fk_error" secara default.
I: Info I/O InnoDB
Mode ini menunjukkan statistik I/O InnoDB, termasuk utas I/O, I/O tertunda, file
I/O lain-lain, dan statistik log. Ini menampilkan "io_threads", "pending_io",
tabel "file_io_misc", dan "log_statistics" secara default.
L: Kunci
Mode ini menampilkan informasi tentang kunci saat ini. Saat ini hanya kunci InnoDB yang
didukung, dan secara default Anda hanya akan melihat kunci yang menunggu transaksi.
Informasi ini berasal dari bagian TRANSAKSI dari teks status InnoDB. Jika
Anda memiliki server yang sangat sibuk, Anda mungkin sering menunggu kuncian; membantu untuk dapat
lihat tabel dan indeks mana yang merupakan "hot spot" untuk kunci. Jika server Anda sedang berjalan
cukup baik, mode ini seharusnya tidak menunjukkan apa-apa.
Anda dapat mengonfigurasi MySQL dan innotop untuk memantau tidak hanya kunci yang transaksinya
sedang menunggu, tetapi yang saat ini ditahan juga. Anda dapat melakukan ini dengan Kunci InnoDB
Memantau (http://dev.mysql.com/doc/en/innodb-monitor.html>). Itu tidak didokumentasikan dalam
manual MySQL, tetapi membuat monitor kunci dengan pernyataan berikut juga:
memengaruhi output SHOW INNODB STATUS, yang digunakan innotop:
BUAT TABEL innodb_lock_monitor(a int) ENGINE=INNODB;
Ini menyebabkan InnoDB mencetak outputnya ke file MySQL setiap 16 detik atau lebih, seperti:
dinyatakan dalam manual, tetapi juga membuat output SHOW INNODB STATUS yang normal termasuk:
mengunci informasi, yang dapat diurai dan ditampilkan oleh innotop (itulah yang tidak terdokumentasi
fitur).
Ini berarti Anda dapat melakukan apa yang mungkin tampak mustahil: sampai batas tertentu (InnoDB
memotong beberapa informasi dalam output), Anda dapat melihat transaksi mana yang memegang
mengunci sesuatu yang lain sedang menunggu. Anda juga dapat mengaktifkan dan menonaktifkan Kunci InnoDB
Pantau dengan pemetaan kunci dalam mode ini.
Mode ini menampilkan tabel "innodb_locks" secara default. Ini contoh layarnya
ketika satu koneksi menunggu kunci, koneksi lain menahan:
_________________________________ Kunci InnoDB _____________
Tipe ID CXN Menunggu Tunggu Mode Aktif Indeks Tabel DB
localhost 12 REKAM 1 00:10 00:10 X tes t1 UTAMA
localhost 12 TABEL 0 00:10 00:10 IX tes t1
localhost 12 REKAM 1 00:10 00:10 X tes t1 UTAMA
localhost 11 TABEL 0 00:00 00:25 IX tes t1
localhost 11 REKAM 0 00:00 00:25 X tes t1 UTAMA
Anda dapat melihat koneksi pertama, ID 12, sedang menunggu kunci pada tombol PRIMARY aktif
test.t1, dan telah menunggu selama 10 detik. Koneksi kedua tidak menunggu,
karena kolom Menunggu adalah 0, tetapi memegang kunci pada indeks yang sama. Itu memberitahumu
koneksi 11 memblokir koneksi 12.
M: Status Replikasi Master/Budak
Mode ini menunjukkan output SHOW SLAVE STATUS dan SHOW MASTER STATUS dalam tiga
tabel. Dua yang pertama membagi status budak menjadi SQL dan status utas I/O, dan
yang terakhir menunjukkan status master. Filter diterapkan untuk menghilangkan server non-slave dari
tabel budak, dan server non-master dari tabel master.
Mode ini menampilkan "slave_sql_status", "slave_io_status", dan "master_status"
tabel secara default.
O: Buka Tabel
Bagian ini berasal dari perintah SHOW OPEN TABLES MySQL. Secara default difilter
untuk menampilkan tabel yang sedang digunakan oleh satu atau beberapa kueri, sehingga Anda dapat melihat sekilas
meja mana yang 'panas'. Anda dapat menggunakan ini untuk menebak tabel mana yang mungkin dikunci
secara implisit.
Mode ini menampilkan mode "open_tables" secara default.
T: Daftar Kueri
Mode ini menampilkan output dari SHOW FULL PROCESSLIST, seperti mytopdaftar permintaan
mode. Mode ini tidak tidak tampilkan informasi terkait InnoDB. Ini mungkin salah satunya
mode yang paling berguna untuk penggunaan umum.
Ada tajuk informatif yang menunjukkan informasi status umum tentang Anda
server. Anda dapat mengaktifkan dan menonaktifkannya dengan tombol 'h'. Secara default, innotop menyembunyikan
proses tidak aktif dan prosesnya sendiri. Anda dapat mengaktifkan dan menonaktifkan ini dengan 'i'
dan kunci 'a'.
Anda dapat MENJELASKAN kueri dari mode ini dengan tombol 'e'. Ini menampilkan kueri
teks lengkap, hasil EXPLAIN, dan dalam versi MySQL yang lebih baru, bahkan yang dioptimalkan
kueri yang dihasilkan dari EXPLAIN EXTENDED. innotop juga mencoba menulis ulang pertanyaan tertentu
untuk membuat mereka mampu MENJELASKAN. Misalnya, pernyataan INSERT/SELECT dapat ditulis ulang.
Mode ini menampilkan tabel "q_header" dan "processlist" secara default.
R: Operasi Baris InnoDB dan Semaphore
Mode ini menunjukkan operasi baris InnoDB, operasi baris lain-lain, semaphore, dan
informasi dari array tunggu. Ini menampilkan "row_operations",
tabel "row_operation_misc", "semaphores", dan "wait_array" secara default.
S: Variabel & Status
Mode ini menghitung statistik, seperti kueri per detik, dan mencetaknya di
beberapa gaya yang berbeda. Anda dapat menunjukkan nilai absolut, atau nilai tambahan antara
kutu.
Anda dapat beralih di antara tampilan dengan menekan tombol. Tombol 's' mencetak satu baris
setiap kali layar diperbarui, dengan gaya vmstat. Tombol 'g' mengubah tampilan menjadi
grafik dari angka yang sama, semacam beban. Tombol 'v' mengubah tampilan menjadi a
tabel berputar nama variabel di sebelah kiri, dengan pembaruan berturut-turut bergulir di
layar dari kiri ke kanan. Anda dapat memilih berapa banyak pembaruan yang akan ditampilkan di layar
dengan variabel konfigurasi "num_status_sets".
Header dapat disingkat agar sesuai dengan layar dalam operasi interaktif. Anda memilih
variabel mana yang akan ditampilkan dengan tombol 'c', yang dipilih dari set yang telah ditentukan sebelumnya, atau
memungkinkan Anda membuat set Anda sendiri. Anda dapat mengedit set saat ini dengan tombol 'e'.
Mode ini tidak benar-benar menampilkan tabel seperti mode lainnya. Sebagai gantinya, ia menggunakan
definisi tabel untuk mengekstrak dan memformat data, tetapi kemudian mengubah hasilnya menjadi
cara khusus sebelum mengeluarkannya. Ini menggunakan definisi tabel "var_status" untuk
ini.
T: Transaksi InnoDB
Mode ini menampilkan transaksi dari output monitor InnoDB, dalam puncak-format seperti.
Mode ini adalah alasan saya menulis innotop.
Anda dapat mematikan kueri atau proses dengan tombol 'k' dan 'x', dan JELASKAN kueri dengan
tombol 'e' atau 'f'. InnoDB tidak mencetak kueri lengkap dalam transaksi, jadi
menjelaskan mungkin tidak berfungsi dengan benar jika kueri dipotong.
Header informasi dapat diaktifkan dan dinonaktifkan dengan tombol 'h'. Secara default,
innotop menyembunyikan transaksi tidak aktif dan transaksinya sendiri. Anda dapat mengaktifkan ini
dan matikan dengan tombol 'i' dan 'a'.
Mode ini menampilkan tabel "t_header" dan "innodb_transactions" secara default.
INNOTOP STATUS
Tampilan innotop baris pertama adalah semacam "bilah status". Apa yang dikandungnya tergantung pada
mode yang Anda gunakan, dan server apa yang Anda pantau. Beberapa kata pertama selalu
[RO] (jika readonly diatur ke 1), mode innotop, seperti "InnoDB Txns" untuk mode T,
diikuti dengan pengingat untuk menekan '?' untuk bantuan setiap saat.
ONE SERVER
Kasus paling sederhana adalah saat Anda memantau satu server. Dalam hal ini, nama
koneksi berikutnya pada baris status. Ini adalah nama yang Anda berikan ketika Anda membuat
koneksi -- kemungkinan besar nama host server MySQL. Ini diikuti oleh server
waktu aktif.
Jika Anda dalam mode InnoDB, seperti T atau B, kata berikutnya adalah "InnoDB" diikuti oleh beberapa
informasi tentang output SHOW INNODB STATUS yang digunakan untuk merender layar. Kata pertama
adalah jumlah detik sejak SHOW INNODB STATUS terakhir, yang digunakan InnoDB untuk menghitung
beberapa statistik per detik. Berikutnya adalah wajah tersenyum yang menunjukkan apakah InnoDB
keluaran terpotong. Jika wajah tersenyum adalah :-), semuanya baik-baik saja; tidak ada pemotongan. SEBUAH
:^| berarti daftar transaksinya sangat panjang, InnoDB hanya mencetak sebagian saja
transaksi. Akhirnya, kerutan :-( berarti outputnya tidak lengkap, yang mungkin karena
ke kebuntuan mencetak terlalu banyak informasi kunci (lihat "D: InnoDB Deadlock").
Dua kata berikutnya menunjukkan kueri server per detik (QPS) dan berapa banyak utas
(koneksi) ada. Akhirnya, nomor versi server adalah hal terakhir yang dipertaruhkan.
GANDA SERVER
Jika Anda memantau beberapa server (lihat "SAMBUNGAN SERVER"), baris status tidak
tidak menunjukkan detail apa pun tentang masing-masing server. Sebaliknya, itu menunjukkan nama-nama
koneksi yang aktif. Sekali lagi, ini adalah nama koneksi yang Anda tentukan, yaitu
kemungkinan besar adalah nama host server. Sambungan yang memiliki kesalahan diawali dengan
tanda seru.
Jika Anda memantau sekelompok server (lihat "GRUP SERVER"), baris status menunjukkan:
nama grup. Jika ada koneksi dalam grup yang error, nama grupnya adalah
diikuti oleh fraksi koneksi yang tidak memiliki kesalahan.
Lihat "Penanganan KESALAHAN" untuk detail lebih lanjut tentang penanganan kesalahan innotop.
PEMANTAUAN A FILE
Jika Anda memberikan nama file pada baris perintah, innotop tidak akan terhubung ke server APAPUN di
semua. Ini akan menonton file yang ditentukan untuk output status InnoDB dan menggunakannya sebagai datanya
sumber. Itu akan selalu menampilkan satu koneksi yang disebut 'file'. Dan karena tidak bisa
terhubung ke server, tidak dapat menentukan berapa lama server yang dipantau telah menyala;
sehingga menghitung uptime server sebagai waktu sejak innotop mulai berjalan.
SERVER ADMINISTRASI
Meskipun innotop pada dasarnya adalah monitor yang memungkinkan Anda menonton dan menganalisis server Anda, innotop dapat
juga mengirim perintah ke server. Perintah yang paling sering berguna adalah mematikan kueri
dan menghentikan atau memulai budak.
Anda dapat mematikan koneksi, atau dalam versi MySQL yang lebih baru, mematikan kueri tetapi tidak
koneksi, dari mode "Q: Query List" dan "T: InnoDB Transactions". Tekan 'k' untuk mengeluarkan a
Perintah KILL, atau 'x' untuk mengeluarkan perintah KILL QUERY. innotop akan meminta Anda untuk
server dan/atau ID koneksi untuk dimatikan (innotop tidak meminta Anda jika hanya ada satu)
pilihan yang mungkin untuk input apa pun). innotop memilih kueri yang paling lama berjalan, atau
koneksi tertua. Konfirmasikan perintah dengan 'y'.
Dalam "Status Replikasi Budak"" dalam "M: mode Master, Anda dapat memulai dan menghentikan budak dengan
'a' dan 'o' masing-masing. Anda dapat mengirim perintah ini ke banyak budak sekaligus.
innotop mengisi perintah default START SLAVE atau STOP SLAVE untuk Anda, tetapi Anda bisa
benar-benar mengedit perintah dan mengirim apa pun yang Anda inginkan, seperti SET GLOBAL
SQL_SLAVE_SKIP_COUNTER=1 untuk membuat budak melewatkan satu acara binlog saat dimulai.
Anda juga dapat meminta innotop untuk menghitung binlog paling awal yang digunakan oleh budak mana pun dan mengeluarkan
PURGE MASTER LOGS pada master. Gunakan tombol 'b' untuk ini. innotop akan meminta Anda untuk
master untuk menjalankan perintah, lalu meminta Anda untuk nama koneksi master itu
budak (tidak ada cara bagi innotop untuk menentukan ini dengan andal sendiri). innotop akan menemukan
binlog minimum yang digunakan oleh koneksi budak ini dan menyarankannya sebagai argumen untuk
BERSIHKAN LOG MASTER.
SERVER SAMBUNGAN
Saat Anda membuat koneksi server menggunakan '@', innotop meminta serangkaian input, seperti
berikut:
DSN DSN adalah Nama Sumber Data, yang merupakan argumen awal yang diteruskan ke modul DBI
untuk menghubungkan ke server. Biasanya bentuknya
DBI:mysql:;mysql_read_default_group=mysql;host=HOSTNAME
Karena DSN ini diteruskan ke driver DBD::mysql, Anda harus membaca driver
dokumentasi di "/search.cpan.org/dist/DBD-mysql/lib/DBD/mysql.pm"" di "http: untuk
rincian yang tepat tentang semua opsi yang Anda dapat melewati driver di DSN. Kamu bisa membaca
lebih lanjut tentang DBI dihttp://dbi.perl.org/docs/>, dan terutama di
<http://search.cpan.org/~timb/DBI/DBI.pm>.
Opsi mysql_read_default_group=mysql memungkinkan driver DBD membaca opsi MySQL Anda
file, seperti: ~/.my.cnf pada sistem UNIX-ish. Anda dapat menggunakan ini untuk menghindari menentukan a
username atau password untuk koneksi.
Tabel Deadlock InnoDB
Item opsional ini memberi tahu innotop nama tabel yang dapat digunakan untuk membuat a
kebuntuan kecil (lihat "D: InnoDB Deadlock"). Jika Anda menentukan opsi ini, Anda hanya perlu
untuk memastikan tabel tidak ada, dan innotop itu dapat membuat dan menjatuhkan tabel
dengan mesin penyimpanan InnoDB. Anda dapat dengan aman menghilangkan atau hanya menerima default jika Anda
tidak berniat menggunakan ini.
Nama Pengguna
innotop akan menanyakan apakah Anda ingin menentukan nama pengguna. Jika Anda mengatakan 'y', itu akan terjadi
meminta Anda untuk nama pengguna. Jika Anda memiliki file opsi MySQL yang menentukan
nama pengguna, Anda tidak perlu menentukan nama pengguna.
Nama pengguna default ke nama login Anda pada sistem yang Anda jalankan innotop.
Kata Sandi
innotop akan menanyakan apakah Anda ingin menentukan kata sandi. Seperti nama pengguna,
kata sandi adalah opsional, tetapi ada permintaan tambahan yang menanyakan apakah Anda ingin menyimpan
kata sandi dalam file konfigurasi innotop. Jika Anda tidak menyimpannya di
file konfigurasi, innotop akan meminta kata sandi Anda setiap kali dimulai.
Kata sandi dalam file konfigurasi innotop disimpan dalam teks biasa, tidak dienkripsi dalam
dengan cara apapun.
Setelah Anda selesai menjawab pertanyaan-pertanyaan ini, Anda harus terhubung ke server. Tetapi
innotop tidak terbatas pada pemantauan satu server; Anda dapat menentukan banyak server
koneksi dan beralih di antara mereka dengan menekan tombol '@'. Lihat "BERALIH ANTARA
KONEKSI".
SERVER KELOMPOK
Jika Anda memiliki beberapa instance MySQL, Anda dapat memasukkannya ke dalam grup bernama, seperti 'semua',
'master', dan 'slave', yang dapat dipantau oleh innotop secara bersamaan.
Anda dapat memilih grup mana yang akan dipantau dengan tombol '#', dan Anda dapat menekan tombol TAB untuk
beralih ke grup berikutnya. Jika saat ini Anda tidak memantau grup, tekan TAB
memilih kelompok pertama.
Untuk membuat grup, tekan tombol '#' dan ketik nama grup baru Anda, lalu ketik
nama koneksi yang Anda inginkan untuk memuat grup.
BERALIH ANTARA SAMBUNGAN
innotop memungkinkan Anda dengan cepat mengganti server mana yang Anda pantau. Cara paling dasar adalah dengan
menekan tombol '@' dan mengetik nama koneksi yang ingin Anda gunakan. Ini
pengaturan adalah per-mode, sehingga Anda dapat memantau koneksi yang berbeda di setiap mode, dan innotop
mengingat koneksi mana yang Anda pilih.
Anda dapat dengan cepat beralih ke koneksi 'berikutnya' dalam urutan abjad dengan tombol 'n'.
Jika Anda memantau grup server (lihat "GRUP SERVER"), ini akan beralih ke yang pertama
koneksi.
Anda juga dapat mengetik banyak nama koneksi, dan innotop akan mengambil dan menampilkan data dari mereka
semua. Pisahkan saja nama koneksi dengan spasi, misalnya "server1 server2."
Sekali lagi, jika Anda mengetik nama koneksi yang tidak ada, innotop akan meminta Anda
untuk informasi koneksi dan membuat koneksi.
Cara lain untuk memantau beberapa koneksi sekaligus adalah dengan grup server. Kamu dapat memakai
tombol TAB untuk beralih ke grup 'berikutnya' dalam urutan abjad, atau jika Anda tidak
memantau grup mana pun, TAB akan beralih ke grup pertama.
innotop tidak mengambil data secara paralel dari koneksi, jadi jika Anda memantau banyak
grup atau banyak koneksi, Anda mungkin melihat peningkatan penundaan antara kutu.
Saat Anda memantau lebih dari satu koneksi, bilah status innotop berubah. Lihat "INNOTOP
STATUS".
ERROR PENANGANAN
Penanganan kesalahan tidak begitu penting saat memantau satu koneksi, tetapi sangat penting
ketika Anda memiliki banyak koneksi aktif. Server yang mogok atau koneksi yang hilang seharusnya tidak
kecelakaan innotop. Akibatnya, innotop akan terus berjalan meskipun ada kesalahan; dia
hanya tidak akan menampilkan informasi apa pun dari koneksi yang mengalami kesalahan. Karena
ini, perilaku innotop mungkin membingungkan Anda. Ini adalah fitur, bukan bug!
innotop tidak melanjutkan kueri koneksi yang memiliki kesalahan, karena mungkin lambat
innotop dan membuatnya sulit untuk digunakan, terutama jika kesalahannya adalah masalah koneksi dan
menyebabkan time out yang lama. Sebagai gantinya, innotop mencoba koneksi sesekali untuk melihat apakah
kesalahan masih ada. Jika demikian, itu akan menunggu sampai beberapa titik di masa depan. Penantian
waktu meningkat dalam kutu sebagai deret Fibonacci, jadi ia mencoba lebih jarang seiring waktu
melewati.
Karena kesalahan mungkin hanya terjadi dalam mode tertentu karena perintah SQL yang dikeluarkan di
mode tersebut, innotop melacak mode mana yang menyebabkan kesalahan. Jika Anda beralih ke
mode berbeda, innotop akan mencoba kembali koneksi alih-alih menunggu.
Secara default innotop akan menampilkan masalah dalam teks merah di bagian bawah tabel pertama
di layar. Anda dapat menonaktifkan perilaku ini dengan "show_cxn_errors_in_tbl"
opsi konfigurasi, yang diaktifkan secara default. Jika opsi "debug" diaktifkan,
innotop akan menampilkan kesalahan di bagian bawah setiap tabel, bukan hanya yang pertama. Dan jika
"show_cxn_errors" diaktifkan, innotop juga akan mencetak teks kesalahan ke STDOUT. Kesalahan
pesan mungkin hanya ditampilkan dalam mode yang menyebabkan kesalahan, tergantung pada mode dan
apakah innotop menghindari menanyakan koneksi itu.
NON-INTERAKTIF OPERASI
Anda dapat menjalankan innotop dalam mode non-interaktif, dalam hal ini sepenuhnya dikendalikan dari
file konfigurasi dan opsi baris perintah. Untuk memulai innotop secara non-interaktif
mode, berikan opsi baris perintah L"<--nonint">. Ini mengubah perilaku innotop di
cara berikut:
· Modul Perl tertentu tidak dimuat. Istilah::Readline tidak dimuat, karena innotop
tidak meminta secara interaktif. Term::ANSIColor dan Win32::Console::ANSI modul adalah
tidak dimuat. Istilah::ReadKey masih digunakan, karena innotop mungkin harus meminta
kata sandi koneksi saat memulai.
· innotop tidak menghapus layar setelah setiap centang.
· innotop tidak mempertahankan perubahan apa pun pada file konfigurasi.
· Jika "--count" diberikan dan innotop dalam mode inkremental (lihat "status_inc" dan
"--inc"), innotop sebenarnya menyegarkan sekali lagi dari yang ditentukan sehingga dapat dicetak
statistik tambahan. Ini menekan output selama centang pertama, jadi innotop mungkin
tampak menggantung.
· innotop hanya menampilkan tabel pertama di setiap mode. Ini agar outputnya bisa
mudah diproses dengan utilitas baris perintah lainnya seperti awk dan sed. Untuk mengganti
tabel mana yang ditampilkan dalam setiap mode, lihat "TABEL". Karena mode "T: Daftar Kueri" begitu
penting, innotop secara otomatis menonaktifkan tabel "q_header". Ini memastikan Anda akan
lihat tabel "daftar proses", meskipun Anda telah mengonfigurasi innotop untuk menampilkan q_header
meja selama operasi interaktif. Demikian pula, dalam mode "T: Transaksi InnoDB",
Tabel "t_header" ditekan sehingga Anda hanya melihat tabel "innodb_transactions".
· Semua keluaran dipisahkan tab alih-alih disejajarkan kolom dengan spasi, dan
innotop mencetak konten lengkap setiap tabel alih-alih hanya mencetak satu layar penuh
pada suatu waktu.
· innotop hanya mencetak tajuk kolom sekali, bukan setiap centang (lihat "hide_hdr").
innotop tidak mencetak keterangan tabel (lihat "display_table_captions"). innotop memastikan
tidak ada baris kosong di output.
· innotop tidak menghormati transformasi "memperpendek", yang biasanya memperpendek beberapa
angka ke format yang dapat dibaca manusia.
· innotop tidak mencetak baris status (lihat "STATUS INNOTOP").
KONFIGURASI
Hampir segala sesuatu tentang innotop dapat dikonfigurasi. Banyak hal yang mungkin untuk berubah dengan
perintah bawaan, tetapi Anda juga dapat mengedit file konfigurasi.
Saat menjalankan innotop, tekan tombol '$' untuk membuka dialog pengeditan konfigurasi.
Tekan tombol lain untuk memilih jenis data yang ingin Anda edit:
S: Pernyataan Waktu Tidur
Mengedit penundaan tidur pernyataan SQL, yang membuat jeda innotop untuk jumlah yang ditentukan
waktu setelah mengeksekusi pernyataan. Lihat "PERNYATAAN SQL" untuk definisi masing-masing
pernyataan dan apa yang dilakukannya. Secara default innotop tidak menunda setelah pernyataan apa pun.
Fitur ini disertakan sehingga Anda dapat menyesuaikan efek samping yang disebabkan oleh pemantauan
server Anda. Anda mungkin tidak melihat efek apa pun, tetapi beberapa pengguna innotop telah memperhatikan bahwa
versi MySQL tertentu di bawah beban yang sangat tinggi dengan InnoDB diaktifkan membutuhkan waktu lebih lama dari biasanya
untuk menjalankan SHOW GLOBAL STATUS. Jika panggilan innotop segera TUNJUKKAN DAFTAR PROSES LENGKAP
setelah itu, daftar proses berisi lebih banyak kueri daripada rata-rata mesin sebenarnya
setiap saat tertentu. Mengonfigurasi innotop untuk berhenti sebentar setelah memanggil SHOW GLOBAL
STATUS mengurangi efek ini.
Waktu tidur disimpan di bagian "stmt_sleep_times" dari file konfigurasi.
Tidur sepersekian detik didukung, tergantung pada batasan perangkat keras Anda.
c: Edit Kolom
Memulai editor tabel di salah satu tabel yang ditampilkan. Lihat "EDITOR TABEL". Sebuah
cara alternatif untuk memulai editor tabel tanpa memasuki dialog konfigurasi adalah
dengan tombol '^'.
g: Konfigurasi Umum
Memulai editor konfigurasi untuk mengedit konfigurasi global dan khusus mode
variabel (lihat "MODES"). innotop meminta Anda untuk memilih variabel dari antara
yang global dan mode-spesifik tergantung pada mode saat ini.
k: Aturan Mewarnai Baris
Memulai editor aturan pewarnaan baris pada salah satu tabel yang ditampilkan. Lihat "WARNA"
untuk rincian.
p: Kelola Plugin
Memulai editor konfigurasi plugin. Lihat "PLUGIN" untuk detailnya.
s: Grup Server
Memungkinkan Anda membuat dan mengedit grup server. Lihat "GRUP SERVER".
t: Pilih Tabel yang Ditampilkan
Memungkinkan Anda memilih tabel mana yang akan ditampilkan dalam mode ini. Lihat "MODE" dan "TABEL".
KONFIGURASI FILE
lokasi file konfigurasi default innotop adalah $HOME/.innotop dan
/etc/innotop/innotop.conf, dan mereka dicari dalam urutan itu. Jika yang pertama
file konfigurasi ada, yang kedua tidak akan diproses. Itu bisa ditimpa dengan
opsi baris perintah "--config". Anda dapat mengeditnya dengan tangan dengan aman, namun membaca innotop
file konfigurasi ketika dimulai, dan, jika readonly diatur ke 0, menulisnya lagi
ketika keluar. Jadi, jika readonly diatur ke 0, setiap perubahan yang Anda buat dengan tangan saat innotop
sedang berjalan akan hilang.
innotop tidak menyimpan seluruh konfigurasinya di file konfigurasi. Ini memiliki besar
set nilai konfigurasi default yang hanya disimpan di memori, dan konfigurasi
file hanya menimpa default ini. Saat Anda menyesuaikan pengaturan default, innotop
pemberitahuan, dan kemudian menyimpan kustomisasi ke dalam file. Ini membuat ukuran file tetap kecil,
membuatnya lebih mudah untuk diedit, dan membuat peningkatan lebih mudah.
Sebuah file konfigurasi read-only menjadi default. Anda dapat menimpanya dengan "--write". Melihat
"hanya bisa dibaca".
File konfigurasi disusun menjadi beberapa bagian seperti file INI. Setiap bagian dimulai
dengan [nama-bagian] dan diakhiri dengan [/nama-bagian]. Setiap entri bagian memiliki
sintaks yang berbeda tergantung pada data yang mereka butuhkan untuk menyimpan. Anda dapat memberikan komentar di
mengajukan; setiap baris yang dimulai dengan karakter # adalah komentar. innotop tidak akan membaca
komentar, sehingga tidak akan menuliskannya kembali ke file saat keluar. Komentar di baca-
hanya file konfigurasi yang masih berguna.
Baris pertama dalam file adalah nomor versi innotop. Ini memungkinkan pemberitahuan innotop ketika
format file tidak kompatibel ke belakang, dan tingkatkan dengan lancar tanpa merusak
konfigurasi yang disesuaikan.
Daftar berikut menjelaskan setiap bagian dari file konfigurasi dan datanya:
mengandung:
umum
Bagian 'umum' berisi variabel konfigurasi global dan variabel yang mungkin
menjadi khusus mode, tetapi tidak termasuk dalam bagian lain mana pun. Sintaksnya sederhana
kunci=daftar nilai. innotop menulis komentar di atas setiap nilai untuk membantu Anda mengedit file
dengan tangan.
S_fungsi
Mengontrol presentasi mode S (lihat "S: Variabel & Status"). Jika g, nilainya adalah
digambarkan; jika s, nilainya seperti vmstat; jika p, nilai berada dalam tabel berporos.
S_set
Menentukan kumpulan variabel mana yang akan ditampilkan dalam mode "S: Variabel & Status". Melihat
"SET VARIABEL".
auto_wipe_dl
Menginstruksikan innotop untuk secara otomatis menghapus deadlock besar ketika menyadarinya.
Ketika ini terjadi, Anda mungkin melihat sedikit penundaan. Pada centang berikutnya, Anda akan
biasanya melihat informasi yang terpotong oleh kebuntuan besar.
rangkaian karakter
Menentukan jenis karakter yang diizinkan melalui "no_ctrl_char"
transformasi. Ini membuat karakter yang tidak dapat dicetak tidak membingungkan terminal
saat Anda memantau kueri yang berisi data biner, seperti gambar.
Standarnya adalah 'ascii', yang menganggap apa pun di luar ASCII normal sebagai
karakter kontrol. Nilai lain yang diizinkan adalah 'unicode' dan 'none'. 'tidak ada'
menganggap setiap karakter sebagai karakter kontrol, yang dapat berguna untuk runtuh
SEMUA bidang teks dalam kueri.
cmd_filter
Ini adalah awalan yang menyaring variabel dalam mode "C: Ringkasan Perintah".
warna
Apakah pewarnaan terminal diizinkan.
cxn_timeout
Pada MySQL versi 4.0.3 dan yang lebih baru, variabel ini digunakan untuk mengatur koneksi
timeout, sehingga MySQL tidak menutup koneksi jika tidak digunakan untuk sementara waktu.
Ini mungkin terjadi karena koneksi tidak dipantau dalam mode tertentu, karena
contoh.
men-debug
Opsi ini memungkinkan lebih banyak kesalahan verbose dan membuat innotop lebih ketat di beberapa
tempat. Ini dapat membantu dalam men-debug filter dan kode yang ditentukan pengguna lainnya. Juga
membuat innotop menulis banyak informasi ke "debugfile" ketika terjadi crash.
file debug
Sebuah file yang innotop akan menulis informasi ketika terjadi crash. Melihat
"FILE".
tampilan_tabel_keterangan
innotop menampilkan keterangan tabel di atas sebagian besar tabel. Variabel ini menekan atau
menunjukkan keterangan pada semua tabel secara global. Beberapa tabel dikonfigurasi dengan
hide_caption properti, yang menimpa ini.
global
Apakah akan menampilkan variabel dan status GLOBAL. innotop hanya mencoba melakukan ini pada
server yang mendukung opsi GLOBAL untuk SHOW VARIABLES dan SHOW STATUS. Di
beberapa versi MySQL, Anda memerlukan hak istimewa tertentu untuk melakukan ini; jika Anda tidak memiliki
mereka, innotop tidak akan dapat mengambil data variabel dan status apa pun. Ini
variabel konfigurasi memungkinkan Anda menjalankan innotop dan mengambil data apa pun yang Anda bisa
tanpa hak-hak istimewa yang ditinggikan.
Saya tidak dapat lagi menemukan atau mereproduksi situasi di mana GLOBAL tidak diizinkan, tetapi saya
tahu ada satu.
grafik_char
Menentukan karakter yang akan digunakan saat menggambar grafik dalam mode "S: Variabel & Status".
header_highlight
Menentukan cara menyorot tajuk kolom. Ini hanya berfungsi jika Term::ANSIColor is
tersedia. Nilai yang valid adalah 'tebal' dan 'garis bawah'.
sembunyikan_hdr
Menyembunyikan tajuk kolom secara global.
selang
Interval di mana innotop akan menyegarkan datanya (centang). Intervalnya adalah
diimplementasikan sebagai waktu tidur di antara kutu, sehingga interval sebenarnya akan bervariasi
tergantung pada berapa lama innotop mengambil dan merender data.
Variabel ini menerima sepersekian detik.
mode
Mode di mana innotop harus dimulai. Argumen yang diizinkan sama dengan
penekanan tombol yang memilih mode secara interaktif. Lihat "MOD".
jml_digit
Berapa banyak angka yang ditampilkan dalam bilangan pecahan dan persen. Rentang variabel ini
antara 0 dan 9 dan dapat diatur langsung dari mode "S: Variabel & Status" dengan
tombol '+' dan '-'. Ini digunakan dalam "set_precision", "shorten", dan "percent"
transformasi.
jumlah_status_set
Mengontrol berapa banyak set variabel status untuk ditampilkan dalam "S: Variabel &
Mode Status". Ini juga mengontrol jumlah set variabel lama yang disimpan innotop
dalam memorinya, jadi semakin besar variabel ini, semakin banyak memori yang digunakan innotop.
plugin_dir
Menentukan di mana plugin dapat ditemukan. Secara default, innotop menyimpan plugin di
subdirektori 'plugins' dari direktori konfigurasi innotop Anda.
dibaca saja
Apakah file konfigurasi hanya dapat dibaca. Ini tidak dapat diatur secara interaktif.
tampilkan_cxn_errors
Membuat kesalahan koneksi cetak innotop ke STDOUT. Lihat "Penanganan KESALAHAN".
tampilkan_cxn_errors_in_tbl
Membuat kesalahan koneksi tampilan innotop sebagai baris di tabel pertama di layar. Melihat
"MENANGANI KESALAHAN".
tampilkan_persen
Menambahkan karakter '%' setelah nilai yang dikembalikan oleh transformasi "persen".
tampilkan_statusbar
Mengontrol apakah akan menampilkan bilah status di layar. Lihat "STATUS INNOTOP".
lewati_innodb
Menonaktifkan pengambilan SHOW INNODB STATUS, jika server Anda tidak memiliki InnoDB
diaktifkan dan Anda tidak ingin innotop mencoba mengambilnya. Ini juga bisa berguna
ketika Anda tidak memiliki hak istimewa SUPER, diperlukan untuk menjalankan SHOW INNODB STATUS.
status_inc
Apakah akan menampilkan nilai absolut atau inkremental untuk variabel status. Tambahan
nilai dihitung sebagai offset dari nilai terakhir gergaji innotop untuk itu
variabel. Ini adalah pengaturan global, tetapi mungkin akan menjadi khusus mode di
beberapa titik. Saat ini dihormati sedikit tidak konsisten; beberapa mode tidak membayar
perhatian padanya.
plugin
Bagian ini berisi daftar nama paket plugin aktif. Jika pluginnya ada,
innotop akan mengaktifkannya. Lihat "PLUGIN" untuk informasi lebih lanjut.
filter
Bagian ini menampung filter yang ditentukan pengguna (lihat "FILTER"). Setiap baris dalam format
filter_name=text='filter teks' tbls='daftar tabel'.
Teks filter adalah teks dari kode subrutin. Daftar tabel adalah daftar
tabel tempat filter dapat diterapkan. Secara default, filter yang ditentukan pengguna berlaku untuk
tabel tempat mereka dibuat, tetapi Anda dapat menimpanya secara manual dengan mengedit
definisi dalam file konfigurasi.
filter_aktif
Bagian ini menyimpan filter mana yang aktif di setiap tabel. Setiap baris ada di
format nama_tabel=daftar_filter.
tbl_meta
Bagian ini menyimpan kolom yang ditentukan pengguna atau disesuaikan pengguna (lihat "KOLOM"). Setiap
baris dalam format col_name=properties, di mana propertinya adalah a
name=daftar nilai yang dikutip.
koneksi
Bagian ini menyimpan koneksi server yang telah Anda tetapkan. Setiap baris ada di
format nama=properti, di mana properti adalah nama=daftar nilai. Properti
cukup jelas, dan satu-satunya yang diperlakukan secara khusus adalah 'lulus' yang
hanya ada jika 'savepass' disetel. Bagian dari file konfigurasi ini akan menjadi
dilewati jika ada opsi baris perintah DSN, nama pengguna, atau kata sandi yang digunakan. Lihat "SERVER
KONEKSI".
Active_connections
Bagian ini berisi daftar koneksi mana yang aktif dalam setiap mode. Setiap baris adalah
dalam format mode_name=connection_list.
server_grup
Bagian ini menampung grup server. Setiap baris dalam format name=connection_list.
Lihat "GRUP SERVER".
grup_server_aktif
Bagian ini menyimpan daftar grup server mana yang aktif dalam setiap mode. Setiap baris adalah
dalam format mode_name=server_group.
max_values_seen
Bagian ini menyimpan nilai maksimum yang terlihat untuk variabel. Ini digunakan untuk mengukur
grafik dalam mode "S: Variabel & Status". Setiap baris dalam format name=value.
kolom_aktif
Bagian ini menyimpan daftar kolom tabel. Setiap baris dalam format
tbl_name=daftar_kolom. Lihat "KOLOM".
sort_kolom
Bagian ini memegang definisi sortir. Setiap baris dalam format
tbl_name=daftar_kolom. Jika sebuah kolom diawali dengan '-', kolom tersebut akan diurutkan secara descending.
Lihat "SORTING".
tabel_terlihat
Bagian ini mendefinisikan tabel mana yang terlihat di setiap mode. Setiap baris ada di
format mode_name=daftar_tabel. Lihat "TABEL".
varset
Bagian ini mendefinisikan kumpulan variabel untuk digunakan dalam mode "S: Status & Variabel". Setiap baris
dalam format name=variable_list. Lihat "SET VARIABEL".
warna
Bagian ini mendefinisikan aturan pewarnaan. Setiap baris dalam format
tbl_name=daftar_properti. Lihat "WARNA".
stmt_sleep_times
Bagian ini berisi pernyataan waktu tidur. Setiap baris dalam format
statement_name=waktu_tidur. Lihat "S: Pernyataan Waktu Tidur".
grup_oleh
Bagian ini berisi daftar kolom untuk tabel ekspresi group_by. Setiap baris ada di
format tbl_name=column_list. Lihat "GROUPING".
MENYESUAIKAN
Anda dapat menyesuaikan banyak innotop. Misalnya, Anda dapat:
· Pilih tabel mana yang akan ditampilkan, dan dalam urutan apa.
· Pilih kolom mana yang ada di tabel tersebut, dan buat kolom baru.
· Filter baris mana yang ditampilkan dengan filter bawaan, filter yang ditentukan pengguna, dan quick-
filter.
· Urutkan baris untuk menempatkan data penting terlebih dahulu atau kelompokkan bersama baris terkait.
· Sorot baris dengan warna.
· Sesuaikan perataan, lebar, dan pemformatan kolom, dan terapkan transformasi
ke kolom untuk mengekstrak bagian dari nilainya atau memformat nilai sesuai keinginan (untuk
contoh, memperpendek angka besar ke unit yang sudah dikenal).
· Rancang ekspresi Anda sendiri untuk mengekstrak dan menggabungkan data sesuai kebutuhan. Ini memberi Anda
fleksibilitas tak terbatas.
Semua ini dan lebih banyak lagi dijelaskan di bagian berikut.
TABEL
Tabel adalah apa yang Anda harapkan: kumpulan kolom. Ia juga memiliki beberapa sifat lain,
seperti caption. Filter, aturan penyortiran, dan aturan pewarnaan milik tabel dan
dibahas di bagian selanjutnya.
Secara internal, tabel meta-data didefinisikan dalam struktur data yang disebut %tbl_meta. hash ini
menampung semua definisi tabel bawaan, yang berisi banyak instruksi default untuk
innotop. Meta-data mencakup keterangan, daftar kolom yang telah disesuaikan pengguna, a
daftar kolom, daftar kolom yang terlihat, daftar filter, aturan warna, kolom sortir
daftar, arah pengurutan, dan beberapa informasi tentang sumber data tabel. Sebagian besar ini
dapat disesuaikan melalui editor tabel (lihat "EDITOR TABEL").
Anda dapat memilih tabel mana yang akan ditampilkan dengan menekan tombol '$'. Lihat "MODE" dan "TABEL".
Siklus hidup tabel adalah sebagai berikut:
· Setiap tabel dimulai dengan sumber data, yang merupakan larik hash. Lihat di bawah untuk
detail tentang sumber data.
· Setiap elemen dari sumber data menjadi satu baris di tabel final.
· Untuk setiap elemen dalam sumber data, innotop mengekstrak nilai dari sumber dan
menciptakan baris. Baris ini adalah hash lain, yang langkah selanjutnya akan disebut sebagai $set.
Nilai ekstrak innotop ditentukan oleh kolom tabel. Setiap kolom memiliki
subrutin ekstraksi, dikompilasi dari ekspresi (lihat "EKSPRESI"). yang dihasilkan
baris adalah hash yang kuncinya dinamai sama dengan nama kolom.
· innotop menyaring baris, menghapus baris yang tidak perlu ditampilkan. Melihat
"FILTER".
· innotop mengurutkan baris. Lihat "SORTING".
· innotop mengelompokkan baris bersama-sama, jika ditentukan. Lihat "GROUPING".
· innotop mewarnai baris. Lihat "WARNA".
· innotop mengubah nilai kolom di setiap baris. Lihat "TRANSFORMASI".
· innotop secara opsional memutar baris (lihat "PIVOTING"), lalu memfilter dan mengurutkannya.
· format innotop dan membenarkan baris sebagai tabel. Selama langkah ini, innotop berlaku
pemformatan lebih lanjut ke nilai kolom, termasuk perataan, maksimum dan minimum
lebar. innotop juga melakukan pemeriksaan kesalahan akhir untuk memastikan tidak ada kerusakan karena
nilai yang tidak ditentukan. innotop kemudian menambahkan keterangan jika ditentukan, dan tabel siap untuk
mencetak.
Siklus hidup sedikit berbeda jika tabel diputar, seperti yang disebutkan di atas. Untuk memperjelas,
jika tabel diputar, prosesnya adalah mengekstrak, mengelompokkan, mengubah, berporos, memfilter, mengurutkan,
membuat. Jika tidak di pivot maka prosesnya adalah extract, filter, sort, group, color,
mengubah, membuat. Proses yang sedikit berbelit-belit ini tidak memetakan semua itu dengan baik ke SQL, tapi
berputar memperumit banyak hal dengan cukup teliti. Secara kasar, memfilter dan menyortir
terjadi selambat yang diperlukan untuk mempengaruhi hasil akhir seperti yang Anda harapkan, tetapi sedini mungkin
mungkin untuk efisiensi.
Setiap tabel built-in dijelaskan di bawah ini:
adaptif_hash_index
Menampilkan data tentang indeks hash adaptif InnoDB. Sumber data: "STATUS_VARIABLES".
buffer_pool
Menampilkan data tentang kumpulan buffer InnoDB. Sumber data: "STATUS_VARIABLES".
cmd_ringkasan
Menampilkan variabel status tertimbang. Sumber data: "STATUS_VARIABLES".
kebuntuan_kunci
Menunjukkan kunci mana yang ditahan dan ditunggu oleh kebuntuan terakhir yang terdeteksi. Data
sumber: "DEADLOCK_LOCKS".
kebuntuan_transaksi
Menunjukkan transaksi yang terlibat dalam kebuntuan yang terakhir terdeteksi. Sumber data:
"DEADLOCK_TRANSACTIONS".
menjelaskan
Menampilkan keluaran EXPLAIN. Sumber data: "MENJELASKAN".
file_io_misc
Menampilkan data tentang file InnoDB dan operasi I/O. Sumber data:
"STATUS_VARIABLES".
fk_error
Menampilkan berbagai data tentang kesalahan kunci asing terakhir InnoDB. Sumber data:
"STATUS_VARIABLES".
innodb_locks
Menampilkan kunci InnoDB. Sumber data: "INNODB_LOCKS".
innodb_transactions
Menampilkan data tentang transaksi InnoDB saat ini. Sumber data:
"INNODB_TRANSACTIONS".
insert_buffer
Menampilkan data tentang buffer penyisipan InnoDB. Sumber data: "STATUS_VARIABLES".
io_threads
Menampilkan data tentang utas I/O InnoDB. Sumber data: "IO_THREADS".
log_statistik
Menampilkan data tentang sistem logging InnoDB. Sumber data: "STATUS_VARIABLES".
status_master
Menampilkan status master replikasi. Sumber data: "STATUS_VARIABLES".
open_tables
Menampilkan tabel terbuka. Sumber data: "OPEN_TABLES".
halaman_statistik
Menampilkan statistik halaman InnoDB. Sumber data: "STATUS_VARIABLES".
tertunda_io
Menampilkan operasi I/O InnoDB yang tertunda. Sumber data: "STATUS_VARIABLES".
Daftar proses
Menampilkan proses MySQL saat ini (utas/koneksi). Sumber data: "PROCESSLIST".
q_header
Menampilkan berbagai nilai status. Sumber data: "STATUS_VARIABLES".
baris_operasi_misc
Menampilkan data tentang operasi baris InnoDB. Sumber data: "STATUS_VARIABLES".
baris_operasi
Menampilkan data tentang operasi baris InnoDB. Sumber data: "STATUS_VARIABLES".
semafor
Menampilkan data tentang semaphore dan mutex InnoDB. Sumber data: "STATUS_VARIABLES".
budak_io_status
Menampilkan data tentang utas I/O slave. Sumber data: "STATUS_VARIABLES".
budak_sql_status
Menampilkan data tentang utas SQL budak. Sumber data: "STATUS_VARIABLES".
t_header
Menampilkan berbagai nilai status InnoDB. Sumber data: "STATUS_VARIABLES".
var_status
Menampilkan data yang dapat dikonfigurasi pengguna. Sumber data: "STATUS_VARIABLES".
tunggu_array
Menampilkan data tentang array tunggu OS InnoDB. Sumber data: "OS_WAIT_ARRAY".
KOLOM
Kolom milik tabel. Anda dapat memilih kolom tabel dengan menekan tombol '^', yang
memulai "TABLE EDITOR" dan memungkinkan Anda memilih dan mengedit kolom. Menekan 'e' dari dalam
editor tabel memungkinkan Anda mengedit properti kolom:
· hdr: header kolom. Ini muncul di baris pertama tabel.
· just: pembenaran. '-' berarti rata kiri dan '' berarti rata kanan, sama seperti
dengan kode pemformatan printf (bukan kebetulan).
· dec: apakah akan lebih menyelaraskan kolom pada titik desimal.
· num: apakah kolom tersebut numerik. Ini mempengaruhi bagaimana nilai diurutkan (secara leksikal atau
secara numerik).
· label: catatan kecil tentang kolom, yang muncul dalam dialog yang membantu pengguna
memilih kolom.
· src: ekspresi yang digunakan innotop untuk mengekstrak data kolom dari sumbernya (lihat
"SUMBER DATA"). Lihat "EKSPRESI" untuk lebih lanjut tentang ekspresi.
· minw: menentukan lebar tampilan minimum. Ini membantu menstabilkan tampilan, yang
membuatnya lebih mudah dibaca jika datanya sering berubah.
· maxw: mirip dengan minw.
· trans: daftar transformasi kolom. Lihat "TRANSFORMASI".
· agg: fungsi agregat. Lihat "GROUPING". Standarnya adalah "pertama".
· aggonly: mengontrol apakah kolom hanya ditampilkan saat pengelompokan diaktifkan di tabel
(lihat "GROUPING"). Secara default, ini dinonaktifkan. Ini berarti kolom akan selalu
ditampilkan secara default, apakah pengelompokan diaktifkan atau tidak. Jika aggonly kolom diatur
benar, kolom akan muncul saat Anda mengaktifkan pengelompokan pada tabel. Beberapa kolom
diatur dengan cara ini, seperti kolom hitung pada "daftar proses" dan "innodb_transactions",
jadi Anda tidak melihat hitungan saat pengelompokan tidak diaktifkan, tetapi Anda melakukannya saat diaktifkan.
FILTER
Filter menghapus baris dari tampilan. Mereka berperilaku seperti klausa WHERE dalam SQL.
innotop memiliki beberapa filter bawaan, yang menghapus informasi yang tidak relevan seperti tidak aktif
kueri, tetapi Anda juga dapat menentukan kueri Anda sendiri. innotop juga memungkinkan Anda membuat filter cepat,
yang tidak disimpan ke file konfigurasi, dan hanya cara mudah untuk melihat dengan cepat
hanya beberapa baris.
Anda dapat mengaktifkan atau menonaktifkan filter di tabel mana pun. Tekan tombol '%' (mnemonic: % look
seperti garis yang difilter di antara dua lingkaran) dan pilih tabel mana yang Anda inginkan
menyaring, jika diminta. Anda kemudian akan melihat daftar kemungkinan filter dan daftar filter
saat ini diaktifkan untuk tabel itu. Ketik nama filter yang ingin Anda terapkan dan tekan
Masukkan.
DITETAPKAN PENGGUNA FILTER
Jika Anda mengetik nama yang tidak ada, innotop akan meminta Anda untuk membuat filter.
Filter mudah dibuat jika Anda tahu Perl, dan tidak sulit jika tidak. Apa yang kamu lakukan
sedang membuat subrutin yang mengembalikan nilai true jika baris harus ditampilkan. Baris tersebut adalah
referensi hash diteruskan ke subrutin Anda sebagai $set.
Misalnya, bayangkan Anda ingin memfilter tabel daftar proses sehingga Anda hanya melihat kueri yang
telah berjalan lebih dari lima menit. Ketik nama baru untuk filter Anda, dan kapan
diminta untuk isi subrutin, tekan TAB untuk memulai pelengkapan otomatis terminal Anda.
Anda akan melihat nama kolom di tabel "daftar proses" (innotop biasanya mencoba untuk
membantu Anda dengan daftar pelengkapan otomatis). Anda ingin memfilter pada kolom 'waktu'. Ketik
teks "$set->{time} > 300" untuk mengembalikan nilai true saat kueri berusia lebih dari lima menit.
Itu saja yang perlu Anda lakukan.
Dengan kata lain, kode yang Anda ketikkan dikelilingi oleh konteks implisit, yang terlihat
seperti ini:
subfilter {
saya ( $set ) = @_;
# KODE ANDA DI SINI
}
Jika filter Anda tidak berfungsi, atau jika sesuatu yang lain tiba-tiba berperilaku berbeda, Anda mungkin
telah membuat kesalahan pada filter Anda, dan innotop secara diam-diam menangkap kesalahan tersebut. Mencoba
mengaktifkan "debug" untuk membuat innotop melempar kesalahan.
FILTER CEPAT
filter cepat innotop adalah jalan pintas untuk membuat filter sementara yang tidak bertahan
ketika Anda me-restart innotop. Untuk membuat filter cepat, tekan tombol '/'. keinginan innotop
meminta Anda untuk nama kolom dan teks filter. Sekali lagi, Anda dapat menggunakan pelengkapan otomatis pada
nama kolom. Teks filter dapat berupa teks yang ingin Anda "cari". Untuk
contoh, untuk memfilter tabel "daftar proses" pada kueri yang merujuk ke tabel produk,
ketik '/' lalu 'info produk'.
Teks filter sebenarnya dapat berupa ekspresi reguler Perl apa pun, tetapi tentu saja literal
string seperti 'produk' berfungsi dengan baik sebagai ekspresi reguler.
Di balik layar, innotop mengkompilasi filter cepat menjadi filter yang diberi tag khusus yaitu
sebaliknya seperti filter lainnya. Itu tidak disimpan ke file konfigurasi.
Untuk menghapus filter cepat, tekan tombol '\' dan innotop akan menghapus semuanya sekaligus.
PENYORTIRAN
innotop memiliki bawaan bawaan yang masuk akal untuk mengurutkan baris paling penting ke atas
meja. Seperti hal lain di innotop, Anda dapat menyesuaikan bagaimana tabel apa pun diurutkan.
Untuk memulai dialog pengurutan, mulai "TABLE EDITOR" dengan tombol '^', pilih tabel jika
diperlukan, dan tekan tombol 's'. Anda akan melihat daftar kolom yang dapat Anda gunakan dalam pengurutan
ekspresi dan ekspresi sortir saat ini, jika ada. Masukkan daftar kolom yang Anda gunakan
ingin mengurutkan dan tekan Enter. Jika Anda ingin membalikkan pengurutan, awali nama kolom dengan a
tanda kurang. Misalnya, jika Anda ingin mengurutkan berdasarkan kolom a ascending, maka kolom b
turun, ketik 'a -b'. Anda juga dapat secara eksplisit menambahkan + di depan kolom yang Anda inginkan
urutkan naik, tetapi itu tidak diperlukan.
Beberapa mode memiliki kunci yang dipetakan untuk membuka dialog ini secara langsung, dan untuk membalikkan urutan dengan cepat
arah. Tekan '?' seperti biasa untuk melihat kunci mana yang dipetakan dalam mode apa pun.
PENGELOMPOKAN
innotop dapat mengelompokkan, atau mengagregasi, baris bersama-sama (istilah ini digunakan secara bergantian). Ini
sangat mirip dengan klausa SQL GROUP BY. Anda dapat menentukan untuk mengelompokkan pada kolom tertentu,
atau jika Anda tidak menentukan apa pun, seluruh rangkaian baris diperlakukan sebagai satu grup. Ini
cukup seperti SQL sejauh ini, tetapi tidak seperti SQL, Anda juga dapat memilih kolom yang tidak dikelompokkan. innotop
sebenarnya mengumpulkan setiap kolom. Jika Anda tidak secara eksplisit menentukan fungsi pengelompokan,
defaultnya adalah 'pertama'. Ini pada dasarnya adalah kenyamanan sehingga Anda tidak perlu menentukan
fungsi agregat untuk setiap kolom yang Anda inginkan dalam hasil.
Anda dapat dengan cepat mengaktifkan pengelompokan pada tabel dengan tombol '=', yang mengaktifkan agregatnya
Properti. Properti ini tidak bertahan pada file konfigurasi.
Kolom yang digunakan untuk mengelompokkan tabel ditentukan dalam properti group_by-nya. Kapan
Anda mengaktifkan pengelompokan, innotop menempatkan kolom group_by di paling kiri tabel,
bahkan jika mereka tidak seharusnya terlihat. Sisa kolom yang terlihat muncul di
memesan setelah mereka.
Dua tabel memiliki daftar group_by default dan kolom hitungan bawaan: "daftar proses" dan
"innodb_transactions". Pengelompokannya berdasarkan koneksi dan status, sehingga Anda dapat dengan cepat melihat
berapa banyak kueri atau transaksi dalam status tertentu di setiap server yang Anda pantau.
Kolom waktu dikumpulkan sebagai jumlah; kolom lain dibiarkan di default 'pertama'
pengumpulan.
Secara default, tabel yang ditampilkan dalam mode "S: Variabel & Status" juga menggunakan pengelompokan sehingga Anda dapat
memantau variabel dan status di banyak server. Fungsi agregasi default di
mode ini adalah 'rata-rata'.
Fungsi pengelompokan yang valid didefinisikan dalam hash %agg_funcs. Mereka termasuk
pertama
Mengembalikan elemen pertama dalam grup.
menghitung
Mengembalikan jumlah elemen dalam grup, termasuk elemen yang tidak ditentukan, seperti
JUMLAH SQL (*).
avg Mengembalikan rata-rata elemen yang ditentukan dalam grup.
sum Mengembalikan jumlah elemen dalam grup.
Berikut adalah contoh pengelompokan di tempat kerja. Misalkan Anda memiliki server yang sangat sibuk dengan ratusan
koneksi terbuka, dan Anda ingin melihat berapa banyak koneksi dalam status apa. Menggunakan
aturan pengelompokan bawaan, Anda dapat menekan 'Q' untuk masuk ke mode "Q: Daftar Kueri". Tekan '='
untuk beralih pengelompokan (jika perlu, pilih tabel "daftar proses" saat diminta).
Tampilan Anda sekarang mungkin terlihat seperti berikut:
Daftar Kueri (? untuk bantuan) localhost, 32:33, 0.11 QPS, 1 thd, 5.0.38-log
CXN Cmd Cnt ID Kueri Waktu Host Pengguna
localhost Permintaan 49 12933 webusr localhost 19:38 PILIH * DARI
localhost Mengirim Tanggal 23 2383 webusr localhost 12:43 PILIH col1,
localhost Tidur 120 140 webusr localhost 5:18:12
localhost Statistik 12 19213 webusr localhost 01:19 PILIH * DARI
Itu sebenarnya gambaran yang cukup mengkhawatirkan. Anda memiliki banyak koneksi idle (Tidur),
dan beberapa koneksi yang mengeksekusi kueri (Kueri dan Mengirim Data). Tidak apa-apa, tapi kamu
juga memiliki banyak status Statistik, secara kolektif menghabiskan lebih dari satu menit. Itu berarti
pengoptimal kueri mengalami kesulitan dalam mengoptimalkan pernyataan Anda. Sesuatu adalah
salah; biasanya perlu milidetik untuk mengoptimalkan kueri. Anda mungkin tidak melihat
pola ini jika Anda tidak melihat koneksi Anda secara agregat. (Ini adalah riasan
contoh, tetapi itu bisa terjadi dalam kehidupan nyata).
berputar
innotop dapat memutar tabel untuk tampilan yang lebih ringkas, mirip dengan Tabel Pivot di a
spreadsheet (juga dikenal sebagai tab silang). Memutar tabel membuat kolom menjadi baris. Menganggap
Anda mulai dengan tabel ini:
bar makanan
=== ===
1 3
2 4
Setelah diputar, tabel akan terlihat seperti ini:
nama set0 set1
==== ==== ====
ayo 1 2
batang 3 4
Untuk mendapatkan hasil yang masuk akal, Anda mungkin perlu mengelompokkan serta memutar. innotop saat ini
melakukan ini untuk mode "S: Variabel & Status".
WARNA
Secara default, innotop menyorot baris dengan warna sehingga Anda dapat melihat sekilas baris mana yang
lebih penting. Anda dapat menyesuaikan aturan pewarnaan dan menambahkan aturan Anda sendiri ke tabel mana pun.
Buka editor tabel dengan tombol '^', pilih tabel jika diperlukan, dan tekan 'o' untuk membuka
dialog editor warna.
Dialog editor warna menampilkan aturan yang diterapkan ke tabel, sesuai urutannya
dievaluasi. Setiap baris dievaluasi terhadap setiap aturan untuk melihat apakah aturan cocok dengan baris; jika
ya, baris mendapatkan warna yang ditentukan, dan tidak ada aturan lebih lanjut yang dievaluasi. Aturan
terlihat seperti berikut:
status eq Terkunci hitam on_red
cmd eq Tidur putih
pengguna eq sistem pengguna putih
cmd eq Hubungkan putih
cmd eq Binlog Dump putih
waktu > 600 merah
waktu > 120 kuning
waktu > 60 hijau
waktu > 30 sian
Ini adalah aturan default yang ditetapkan untuk tabel "daftar proses". Dalam urutan prioritas, ini
aturan membuat kueri terkunci menjadi hitam dengan latar belakang merah, koneksi "abu-abu" dari
replikasi dan kueri tidur, dan buat kueri berubah dari cyan menjadi merah saat dijalankan
lebih lama.
(Untuk beberapa alasan, kode warna ANSI "putih" sebenarnya abu-abu muda. Terminal Anda
tampilan dapat bervariasi; bereksperimen untuk menemukan warna yang Anda suka).
Anda dapat menggunakan penekanan tombol untuk memindahkan aturan ke atas dan ke bawah, yang mengurutkan ulang prioritasnya. Anda
juga dapat menghapus aturan dan menambahkan yang baru. Jika Anda menambahkan aturan baru, innotop meminta Anda untuk
kolom, operator untuk perbandingan, nilai untuk membandingkan kolom,
dan warna untuk ditetapkan jika aturan cocok. Ada pelengkapan otomatis dan prompt di masing-masing
langkah.
Nilai pada langkah ketiga perlu dikutip dengan benar. innotop tidak mencoba mengutip
nilai karena tidak tahu apakah harus memperlakukan nilai sebagai string atau a
nomor. Jika Anda ingin membandingkan kolom dengan string, seperti pada contoh pertama
aturan di atas, Anda harus memasukkan 'Terkunci' dikelilingi oleh tanda kutip. Jika Anda mendapatkan pesan kesalahan
tentang bareword, Anda mungkin harus mengutip sesuatu.
EKSPRESI
Ekspresi adalah inti dari cara kerja innotop, dan itulah yang memungkinkan Anda untuk memperluas
innotop sesuai keinginan. Ingat siklus hidup tabel yang dijelaskan di "TABLES". Ekspresi adalah
digunakan pada langkah paling awal, di mana ia mengekstrak nilai dari sumber data untuk membentuk baris.
Ia melakukannya dengan memanggil subrutin untuk setiap kolom, meneruskannya ke kumpulan data sumber, a
set nilai saat ini, dan satu set nilai sebelumnya. Ini semua diperlukan sehingga
subrutin dapat menghitung hal-hal seperti perbedaan antara centang ini dan sebelumnya
kutu.
Subrutin yang mengekstrak data dari set dikompilasi dari ekspresi. Ini
memberikan kekuatan yang jauh lebih besar daripada hanya memberi nama nilai untuk mengisi kolom, karena itu
memungkinkan nilai kolom dihitung dari data apa pun yang diperlukan, tetapi menghindari
perlu menulis kode Perl yang rumit dan panjang.
innotop dimulai dengan string teks yang dapat terlihat sesederhana nama nilai atau sebagai
rumit sebagai ekspresi Perl penuh. Itu terlihat di setiap token 'kata kosong' di
string dan memutuskan apakah itu seharusnya menjadi kunci ke dalam $set hash. Sebuah kata-kata kosong adalah sebuah
nilai tanpa tanda kutip yang belum dikelilingi oleh hal-hal kode seperti tanda dolar atau keriting
kurung. Jika innotop memutuskan bahwa bareword bukan fungsi atau kode Perl valid lainnya,
itu mengubahnya menjadi akses hash. Setelah seluruh string diproses, kompilasi innotop
subrutin, seperti ini:
subkomputasi_kolom_nilai {
saya ( $set, $cur, $pre ) = @_;
$val saya = # STRING YANG DIPERPANJANG DI SINI
kembali $val;
}
Berikut adalah contoh nyata, diambil dari tabel header "q_header" dalam mode "Q: Daftar Kueri".
Ekspresi ini menghitung qps, atau Query Per Second, nilai kolom, dari
nilai yang dikembalikan oleh SHOW STATUS:
Pertanyaan/Uptime_hires
innotop memutuskan kedua kata tersebut adalah kata-kata kosong, dan mengubah ekspresi ini menjadi
kode Perl berikut:
$set->{Questions}/$set->{Uptime_hires}
Ketika dikelilingi oleh sisa kode subrutin, ini adalah Perl yang dapat dieksekusi yang
menghitung nilai kueri per detik resolusi tinggi.
Argumen ke subrutin diberi nama $set, $cur, dan $pre. Dalam kebanyakan kasus, $set dan
$cur akan menjadi nilai yang sama. Namun, jika "status_inc" disetel, $cur tidak akan sama
sebagai $set, karena $set sudah akan berisi nilai yang merupakan perbedaan inkremental
antara $cur dan $pra.
Setiap kolom di innotop dihitung oleh subrutin yang dikompilasi dengan cara yang sama. Ada
tidak ada perbedaan antara kolom bawaan innotop dan kolom yang ditentukan pengguna. Ini terus
hal-hal yang konsisten dan dapat diprediksi.
TRANSFORMASI
Transformasi mengubah cara nilai ditampilkan. Misalnya, mereka dapat mengambil sejumlah
detik dan menampilkannya dalam format H:M:S. Transformasi berikut didefinisikan:
nyaman
Menambahkan koma ke angka besar setiap tiga tempat desimal.
dulint_to_int
Menerima dua bilangan bulat yang tidak ditandatangani dan mengubahnya menjadi satu longlong. Ini
berguna untuk operasi tertentu dengan InnoDB, yang menggunakan dua bilangan bulat sebagai transaksi
pengenal, misalnya.
no_ctrl_char
Menghapus karakter kontrol yang dikutip dari nilai. Ini dipengaruhi oleh "charset"
variabel konfigurasi.
Transformasi ini hanya beroperasi dalam string yang dikutip, misalnya, nilai ke SET
klausa dalam pernyataan UPDATE. Itu tidak akan mengubah pernyataan UPDATE, tetapi akan
ciutkan string yang dikutip ke [BINARY] atau [TEXT], tergantung pada rangkaian karakter.
persen
Mengonversi angka menjadi persentase dengan mengalikannya dengan dua, memformatnya dengan
"num_digits" digit setelah titik desimal, dan secara opsional menambahkan tanda persen (lihat
"tampilkan_persen").
detik_ke_waktu
Memformat beberapa detik sebagai waktu dalam format hari+jam:menit:detik.
set_presisi
Memformat angka dengan jumlah digit "num_digits" setelah titik desimal.
mempersingkat
Memformat angka sebagai unit 1024 (k/M/G/T) dan dengan jumlah digit "num_digits"
setelah titik desimal.
TABEL EDITOR
Editor tabel innotop memungkinkan Anda menyesuaikan tabel dengan penekanan tombol. Anda memulai meja
editor dengan tombol '^'. Jika ada lebih dari satu tabel di layar, itu akan meminta Anda
untuk memilih salah satunya. Setelah Anda melakukannya, innotop akan menunjukkan kepada Anda sesuatu seperti ini:
Mengedit definisi tabel untuk Buffer Pool. Tekan ? untuk bantuan, q untuk berhenti.
nama hdr label src
cxn Koneksi CXN dari mana cxn
buf_pool_size Ukuran Buffer pool size IB_bp_buf_poo
buf_free Gratis Buf Buffer gratis di b IB_bp_buf_fre
pages_total Halaman Total halaman IB_bp_pages_t
pages_modified Halaman Kotor Halaman diubah (dirty IB_bp_pages_m
buf_pool_hit_rate Tingkat Hit Tingkat hit kumpulan buffer IB_bp_buf_poo
total_mem_alloc Memori Total memori mengalokasikan IB_bp_total_m
add_pool_alloc Add'l Pool Alokasi pool tambahan IB_bp_add_poo
Baris pertama menunjukkan tabel mana yang sedang Anda edit, dan mengingatkan Anda lagi untuk menekan '?' untuk sebuah
daftar pemetaan kunci. Sisanya adalah representasi tabular dari kolom tabel,
karena kemungkinan itulah yang Anda coba edit. Namun, Anda dapat mengedit lebih dari sekadar
kolom tabel; layar ini dapat memulai editor filter, editor aturan warna, dan banyak lagi.
Setiap baris di tampilan menunjukkan satu kolom dalam tabel yang sedang Anda edit, bersama dengan
beberapa propertinya seperti header dan ekspresi sumbernya (lihat "EKSPRESI").
Pemetaan kunci adalah gaya Vim, seperti di banyak tempat lain. Menekan 'j' dan 'k' akan memindahkan
sorot ke atas atau ke bawah. Anda kemudian dapat (d) menghapus atau (e) mengedit kolom yang disorot. Kamu bisa
juga (a) menambahkan kolom ke tabel. Ini sebenarnya baru saja mengaktifkan salah satu kolom
ditentukan untuk tabel; itu meminta Anda untuk memilih dari antara kolom yang tersedia tetapi tidak
saat ini ditampilkan. Terakhir, Anda dapat mengurutkan ulang kolom dengan tombol '+' dan '-'.
Anda dapat melakukan lebih dari sekadar mengedit kolom dengan editor tabel, Anda juga dapat mengedit lainnya
properti, seperti ekspresi pengurutan tabel dan ekspresi grup demi. Tekan '?' untuk melihat
daftar lengkapnya, tentu saja.
Jika Anda ingin benar-benar menyesuaikan dan membuat kolom Anda sendiri, bukan hanya mengaktifkan
built-in yang saat ini tidak ditampilkan, tekan tombol (n)new, dan innotop akan
meminta Anda untuk informasi yang dibutuhkan:
· Nama kolom: ini harus berupa kata tanpa karakter lucu, misalnya hanya
huruf, angka dan garis bawah.
· Tajuk kolom: ini adalah label yang muncul di bagian atas kolom, di
judul tabel. Ini dapat memiliki spasi dan karakter lucu, tetapi berhati-hatilah untuk tidak membuat
itu terlalu lebar dan membuang-buang ruang di layar.
· Sumber data kolom: ini adalah ekspresi yang menentukan data apa dari
source (lihat "TABEL") innotop akan dimasukkan ke dalam kolom. Ini hanya bisa menjadi nama
item dalam sumber, atau bisa menjadi ekspresi yang lebih kompleks, seperti yang dijelaskan dalam
"EKSPRESI".
Setelah Anda memasukkan data yang diperlukan, tabel Anda memiliki kolom baru. Tidak ada
perbedaan antara kolom ini dan yang built-in; itu dapat memiliki semua properti yang sama
dan perilaku. innotop akan menulis definisi kolom ke file konfigurasi, jadi
itu akan bertahan di seluruh sesi.
Berikut ini contohnya: misalkan Anda ingin melacak berapa kali budak Anda mencoba lagi
transaksi. Menurut manual MySQL, status Slave_retried_transactions
variabel memberi Anda data itu: "Total berapa kali sejak startup bahwa
replikasi budak SQL thread telah mencoba transaksi. Variabel ini telah ditambahkan dalam versi
5.0.4." Ini sesuai untuk ditambahkan ke tabel "slave_sql_status".
Untuk menambahkan kolom, alihkan ke mode pemantauan replikasi dengan tombol 'M', dan tekan
tombol '^' untuk memulai editor tabel. Saat diminta, pilih slave_sql_status sebagai
tabel, lalu tekan 'n' untuk membuat kolom. Ketik 'coba lagi' sebagai nama kolom, 'Mencoba lagi'
sebagai tajuk kolom, dan 'Slave_retried_transactions' sebagai sumbernya. Sekarang kolomnya adalah
dibuat, dan Anda melihat layar editor tabel lagi. Tekan 'q' untuk keluar dari editor tabel,
dan Anda akan melihat kolom Anda di akhir tabel.
VARIABEL SETS
Kumpulan variabel digunakan dalam mode "S: Variabel & Status" untuk menentukan dengan lebih mudah apa
variabel yang ingin Anda pantau. Di balik layar mereka dikompilasi ke dalam daftar
ekspresi, dan kemudian ke dalam daftar kolom sehingga dapat diperlakukan seperti kolom di mana pun
tabel lainnya, dalam hal ekstraksi dan transformasi data. Namun, Anda terlindungi
dari detail yang membosankan dengan sintaks yang seharusnya terasa sangat alami bagi Anda: SQL SELECT
daftar.
Sumber data untuk kumpulan variabel, dan memang seluruh mode S, adalah kombinasi dari
TUNJUKKAN STATUS, TUNJUKKAN VARIABEL, dan TUNJUKKAN STATUS INNODB. Bayangkan Anda memiliki meja yang besar
dengan satu kolom per variabel yang dikembalikan dari pernyataan tersebut. Itu sumber datanya
set variabel. Anda sekarang dapat menanyakan sumber data ini seperti yang Anda harapkan. Sebagai contoh:
Pertanyaan, Waktu Aktif, Pertanyaan/Waktu Aktif sebagai QPS
Di balik layar, innotop akan membagi set variabel itu menjadi tiga ekspresi, kompilasi
mereka dan mengubahnya menjadi definisi tabel, lalu ekstrak seperti biasa. Ini menjadi
"set variabel," atau "daftar variabel yang ingin Anda pantau."
innotop memungkinkan Anda memberi nama dan menyimpan set variabel Anda, dan menulisnya ke konfigurasi
mengajukan. Anda dapat memilih set variabel mana yang ingin Anda lihat dengan tombol 'c', atau aktifkan
set berikutnya dan sebelumnya dengan tombol '>' dan '<'. Ada banyak set variabel bawaan
juga, yang seharusnya memberi Anda awal yang baik untuk membuat milik Anda sendiri. Tekan 'e' untuk mengedit
set variabel saat ini, atau hanya untuk melihat bagaimana itu didefinisikan. Untuk membuat yang baru, cukup tekan
'c' dan ketik namanya.
Anda mungkin ingin menggunakan beberapa fungsi yang tercantum dalam "TRANSFORMASI" untuk membantu memformat
hasil. Secara khusus, "set_precision" sering kali berguna untuk membatasi jumlah digit yang Anda miliki
melihat. Memperluas contoh di atas, begini caranya:
Pertanyaan, Waktu Aktif, set_precision(Pertanyaan/Waktu Aktif) sebagai QPS
Sebenarnya, ini masih membutuhkan sedikit lebih banyak pekerjaan. Jika "interval" Anda kurang dari satu
kedua, Anda mungkin membagi dengan nol karena Uptime bertambah dalam mode ini dengan
bawaan. Sebagai gantinya, gunakan Uptime_hires:
Pertanyaan, Uptime, set_precision(Pertanyaan/Uptime_hires) sebagai QPS
Contoh ini sederhana, tetapi menunjukkan betapa mudahnya memilih variabel mana yang Anda inginkan
monitor.
PLUGINS
innotop memiliki mekanisme plugin yang sederhana namun kuat yang dengannya Anda dapat memperluas atau memodifikasinya
fungsionalitas yang ada, dan menambahkan fungsionalitas baru. fungsi plugin innotop adalah
event-based: plugin mendaftarkan dirinya untuk dipanggil saat event terjadi. Mereka kemudian memiliki
kesempatan untuk mempengaruhi acara.
Plugin innotop adalah modul Perl yang ditempatkan di direktori "plugin_dir" innotop. Di UNIX
sistem, Anda dapat menempatkan tautan simbolis ke modul alih-alih meletakkan file yang sebenarnya
di sana. innotop secara otomatis menemukan file. Jika ada entri yang sesuai di
bagian file konfigurasi "plugins", innotop memuat dan mengaktifkan plugin.
Modul harus sesuai dengan antarmuka plugin innotop. Selain itu, kode sumber dari
modul harus ditulis sedemikian rupa sehingga innotop dapat memeriksa file dan menentukan
nama paket dan deskripsi.
Paket sumber Konvensi
innotop memeriksa sumber modul plugin untuk menentukan nama paket Perl. Terlihat
untuk baris formulir "paket Foo;" dan jika ditemukan, pertimbangkan nama paket plugin untuk
jadilah Foo. Tentu saja nama paket bisa menjadi nama paket Perl yang valid, dengan double
titik koma dan sebagainya.
Itu juga mencari deskripsi dalam kode sumber, untuk membuat editor plugin lebih manusiawi-
ramah. Deskripsi adalah baris komentar berupa "# deskripsi: Foo", di mana "Foo"
adalah teks innotop akan dianggap sebagai deskripsi plugin.
Plugin Antarmuka
Antarmuka plugin innotop cukup sederhana: innotop mengharapkan plugin menjadi objek-
modul berorientasi itu dapat memanggil metode tertentu. Metodenya adalah
baru (%variabel)
Ini adalah konstruktor plugin. Itu dilewatkan hash variabel innotop, yang
itu dapat memanipulasi (lihat "Variabel Plugin"). Itu harus mengembalikan referensi ke yang baru
objek plugin yang dibuat.
Pada saat konstruksi, innotop hanya memuat konfigurasi umum dan membuat
variabel bawaan bawaan dengan konten bawaannya (yang cukup banyak).
Oleh karena itu, status program persis seperti pada kode sumber innotop, ditambah
variabel konfigurasi dari bagian "umum" di file konfigurasi.
Jika plugin Anda memanipulasi variabel, itu mengubah data global, yang dibagikan
oleh innotop dan semua plugin. Plugin dimuat dalam urutan yang tercantum di
berkas konfigurasi. Plugin Anda mungkin dimuat sebelum atau sesudah plugin lain, jadi ada a
potensi konflik atau interaksi antar plugin jika mereka mengubah data lainnya
plugin menggunakan atau memodifikasi.
daftar_untuk_acara()
Metode ini harus mengembalikan daftar acara yang diminati plugin, jika ada.
Lihat "Acara Plugin" untuk acara yang ditentukan. Jika plugin mengembalikan acara yang tidak
ditentukan, acara diabaikan.
penangan acara
Plugin harus mengimplementasikan metode yang bernama sama dengan setiap peristiwa yang dimilikinya
terdaftar. Dengan kata lain, jika plugin mengembalikan qw(foo bar) dari
daftar_untuk_acara(), harus memiliki foo() dan batang() metode. Metode-metode ini adalah
panggilan balik untuk acara tersebut. Lihat "Acara Plugin" untuk detail selengkapnya tentang setiap acara.
Plugin Variabel
Konstruktor plugin melewati hash variabel innotop, yang dapat dimanipulasi.
Mungkin ada baiknya jika objek plugin menyimpan salinannya untuk digunakan nanti. Itu
variabel didefinisikan dalam variabel innotop %pluggable_vars, dan adalah sebagai berikut:
aksi_untuk
Sebuah hashref pemetaan kunci. Ini adalah hot-key global innotop.
agg_funcs
Sebuah hashref fungsi yang dapat digunakan untuk pengelompokan. Lihat "GROUPING".
config
Hash konfigurasi global.
koneksi
Sebuah hashref spesifikasi koneksi. Ini hanya spesifikasi bagaimana caranya
terhubung ke server.
dbh
Sebuah hashref dari koneksi database innotop. Ini adalah objek koneksi DBI yang sebenarnya.
filter
Sebuah hashref filter diterapkan ke baris tabel. Lihat "FILTER" untuk lebih lanjut.
mode
Sebuah hashref mode. Lihat "MODES" untuk lebih lanjut.
server_grup
Sebuah hashref grup server. Lihat "GRUP SERVER".
tbl_meta
Sebuah hashref dari meta-data tabel innotop, dengan satu entri per tabel (lihat "TABEL" untuk
informasi lebih lanjut).
trans_fungsi
Sebuah hashref fungsi transformasi. Lihat "TRANSFORMASI".
var_sets
Sebuah hashref dari set variabel. Lihat "SET VARIABEL".
Plugin Kegiatan
Setiap peristiwa didefinisikan di suatu tempat dalam kode sumber innotop. Ketika innotop menjalankan kode itu,
itu menjalankan fungsi panggilan balik untuk setiap plugin yang menyatakan minatnya pada
peristiwa. innotop melewati beberapa data untuk setiap acara. Peristiwa didefinisikan dalam
%event_listener_for variabel, dan adalah sebagai berikut:
ekstrak_nilai($set, $saat ini, $pra, $tbl)
Peristiwa ini terjadi di dalam fungsi yang mengekstrak nilai dari sumber data. Itu
argumen adalah himpunan nilai, nilai saat ini, nilai sebelumnya, dan
nama tabel.
set_to_tbl
Acara didefinisikan di banyak tempat dalam subrutin ini, yang bertanggung jawab untuk mengubah
arrayref hashrefs menjadi arrayref baris yang dapat dicetak ke layar.
Semua event melewatkan data yang sama: arrayref dari baris dan nama tabelnya adalah
dibuat. Acaranya adalah set_to_tbl_pre_filter,
set_to_tbl_pre_sort, set_to_tbl_pre_group, set_to_tbl_pre_colorize,
set_to_tbl_pre_transform, set_to_tbl_pre_pivot, set_to_tbl_pre_create,
set_to_tbl_post_create.
draw_screen($baris)
Acara ini terjadi di dalam subrutin yang mencetak garis ke layar. $baris
adalah arrayref dari string.
Sederhana Plugin Example
Cara termudah untuk menjelaskan fungsionalitas plugin mungkin dengan contoh sederhana.
Modul berikut menambahkan kolom ke awal setiap tabel dan menetapkan nilainya menjadi
1.
gunakan ketat;
gunakan peringatan FATAL => 'semua';
paket Innotop::Plugin::Contoh;
# deskripsi: Menambahkan kolom 'contoh' ke setiap tabel
sub baru {
saya ( $kelas, %vars ) = @_;
# Simpan referensi ke variabel innotop di $self
my $self = berkat { %vars }, $class;
# Rancang kolom contoh
$kol saya = {
hdr => 'Contoh',
hanya => '',
dek => 0,
angka => 1,
label => 'Contoh',
src => 'contoh', # Dapatkan data dari kolom ini di sumber data
tbl => '',
trans => [],
};
# Tambahkan kolom ke setiap tabel.
$tbl_meta saya = $vars{tbl_meta};
foreach $tbl saya ( nilai %$tbl_meta ) {
# Tambahkan kolom ke daftar kolom yang ditentukan
$tbl->{cols}->{example} = $col;
# Tambahkan kolom ke daftar kolom yang terlihat
unshift @{$tbl->{terlihat}}, 'contoh';
}
# Pastikan untuk mengembalikan referensi ke objek.
kembalikan $diri;
}
# Saya ingin dipanggil ketika kumpulan data sedang dirender ke dalam tabel, tolong.
sub daftar_untuk_acara {
saya ( $diri ) = @_;
kembali qw(set_to_tbl_pre_filter);
}
# Metode ini akan dipanggil saat acara diaktifkan.
sub set_to_tbl_pre_filter {
saya ( $self, $rows, $tbl ) = @_;
# Setel sumber data kolom contoh ke nilai 1.
cari tahu $rows saya ( @$rows ) {
$baris->{contoh} = 1;
}
}
1;
Plugin editor
Editor plugin memungkinkan Anda melihat plugin yang ditemukan dan mengaktifkan atau menonaktifkannya
mereka. Mulai editor dengan menekan $ untuk memulai editor konfigurasi dari mode apa pun.
Tekan tombol 'p' untuk memulai editor plugin. Anda akan melihat daftar plugin innotop
telah menemukan. Anda dapat menggunakan tombol 'j' dan 'k' untuk memindahkan sorotan ke yang diinginkan,
lalu tekan tombol * untuk mengaktifkan atau menonaktifkannya. Keluar dari editor dan mulai ulang innotop
agar perubahan diterapkan.
SQL PERNYATAAN
innotop menggunakan serangkaian pernyataan SQL terbatas untuk mengambil data dari MySQL untuk ditampilkan. Itu
pernyataan dikustomisasi tergantung pada versi server yang digunakan untuk mengeksekusinya;
misalnya, pada MySQL 5 dan yang lebih baru, INNODB_STATUS mengeksekusi "SHOW ENGINE INNODB STATUS",
sedangkan pada versi sebelumnya menjalankan "SHOW INNODB STATUS". Pernyataan-pernyataan tersebut adalah sebagai
berikut:
Pernyataan SQL dieksekusi
===================================================
INNODB_STATUS MENUNJUKKAN [MESIN] STATUS INNODB
KILL_CONNECTION MEMBUNUH
BUNUH_QUERY BUNUH QUERY
OPEN_TABLES TAMPILKAN TABEL TERBUKA
DAFTAR PROSES TAMPILKAN DAFTAR PROSES LENGKAP
TAMPILKAN_MASTER_LOGS TAMPILKAN LOG MASTER
TUNJUKKAN_MASTER_STATUS TUNJUKKAN STATUS UTAMA
TUNJUKKAN_SLAVE_STATUS TUNJUKKAN STATUS BUDAK
TUNJUKKAN_STATUS TUNJUKKAN [GLOBAL] STATUS
SHOW_VARIABLES TUNJUKKAN VARIABEL [GLOBAL]
DATA SUMBER
Setiap kali innotop mengekstrak nilai untuk membuat tabel (lihat "EKSPRESI" dan "TABEL"), itu
melakukannya dari sumber data tertentu. Sebagian besar karena data kompleks yang diekstraksi dari
TUNJUKKAN STATUS INNODB, ini sedikit berantakan. SHOW INNODB STATUS berisi campuran dari
nilai tunggal dan nilai berulang yang membentuk kumpulan data bersarang.
Setiap kali innotop mengambil data dari MySQL, ia menambahkan dua bit tambahan ke setiap set: cxn dan
Uptime_hires. cxn adalah nama koneksi dari mana data berasal. Uptime_hires
adalah versi resolusi tinggi dari variabel status Waktu Aktif server, yang penting jika
pengaturan "interval" Anda adalah sub-detik.
Berikut adalah jenis sumber data dari mana data diekstraksi:
STATUS_VARIABLES
Ini adalah kategori terluas, di mana sebagian besar jenis data termasuk. Ini dimulai dengan
kombinasi SHOW STATUS dan SHOW VARIABLES, tetapi sumber lain mungkin disertakan
sesuai kebutuhan, misalnya, TUNJUKKAN STATUS MASTER dan TUNJUKKAN STATUS BUDAK, serta banyak
nilai yang tidak berulang dari SHOW INNODB STATUS.
DEADLOCK_LOCKS
Data ini diambil dari daftar transaksi di DEADLOCK TERDETEKSI TERBARU
bagian TAMPILKAN STATUS INNODB. Itu bersarang dalam dua level: transaksi, lalu
kunci.
DEADLOCK_TRANSAKSI
Data ini dari daftar transaksi di bagian DEADLOCK TERDETEKSI TERBARU di SHOW
STATUS INNODB. Itu bersarang satu tingkat dalam.
JELASKAN
Data ini berasal dari kumpulan hasil yang dikembalikan oleh EXPLAIN.
INNODB_TRANSAKSI
Data ini dari bagian TRANSAKSI SHOW INNODB STATUS.
IO_THREADS
Data ini berasal dari daftar utas di bagian FILE I/O dari SHOW INNODB
STATUS
INNODB_LOCKS
Data ini dari bagian TRANSAKSI TAMPILKAN STATUS INNODB dan bersarang dua
tingkat yang dalam.
OPEN_TABLES
Data ini dari SHOW OPEN TABLES.
DAFTAR PROSES
Data ini dari SHOW FULL PROCESSLIST.
OS_WAIT_ARRAY
Data ini berasal dari bagian SEMAPHORES dari SHOW INNODB STATUS dan bersarang satu level
dalam. Itu berasal dari garis yang terlihat seperti ini:
--Thread 1568861104 telah menunggu di btr0cur.c line 424 ....
MYSQL HAK ISTIMEWA
· Anda harus terhubung ke MySQL sebagai pengguna yang memiliki hak istimewa SUPER untuk banyak dari
fungsi.
· Jika Anda tidak memiliki hak istimewa SUPER, Anda masih dapat menjalankan beberapa fungsi, tetapi Anda tidak akan melakukannya
tentu melihat semua data yang sama.
· Anda memerlukan hak PROSES untuk melihat daftar kueri yang sedang berjalan dalam mode Q.
· Anda memerlukan hak istimewa untuk memulai dan menghentikan server budak.
· Anda memerlukan hak istimewa yang sesuai untuk membuat dan menghapus tabel kebuntuan jika diperlukan (lihat
"HUBUNGAN SERVER").
SISTEM PERSYARATAN
Anda membutuhkan Perl untuk menjalankan innotop, tentu saja. Anda juga memerlukan beberapa modul Perl: DBI,
DBD::mysql, Term::ReadKey, dan Time::HiRes. Ini harus disertakan dengan sebagian besar Perl
distribusi, tetapi jika tidak, saya sarankan menggunakan versi yang didistribusikan dengan . Anda
sistem operasi atau distribusi Perl, bukan dari CPAN. Istilah::ReadKey khususnya memiliki
diketahui menyebabkan masalah jika diinstal dari CPAN.
Jika Anda memiliki Term::ANSIColor, innotop akan menggunakannya untuk memformat header lebih mudah dibaca dan
kompak. (Di bawah Microsoft Windows, Anda juga memerlukan Win32::Console::ANSI untuk terminal
kode pemformatan untuk dihormati). Jika Anda menginstal Term::ReadLine, lebih disukai
Term::ReadLine::Gnu, Anda akan mendapatkan dukungan pelengkapan otomatis yang bagus.
Saya menjalankan innotop di Gentoo GNU/Linux, Debian dan Ubuntu, dan saya mendapat umpan balik dari orang-orang
berhasil menjalankannya di Red Hat, CentOS, Solaris, dan Mac OSX. Saya tidak melihat alasan apa pun
mengapa itu tidak bekerja pada sistem operasi UNIX-ish lainnya, tetapi saya tidak tahu pasti. Juga
berjalan pada Windows di bawah ActivePerl tanpa masalah.
innotop telah digunakan pada MySQL versi 3.23.58, 4.0.27, 4.1.0, 4.1.22, 5.0.26, 5.1.15,
dan 5.2.3. Jika tidak berjalan dengan benar untuk Anda, itu adalah bug yang harus dilaporkan.
Gunakan innotop online menggunakan layanan onworks.net