InglesPransesEspanyol

Ad


OnWorks favicon

innotop - Online sa Cloud

Patakbuhin ang innotop sa OnWorks na libreng hosting provider sa Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

Ito ang command na innotop na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

PROGRAMA:

NAME


innotop - MySQL at InnoDB transaction/status monitor.

SINOPSIS


Para normal na subaybayan ang mga server:

innotop

Upang subaybayan ang impormasyon ng katayuan ng InnoDB mula sa isang file:

innotop /var/log/mysql/mysqld.err

Upang patakbuhin ang innotop nang hindi interactive sa isang pipe-and-filter na configuration:

innotop --bilang 5 -d 1 -n

Upang subaybayan ang isang database sa ibang system gamit ang isang partikular na username at password:

innotop -u -p -h

DESCRIPTION


sinusubaybayan ng innotop ang mga server ng MySQL. Ang bawat isa sa mga mode nito ay nagpapakita sa iyo ng ibang aspeto ng kung ano
nangyayari sa server. Halimbawa, mayroong isang mode para sa pagsubaybay sa pagtitiklop, isa para sa
mga query, at isa para sa mga transaksyon. pana-panahong nire-refresh ng innotop ang data nito, kaya makikita mo ang isang
pag-update ng view.

Ang innotop ay maraming feature para sa mga power user, ngunit maaari mo itong simulan at patakbuhin nang halos
walang configuration. Kung nagsisimula ka pa lang, tingnan ang "QUICK-START". Pindutin ang '?' sa anumang
oras habang tumatakbo ang innotop para sa tulong na sensitibo sa konteksto.

Mabilis na pagsisimula


Upang simulan ang innotop, magbukas ng terminal o command prompt. Kung na-install mo ang innotop sa
iyong system, dapat ay ma-type mo lang ang "innotop" at pindutin ang Enter; kung hindi, ikaw
ay kailangang lumipat sa direktoryo ng innotop at i-type ang "perl innotop".

Nang walang tinukoy na mga opsyon, susubukan ng innotop na kumonekta sa isang MySQL server sa localhost
gamit ang mysql_read_default_group=client para sa iba pang mga parameter ng koneksyon. Kung kailangan mo
tumukoy ng ibang username at password, gamitin ang -u at -p na opsyon, ayon sa pagkakabanggit. Upang
subaybayan ang isang MySQL database sa isa pang host, gamitin ang -h na opsyon.

Pagkatapos mong kumonekta, dapat ipakita sa iyo ng innotop ang isang bagay tulad ng sumusunod:

[RO] Listahan ng Query (? para sa tulong) localhost, 01:11:19, 449.44 QPS, 14/7/163 con/run

CXN Kapag Nag-load ng QPS Mabagal QCacheHit KCacheHit BpsIn BpsOut
localhost Kabuuan 0.00 1.07k 697 0.00% 98.17% 476.83k 242.83k

CXN Cmd ID User Host DB Time Query
localhost Query 766446598 pagsubok 10.0.0.1 foo 00:02 INSERT INTO table (

(Ang sample na ito ay pinutol sa kanan upang magkasya ito sa isang terminal kapag tumatakbo ang 'man
innotop')

Kung abala ang iyong server, makakakita ka ng higit pang output. Pansinin ang unang linya sa screen,
na nagsasabi sa iyo na ang readonly ay nakatakda sa true ([RO]), sa anong mode ka naroroon at sa anong server
konektado ka sa. Maaari kang lumipat sa iba pang mga mode gamit ang mga keystroke; pindutin ang 'T' para lumipat
sa isang listahan ng mga transaksyon sa InnoDB, halimbawa.

Pindutin ang '?' key upang makita kung anong mga key ang aktibo sa kasalukuyang mode. Maaari mong pindutin ang alinman sa
ang mga key at innotop na ito ay gagawa ng hiniling na pagkilos o ipo-prompt ka para sa higit pang input.
Kung ang iyong system ay may suporta sa Term::ReadLine, maaari mong gamitin ang TAB at iba pang mga key para awtomatikong kumpletuhin
at i-edit ang input.

Para umalis sa innotop, pindutin ang 'q' key.

Opsyon


Ang innotop ay kadalasang na-configure sa pamamagitan ng configuration file nito, ngunit ang ilan sa configuration
ang mga opsyon ay maaaring magmula sa command line. Maaari ka ring tumukoy ng file na susubaybayan para sa InnoDB
output ng katayuan; tingnan ang "Pagsubaybay sa FILE" para sa higit pang mga detalye.

Maaari mong tanggihan ang ilang mga opsyon sa pamamagitan ng paglalagay ng prefix sa pangalan ng opsyon na may --no. Halimbawa, --noinc
(o --no-inc) ay tinatanggihan ang "--inc".

--kulay
Paganahin o huwag paganahin ang terminal coloring. Naaayon sa "kulay" na setting ng config file.

--config
Tumutukoy ng configuration file na babasahin. Ang opsyon na ito ay hindi malagkit, ibig sabihin
ay hindi nagpapatuloy sa configuration file mismo.

--bilang
I-refresh lamang ang tinukoy na dami ng beses (mga ticks) bago lumabas. Ang bawat pag-refresh ay a
i-pause para sa "interval" na mga segundo, na sinusundan ng paghiling ng data mula sa mga koneksyon sa MySQL at
pagpi-print nito sa terminal.

--antala
Tinutukoy ang dami ng oras upang i-pause sa pagitan ng mga ticks (mga pagre-refresh). Tumutugon sa
opsyon sa pagsasaayos na "interval".

- Tumulong
Mag-print ng buod ng paggamit ng command-line at paglabas.

--host
Host upang kumonekta sa.

--inc
Tinutukoy kung ang innotop ay dapat magpakita ng mga ganap na numero o mga kamag-anak na numero (mga offset
mula sa kanilang mga nakaraang halaga). Naaayon sa opsyon sa pagsasaayos na "status_inc".

--mode
Tinutukoy ang mode kung saan dapat magsimula ang innotop. Naaayon sa pagsasaayos
opsyon na "mode".

--nonint
Paganahin ang non-interactive na operasyon. Tingnan ang "NON-INTERACTIVE OPERATION" para sa higit pa.

--password
Password na gagamitin para sa koneksyon.

--port
Port na gagamitin para sa koneksyon.

--skipcentral
Huwag basahin ang central configuration file.

--gumagamit
User na gagamitin para sa koneksyon.

--bersyon
Impormasyon sa bersyon ng output at paglabas.

--sumulat
Itinatakda ang opsyon sa pagsasaayos na "readonly" sa 0, na ginagawang isulat sa innotop ang pagtakbo
pagsasaayos sa ~/.innotop/innotop.conf sa exit, kung walang configuration file na na-load
sa pagsisimula.

Mga HOTKEY


Ang innotop ay interactive, at kinokontrol mo ito gamit ang mga key-press.

· Ang mga malalaking titik na key ay lumipat sa pagitan ng mga mode.

· Ang mga maliliit na key ay nagpapasimula ng ilang aksyon sa loob ng kasalukuyang mode.

· Ang ibang mga key ay gumagawa ng isang espesyal na bagay tulad ng pagbabago ng configuration o pagpapakita ng innotop na lisensya.

Pindutin ang '?' anumang oras upang makita ang kasalukuyang aktibong mga susi at kung ano ang ginagawa ng mga ito.

mode


Ang bawat isa sa mga mode ng innotop ay kumukuha at nagpapakita ng isang partikular na uri ng data mula sa mga server
sinusubaybayan mo. Lumipat ka sa pagitan ng mga mode na may mga uppercase na key. Ang sumusunod ay a
maikling paglalarawan ng bawat mode, sa alpabetikong pagkakasunud-sunod. Upang lumipat sa mode, pindutin ang
key na nakalista sa harap ng heading nito sa sumusunod na listahan:

B: Mga InnoDB Buffer
Ang mode na ito ay nagpapakita ng impormasyon tungkol sa InnoDB buffer pool, mga istatistika ng pahina, insert
buffer, at adaptive hash index. Ang data ay mula sa SHOW INNODB STATUS.

Ang mode na ito ay naglalaman ng "buffer_pool", "page_statistics", "insert_buffers", at
Mga talahanayang "adaptive_hash_index" bilang default.

C: Buod ng Utos
Ang mode na ito ay katulad ng Command Summary mode ng mytop. Ipinapakita nito ang "cmd_summary"
talahanayan, na mukhang katulad ng sumusunod:

Buod ng Command (? para sa tulong) localhost, 25+07:16:43, 2.45 QPS, 3 thd, 5.0.40
_____________________ Buod ng Utos _____________________
Pangalan Halaga Pct Huling Incr Pct
Select_scan 3244858 69.89% 2 100.00%
Select_range 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%
Select_range_check 0 0.00% 0 0.00%

Ang talahanayan ng buod ng command ay binuo sa pamamagitan ng pag-extract ng mga variable mula sa "STATUS_VARIABLES".
Ang mga variable ay dapat na numero at dapat tumugma sa prefix na ibinigay ng "cmd_filter"
variable ng pagsasaayos. Ang mga variable ay pinagsunod-sunod ayon sa pagbaba ng halaga at
kumpara sa huling variable, tulad ng ipinapakita sa itaas. Ang mga column ng porsyento ay porsyento
ng kabuuan ng lahat ng mga variable sa talahanayan, upang makita mo ang kaugnay na bigat ng
mga variable.

Ipinapakita ng halimbawa kung ano ang nakikita mo kung ang prefix ay "Piliin_". Ang default na prefix ay
"Com_". Maaari kang pumili ng prefix na may 's' key.

Ito ay tulad ng pagpapatakbo ng IPAKITA ANG MGA VARIABLE TULAD ng "prefix%" na may memorya at maganda
pag-format.

Ang mga halaga ay pinagsama-sama sa lahat ng mga server. Ang mga column ng Pct ay hindi tama
pinagsama-sama sa maraming server. Ito ay isang kilalang limitasyon ng pagpapangkat
algorithm na maaaring maayos sa hinaharap.

D: Mga Deadlock ng InnoDB
Ipinapakita ng mode na ito ang mga transaksyong kasangkot sa huling deadlock ng InnoDB. Ang pangalawang mesa
ipinapakita ang mga kandado sa bawat transaksyon na gaganapin at hinihintay. Ang isang deadlock ay sanhi ng isang cycle
sa waits-for graph, kaya dapat mayroong dalawang lock na hawak at isa ang naghihintay maliban kung
ang deadlock na impormasyon ay pinutol.

Inilalagay ng InnoDB ang deadlock na impormasyon bago ang ilang iba pang impormasyon sa SHOW INNODB
STATUS output. Kung mayroong maraming mga kandado, ang deadlock na impormasyon ay maaaring lumaki nang husto
malaki, at may limitasyon sa laki ng SHOW INNODB STATUS na output. Isang malaki
Maaaring punan ng deadlock ang buong output, o kahit na putulin, at pigilan kang makita
iba pang impormasyon sa lahat. Kung nagpapatakbo ka ng innotop sa ibang mode, halimbawa T
mode, at biglang wala kang makita, baka gusto mong suriin at tingnan kung a
Nabura ng deadlock ang data na kailangan mo.

Kung mayroon ito, maaari kang lumikha ng isang maliit na deadlock upang palitan ang malaki. Gamitin ang 'w' key
para 'punasan' ang malaking deadlock gamit ang maliit. Hindi ito gagana maliban kung mayroon ka
tinukoy ang isang deadlock table para sa koneksyon (tingnan ang "SERVER CONNECTIONS").

Maaari mo ring i-configure ang innotop upang awtomatikong matukoy kapag kailangan ng malaking deadlock
mapalitan ng maliit (tingnan ang "auto_wipe_dl").

Ipinapakita ng mode na ito ang mga talahanayang "deadlock_transactions" at "deadlock_locks" bilang default.

F: InnoDB Foreign Key Error
Ipinapakita ng mode na ito ang huling impormasyon ng error sa foreign key ng InnoDB, gaya ng talahanayan kung saan
nangyari ito, kailan at sino at anong query ang sanhi nito, at iba pa.

Ang InnoDB ay may malaking iba't ibang mga dayuhang pangunahing mensahe ng error, at marami sa kanila ay makatarungan
mahirap i-parse. hindi palaging ginagawa ng innotop ang pinakamahusay na trabaho dito, ngunit napakaraming code
nakatuon sa pag-parse ng magulo, hindi ma-parse na output na malamang na hindi mangyayari ang innotop
perpekto sa bagay na ito. Kung hindi ipinapakita sa iyo ng innotop ang kailangan mong makita, tingnan mo lang
sa text ng status nang direkta.

Ipinapakita ng mode na ito ang talahanayang "fk_error" bilang default.

I: Impormasyon ng InnoDB I/O
Ipinapakita ng mode na ito ang mga istatistika ng I/O ng InnoDB, kabilang ang mga I/O thread, nakabinbing I/O, file
I/O miscellaneous, at mga istatistika ng log. Ipinapakita nito ang "io_threads", "pending_io",
"file_io_misc", at "log_statistics" na mga talahanayan bilang default.

L: Mga kandado
Ipinapakita ng mode na ito ang impormasyon tungkol sa mga kasalukuyang lock. Sa ngayon, ang mga InnoDB lock lang ang naroroon
suportado, at bilang default makikita mo lang ang mga lock kung saan naghihintay ang mga transaksyon.
Ang impormasyong ito ay nagmula sa seksyong MGA TRANSAKSIYON ng teksto ng katayuan ng InnoDB. Kung
mayroon kang isang napaka-abala na server, maaaring mayroon kang madalas na paghihintay sa lock; ito ay nakakatulong upang magawa
tingnan kung aling mga talahanayan at index ang "hot spot" para sa mga kandado. Kung tumatakbo ang iyong server
medyo mabuti, ang mode na ito ay dapat na walang ipakita.

Maaari mong i-configure ang MySQL at innotop upang masubaybayan hindi lamang ang mga lock kung saan ang isang transaksyon
ay naghihintay, ngunit ang mga kasalukuyang hawak, masyadong. Magagawa mo ito gamit ang InnoDB Lock
Subaybayan (http://dev.mysql.com/doc/en/innodb-monitor.html>). Hindi ito nakadokumento sa
ang MySQL manual, ngunit ang paglikha ng lock monitor na may sumusunod na pahayag din
nakakaapekto sa output ng SHOW INNODB STATUS, na ginagamit ng innotop:

GUMAWA NG TABLE innodb_lock_monitor(a int) ENGINE=INNODB;

Nagiging sanhi ito ng InnoDB na i-print ang output nito sa MySQL file bawat 16 segundo o higit pa, bilang
nakasaad sa manual, ngunit ginagawa rin nitong kasama ang normal na SHOW INNODB STATUS na output
impormasyon sa lock, na maaaring i-parse at ipakita ng innotop (iyan ang undocumented
tampok).

Nangangahulugan ito na magagawa mo ang tila imposible: sa isang limitadong lawak (InnoDB
pinuputol ang ilang impormasyon sa output), makikita mo kung aling transaksyon ang may hawak ng
nagla-lock may ibang hinihintay. Maaari mo ring paganahin at huwag paganahin ang InnoDB Lock
Subaybayan gamit ang mga pangunahing pagmamapa sa mode na ito.

Ipinapakita ng mode na ito ang talahanayang "innodb_locks" bilang default. Narito ang isang sample ng screen
kapag ang isang koneksyon ay naghihintay para sa mga kandado isa pang koneksyon hold:

_________________________________ InnoDB Locks ______________________________
CXN ID Type Waiting Waiting Active Mode DB Table Index
localhost 12 RECORD 1 00:10 00:10 X test t1 PRIMARY
localhost 12 TABLE 0 00:10 00:10 IX pagsubok t1
localhost 12 RECORD 1 00:10 00:10 X test t1 PRIMARY
localhost 11 TABLE 0 00:00 00:25 IX pagsubok t1
localhost 11 RECORD 0 00:00 00:25 X test t1 PRIMARY

Maaari mong makita ang unang koneksyon, ID 12, ay naghihintay para sa isang lock sa PANGUNAHING key sa
test.t1, at naghihintay ng 10 segundo. Ang pangalawang koneksyon ay hindi naghihintay,
dahil ang Waiting column ay 0, ngunit may hawak itong mga lock sa parehong index. Na nagsasabi sa iyo
hinaharangan ng koneksyon 11 ang koneksyon 12.

M: Status ng Master/Slave Replication
Ipinapakita ng mode na ito ang output ng SHOW SLAVE STATUS at SHOW MASTER STATUS sa tatlo
mga mesa. Hinahati ng unang dalawa ang status ng alipin sa SQL at I/O thread status, at
ang huli ay nagpapakita ng master status. Inilapat ang mga filter upang alisin ang mga server na hindi alipin mula sa
ang mga slave table, at ang mga non-master server mula sa master table.

Ipinapakita ng mode na ito ang "slave_sql_status", "slave_io_status", at "master_status"
mga talahanayan bilang default.

O: Buksan ang mga Mesa
Ang seksyong ito ay nagmula sa utos ng SHOW OPEN TABLES ng MySQL. Bilang default, na-filter ito
upang ipakita ang mga talahanayan na ginagamit ng isa o higit pang mga query, upang mabilis mong tingnan
kung aling mga talahanayan ang 'mainit'. Magagamit mo ito para hulaan kung aling mga talahanayan ang maaaring naka-lock
pahiwatig.

Ipinapakita ng mode na ito ang mode na "open_tables" bilang default.

Q: Listahan ng Query
Ipinapakita ng mode na ito ang output mula sa SHOW FULL PROCESSLIST, katulad ng mytoplistahan ng query ni
mode. Ginagawa ng mode na ito hindi ipakita ang impormasyong nauugnay sa InnoDB. Malamang isa ito sa
ang pinakakapaki-pakinabang na mga mode para sa pangkalahatang paggamit.

Mayroong impormasyong header na nagpapakita ng pangkalahatang impormasyon ng katayuan tungkol sa iyong
server. Maaari mo itong i-on at i-off gamit ang 'h' key. Bilang default, nagtatago ang innotop
hindi aktibong mga proseso at sarili nitong proseso. Maaari mong i-toggle ang mga ito sa on at off gamit ang 'i'
at 'a' na mga susi.

Maaari mong IPALIWANAG ang isang query mula sa mode na ito gamit ang 'e' key. Ipinapakita nito ang query's
buong teksto, ang mga resulta ng EXPLAIN, at sa mga mas bagong bersyon ng MySQL, maging ang na-optimize
query na nagreresulta mula sa EXPLAIN EXTENDED. Sinusubukan din ng innotop na muling isulat ang ilang mga query
para maipaliwanag nila. Halimbawa, ang mga INSERT/SELECT na pahayag ay maaaring isulat muli.

Ipinapakita ng mode na ito ang mga talahanayang "q_header" at "processlist" bilang default.

R: InnoDB Row Operations at Semaphores
Ang mode na ito ay nagpapakita ng InnoDB row operations, row operation miscellaneous, semaphores, at
impormasyon mula sa hanay ng paghihintay. Ipinapakita nito ang "row_operations",
"row_operation_misc", "semaphores", at "wait_array" na mga talahanayan bilang default.

S: Mga Variable at Katayuan
Kinakalkula ng mode na ito ang mga istatistika, tulad ng mga query sa bawat segundo, at ini-print ang mga ito
ilang iba't ibang estilo. Maaari kang magpakita ng mga ganap na halaga, o mga incremental na halaga sa pagitan
mga tik

Maaari kang lumipat sa pagitan ng mga view sa pamamagitan ng pagpindot sa isang key. Ang 's' key ay nagpi-print ng isang linya
sa tuwing mag-a-update ang screen, sa istilo ng vmstat. Binabago ng 'g' key ang view sa
isang graph ng parehong mga numero, uri ng katulad tload. Binabago ng 'v' key ang view sa a
naka-pivot na talahanayan ng mga variable na pangalan sa kaliwa, na may sunud-sunod na mga update na nag-i-scroll sa kabuuan
ang screen mula kaliwa hanggang kanan. Maaari mong piliin kung gaano karaming mga update ang ilalagay sa screen
gamit ang variable na configuration ng "num_status_sets".

Maaaring paikliin ang mga header upang magkasya sa screen sa interactive na operasyon. Pumili ka
aling mga variable ang ipapakita gamit ang 'c' key, na pipili mula sa mga paunang natukoy na hanay, o
hinahayaan kang lumikha ng iyong sariling mga hanay. Maaari mong i-edit ang kasalukuyang set gamit ang 'e' key.

Ang mode na ito ay hindi talaga nagpapakita ng anumang mga talahanayan tulad ng iba pang mga mode. Sa halip, ito ay gumagamit ng a
kahulugan ng talahanayan upang kunin at i-format ang data, ngunit binago nito ang resulta
mga espesyal na paraan bago ito i-output. Ginagamit nito ang kahulugan ng talahanayan na "var_status" para sa
na ito.

T: Mga Transaksyon sa InnoDB
Ipinapakita ng mode na ito ang mga transaksyon mula sa output ng monitor ng InnoDB, sa tuktok-tulad ng format.
Ang mode na ito ang dahilan kung bakit ako sumulat ng innotop.

Maaari mong patayin ang mga query o proseso gamit ang 'k' at 'x' key, at IPALIWANAG ang isang query gamit ang
ang 'e' o 'f' key. Hindi nai-print ng InnoDB ang buong query sa mga transaksyon, kaya
ang pagpapaliwanag ay maaaring hindi gumana nang tama kung ang query ay pinutol.

Maaaring i-on at off ang header ng impormasyon gamit ang 'h' key. Bilang default,
Itinatago ng innotop ang mga hindi aktibong transaksyon at sarili nitong transaksyon. Maaari mo itong i-on
at off gamit ang 'i' at 'a' key.

Ipinapakita ng mode na ito ang mga talahanayang "t_header" at "innodb_transactions" bilang default.

INNOTOP STATUS


Ang unang linya ng innotop na ipinapakita ay isang uri ng "status bar". Depende sa kung ano ang nilalaman nito
ang mode na iyong kinaroroonan, at kung anong mga server ang iyong sinusubaybayan. Ang mga unang salita ay palaging
[RO] (kung ang readonly ay nakatakda sa 1), ang innotop mode, gaya ng "InnoDB Txns" para sa T mode,
na sinusundan ng isang paalala na pindutin ang '?' para sa tulong anumang oras.

ONE SERVER
Ang pinakasimpleng kaso ay kapag sinusubaybayan mo ang isang server. Sa kasong ito, ang pangalan ng
ang koneksyon ay susunod sa linya ng katayuan. Ito ang pangalang ibinigay mo noong nilikha mo ang
koneksyon -- malamang ang hostname ng MySQL server. Sinusundan ito ng server
uptime.

Kung nasa InnoDB mode ka, gaya ng T o B, ang susunod na salita ay "InnoDB" na sinusundan ng ilang
impormasyon tungkol sa SHOW INNODB STATUS output na ginamit upang i-render ang screen. Ang unang salita
ay ang bilang ng mga segundo mula noong huling SHOW INNODB STATUS, na ginagamit ng InnoDB upang kalkulahin
ilang mga istatistika sa bawat segundo. Ang susunod ay isang smiley na mukha na nagpapahiwatig kung ang InnoDB
ang output ay pinutol. Kung ang smiley face ay isang :-), lahat ay maayos; walang pinutol. A
:^| nangangahulugan na ang listahan ng transaksyon ay napakahaba, ang InnoDB ay nag-print lamang ng ilan sa
mga transaksyon. Sa wakas, ang isang pagsimangot :-( ay nangangahulugan na ang output ay hindi kumpleto, na marahil ay dapat bayaran
sa isang deadlock na pag-print ng masyadong maraming impormasyon sa lock (tingnan ang "D: InnoDB Deadlocks").

Ang susunod na dalawang salita ay nagpapahiwatig ng mga query sa bawat segundo (QPS) ng server at kung gaano karaming mga thread
(mga koneksyon) ay umiiral. Sa wakas, ang numero ng bersyon ng server ay ang huling bagay sa linya.

MADAMI SERVERS
Kung sinusubaybayan mo ang maramihang mga server (tingnan ang "MGA CONNECTIONS sa SERVER"), ginagawa ng linya ng katayuan
hindi nagpapakita ng anumang mga detalye tungkol sa mga indibidwal na server. Sa halip, ipinapakita nito ang mga pangalan ng
mga koneksyon na aktibo. Muli, ito ay mga pangalan ng koneksyon na iyong tinukoy, na
malamang na ang hostname ng server. Ang koneksyon na may error ay nilagyan ng prefix na an
tandang padamdam.

Kung sinusubaybayan mo ang isang pangkat ng mga server (tingnan ang "SERVER GROUPS"), ipinapakita ng linya ng katayuan ang
pangalan ng grupo. Kung may error ang anumang koneksyon sa grupo, ang pangalan ng grupo ay
na sinusundan ng fraction ng mga koneksyon na walang mga error.

Tingnan ang "ERROR HANDLING" para sa higit pang mga detalye tungkol sa error handling ng innotop.

PAGBABALIK A FILE
Kung magbibigay ka ng filename sa command line, hindi kokonekta ang innotop sa ANUMANG server sa
lahat. Panoorin nito ang tinukoy na file para sa output ng katayuan ng InnoDB at gagamitin iyon bilang data nito
pinagmulan. Ito ay palaging magpapakita ng isang koneksyon na tinatawag na 'file'. At dahil hindi pwede
kumonekta sa isang server, hindi nito matukoy kung gaano katagal ang pagsubaybay nito sa server;
kaya kinakalkula nito ang uptime ng server bilang oras mula nang magsimulang tumakbo ang innotop.

SERVER ADMINISTRATION


Habang ang innotop ay pangunahing isang monitor na nagbibigay-daan sa iyong panoorin at pag-aralan ang iyong mga server, magagawa nito
magpadala din ng mga utos sa mga server. Ang pinaka-madalas na kapaki-pakinabang na mga utos ay pagpatay ng mga query
at pagtigil o pagsisimula ng mga alipin.

Maaari kang pumatay ng isang koneksyon, o sa mga mas bagong bersyon ng MySQL pumatay ng isang query ngunit hindi a
koneksyon, mula sa "Q: Query List" at "T: InnoDB Transactions" na mga mode. Pindutin ang 'k' para maglabas ng a
KILL command, o 'x' para mag-isyu ng KILL QUERY command. ipo-prompt ka ng innotop para sa
server at/o connection ID na pumatay (hindi ka sinenyasan ng innotop kung isa lang
posibleng pagpipilian para sa anumang input). paunang pinipili ng innotop ang pinakamatagal na tumatakbong query, o ang
pinakamatandang koneksyon. Kumpirmahin ang utos gamit ang 'y'.

Sa "Slave Replication Status"" sa "M: Master mode, maaari mong simulan at ihinto ang mga alipin gamit ang
'a' at 'o' key, ayon sa pagkakabanggit. Maaari mong ipadala ang mga utos na ito sa maraming alipin nang sabay-sabay.
pinupunan ng innotop ang isang default na command ng START SLAVE o STOP SLAVE para sa iyo, ngunit magagawa mo
aktwal na i-edit ang command at ipadala ang anumang nais mo, tulad ng SET GLOBAL
SQL_SLAVE_SKIP_COUNTER=1 upang palaktawan ng alipin ang isang binlog na kaganapan kapag nagsimula ito.

Maaari mo ring hilingin sa innotop na kalkulahin ang pinakamaagang binlog na ginagamit ng sinumang alipin at isyu a
PURGE MASTER LOGS sa master. Gamitin ang 'b' key para dito. ipo-prompt ka ng innotop para sa a
master upang patakbuhin ang command, pagkatapos ay i-prompt ka para sa mga pangalan ng koneksyon ng master na iyon
mga alipin (walang paraan para sa innotop na matukoy ito nang mapagkakatiwalaan mismo). mahahanap ng innotop
ang pinakamababang binlog na ginagamit ng mga koneksyong alipin na ito at iminumungkahi ito bilang argumento sa
PURGE MASTER LOGS.

SERVER Mga KONEKTOR


Kapag lumikha ka ng koneksyon sa server gamit ang '@', humihiling sa iyo ang innotop ng isang serye ng mga input, bilang
sumusunod:

Ang DSN Ang DSN ay isang Pangalan ng Data Source, na siyang paunang argumento na ipinasa sa module ng DBI
para sa pagkonekta sa isang server. Ito ay karaniwang nasa anyo

DBI:mysql:;mysql_read_default_group=mysql;host=HOSTNAME

Dahil ang DSN na ito ay ipinasa sa DBD::mysql driver, dapat mong basahin ang driver's
dokumentasyon sa "/search.cpan.org/dist/DBD-mysql/lib/DBD/mysql.pm"" sa "http: para sa
eksaktong mga detalye sa lahat ng mga pagpipilian na maaari mong ipasa ang driver sa DSN. Mababasa mo
higit pa tungkol sa DBI sahttp://dbi.perl.org/docs/>, at lalo na sa
<http://search.cpan.org/~timb/DBI/DBI.pm>.

Hinahayaan ng mysql_read_default_group=mysql na opsyon ang driver ng DBD na basahin ang iyong mga opsyon sa MySQL
mga file, tulad ng ~/.my.cnf sa UNIX-ish system. Maaari mong gamitin ito upang maiwasan ang pagtukoy ng a
username o password para sa koneksyon.

InnoDB Deadlock Table
Ang opsyonal na item na ito ay nagsasabi sa innotop ng pangalan ng talahanayan na magagamit nito upang sadyang gumawa ng a
maliit na deadlock (tingnan ang "D: InnoDB Deadlocks"). Kung tinukoy mo ang pagpipiliang ito, kailangan mo lang
upang matiyak na ang talahanayan ay hindi umiiral, at ang innotop ay maaaring lumikha at mag-drop ng talahanayan
gamit ang InnoDB storage engine. Maaari mong ligtas na alisin o tanggapin na lang ang default kung ikaw
ayaw mong gamitin ito.

username
tatanungin ka ng innotop kung gusto mong tukuyin ang isang username. Kung sasabihin mo 'y', ito ay pagkatapos
prompt ka para sa isang user name. Kung mayroon kang MySQL option file na tumutukoy sa iyong
username, hindi mo kailangang tumukoy ng username.

Nagde-default ang username sa iyong login name sa system kung saan ka nagpapatakbo ng innotop.

password
tatanungin ka ng innotop kung gusto mong tukuyin ang isang password. Tulad ng username, ang
opsyonal ang password, ngunit may karagdagang prompt na nagtatanong kung gusto mong i-save
ang password sa innotop configuration file. Kung hindi mo i-save ito sa
configuration file, ipo-prompt ka ng innotop para sa isang password sa tuwing magsisimula ito.
Ang mga password sa innotop configuration file ay naka-save sa plain text, hindi naka-encrypt
kahit papaano.

Kapag natapos mo nang sagutin ang mga tanong na ito, dapat kang konektado sa isang server. Pero
ang innotop ay hindi limitado sa pagsubaybay sa isang server; maaari mong tukuyin ang maraming server
mga koneksyon at lumipat sa pagitan ng mga ito sa pamamagitan ng pagpindot sa '@' key. Tingnan ang "PALITAN
MGA KONEKSIYON".

SERVER GROUPS


Kung marami kang MySQL instance, maaari mong ilagay ang mga ito sa mga pinangalanang grupo, gaya ng 'lahat',
'mga panginoon', at 'mga alipin', na maaaring subaybayan ng innotop nang sama-sama.

Maaari mong piliin kung aling grupo ang susubaybayan gamit ang '#' key, at maaari mong pindutin ang TAB key
lumipat sa susunod na pangkat. Kung hindi ka kasalukuyang sinusubaybayan ang isang grupo, pagpindot sa TAB
pinipili ang unang pangkat.

Para gumawa ng grupo, pindutin ang '#' key at i-type ang pangalan ng iyong bagong grupo, pagkatapos ay i-type ang
mga pangalan ng mga koneksyon na gusto mong taglayin ng grupo.

PAGALIT SABIHIN Mga KONEKTOR


Hinahayaan ka ng innotop na mabilis na lumipat kung aling mga server ang iyong sinusubaybayan. Ang pinakapangunahing paraan ay sa pamamagitan ng
pagpindot sa '@' key at pag-type ng (mga) pangalan ng (mga) koneksyon na gusto mong gamitin. Ito
Ang setting ay per-mode, para masubaybayan mo ang iba't ibang koneksyon sa bawat mode, at innotop
naaalala kung aling mga koneksyon ang pipiliin mo.

Maaari kang mabilis na lumipat sa 'susunod' na koneksyon sa alpabetikong pagkakasunud-sunod gamit ang 'n' na key.
Kung sinusubaybayan mo ang isang pangkat ng server (tingnan ang "SERVER GROUPS") lilipat ito sa una
connection.

Maaari ka ring mag-type ng maraming pangalan ng koneksyon, at kukunin at ipapakita ng innotop ang data mula sa kanila
lahat. Paghiwalayin lamang ang mga pangalan ng koneksyon na may mga puwang, halimbawa "server1 server2."
Muli, kung ita-type mo ang pangalan ng isang koneksyon na hindi umiiral, ipo-prompt ka ng innotop
para sa impormasyon ng koneksyon at lumikha ng koneksyon.

Ang isa pang paraan upang masubaybayan ang maraming koneksyon nang sabay-sabay ay sa mga pangkat ng server. Pwede mong gamitin
ang TAB key para lumipat sa 'next' group sa alphabetical order, o kung hindi
sinusubaybayan ang anumang grupo, lilipat ang TAB sa unang grupo.

Ang innotop ay hindi kumukuha ng data nang magkatulad mula sa mga koneksyon, kaya kung sinusubaybayan mo ang isang malaki
grupo o maraming koneksyon, maaari mong mapansin ang tumaas na pagkaantala sa pagitan ng mga tik.

Kapag sinusubaybayan mo ang higit sa isang koneksyon, nagbabago ang status bar ng innotop. Tingnan ang "INNOTOP
STATUS".

ERROR Paghahawak


Ang paghawak ng error ay hindi ganoon kahalaga kapag sinusubaybayan ang isang koneksyon, ngunit napakahalaga
kapag marami kang aktibong koneksyon. Ang isang nag-crash na server o nawalang koneksyon ay hindi dapat
bumagsak sa innotop. Bilang resulta, patuloy na tatakbo ang innotop kahit na mayroong error; ito
hindi lang magpapakita ng anumang impormasyon mula sa koneksyon na nagkaroon ng error. Dahil sa
ito, baka malito ka sa ugali ni innotop. Ito ay isang tampok, hindi isang bug!

Ang innotop ay hindi nagpapatuloy sa pagtatanong ng mga koneksyon na may mga error, dahil maaaring mabagal ang mga ito
innotop at gawin itong mahirap gamitin, lalo na kung ang error ay isang problema sa pagkonekta at
nagiging sanhi ng mahabang time-out. Sa halip, muling sinusubukan ng innotop ang koneksyon paminsan-minsan upang makita kung
umiiral pa rin ang error. Kung gayon, maghihintay ito hanggang sa isang punto sa hinaharap. Ang paghihintay
tumataas ang oras sa mga ticks bilang serye ng Fibonacci, kaya mas madalas itong sumusubok sa oras
pumasa

Dahil ang mga error ay maaaring mangyari lamang sa ilang mga mode dahil sa mga SQL command na inilabas sa
ang mga mode na iyon, sinusubaybayan ng innotop kung aling mode ang naging sanhi ng error. Kung lilipat ka sa a
ibang mode, muling susubukan ng innotop ang koneksyon sa halip na maghintay.

Bilang default, ipapakita ng innotop ang problema sa pulang teksto sa ibaba ng unang talahanayan
sa screen. Maaari mong hindi paganahin ang pag-uugali na ito gamit ang "show_cxn_errors_in_tbl"
opsyon sa pagsasaayos, na pinagana bilang default. Kung pinagana ang opsyong "debug",
ipapakita ng innotop ang error sa ibaba ng bawat talahanayan, hindi lang ang una. At kung
Naka-enable ang "show_cxn_errors", ipi-print din ng innotop ang error text sa STDOUT. Error
ang mga mensahe ay maaaring ipakita lamang sa mode na naging sanhi ng error, depende sa mode at
kung iniiwasan ng innotop na i-query ang koneksyon na iyon.

HINDI INTERACTIVE OPERASYON


Maaari mong patakbuhin ang innotop sa non-interactive na mode, kung saan ito ay ganap na kinokontrol mula sa
ang configuration file at mga opsyon sa command-line. Upang simulan ang innotop sa hindi interactive
mode, ibigay ang L"<--nonint"> command-line na opsyon. Binabago nito ang pag-uugali ng innotop sa
sumusunod na paraan:

· Hindi na-load ang ilang Perl module. Term:: Ang Readline ay hindi na-load, dahil innotop
ay hindi nag-prompt nang interactive. Term::ANSIColor at Win32::Console::ANSI modules ay
hindi load. Term::ReadKey ay ginagamit pa rin, dahil ang innotop ay maaaring kailangang mag-prompt para sa
mga password sa koneksyon kapag nagsisimula.

· hindi nililinis ng innotop ang screen pagkatapos ng bawat tik.

· Ang innotop ay hindi nagpatuloy ng anumang mga pagbabago sa configuration file.

· Kung ang "--count" ay ibinigay at ang innotop ay nasa incremental mode (tingnan ang "status_inc" at
"--inc"), ang innotop ay talagang nagre-refresh ng isa pang beses kaysa sa tinukoy para makapag-print ito
incremental na istatistika. Pinipigilan nito ang output sa unang tik, kaya maaaring ang innotop
mukhang nakabitin.

· Ipinapakita lamang ng innotop ang unang talahanayan sa bawat mode. Ito ay upang ang output ay maaaring
madaling maproseso kasama ng iba pang command-line utilities tulad ng awk at sed. Baguhin
kung aling mga talahanayan ang ipinapakita sa bawat mode, tingnan ang "TABLES". Dahil ang mode na "Q: Query List" ay ganoon
mahalaga, awtomatikong dini-disable ng innotop ang talahanayang "q_header". Tinitiyak nito na magagawa mo
tingnan ang talahanayan ng "processlist", kahit na na-configure mo ang innotop upang ipakita ang q_header
talahanayan sa panahon ng interactive na operasyon. Katulad nito, sa "T: InnoDB Transactions" mode, ang
Ang talahanayang "t_header" ay pinigilan kaya ang talahanayang "innodb_transactions" lang ang makikita mo.

· Ang lahat ng output ay tab-separated sa halip na maging column-aligned sa whitespace, at
Ini-print ng innotop ang buong nilalaman ng bawat talahanayan sa halip na mag-print lamang ng isang screenful
sa isang pagkakataon.

· Ang innotop ay nagpi-print lamang ng mga header ng column nang isang beses sa halip na bawat tik (tingnan ang "hide_hdr").
ang innotop ay hindi nagpi-print ng mga caption ng talahanayan (tingnan ang "display_table_captions"). sinisiguro ng innotop
walang mga walang laman na linya sa output.

· hindi pinarangalan ng innotop ang "paikling" pagbabago, na karaniwang nagpapaikli sa ilan
mga numero sa mga format na nababasa ng tao.

· ang innotop ay hindi nagpi-print ng linya ng katayuan (tingnan ang "INNOTOP STATUS").

PAG-configure


Halos lahat ng tungkol sa innotop ay maaaring i-configure. Karamihan sa mga bagay ay posibleng baguhin sa
mga built-in na command, ngunit maaari mo ring i-edit ang configuration file.

Habang tumatakbo ang innotop, pindutin ang '$' na key upang ilabas ang dialog ng pag-edit ng configuration.
Pindutin ang isa pang key upang piliin ang uri ng data na gusto mong i-edit:

S: Pahayag Oras ng Pagtulog
Ine-edit ang mga pagkaantala sa pagtulog ng SQL statement, na nagpapa-pause sa innotop para sa tinukoy na halaga ng
oras pagkatapos magsagawa ng isang pahayag. Tingnan ang "SQL STATEMENTS" para sa kahulugan ng bawat isa
pahayag at kung ano ang ginagawa nito. Bilang default, hindi naaantala ang innotop pagkatapos ng anumang mga pahayag.

Kasama ang feature na ito para ma-customize mo ang mga side-effects na dulot ng pagsubaybay
iyong server. Maaaring hindi ka makakita ng anumang mga epekto, ngunit napansin iyon ng ilang mga innotop na gumagamit
ang ilang mga bersyon ng MySQL sa ilalim ng napakataas na pag-load na may pinaganang InnoDB ay mas matagal kaysa karaniwan
upang maisagawa ang SHOW GLOBAL STATUS. Kung tumawag ang innotop IPAKITA kaagad ang BUONG PROCESSLIST
pagkatapos, ang processlist ay naglalaman ng higit pang mga query kaysa sa aktwal na average ng makina
anumang naibigay na sandali. Kino-configure ang innotop para i-pause saglit pagkatapos tawagan ang SHOW GLOBAL
Ang STATUS ay nagpapagaan ng epektong ito.

Ang mga oras ng pagtulog ay iniimbak sa seksyong "stmt_sleep_times" ng configuration file.
Sinusuportahan ang fractional-second sleeps, napapailalim sa mga limitasyon ng iyong hardware.

c: I-edit ang Mga Column
Sinisimulan ang editor ng talahanayan sa isa sa mga ipinapakitang talahanayan. Tingnan ang "TABLE EDITOR". An
alternatibong paraan upang simulan ang table editor nang hindi pumapasok sa configuration dialog ay
gamit ang '^' key.

g: Pangkalahatang Configuration
Sinisimulan ang configuration editor upang i-edit ang global at mode-specific na configuration
mga variable (tingnan ang "MODES"). Ino-prompt ka ng innotop na pumili ng variable mula sa mga
global at mode-specific depende sa kasalukuyang mode.

k: Mga Panuntunan sa Pangkulay ng Hanay
Sinisimulan ang editor ng mga panuntunan sa pagkulay ng hilera sa isa sa (mga) ipinapakitang talahanayan. Tingnan ang "KULAY"
para sa mga detalye.

p: Pamahalaan ang Mga Plugin
Sinisimulan ang editor ng pagsasaayos ng plugin. Tingnan ang "PLUGIN" para sa mga detalye.

s: Mga Grupo ng Server
Hinahayaan kang lumikha at mag-edit ng mga pangkat ng server. Tingnan ang "SERVER GROUPS".

t: Piliin ang Mga Displayed Tables
Hinahayaan kang pumili kung aling mga talahanayan ang ipapakita sa mode na ito. Tingnan ang "MODES" at "TABLES".

Configuration FILE


Ang mga default na lokasyon ng configuration file ng innotop ay $HOME/.innotop at
/etc/innotop/innotop.conf, at hinahanap ang mga ito sa ayos na iyon. Kung ang una
ang configuration file ay umiiral, ang pangalawa ay hindi mapoproseso. Maaaring ma-override ang mga iyon
ang "--config" command-line na opsyon. Maaari mong i-edit ito sa pamamagitan ng kamay nang ligtas, gayunpaman innotop reads
ang configuration file kapag nagsimula ito, at, kung ang readonly ay nakatakda sa 0, isusulat itong muli
pag labas nito. Kaya, kung ang readonly ay nakatakda sa 0, anumang mga pagbabagong gagawin mo sa pamamagitan ng kamay habang innotop
ay tumatakbo ay mawawala.

hindi iniimbak ng innotop ang buong configuration nito sa configuration file. Ito ay may malaking
set ng mga default na halaga ng configuration na hawak lamang nito sa memorya, at ang configuration
Ino-override lang ng file ang mga default na ito. Kapag nag-customize ka ng default na setting, innotop
notice, at pagkatapos ay iimbak ang mga pagpapasadya sa file. Pinapanatili nitong pababa ang laki ng file,
pinapadali ang pag-edit, at pinapadali ang mga pag-upgrade.

Ang isang configuration file ay read-only maging default. Maaari mong i-override iyon gamit ang "--write". Tingnan mo
"Basahin lamang".

Ang configuration file ay nakaayos sa mga seksyon tulad ng isang INI file. Magsisimula ang bawat seksyon
na may [section-name] at nagtatapos sa [/section-name]. Ang mga entry ng bawat seksyon ay may a
iba't ibang syntax depende sa data na kailangan nilang iimbak. Maaari kang maglagay ng mga komento sa
file; anumang linya na nagsisimula sa isang # character ay isang komento. hindi babasahin ng innotop ang
mga komento, kaya hindi nito isusulat muli ang mga ito sa file kapag lumabas ito. Mga komento sa nabasa-
ang mga configuration file lamang ang kapaki-pakinabang pa rin, bagaman.

Ang unang linya sa file ay ang numero ng bersyon ng innotop. Nagbibigay-daan ito sa innotop na mapansin kapag ang
Ang format ng file ay hindi pabalik-tugma, at mag-upgrade nang maayos nang hindi sinisira ang iyong
pasadyang pagsasaayos.

Inilalarawan ng sumusunod na listahan ang bawat seksyon ng configuration file at ang data nito
naglalaman ng:

pangkalahatan
Ang seksyong 'pangkalahatan' ay naglalaman ng mga pandaigdigang variable ng pagsasaayos at mga variable na maaaring
maging partikular sa mode, ngunit hindi kabilang sa anumang iba pang seksyon. Ang syntax ay isang simple
key=listahan ng halaga. Ang innotop ay nagsusulat ng komento sa itaas ng bawat halaga upang matulungan kang i-edit ang file
gamit ang kamay.

S_func
Kinokontrol ang presentasyon ng S mode (tingnan ang "S: Mga Variable at Katayuan"). Kung g, ang mga halaga ay
naka-graph; kung s, ang mga halaga ay tulad ng vmstat; kung p, ang mga halaga ay nasa isang pivoted table.

S_set
Tinutukoy kung aling set ng mga variable ang ipapakita sa "S: Variables & Status" mode. Tingnan mo
"VARIABLE NA SET".

auto_wipe_dl
Nagtuturo sa innotop na awtomatikong punasan ang malalaking deadlock kapag napansin nito ang mga ito.
Kapag nangyari ito, maaari mong mapansin ang isang bahagyang pagkaantala. Sa susunod na tik, gagawin mo
karaniwang nakikita ang impormasyon na pinuputol ng malaking deadlock.

charset
Tinutukoy kung anong uri ng mga character ang papayagan sa pamamagitan ng "no_ctrl_char"
pagbabago. Pinipigilan nito ang mga hindi napi-print na character mula sa pagkalito sa isang terminal
kapag sinusubaybayan mo ang mga query na naglalaman ng binary data, gaya ng mga larawan.

Ang default ay 'ascii', na isinasaalang-alang ang anumang bagay sa labas ng normal na ASCII bilang a
kontrol ng karakter. Ang iba pang mga pinahihintulutang halaga ay 'unicode' at 'wala'. 'wala'
Itinuturing ang bawat karakter bilang isang control character, na maaaring maging kapaki-pakinabang para sa pagbagsak
LAHAT ng text field sa mga query.

cmd_filter
Ito ang prefix na nagpi-filter ng mga variable sa "C: Buod ng Command" na mode.

kulay
Kung pinahihintulutan ang pangkulay sa terminal.

cxn_timeout
Sa MySQL bersyon 4.0.3 at mas bago, ang variable na ito ay ginagamit upang itakda ang koneksyon
timeout, kaya hindi isinasara ng MySQL ang koneksyon kung hindi ito ginagamit nang ilang sandali.
Maaaring mangyari ito dahil ang isang koneksyon ay hindi sinusubaybayan sa isang partikular na mode, para sa
Halimbawa.

mag-alis ng mga insekto
Ang pagpipiliang ito ay nagbibigay-daan sa higit pang mga error sa verbose at ginagawang mas mahigpit ang innotop sa ilan
mga lugar. Makakatulong ito sa pag-debug ng mga filter at iba pang code na tinukoy ng gumagamit. Ito rin
gumagawa ng innotop na magsulat ng maraming impormasyon sa "debugfile" kapag may crash.

debugfile
Isang file kung saan isusulat ng innotop ang impormasyon kapag may nag-crash. Tingnan mo
"MGA FILE".

display_table_captions
ang innotop ay nagpapakita ng caption ng talahanayan sa itaas ng karamihan sa mga talahanayan. Pinipigilan ng variable na ito ang o
nagpapakita ng mga caption sa lahat ng talahanayan sa buong mundo. Ang ilang mga talahanayan ay isinaayos gamit ang
hide_caption property, na nag-o-override dito.

global
Kung magpapakita ng mga GLOBAL na variable at status. Sinusubukan lamang ng innotop na gawin ito sa
mga server na sumusuporta sa GLOBAL na opsyon para MAGPAKITA NG MGA VARIABLE at MAGPAKITA NG STATUS. Sa
ilang mga bersyon ng MySQL, kailangan mo ng ilang mga pribilehiyo upang gawin ito; kung wala ka
sa kanila, hindi makukuha ng innotop ang anumang variable at data ng status. Ito
Ang configuration variable ay nagbibigay-daan sa iyong patakbuhin ang innotop at kunin kung anong data ang maaari mong gawin
nang walang mataas na mga pribilehiyo.

Hindi ko na mahanap o ma-reproduce ang sitwasyon kung saan hindi pinapayagan ang GLOBAL, pero ako
alam na mayroong isa.

graph_char
Tinutukoy ang character na gagamitin kapag gumuhit ng mga graph sa "S: Variables & Status" mode.

header_highlight
Tinutukoy kung paano i-highlight ang mga header ng column. Gumagana lang ito kung ang Term::ANSIColor ay
magagamit. Ang mga wastong halaga ay 'bold' at 'underline'.

hide_hdr
Itinatago ang mga header ng column sa buong mundo.

agwat
Ang pagitan kung saan ire-refresh ng innotop ang data nito (mga ticks). Ang pagitan ay
ipinatupad bilang oras ng pagtulog sa pagitan ng mga ticks, kaya mag-iiba ang totoong agwat
depende sa kung gaano katagal innotop ang pagkuha at pag-render ng data.

Ang variable na ito ay tumatanggap ng mga fraction ng isang segundo.

paraan
Ang mode kung saan dapat magsimula ang innotop. Ang mga pinapayagang argumento ay pareho sa
mga pagpindot sa key na pumipili ng mode nang interactive. Tingnan ang "MODES".

num_digit
Ilang digit ang ipapakita sa mga fractional na numero at porsyento. Saklaw ng variable na ito
ay nasa pagitan ng 0 at 9 at maaaring itakda nang direkta mula sa "S: Variables & Status" mode na may
ang '+' at '-' key. Ginagamit ito sa "set_precision", "shorten", at "percent"
mga pagbabagong-anyo.

num_status_sets
Kinokontrol kung gaano karaming mga hanay ng mga variable ng katayuan ang ipapakita sa pivoted na "S: Mga Variable at
Status" mode. Kinokontrol din nito ang bilang ng mga lumang hanay ng mga variable na pinapanatili ng innotop
sa memorya nito, kaya kung mas malaki ang variable na ito, mas maraming memory ang ginagamit ng innotop.

plugin_dir
Tinutukoy kung saan mahahanap ang mga plugin. Bilang default, ang innotop ay nag-iimbak ng mga plugin sa
'plugins' subdirectory ng iyong innotop configuration directory.

Basahin lamang
Kung ang configuration file ay readonly. Hindi ito maaaring itakda nang interactive.

show_cxn_errors
Gumagawa ng mga error sa koneksyon sa innotop na pag-print sa STDOUT. Tingnan ang "ERROR HANDLING".

show_cxn_errors_in_tbl
Gumagawa ng mga error sa koneksyon sa display ng innotop bilang mga row sa unang talahanayan sa screen. Tingnan mo
"MALING PAGHAWAK".

show_percent
Nagdaragdag ng character na '%' pagkatapos ibalik ang value ng "porsiyento" na pagbabago.

show_statusbar
Kinokontrol kung ipapakita ang status bar sa display. Tingnan ang "INNOTOP STATUS".

skip_innodb
Hindi pinapagana ang pagkuha ng SHOW INNODB STATUS, kung sakaling ang iyong (mga) server ay walang InnoDB
pinagana at hindi mo gustong subukan ng innotop na kunin ito. Maaari rin itong maging kapaki-pakinabang
kapag wala kang SUPER privilege, kinakailangang magpatakbo ng SHOW INNODB STATUS.

status_inc
Kung magpapakita ng ganap o incremental na mga halaga para sa mga variable ng status. Incremental
ang mga halaga ay kinakalkula bilang isang offset mula sa huling halaga ng innotop saw para doon
variable. Isa itong pandaigdigang setting, ngunit malamang na magiging partikular sa mode sa
ilang mga punto. Sa ngayon ito ay pinarangalan ng medyo hindi pare-pareho; ang ilang mga mode ay hindi nagbabayad
pansinin ito.

plugin
Ang seksyong ito ay mayroong listahan ng mga pangalan ng package ng mga aktibong plugin. Kung mayroon ang plugin,
i-activate ito ng innotop. Tingnan ang "PLUGIN" para sa higit pang impormasyon.

Filter
Ang seksyong ito ay nagtataglay ng mga filter na tinukoy ng gumagamit (tingnan ang "FILTERS"). Ang bawat linya ay nasa format
filter_name=text='filter text' tbls='table list'.

Ang text ng filter ay ang text ng code ng subroutine. Ang listahan ng talahanayan ay isang listahan ng
mga talahanayan kung saan maaaring ilapat ang filter. Bilang default, nalalapat ang mga filter na tinukoy ng user sa
talahanayan kung saan nilikha ang mga ito, ngunit maaari mong manu-manong i-override iyon sa pamamagitan ng pag-edit ng
kahulugan sa configuration file.

active_filters
Iniimbak ng seksyong ito kung aling mga filter ang aktibo sa bawat talahanayan. Ang bawat linya ay nasa
format table_name=filter_list.

tbl_meta
Ang seksyong ito ay nag-iimbak ng mga column na tinukoy ng gumagamit o na-customize ng user (tingnan ang "COLUMNS"). Bawat isa
line ay nasa format na col_name=properties, kung saan ang mga katangian ay a
name=quoted-value list.

koneksyon
Ang seksyong ito ay nagtataglay ng mga koneksyon sa server na iyong tinukoy. Ang bawat linya ay nasa
format name=properties, kung saan ang mga property ay pangalan=value list. Ang mga ari-arian
ay nagpapaliwanag sa sarili, at ang tanging partikular na ginagamot ay ang 'pass' which is
naroroon lamang kung nakatakda ang 'savepass'. Ang seksyong ito ng configuration file ay magiging
nilaktawan kung anumang mga opsyon sa command-line na DSN, username, o password ang ginamit. Tingnan ang "SERVER
MGA KONEKSIYON".

active_connections
Ang seksyong ito ay may hawak na listahan kung aling mga koneksyon ang aktibo sa bawat mode. Ang bawat linya ay
sa format na mode_name=connection_list.

server_groups
Ang seksyong ito ay nagtataglay ng mga pangkat ng server. Ang bawat linya ay nasa format name=connection_list.
Tingnan ang "SERVER GROUPS".

active_server_groups
Ang seksyong ito ay nagtataglay ng isang listahan kung aling pangkat ng server ang aktibo sa bawat mode. Ang bawat linya ay
sa format na mode_name=server_group.

max_values_seen
Ang seksyong ito ay nagtataglay ng pinakamataas na halaga na nakikita para sa mga variable. Ito ay ginagamit upang masukat ang
mga graph sa "S: Variables & Status" mode. Ang bawat linya ay nasa format name=value.

active_columns
Ang seksyong ito ay nagtataglay ng mga listahan ng column ng talahanayan. Ang bawat linya ay nasa format
tbl_name=column_list. Tingnan ang "mga COLUMS".

sort_cols
Ang seksyong ito ay nagtataglay ng kahulugan ng pag-uuri. Ang bawat linya ay nasa format
tbl_name=column_list. Kung ang isang column ay may prefix na '-', ang column na iyon ay nagbubukod-bukod pababa.
Tingnan ang "SORTING".

visible_tables
Tinutukoy ng seksyong ito kung aling mga talahanayan ang makikita sa bawat mode. Ang bawat linya ay nasa
format mode_name=table_list. Tingnan ang "TABLES".

mga varset
Tinutukoy ng seksyong ito ang mga hanay ng variable para gamitin sa mode na "S: Status at Mga Variable." Bawat linya
ay nasa format name=variable_list. Tingnan ang "VARIABLE NA SET".

kulay
Tinutukoy ng seksyong ito ang mga panuntunan sa colorization. Ang bawat linya ay nasa format
tbl_name=property_list. Tingnan ang "COLORS".

stmt_sleep_times
Ang seksyong ito ay naglalaman ng mga oras ng pagtulog ng pahayag. Ang bawat linya ay nasa format
statement_name=sleep_time. Tingnan ang "S: Statement Sleep Times".

pangkat_sa pamamagitan ng
Ang seksyong ito ay naglalaman ng mga listahan ng hanay para sa pangkat ng talahanayan_sa pamamagitan ng mga expression. Ang bawat linya ay nasa
ang format na tbl_name=column_list. Tingnan ang "GROUPING".

PAG-IISA


Maaari mong i-customize ang innotop nang mahusay. Halimbawa, maaari mong:

· Piliin kung aling mga talahanayan ang ipapakita, at sa anong pagkakasunud-sunod.

· Piliin kung aling mga column ang nasa mga talahanayang iyon, at lumikha ng mga bagong column.

· I-filter kung aling mga hilera ang ipinapakita gamit ang mga built-in na filter, mga filter na tinukoy ng gumagamit, at mabilis na-
mga filter.

· Pagbukud-bukurin ang mga hilera upang ilagay muna ang mahalagang data o pangkatin ang magkakaugnay na mga hilera.

· I-highlight ang mga hilera na may kulay.

· I-customize ang pagkakahanay, lapad, at pag-format ng mga column, at ilapat ang mga pagbabago
sa mga column upang kunin ang mga bahagi ng kanilang mga halaga o i-format ang mga halaga ayon sa gusto mo (para sa
halimbawa, pagpapaikli ng malalaking numero sa pamilyar na mga yunit).

· Idisenyo ang iyong sariling mga expression upang kunin at pagsamahin ang data ayon sa kailangan mo. Ito ay nagbibigay sa iyo
walang limitasyong kakayahang umangkop.

Ang lahat ng ito at higit pa ay ipinaliwanag sa mga sumusunod na seksyon.

Talahanayan
Ang isang talahanayan ang iyong inaasahan: isang koleksyon ng mga column. Mayroon din itong iba pang mga katangian,
tulad ng isang caption. Ang mga filter, mga panuntunan sa pag-uuri, at mga panuntunan sa pagkukulay ay nabibilang sa mga talahanayan at
ay sakop sa mga susunod na seksyon.

Sa panloob, ang meta-data ng talahanayan ay tinukoy sa isang istraktura ng data na tinatawag na %tbl_meta. Ang hash na ito
nagtataglay ng lahat ng built-in na kahulugan ng talahanayan, na naglalaman ng maraming default na mga tagubilin sa
innotop. Kasama sa meta-data ang caption, isang listahan ng mga column na na-customize ng user, a
listahan ng mga column, isang listahan ng mga nakikitang column, isang listahan ng mga filter, mga panuntunan sa kulay, isang sort-column
listahan, direksyon ng pag-uuri, at ilang impormasyon tungkol sa mga pinagmumulan ng data ng talahanayan. Karamihan dito
ay nako-customize sa pamamagitan ng table editor (tingnan ang "TABLE EDITOR").

Maaari mong piliin kung aling mga talahanayan ang ipapakita sa pamamagitan ng pagpindot sa '$' key. Tingnan ang "MODES" at "TABLES".

Ang table life-cycle ay ang mga sumusunod:

· Ang bawat talahanayan ay nagsisimula sa isang data source, na isang hanay ng mga hash. Tingnan sa ibaba para sa
mga detalye sa mga pinagmumulan ng datos.

· Ang bawat elemento ng data source ay nagiging isang row sa final table.

· Para sa bawat elemento sa pinagmulan ng data, kinukuha ng innotop ang mga halaga mula sa pinagmulan at
lumilikha ng isang hilera. Ang row na ito ay isa pang hash, na ang mga susunod na hakbang ay tatawagin bilang $set.
Ang mga value ng innotop extract ay tinutukoy ng mga column ng talahanayan. Ang bawat hanay ay may isang
extraction subroutine, na pinagsama-sama mula sa isang expression (tingnan ang "EXPRESSIONS"). Ang resulta
Ang row ay isang hash na ang mga key ay pinangalanang kapareho ng pangalan ng column.

· Sinasala ng innotop ang mga row, inaalis ang mga hindi kailangang ipakita. Tingnan mo
"Mga filter".

· innotop inaayos ang mga hilera. Tingnan ang "SORTING".

· Pinagsasama-sama ng innotop ang mga row, kung tinukoy. Tingnan ang "GROUPING".

· innotop colorizes ang mga hilera. Tingnan ang "COLORS".

· Binabago ng innotop ang mga halaga ng column sa bawat row. Tingnan ang "MGA TRANSFORMASYON".

· Opsyonal na pini-pivot ng innotop ang mga row (tingnan ang "PIVOTING"), pagkatapos ay sinasala at pinag-uuri ang mga ito.

· innotop na mga format at binibigyang-katwiran ang mga hilera bilang isang talahanayan. Sa hakbang na ito, nalalapat ang innotop
karagdagang pag-format sa mga halaga ng column, kabilang ang alignment, maximum at minimum
mga lapad. Ginagawa din ng innotop ang panghuling pagsusuri ng error upang matiyak na walang mga pag-crash dahil sa
hindi natukoy na mga halaga. innotop pagkatapos ay nagdaragdag ng caption kung tinukoy, at handa na ang talahanayan
print.

Ang lifecycle ay bahagyang naiiba kung ang talahanayan ay pivoted, tulad ng nabanggit sa itaas. Upang linawin,
kung ang talahanayan ay pivoted, ang proseso ay extract, group, transform, pivot, filter, sort,
lumikha. Kung hindi ito pivoted, ang proseso ay extract, filter, sort, group, color,
magbago, lumikha. Ang bahagyang kumplikadong proseso na ito ay hindi namamapa nang maayos sa SQL, ngunit
Ang pag-pivot ay nagpapalubha ng mga bagay nang lubusan. Sa madaling salita, pagsasala at pag-uuri
mangyari nang huli hangga't kinakailangan upang maisagawa ang pangwakas na resulta gaya ng maaari mong asahan, ngunit kasing aga pa
posible para sa kahusayan.

Ang bawat built-in na talahanayan ay inilarawan sa ibaba:

adaptive_hash_index
Nagpapakita ng data tungkol sa adaptive hash index ng InnoDB. Pinagmulan ng data: "STATUS_VARIABLES".

buffer_pool
Nagpapakita ng data tungkol sa buffer pool ng InnoDB. Pinagmulan ng data: "STATUS_VARIABLES".

cmd_summary
Ipinapakita ang mga variable na may timbang na katayuan. Pinagmulan ng data: "STATUS_VARIABLES".

deadlock_locks
Ipinapakita kung aling mga kandado ang hinawakan at hinintay ng huling natukoy na deadlock. Data
pinagmulan: "DEADLOCK_LOCKS".

deadlock_transactions
Ipinapakita ang mga transaksyong kasangkot sa huling natukoy na deadlock. Pinanggalingan ng Datos:
"DEADLOCK_TRANSACTIONS".

ipaliwanag
Ipinapakita ang output ng EXPLAIN. Pinagmulan ng data: "EXPLAIN".

file_io_misc
Nagpapakita ng data tungkol sa file ng InnoDB at mga pagpapatakbo ng I/O. Pinanggalingan ng Datos:
"STATUS_VARIABLES".

fk_error
Nagpapakita ng iba't ibang data tungkol sa huling foreign key error ng InnoDB. Pinanggalingan ng Datos:
"STATUS_VARIABLES".

innodb_locks
Ipinapakita ang mga InnoDB lock. Pinagmulan ng data: "INNODB_LOCKS".

innodb_transactions
Nagpapakita ng data tungkol sa mga kasalukuyang transaksyon ng InnoDB. Pinanggalingan ng Datos:
"INNODB_TRANSACTIONS".

insert_buffers
Nagpapakita ng data tungkol sa insert buffer ng InnoDB. Pinagmulan ng data: "STATUS_VARIABLES".

io_threads
Nagpapakita ng data tungkol sa mga I/O thread ng InnoDB. Pinagmulan ng data: "IO_THREADS".

log_statistics
Nagpapakita ng data tungkol sa sistema ng pag-log ng InnoDB. Pinagmulan ng data: "STATUS_VARIABLES".

master_status
Ipinapakita ang replication master status. Pinagmulan ng data: "STATUS_VARIABLES".

open_tables
Nagpapakita ng mga bukas na talahanayan. Pinagmulan ng data: "OPEN_TABLES".

page_statistics
Ipinapakita ang mga istatistika ng pahina ng InnoDB. Pinagmulan ng data: "STATUS_VARIABLES".

pending_io
Ipinapakita ang InnoDB na nakabinbing mga operasyon ng I/O. Pinagmulan ng data: "STATUS_VARIABLES".

listahan ng proseso
Ipinapakita ang kasalukuyang mga proseso ng MySQL (mga thread/koneksyon). Pinagmulan ng data: "PROCESSLIST".

q_header
Nagpapakita ng iba't ibang mga halaga ng katayuan. Pinagmulan ng data: "STATUS_VARIABLES".

row_operation_misc
Nagpapakita ng data tungkol sa mga pagpapatakbo ng row ng InnoDB. Pinagmulan ng data: "STATUS_VARIABLES".

row_operations
Nagpapakita ng data tungkol sa mga pagpapatakbo ng row ng InnoDB. Pinagmulan ng data: "STATUS_VARIABLES".

mga semaphore
Nagpapakita ng data tungkol sa mga semaphore at mutex ng InnoDB. Pinagmulan ng data: "STATUS_VARIABLES".

slave_io_status
Nagpapakita ng data tungkol sa slave I/O thread. Pinagmulan ng data: "STATUS_VARIABLES".

slave_sql_status
Nagpapakita ng data tungkol sa slave SQL thread. Pinagmulan ng data: "STATUS_VARIABLES".

t_header
Nagpapakita ng iba't ibang mga halaga ng katayuan ng InnoDB. Pinagmulan ng data: "STATUS_VARIABLES".

var_status
Nagpapakita ng data na nako-configure ng user. Pinagmulan ng data: "STATUS_VARIABLES".

wait_array
Nagpapakita ng data tungkol sa OS wait array ng InnoDB. Pinagmulan ng data: "OS_WAIT_ARRAY".

COLUMNS
Ang mga column ay nabibilang sa mga talahanayan. Maaari kang pumili ng mga column ng talahanayan sa pamamagitan ng pagpindot sa '^' key, na
sinisimulan ang "TABLE EDITOR" at hinahayaan kang pumili at mag-edit ng mga column. Ang pagpindot sa 'e' mula sa loob
hinahayaan ka ng editor ng talahanayan na i-edit ang mga katangian ng column:

· hdr: isang header ng column. Lumilitaw ito sa unang hilera ng talahanayan.

· lamang: katwiran. Ang ibig sabihin ng '-' ay left-justified at '' ay nangangahulugang right-justified, tulad ng
na may mga printf formatting code (hindi nagkataon).

· Disyembre: kung higit pang ihanay ang column sa decimal point.

· num: kung ang column ay numeric. Naaapektuhan nito kung paano pinagbubukod-bukod ang mga halaga (leksikal o
ayon sa bilang).

· label: isang maliit na tala tungkol sa column, na lumalabas sa mga dialog na makakatulong sa user
pumili ng mga column.

· src: isang expression na ginagamit ng innotop upang kunin ang data ng column mula sa pinagmulan nito (tingnan
"MGA PINAGMUMULAN NG DATA"). Tingnan ang "EXPRESSIONS" para sa higit pa sa mga expression.

· minw: tumutukoy ng pinakamababang lapad ng display. Nakakatulong ito na patatagin ang display, na
ginagawang mas madaling basahin kung ang data ay madalas na nagbabago.

· maxw: katulad ng minw.

· trans: isang listahan ng mga pagbabago sa column. Tingnan ang "MGA TRANSFORMASYON".

· agg: isang pinagsama-samang function. Tingnan ang "GROUPING". Ang default ay "una".

· aggonly: kinokontrol kung lalabas lang ang column kapag pinagana ang pagpapangkat sa talahanayan
(tingnan ang "GROUPING"). Bilang default, ito ay hindi pinagana. Nangangahulugan ito na ang mga column ay palaging magiging
ipinapakita bilang default, kung ang pagpapangkat ay pinagana o hindi. Kung nakatakda ang aggonly ng isang column
true, lalabas ang column kapag i-toggle mo ang pagpapangkat sa talahanayan. Ilang column
ay nakatakda sa ganitong paraan, gaya ng column ng bilang sa "processlist" at "innodb_transactions",
kaya hindi ka nakakakita ng bilang kapag hindi pinagana ang pagpapangkat, ngunit makikita mo kapag ito ay.

Mga filter
Tinatanggal ng mga filter ang mga hilera mula sa display. Sila ay kumikilos tulad ng isang sugnay na WHERE sa SQL.
Ang innotop ay may ilang mga built-in na filter, na nag-aalis ng hindi nauugnay na impormasyon tulad ng hindi aktibo
mga query, ngunit maaari mo ring tukuyin ang iyong sarili. Hinahayaan ka rin ng innotop na lumikha ng mga quick-filter,
na hindi nai-save sa configuration file, at isa lamang madaling paraan para mabilis na matingnan
ilang row lang.

Maaari mong paganahin o huwag paganahin ang isang filter sa anumang talahanayan. Pindutin ang '%' key (mnemonic: % looks
uri ng isang linya na sinasala sa pagitan ng dalawang bilog) at piliin kung aling talahanayan ang gusto mong gawin
filter, kung tatanungin. Makakakita ka pagkatapos ng listahan ng mga posibleng filter at listahan ng mga filter
kasalukuyang pinagana para sa talahanayang iyon. I-type ang mga pangalan ng mga filter na gusto mong ilapat at pindutin
Enter.

USER-DEFINE Mga filter

Kung nag-type ka ng pangalan na hindi umiiral, ipo-prompt ka ng innotop na gawin ang filter.
Madaling gawin ang mga filter kung alam mo ang Perl, at hindi mahirap kung hindi mo alam. Ang ginagawa mo
ay gumagawa ng subroutine na nagbabalik ng true kung ang row ay dapat ipakita. Ang hilera ay a
Ang hash reference ay ipinasa sa iyong subroutine bilang $set.

Halimbawa, isipin na gusto mong i-filter ang talahanayan ng processlist upang makita mo lamang ang mga query na iyon
ay tumatakbo nang higit sa limang minuto. Mag-type ng bagong pangalan para sa iyong filter, at kung kailan
sinenyasan para sa subroutine body, pindutin ang TAB para simulan ang awtomatikong pagkumpleto ng iyong terminal.
Makikita mo ang mga pangalan ng mga column sa table na "processlist" (pangkaraniwang sinusubukan ng innotop na
tulungan ka sa mga listahan ng awtomatikong pagkumpleto). Gusto mong mag-filter sa column na 'oras'. I-type ang
i-text ang "$set->{time} > 300" upang ibalik ang true kapag ang query ay higit sa limang minutong gulang.
Iyon lang ang kailangan mong gawin.

Sa madaling salita, ang code na iyong tina-type ay napapalibutan ng isang implicit na konteksto, na mukhang
ganito:

sub filter {
aking ($ set ) = @_;
# ANG IYONG CODE DITO
}

Kung hindi gumana ang iyong filter, o kung may ibang bagay na biglang kumilos nang iba, maaari mo
nakagawa ng error sa iyong filter, at tahimik na nahuhuli ng innotop ang error. Subukan mo
pagpapagana sa "debug" na gumawa ng innotop throw sa halip ng isang error.

MABILIS NA-FILTERS

Ang mga quick-filter ng innotop ay isang shortcut upang lumikha ng pansamantalang filter na hindi nagpapatuloy
kapag na-restart mo ang innotop. Para gumawa ng quick-filter, pindutin ang '/' key. kalooban ng innotop
prompt ka para sa pangalan ng column at filter na text. Muli, maaari mong gamitin ang auto-completion sa
mga pangalan ng column. Ang filter na text ay maaaring ang text lang na gusto mong "hanapin." Para sa
halimbawa, upang i-filter ang talahanayan ng "processlist" sa mga query na tumutukoy sa talahanayan ng mga produkto,
i-type ang '/' at pagkatapos ay 'info product'.

Ang teksto ng filter ay maaaring maging anumang regular na expression ng Perl, ngunit siyempre literal
string tulad ng 'produkto' ay gumagana nang maayos bilang isang regular na expression.

Sa likod ng mga eksena, kino-compile ng innotop ang quick-filter sa isang espesyal na naka-tag na filter
kung hindi tulad ng ibang filter. Hindi lang ito nai-save sa configuration file.

Upang i-clear ang mga quick-filter, pindutin ang '\' key at i-clear ng innotop ang mga ito nang sabay-sabay.

PAG-UURI
Ang innotop ay may matinong built-in na mga default para pagbukud-bukurin ang pinakamahalagang row sa itaas ng
mesa. Tulad ng anumang bagay sa innotop, maaari mong i-customize kung paano pinagbukud-bukod ang anumang talahanayan.

Upang simulan ang dialog ng pag-uuri, simulan ang "TABLE EDITOR" gamit ang '^' key, pumili ng table kung
kinakailangan, at pindutin ang 's' key. Makakakita ka ng listahan ng mga column na magagamit mo sa pag-uuri
expression at ang kasalukuyang uri ng expression, kung mayroon man. Maglagay ng listahan ng mga column kung saan ka
nais na ayusin at pindutin ang Enter. Kung gusto mong i-reverse sort, lagyan ng prefix ang pangalan ng column na may a
minus sign. Halimbawa, kung gusto mong pagbukud-bukurin ayon sa column a pataas, pagkatapos ay column b
pababa, i-type ang 'a -b'. Maaari ka ring tahasang magdagdag ng + sa harap ng mga column na gusto mo
uri pataas, ngunit hindi ito kinakailangan.

Ang ilang mga mode ay may mga key na nakamapa upang direktang buksan ang dialog na ito, at upang mabilis na baligtarin ang pag-uuri
direksyon. Pindutin ang '?' gaya ng dati upang makita kung aling mga key ang namamapa sa anumang mode.

PAGPAPAGPAPAKA
Ang innotop ay maaaring magpangkat, o magsama-sama, ng mga hilera nang magkakasama (ang mga termino ay ginagamit nang magkapalit). Ito
ay medyo katulad sa isang SQL GROUP BY clause. Maaari mong tukuyin ang pangkat sa ilang partikular na column,
o kung wala kang tinukoy, ang buong hanay ng mga hilera ay ituturing bilang isang pangkat. Ito ay
medyo katulad ng SQL sa ngayon, ngunit hindi tulad ng SQL, maaari ka ring pumili ng mga hindi nakagrupong column. innotop
talagang pinagsasama-sama ang bawat column. Kung hindi mo tahasang tinukoy ang pagpapangkat ng function,
ang default ay 'una'. Ito ay karaniwang isang kaginhawaan kaya hindi mo kailangang tukuyin ang isang
pinagsama-samang function para sa bawat column na gusto mo sa resulta.

Maaari mong mabilis na i-toggle ang pagpapangkat sa isang talahanayan gamit ang '=' key, na magpapalipat-lipat sa pinagsama-samang nito
ari-arian. Ang property na ito ay hindi nananatili sa config file.

Ang mga column kung saan nakapangkat ang talahanayan ay tinukoy sa group_by property nito. Kailan
Ino-on mo ang pagpapangkat, inilalagay ng innotop ang pangkat_ayon sa mga hanay sa dulong kaliwa ng talahanayan,
kahit na hindi sila dapat makita. Ang natitirang bahagi ng mga nakikitang column ay lilitaw sa
order pagkatapos nila.

Dalawang table ang may default na group_by na mga listahan at isang count column na built in: "processlist" at
"innodb_transactions". Ang pagpapangkat ay ayon sa koneksyon at katayuan, upang mabilis mong makita
kung gaano karaming mga query o transaksyon ang nasa isang ibinigay na status sa bawat server na iyong sinusubaybayan.
Ang mga column ng oras ay pinagsama-sama bilang kabuuan; ang ibang mga column ay naiwan sa default na 'first'
pagsasama-sama.

Bilang default, ang talahanayang ipinapakita sa "S: Variables & Status" mode ay gumagamit din ng pagpapangkat upang magawa mo
subaybayan ang mga variable at katayuan sa maraming mga server. Ang default na aggregation function sa
ang mode na ito ay 'avg'.

Ang mga wastong pagpapangkat na function ay tinukoy sa %agg_funcs hash. Kasama nila

una
Ibinabalik ang unang elemento sa pangkat.

bilangin
Ibinabalik ang bilang ng mga elemento sa pangkat, kabilang ang mga hindi natukoy na elemento, katulad ng
COUNT(*) ng SQL.

avg Ibinabalik ang average ng mga tinukoy na elemento sa pangkat.

sum Ibinabalik ang kabuuan ng mga elemento sa pangkat.

Narito ang isang halimbawa ng pagpapangkat sa trabaho. Ipagpalagay na mayroon kang isang napaka-abalang server na may daan-daan
ng mga bukas na koneksyon, at gusto mong makita kung gaano karaming mga koneksyon ang nasa anong status. Gamit
ang built-in na mga panuntunan sa pagpapangkat, maaari mong pindutin ang 'Q' para ipasok ang "Q: Query List" mode. Pindutin ang '='
upang i-toggle ang pagpapangkat (kung kinakailangan, piliin ang talahanayan ng "processlist" kapag sinenyasan).

Ang iyong display ay maaaring ganito na ngayon ang hitsura:

Listahan ng Query (? para sa tulong) localhost, 32:33, 0.11 QPS, 1 thd, 5.0.38-log

CXN Cmd Cnt ID User Host Time Query
localhost Query 49 12933 webusr localhost 19:38 SELECT * FROM
localhost Nagpapadala ng Da 23 2383 webusr localhost 12:43 SELECT col1,
localhost Sleep 120 140 webusr localhost 5:18:12
localhost Statistics 12 19213 webusr localhost 01:19 SELECT * FROM

Iyan ay talagang isang nakakabahala na larawan. Mayroon kang maraming idle na koneksyon (Sleep),
at ilang koneksyon na nagsasagawa ng mga query (Query at Pagpapadala ng Data). Okay lang yan, pero ikaw
mayroon ding marami sa katayuan ng Istatistika, sama-samang gumagastos sa loob ng isang minuto. Ibig sabihin ang
Ang query optimizer ay talagang nahihirapang i-optimize ang iyong mga pahayag. Ang isang bagay ay
mali; karaniwang tumatagal ng mga millisecond upang ma-optimize ang mga query. Baka hindi mo nakita
pattern na ito kung hindi mo tiningnan ang iyong mga koneksyon nang pinagsama-sama. (Ito ay gawa-gawa
halimbawa, ngunit maaari itong mangyari sa totoong buhay).

PIVOTING
Maaaring i-pivot ng innotop ang isang table para sa mas compact na display, katulad ng isang Pivot Table sa a
spreadsheet (kilala rin bilang crosstab). Ang pag-pivot ng talahanayan ay ginagawang mga hanay ang mga column. Ipagpalagay
magsimula ka sa talahanayang ito:

foo bar
=== ===
1 3
2 4

Pagkatapos mag-pivot, magiging ganito ang talahanayan:

pangalan set0 set1
==== ==== ====
foo 1 2
bar 3 4

Upang makakuha ng mga makatwirang resulta, maaaring kailanganin mong magpangkat pati na rin ang pag-pivot. innotop sa kasalukuyan
ginagawa ito para sa "S: Variables & Status" mode.

Mga Kulay
Bilang default, hina-highlight ng innotop ang mga row na may kulay para makita mo sa isang sulyap kung aling mga row
mas mahalaga. Maaari mong i-customize ang mga panuntunan sa colorization at idagdag ang iyong sarili sa anumang talahanayan.
Buksan ang editor ng talahanayan gamit ang '^' key, pumili ng table kung kinakailangan, at pindutin ang 'o' para buksan
ang dialog ng editor ng kulay.

Ipinapakita ng dialog ng editor ng kulay ang mga panuntunang inilapat sa talahanayan, sa pagkakasunud-sunod ng mga ito
sinusuri. Ang bawat row ay sinusuri laban sa bawat panuntunan upang makita kung ang panuntunan ay tumutugma sa row; kung
ginagawa nito, nakukuha ng row ang tinukoy na kulay, at walang karagdagang mga panuntunan ang susuriin. Mga panuntunan
hitsura ng mga sumusunod:

state eq Naka-lock ang itim sa_pula
cmd eq Matulog ng puti
user eq system user puti
cmd eq Connect puti
cmd eq Binlog Dump puti
oras > 600 pula
oras > 120 dilaw
oras > 60 berde
oras > 30 cyan

Ito ang default na panuntunang itinakda para sa talahanayan ng "processlist." Sa pagkakasunud-sunod ng priority, ang mga ito
Ginagawang itim ng mga panuntunan ang mga naka-lock na query sa pulang background, mula sa mga koneksyong "gray out".
replication at sleeping query, at gawing pula ang mga query mula sa cyan habang tumatakbo ang mga ito
mas mahaba.

(Para sa ilang kadahilanan, ang ANSI color code na "white" ay talagang isang light grey. Ang iyong terminal
maaaring mag-iba ang display; eksperimento upang mahanap ang mga kulay na gusto mo).

Maaari kang gumamit ng mga keystroke upang ilipat ang mga panuntunan pataas at pababa, na muling nag-aayos ng kanilang priyoridad. Ikaw
maaari ding magtanggal ng mga panuntunan at magdagdag ng mga bago. Kung magdaragdag ka ng bagong panuntunan, ipo-prompt ka ng innotop para sa
ang column, isang operator para sa paghahambing, isang halaga kung saan ihahambing ang column,
at isang kulay na itatalaga kung tumutugma ang panuntunan. Mayroong awtomatikong pagkumpleto at pag-prompt sa bawat isa
hakbang.

Ang halaga sa ikatlong hakbang ay kailangang wastong sipi. hindi sinusubukan ng innotop na mag-quote
ang halaga dahil hindi nito alam kung dapat nitong ituring ang halaga bilang isang string o a
numero. Kung nais mong ihambing ang haligi laban sa isang string, tulad ng halimbawa sa una
panuntunan sa itaas, dapat mong ilagay ang 'Naka-lock' na napapalibutan ng mga quote. Kung nakakakuha ka ng mensahe ng error
tungkol sa isang bareword, malamang na may sinipi ka.

MGA PAGPAPAHAYAG
Ang mga expression ay nasa ubod ng kung paano gumagana ang innotop, at ito ang nagbibigay-daan sa iyong mapalawak
innotop ayon sa gusto mo. Alalahanin ang talahanayan ng lifecycle na ipinaliwanag sa "TABLES". Ang mga ekspresyon ay
ginamit sa pinakamaagang hakbang, kung saan kinukuha nito ang mga value mula sa isang data source para bumuo ng mga row.

Ginagawa nito ito sa pamamagitan ng pagtawag ng subroutine para sa bawat column, pagpapasa dito ng source data set, a
hanay ng mga kasalukuyang halaga, at isang hanay ng mga nakaraang halaga. Ang lahat ng ito ay kailangan kaya ang
Maaaring kalkulahin ng subroutine ang mga bagay tulad ng pagkakaiba sa pagitan ng tik na ito at ng nauna
tik.

Ang mga subroutine na kumukuha ng data mula sa set ay pinagsama-sama mula sa mga expression. Ito
nagbibigay ng higit na kapangyarihan kaysa sa pagbibigay lamang ng mga halaga upang punan ang mga column, dahil ito
nagbibigay-daan sa halaga ng column na kalkulahin mula sa anumang data na kinakailangan, ngunit iniiwasan ang
kailangang magsulat ng kumplikado at mahabang Perl code.

Nagsisimula ang innotop sa isang string ng text na maaaring magmukhang kasing simple ng pangalan ng value o bilang
kumplikado bilang isang ganap na expression ng Perl. Tinitingnan nito ang bawat 'bareword' na token sa
string at magpapasya kung ito ay dapat na maging isang susi sa $set hash. Ang bareword ay isang
hindi naka-quote na halaga na hindi pa napapalibutan ng mga code-ish na bagay tulad ng mga dollar sign o kulot
mga bracket. Kung nagpasya ang innotop na ang bareword ay hindi isang function o iba pang wastong Perl code,
ginagawa itong hash access. Pagkatapos maproseso ang buong string, nag-compile ang innotop
isang subroutine, tulad nito:

sub compute_column_value {
my ($ set, $cur, $pre ) = @_;
my $val = # EXPANDED STRING PUMUNTA DITO
ibalik ang $val;
}

Narito ang isang kongkretong halimbawa, na kinuha mula sa header table na "q_header" sa "Q: Query List" mode.
Kinakalkula ng expression na ito ang qps, o Query Per Second, mga halaga ng column, mula sa
mga halagang ibinalik ng SHOW STATUS:

Mga Tanong/Uptime_hires

Ang innotop ay nagpasya na ang parehong mga salita ay barewords, at binago ang expression na ito sa
sumusunod na Perl code:

$set->{Questions}/$set->{Uptime_hires}

Kapag napapalibutan ng natitirang code ng subroutine, ito ay executable Perl that
kinakalkula ang isang high-resolution na query-per-second value.

Ang mga argumento sa subroutine ay pinangalanang $set, $cur, at $pre. Sa karamihan ng mga kaso, $set and
Ang $cur ay magiging parehong mga halaga. Gayunpaman, kung nakatakda ang "status_inc," hindi magiging pareho ang $cur
bilang $set, dahil ang $set ay maglalaman na ng mga value na ang incremental na pagkakaiba
sa pagitan ng $cur at $pre.

Ang bawat column sa innotop ay kinukuwenta ng mga subroutine na pinagsama-sama sa parehong paraan. meron
walang pagkakaiba sa pagitan ng mga built-in na column ng innotop at mga column na tinukoy ng user. Ito ay nagpapanatili
bagay na pare-pareho at predictable.

MGA PAGBABAGO
Binabago ng mga pagbabago kung paano nire-render ang isang value. Halimbawa, maaari silang kumuha ng ilang
segundo at ipakita ito sa format na H:M:S. Ang mga sumusunod na pagbabago ay tinukoy:

mangako
Nagdaragdag ng mga kuwit sa malalaking numero bawat tatlong decimal na lugar.

dulint_to_int
Tumatanggap ng dalawang unsigned integer at kino-convert ang mga ito sa isang longlong. Ito ay
kapaki-pakinabang para sa ilang partikular na operasyon sa InnoDB, na gumagamit ng dalawang integer bilang transaksyon
mga identifier, halimbawa.

walang_ctrl_char
Tinatanggal ang mga naka-quote na control character mula sa value. Naaapektuhan ito ng "charset"
variable ng pagsasaayos.

Gumagana lamang ang pagbabagong ito sa loob ng mga naka-quote na string, halimbawa, mga halaga sa isang SET
sugnay sa isang UPDATE na pahayag. Hindi nito babaguhin ang pahayag ng UPDATE, ngunit gagawin nito
i-collapse ang naka-quote na string sa [BINARY] o [TEXT], depende sa charset.

porsiyento
Kino-convert ang isang numero sa isang porsyento sa pamamagitan ng pagpaparami nito sa dalawa, pag-format nito gamit ang
"num_digits" na mga digit pagkatapos ng decimal point, at opsyonal na magdagdag ng percent sign (tingnan
"show_percent").

secs_to_time
Nag-format ng ilang segundo bilang format ng oras sa araw+oras:minuto:segundo.

set_precision
Nagpo-format ng mga numero na may "num_digit" na bilang ng mga digit pagkatapos ng decimal point.

paikliin
Nagpo-format ng numero bilang isang unit ng 1024 (k/M/G/T) at may "num_digits" na bilang ng mga digit
pagkatapos ng decimal point.

TABLE EDITOR
Hinahayaan ka ng innotop table editor na i-customize ang mga table na may mga keystroke. Umpisahan mo na ang mesa
editor na may '^' key. Kung mayroong higit sa isang talahanayan sa screen, ipo-prompt ka nito
upang pumili ng isa sa kanila. Kapag nagawa mo na, ang innotop ay magpapakita sa iyo ng ganito:

Pag-edit ng kahulugan ng talahanayan para sa Buffer Pool. Pindutin ang ? para sa tulong, q na huminto.

pangalan hdr label src
cxn CXN Koneksyon mula sa kung saan cxn
buf_pool_size Sukat Buffer pool size IB_bp_buf_poo
buf_free Libreng Bufs Buffer libre sa b IB_bp_buf_fre
pages_total Pages Pages total IB_bp_pages_t
pages_modified Dirty Pages Pages modified (marumi IB_bp_pages_m
buf_pool_hit_rate Hit Rate Buffer pool hit rate IB_bp_buf_poo
total_mem_alloc Memory Ang kabuuang memorya ay inilalaan ng IB_bp_total_m
add_pool_alloc Add'l Pool Additonal pool alloca IB_bp_add_poo

Ang unang linya ay nagpapakita kung aling talahanayan ang iyong ini-edit, at ipinapaalala sa iyo na muli na pindutin ang '?' para sa
listahan ng mga pangunahing pagmamapa. Ang natitira ay isang tabular na representasyon ng mga column ng talahanayan,
dahil malamang na iyon ang sinusubukan mong i-edit. Gayunpaman, maaari kang mag-edit ng higit pa sa
mga hanay ng talahanayan; maaaring simulan ng screen na ito ang editor ng filter, editor ng panuntunan ng kulay, at higit pa.

Ang bawat row sa display ay nagpapakita ng isang column sa table na iyong ine-edit, kasama ng isang
pares ng mga katangian nito gaya ng header at source na expression nito (tingnan ang "EXPRESSIONS").

Ang mga pangunahing pagmamapa ay Vim-style, tulad ng sa maraming iba pang mga lugar. Ang pagpindot sa 'j' at 'k' ay gumagalaw sa
i-highlight pataas o pababa. Pagkatapos ay maaari mong (d) tanggalin o (e) i-edit ang naka-highlight na column. Kaya mo
din (a) magdagdag ng column sa talahanayan. Ito ay aktuwal na ina-activate ang isa sa mga column na
tinukoy para sa talahanayan; sinenyasan ka nitong pumili mula sa mga column na available ngunit hindi
kasalukuyang ipinapakita. Sa wakas, maaari mong muling isaayos ang mga column gamit ang '+' at '-' key.

Magagawa mo ang higit pa sa pag-edit ng mga column gamit ang editor ng talahanayan, maaari mo ring i-edit ang iba
mga katangian, gaya ng expression ng pag-uuri ng talahanayan at pagpangkat ayon sa expression. Pindutin ang '?' upang makita
ang buong listahan, siyempre.

Kung gusto mo talagang i-customize at gumawa ng sarili mong column, kumpara sa pag-activate lang
isang built-in na hindi kasalukuyang ipinapakita, pindutin ang (n)ew key, at gagawin ng innotop
prompt ka para sa impormasyong kailangan nito:

· Ang pangalan ng column: ito ay kailangang isang salita na walang anumang nakakatawang character, hal
mga titik, numero at salungguhit.

· Ang header ng column: ito ang label na lumalabas sa tuktok ng column, sa
header ng talahanayan. Maaari itong magkaroon ng mga puwang at nakakatawang mga character, ngunit mag-ingat na huwag gumawa
masyado itong malawak at nag-aaksaya ng espasyo sa screen.

· Ang data source ng column: ito ay isang expression na tumutukoy kung anong data mula sa
source (tingnan ang "TABLES") innotop ay ilalagay sa column. Ito ay maaaring pangalan lamang ng
isang item sa pinagmulan, o maaari itong maging isang mas kumplikadong expression, tulad ng inilarawan sa
"MGA ESPRESYON".

Kapag nailagay mo na ang kinakailangang data, may bagong column ang iyong talahanayan. Walang
pagkakaiba sa pagitan ng column na ito at ng mga built-in; maaari itong magkaroon ng lahat ng parehong mga katangian
at pag-uugali. isusulat ng innotop ang kahulugan ng column sa configuration file, kaya
magpapatuloy ito sa mga session.

Narito ang isang halimbawa: ipagpalagay na gusto mong subaybayan kung ilang beses sinubukan muli ng iyong mga alipin
mga transaksyon. Ayon sa MySQL manual, ang Slave_retried_transactions status
variable ay nagbibigay sa iyo ng data na iyon: "Ang kabuuang bilang ng mga beses mula noong pagsisimula na ang
replication slave SQL thread ay muling sinubukan ang mga transaksyon. Ang variable na ito ay idinagdag sa bersyon
5.0.4." Ito ay angkop na idagdag sa table na "slave_sql_status".

Para idagdag ang column, lumipat sa replication-monitoring mode gamit ang 'M' key, at pindutin
ang '^' na susi upang simulan ang editor ng talahanayan. Kapag sinenyasan, piliin ang slave_sql_status bilang ang
table, pagkatapos ay pindutin ang 'n' para gawin ang column. I-type ang 'rettry' bilang pangalan ng column, 'Retries'
bilang header ng column, at 'Slave_retried_transactions' bilang source. Ngayon ang column ay
nilikha, at makikita mo muli ang screen ng editor ng talahanayan. Pindutin ang 'q' upang lumabas sa editor ng talahanayan,
at makikita mo ang iyong column sa dulo ng table.

VARIABLE Sets


Ginagamit ang mga variable set sa "S: Variables & Status" mode para mas madaling tukuyin kung ano
mga variable na gusto mong subaybayan. Sa likod ng mga eksena sila ay pinagsama-sama sa isang listahan ng
expression, at pagkatapos ay sa isang listahan ng hanay upang sila ay tratuhin tulad ng mga haligi sa alinman
iba pang talahanayan, sa mga tuntunin ng pagkuha at pagbabago ng data. Gayunpaman, protektado ka
mula sa nakakapagod na mga detalye sa pamamagitan ng isang syntax na dapat maging natural sa iyo: isang SQL SELECT
listahan.

Ang data source para sa mga variable set, at sa katunayan ang buong S mode, ay ang kumbinasyon ng
MAGPAKITA NG STATUS, MAGPAKITA NG MGA VARIABLE, at MAGPAKITA NG INNODB STATUS. Isipin na mayroon kang isang malaking mesa
na may isang column bawat variable na ibinalik mula sa mga pahayag na iyon. Iyan ang pinagmumulan ng data
variable set. Maaari mo na ngayong i-query ang data source na ito tulad ng iyong inaasahan. Halimbawa:

Mga Tanong, Uptime, Mga Tanong/Uptime bilang QPS

Sa likod ng mga eksena, hahatiin ng innotop ang variable na iyon sa tatlong expression, i-compile
ang mga ito at gawin ang mga ito sa isang kahulugan ng talahanayan, pagkatapos ay i-extract gaya ng dati. Ito ay nagiging a
"variable set," o isang "listahan ng mga variable na gusto mong subaybayan."

Hinahayaan ka ng innotop na pangalanan at i-save ang iyong mga variable set, at isulat ang mga ito sa configuration
file. Maaari mong piliin kung aling variable set ang gusto mong makita gamit ang 'c' key, o i-activate ang
susunod at nakaraang set na may mga '>' at '<' na mga key. Mayroong maraming mga built-in na variable set
gayundin, na dapat magbigay sa iyo ng magandang simula para sa paggawa ng sarili mo. Pindutin ang 'e' para i-edit ang
kasalukuyang hanay ng variable, o para lang makita kung paano ito tinukoy. Para gumawa ng bago, pindutin lang
'c' at i-type ang pangalan nito.

Maaaring gusto mong gamitin ang ilan sa mga function na nakalista sa "TRANSFORMATIONS" upang makatulong na i-format ang
resulta. Sa partikular, ang "set_precision" ay kadalasang kapaki-pakinabang upang limitahan ang bilang ng mga digit mo
tingnan mo. Ang pagpapalawak ng halimbawa sa itaas, narito kung paano:

Mga Tanong, Uptime, set_precision(Questions/Uptime) bilang QPS

Sa totoo lang, nangangailangan pa ito ng kaunting trabaho. Kung ang iyong "interval" ay mas mababa sa isa
pangalawa, maaaring hinahati mo sa zero dahil ang Uptime ay incremental sa mode na ito ng
default. Sa halip, gamitin ang Uptime_hires:

Mga Tanong, Uptime, set_precision(Questions/Uptime_hires) bilang QPS

Ang halimbawang ito ay simple, ngunit ipinapakita nito kung gaano kadaling piliin kung aling mga variable ang gusto mong gawin
monitor.

PLUGINS


Ang innotop ay may simple ngunit makapangyarihang mekanismo ng plugin kung saan maaari mong palawigin o baguhin ito
kasalukuyang functionality, at magdagdag ng bagong functionality. Ang pag-andar ng plugin ng innotop ay
batay sa kaganapan: nirerehistro ng mga plugin ang kanilang mga sarili upang tawagan kapag nangyari ang mga kaganapan. Sila ay mayroon
isang pagkakataon na maimpluwensyahan ang kaganapan.

Ang innotop plugin ay isang Perl module na inilagay sa direktoryo ng "plugin_dir" ng innotop. Sa UNIX
system, maaari kang maglagay ng simbolikong link sa module sa halip na ilagay ang aktwal na file
doon. Awtomatikong natutuklasan ng innotop ang file. Kung may kaukulang entry sa
ang seksyong configuration file ng "plugin", ang innotop ay naglo-load at ina-activate ang plugin.

Ang module ay dapat sumunod sa interface ng plugin ng innotop. Bukod pa rito, ang source code ng
ang module ay dapat na nakasulat sa paraang maaaring suriin ng innotop ang file at matukoy
ang pangalan ng package at paglalarawan.

pakete pinagmulan Kapulungan
sinusuri ng innotop ang pinagmulan ng module ng plugin upang matukoy ang pangalan ng package ng Perl. Parang
para sa isang linya ng form na "package Foo;" at kung natagpuan, isasaalang-alang ang pangalan ng package ng plugin sa
maging Foo. Siyempre ang pangalan ng pakete ay maaaring isang wastong pangalan ng pakete ng Perl, na may doble
semicolon at iba pa.

Naghahanap din ito ng isang paglalarawan sa source code, upang gawing mas tao ang editor ng plugin-
palakaibigan. Ang paglalarawan ay isang linya ng komento ng form na "# paglalarawan: Foo", kung saan ang "Foo"
ay ang text na innotop ay ituturing na paglalarawan ng plugin.

Isaksak interface
Ang interface ng innotop plugin ay medyo simple: inaasahan ng innotop na ang plugin ay isang object-
oriented na module maaari itong tumawag sa ilang mga pamamaraan sa. Ang mga pamamaraan ay

bago(%variables)
Ito ang tagabuo ng plugin. Ito ay ipinasa sa isang hash ng mga variable ng innotop, na
maaari itong manipulahin (tingnan ang "Mga Variable ng Plugin"). Dapat itong magbalik ng reference sa bago
nilikha plugin object.

Sa oras ng pagtatayo, ni-load lang ng innotop ang pangkalahatang configuration at ginawa
ang mga default na built-in na variable sa kanilang mga default na nilalaman (na medyo marami).
Samakatuwid, ang estado ng programa ay eksakto tulad ng sa innotop source code, kasama ang
configuration variable mula sa seksyong "pangkalahatan" sa config file.

Kung manipulahin ng iyong plugin ang mga variable, binabago nito ang pandaigdigang data, na ibinabahagi
sa pamamagitan ng innotop at lahat ng mga plugin. Ang mga plugin ay nilo-load sa pagkakasunud-sunod kung saan nakalista ang mga ito sa
config file. Maaaring mag-load ang iyong plugin bago o pagkatapos ng isa pang plugin, kaya mayroong isang
potensyal para sa salungatan o pakikipag-ugnayan sa pagitan ng mga plugin kung babaguhin nila ang iba pang data
ginagamit o binabago ng mga plugin.

register_for_events()
Ang pamamaraang ito ay dapat magbalik ng isang listahan ng mga kaganapan kung saan ang plugin ay interesado, kung mayroon man.
Tingnan ang "Mga Kaganapan sa Plugin" para sa mga tinukoy na kaganapan. Kung ang plugin ay nagbabalik ng isang kaganapan na hindi iyon
tinukoy, binabalewala ang kaganapan.

handler ng kaganapan
Ang plugin ay dapat magpatupad ng isang paraan na pinangalanang pareho sa bawat kaganapan kung saan mayroon ito
nakarehistro. Sa madaling salita, kung ang plugin ay nagbabalik ng qw(foo bar) mula sa
register_for_events(), dapat meron foo() at bar() paraan. Ang mga pamamaraang ito ay
callback para sa mga kaganapan. Tingnan ang "Mga Kaganapan sa Plugin" para sa higit pang mga detalye tungkol sa bawat kaganapan.

Isaksak Variable
Ang constructor ng plugin ay ipinasa sa isang hash ng mga variable ng innotop, na maaari nitong manipulahin.
Malamang na isang magandang ideya kung ang object ng plugin ay nagse-save ng kopya nito para magamit sa ibang pagkakataon. Ang
ang mga variable ay tinukoy sa innotop na variable na %pluggable_vars, at ang mga sumusunod:

aksyon_para
Isang hashref ng mga pangunahing pagmamapa. Ito ang mga pandaigdigang hot-key ng innotop.

agg_funcs
Isang hashref ng mga function na maaaring gamitin para sa pagpapangkat. Tingnan ang "GROUPING".

config
Ang global configuration hash.

koneksyon
Isang hashref ng mga detalye ng koneksyon. Ito ay mga detalye lamang kung paano
kumonekta sa isang server.

dbhs
Isang hashref ng mga koneksyon sa database ng innotop. Ito ay mga aktwal na bagay sa koneksyon ng DBI.

Filter
Isang hashref ng mga filter na inilapat sa mga row ng talahanayan. Tingnan ang "FILTERS" para sa higit pa.

mode
Isang hashref ng mga mode. Tingnan ang "MODES" para sa higit pa.

server_groups
Isang hashref ng mga pangkat ng server. Tingnan ang "SERVER GROUPS".

tbl_meta
Isang hashref ng meta-data ng talahanayan ng innotop, na may isang entry sa bawat talahanayan (tingnan ang "TABLES" para sa
karagdagang informasiyon).

trans_funcs
Isang hashref ng mga function ng pagbabago. Tingnan ang "MGA TRANSFORMASYON".

var_sets
Isang hashref ng mga variable set. Tingnan ang "VARIABLE NA SET".

Isaksak Mga Kaganapan
Ang bawat kaganapan ay tinukoy sa isang lugar sa innotop source code. Kapag pinatakbo ng innotop ang code na iyon,
ito ay nagpapatupad ng callback function para sa bawat plugin na nagpahayag ng interes nito sa
kaganapan. Ang innotop ay nagpapasa ng ilang data para sa bawat kaganapan. Ang mga pangyayari ay binibigyang kahulugan sa
%event_listener_for variable, at ang mga sumusunod:

extract_values($set, $cur, $pre, $tbl)
Ang kaganapang ito ay nangyayari sa loob ng function na kumukuha ng mga halaga mula sa isang data source. Ang
Ang mga argumento ay ang hanay ng mga halaga, ang kasalukuyang mga halaga, ang mga nakaraang halaga, at ang
pangalan ng talahanayan.

set_to_tbl
Ang mga kaganapan ay tinukoy sa maraming lugar sa subroutine na ito, na responsable para sa pagliko
isang arrayref ng mga hashref sa isang arrayref ng mga linya na maaaring i-print sa screen.
Ang mga kaganapan ay pumasa sa parehong data: isang arrayref ng mga hilera at ang pangalan ng talahanayan
nilikha. Ang mga kaganapan ay nakatakda_sa_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($lines)
Ang kaganapang ito ay nangyayari sa loob ng subroutine na nagpi-print ng mga linya sa screen. $linya
ay isang arrayref ng mga string.

Simple Isaksak halimbawa
Ang pinakamadaling paraan upang ipaliwanag ang functionality ng plugin ay marahil sa isang simpleng halimbawa.
Ang sumusunod na module ay nagdaragdag ng isang column sa simula ng bawat talahanayan at itinatakda ang halaga nito sa
1.

gumamit ng mahigpit;
gumamit ng mga babala FATAL => 'lahat';

package Innotop::Plugin::Halimbawa;
# paglalarawan: Nagdaragdag ng column na 'halimbawa' sa bawat talahanayan

sub new {
my ($class, %vars ) = @_;
# Mag-imbak ng reference sa mga variable ng innotop sa $self
my $self = bless { %vars }, $class;

# Idisenyo ang halimbawang column
aking $col = {
hdr => 'Halimbawa',
lang => '',
Disyembre => 0,
numero => 1,
label => 'Halimbawa',
src => 'halimbawa', # Kumuha ng data mula sa column na ito sa data source
tbl => '',
trans => [],
};

# Idagdag ang column sa bawat table.
aking $tbl_meta = $vars{tbl_meta};
foreach my $tbl ( values ​​%$tbl_meta ) {
# Idagdag ang column sa listahan ng mga tinukoy na column
$tbl->{cols}->{example} = $col;
# Idagdag ang column sa listahan ng mga nakikitang column
unshift @{$tbl->{visible}}, 'halimbawa';
}

# Siguraduhing ibalik ang isang sanggunian sa bagay.
ibalik ang $sarili;
}

# Gusto kong tawagan kapag ang isang set ng data ay nire-render sa isang talahanayan, mangyaring.
sub register_for_events {
my ($self) = @_;
return qw(set_to_tbl_pre_filter);
}

# Ang pamamaraang ito ay tatawagin kapag naganap ang kaganapan.
sub set_to_tbl_pre_filter {
my ($self, $rows, $tbl ) = @_;
# Itakda ang data source ng halimbawang column sa value 1.
foreach my $row ( @$rows ) {
$row->{example} = 1;
}
}

1;

Isaksak Editor
Hinahayaan ka ng editor ng plugin na tingnan ang mga plugin na natuklasan sa innotop at i-activate o i-deactivate
sila. Simulan ang editor sa pamamagitan ng pagpindot sa $ upang simulan ang configuration editor mula sa anumang mode.
Pindutin ang 'p' key upang simulan ang plugin editor. Makakakita ka ng listahan ng mga plugin na innotop
natuklasan. Maaari mong gamitin ang 'j' at 'k' key upang ilipat ang highlight sa nais,
pagkatapos ay pindutin ang * key upang i-toggle ito aktibo o hindi aktibo. Lumabas sa editor at i-restart ang innotop
para magkabisa ang mga pagbabago.

SQL Mga pahayag


Gumagamit ang innotop ng limitadong set ng mga SQL statement para kunin ang data mula sa MySQL para ipakita. Ang
ang mga pahayag ay na-customize depende sa bersyon ng server kung saan sila ay pinaandar;
halimbawa, sa MySQL 5 at mas bago, ang INNODB_STATUS ay nagpapatupad ng "SHOW ENGINE INNODB STATUS",
habang sa mga naunang bersyon ay ini-execute nito ang "SHOW INNODB STATUS". Ang mga pahayag ay bilang
sumusunod:

Naisagawa ang pahayag na SQL
====================================
INNODB_STATUS IPAKITA [ENGINE] INNODB STATUS
KILL_CONNECTION KILL
KILL_QUERY KILL QUERY
OPEN_TABLES IPAKITA OPEN TABLES
PROCESSLIST IPAKITA ANG BUONG PROCESSLIST
SHOW_MASTER_LOGS IPAKITA ANG MASTER LOGS
SHOW_MASTER_STATUS SHOW MASTER STATUS
SHOW_SLAVE_STATUS IPAKITA ANG SLAVE STATUS
SHOW_STATUS SHOW [GLOBAL] STATUS
SHOW_VARIABLES SHOW [GLOBAL] VARIABLES

DATA SOURCES


Sa bawat oras na kinukuha ng innotop ang mga halaga upang lumikha ng isang talahanayan (tingnan ang "EXPRESSIONS" at "TABLES"), ito
ginagawa ito mula sa isang partikular na data source. Higit sa lahat dahil sa kumplikadong data na nakuha mula sa
IPAKITA ANG INNODB STATUS, medyo magulo ito. Ang SHOW INNODB STATUS ay naglalaman ng pinaghalong
mga iisang value at paulit-ulit na value na bumubuo ng mga nested data set.

Sa tuwing kinukuha ng innotop ang data mula sa MySQL, nagdaragdag ito ng dalawang dagdag na bit sa bawat set: cxn at
Uptime_hires. Ang cxn ay ang pangalan ng koneksyon kung saan nanggaling ang data. Uptime_hires
ay isang high-resolution na bersyon ng Uptime status variable ng server, na mahalaga kung
ang iyong "interval" na setting ay sub-segundo.

Narito ang mga uri ng data source kung saan kinukuha ang data:

STATUS_VARIABLES
Ito ang pinakamalawak na kategorya, kung saan nahuhulog ang karamihan sa mga uri ng data. Nagsisimula ito sa
ang kumbinasyon ng SHOW STATUS at SHOW VARIABLE, ngunit maaaring isama ang ibang mga source
kung kinakailangan, halimbawa, SHOW MASTER STATUS at SHOW SLAVE STATUS, pati na rin ang marami sa
ang mga hindi paulit-ulit na halaga mula sa SHOW INNODB STATUS.

DEADLOCK_LOCKS
Ang data na ito ay kinuha mula sa listahan ng transaksyon sa PINAKAHULING NA-DETECTED NA DEADLOCK
seksyon ng SHOW INNODB STATUS. Ito ay nakalagay sa dalawang antas ng malalim: mga transaksyon, kung gayon
kandado

DEADLOCK_TRANSACTIONS
Ang data na ito ay mula sa listahan ng transaksyon sa LATEST DETECTED DEADLOCK na seksyon ng SHOW
INNODB STATUS. Ito ay nakapugad ng isang antas ng lalim.

HALIMBAWA
Ang data na ito ay mula sa set ng resulta na ibinalik ng EXPLAIN.

INNODB_TRANSACTIONS
Ang data na ito ay mula sa seksyong TRANSACTIONS ng SHOW INNODB STATUS.

IO_THREADS
Ang data na ito ay mula sa listahan ng mga thread sa FILE I/O na seksyon ng SHOW INNODB
STATUS.

INNODB_LOCKS
Ang data na ito ay mula sa seksyong MGA TRANSACTIONS ng SHOW INNODB STATUS at nakalagay sa dalawa
malalim na antas.

OPEN_TABLES
Ang data na ito ay mula sa SHOW OPEN TABLES.

PROCESSLIST
Ang data na ito ay mula sa SHOW FULL PROCESSLIST.

OS_WAIT_ARRAY
Ang data na ito ay mula sa seksyong SEMAPHORES ng SHOW INNODB STATUS at naka-nest sa isang antas
malalim. Ito ay nagmula sa mga linya na ganito ang hitsura:

--Naghintay ang thread 1568861104 sa btr0cur.c line 424 ....

MYSQL MGA PRIBilehiyo


· Dapat kang kumonekta sa MySQL bilang isang user na may SUPER pribilehiyo para sa marami sa
function.

· Kung wala kang SUPER pribilehiyo, maaari ka pa ring magpatakbo ng ilang function, ngunit hindi mo
kinakailangang makita ang lahat ng parehong data.

· Kailangan mo ng pribilehiyong PROCESS para makita ang listahan ng kasalukuyang tumatakbong mga query sa Q mode.

· Kailangan mo ng mga espesyal na pribilehiyo upang simulan at ihinto ang mga server ng alipin.

· Kailangan mo ng naaangkop na mga pribilehiyo upang lumikha at i-drop ang mga deadlock table kung kinakailangan (tingnan
"MGA KONEKSIYON NG SERVER").

SYSTEM MGA KINAKAILANGAN


Kailangan mo si Perl para magpatakbo ng innotop, siyempre. Kailangan mo rin ng ilang Perl module: DBI,
DBD::mysql, Term::ReadKey, at Oras::HiRes. Dapat itong isama sa karamihan ng Perl
mga pamamahagi, ngunit kung sakaling hindi sila, inirerekumenda ko ang paggamit ng mga bersyon na ipinamahagi kasama ng iyong
operating system o pamamahagi ng Perl, hindi mula sa CPAN. Term::ReadKey sa partikular ay mayroon
ay kilala na nagdudulot ng mga problema kung naka-install mula sa CPAN.

Kung mayroon kang Term::ANSIColor, gagamitin ito ng innotop para mas madaling ma-format ang mga header at
compactly. (Sa ilalim ng Microsoft Windows, kailangan mo rin ng Win32::Console::ANSI para sa terminal
pag-format ng mga code na dapat parangalan). Kung nag-install ka ng Term::ReadLine, mas mabuti
Term::ReadLine::Gnu, makakakuha ka ng magandang suporta sa auto-completion.

Nagpapatakbo ako ng innotop sa Gentoo GNU/Linux, Debian at Ubuntu, at nagkaroon ako ng feedback mula sa mga tao
matagumpay na pinapatakbo ito sa Red Hat, CentOS, Solaris, at Mac OSX. Wala akong makitang dahilan
bakit hindi ito gagana sa ibang UNIX-ish operating system, ngunit hindi ko alam kung sigurado. Ito rin
tumatakbo sa Windows sa ilalim ng ActivePerl nang walang problema.

ang innotop ay ginamit sa mga bersyon ng MySQL 3.23.58, 4.0.27, 4.1.0, 4.1.22, 5.0.26, 5.1.15,
at 5.2.3. Kung hindi ito gumagana nang tama para sa iyo, iyon ay isang bug na dapat iulat.

Gumamit ng innotop online gamit ang mga serbisyo ng onworks.net


Mga Libreng Server at Workstation

Mag-download ng Windows at Linux apps

  • 1
    Phaser
    Phaser
    Ang Phaser ay isang mabilis, libre, at masayang bukas
    source HTML5 game framework na nag-aalok
    WebGL at Canvas rendering sa kabuuan
    desktop at mobile web browser. Mga laro
    pwede maging co...
    I-download ang Phaser
  • 2
    VASSAL Engine
    VASSAL Engine
    Ang VASSAL ay isang game engine para sa paglikha
    mga elektronikong bersyon ng tradisyonal na board
    at mga laro ng card. Nagbibigay ito ng suporta para sa
    pag-render ng piraso ng laro at pakikipag-ugnayan,
    at ...
    I-download ang VASSAL Engine
  • 3
    OpenPDF - Fork ng iText
    OpenPDF - Fork ng iText
    Ang OpenPDF ay isang Java library para sa paglikha
    at pag-edit ng mga PDF file gamit ang LGPL at
    Lisensya ng open source ng MPL. Ang OpenPDF ay ang
    LGPL/MPL open source na kahalili ng iText,
    isang ...
    I-download ang OpenPDF - Fork ng iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - System para sa Automated
    Geoscientific Analyzes - ay isang Geographic
    Information System (GIS) software na may
    napakalawak na kakayahan para sa geodata
    pagproseso at ana...
    I-download ang SAGA GIS
  • 5
    Toolbox para sa Java/JTOpen
    Toolbox para sa Java/JTOpen
    Ang IBM Toolbox para sa Java / JTOpen ay isang
    library ng mga klase ng Java na sumusuporta sa
    client/server at internet programming
    mga modelo sa isang system na tumatakbo sa OS/400,
    i5/OS, o...
    I-download ang Toolbox para sa Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (o D3 para sa Data-Driven Documents)
    ay isang JavaScript library na nagbibigay-daan sa iyo
    upang makabuo ng dynamic, interactive na data
    visualization sa mga web browser. Sa D3
    ikaw...
    I-download ang D3.js
  • Marami pa »

Linux command

Ad