IngleseFranceseSpagnolo

Ad


Favicon di OnWorks

innotop - Online nel cloud

Esegui innotop nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando innotop che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici postazioni di lavoro online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


innotop - Monitoraggio delle transazioni/stato di MySQL e InnoDB.

SINOSSI


Per monitorare i server normalmente:

innotop

Per monitorare le informazioni sullo stato di InnoDB da un file:

innotop /var/log/mysql/mysqld.err

Per eseguire innotop in modo non interattivo in una configurazione pipe-and-filter:

innotop --count 5 -d 1 -n

Per monitorare un database su un altro sistema utilizzando un nome utente e una password particolari:

innotop -u -P -h

DESCRIZIONE


innotop controlla i server MySQL. Ciascuna delle sue modalità ti mostra un aspetto diverso di ciò che è
accadendo nel server. Ad esempio, esiste una modalità per monitorare la replica, una per
query e uno per le transazioni. innotop aggiorna periodicamente i suoi dati, quindi vedi un
aggiornamento della vista.

innotop ha molte funzionalità per utenti esperti, ma puoi avviarlo ed eseguirlo virtualmente
nessuna configurazione. Se hai appena iniziato, vedi "AVVIO RAPIDO". Premere '?' a qualsiasi
time durante l'esecuzione di innotop per un aiuto sensibile al contesto.

AVVIO RAPIDO


Per avviare innotop, apri un terminale o un prompt dei comandi. Se hai installato innotop su
il tuo sistema, dovresti essere in grado di digitare semplicemente "innotop" e premere Invio; altrimenti, tu
dovrà passare alla directory di innotop e digitare "perl innotop".

Senza opzioni specificate, innotop tenterà di connettersi a un server MySQL su localhost
usando mysql_read_default_group=client per altri parametri di connessione. Se hai bisogno di
specificare un nome utente e una password diversi, utilizzare rispettivamente le opzioni -u e -p. a
monitorare un database MySQL su un altro host, utilizzare l'opzione -h.

Dopo esserti connesso, innotop dovrebbe mostrarti qualcosa di simile a quanto segue:

[RO] Elenco query (? per aiuto) localhost, 01:11:19, 449.44 QPS, 14/7/163 con/run

CXN quando si carica QPS lento QCacheHit KCacheHit BpsIn BpsOut
host locale Totale 0.00 1.07 k 697 0.00% 98.17% 476.83 k 242.83 k

CXN Cmd ID Utente Host DB Time Query
localhost Query 766446598 test 10.0.0.1 foo 00:02 INSERT INTO tabella (

(Questo esempio viene troncato a destra in modo che si adatti a un terminale quando si esegue "man"
innotop')

Se il tuo server è occupato, vedrai più output. Notare la prima riga sullo schermo,
che ti dice che readonly è impostato su true ([RO]), in quale modalità sei e quale server
sei connesso. Puoi passare ad altre modalità premendo i tasti; premi 'T' per cambiare
ad un elenco di transazioni InnoDB, ad esempio.

Premi il '?' tasto per vedere quali tasti sono attivi nella modalità corrente. Puoi premere uno qualsiasi dei
questi tasti e innotop eseguiranno l'azione richiesta o richiederanno ulteriori input.
Se il tuo sistema ha il supporto Term::ReadLine, puoi utilizzare TAB e altri tasti per il completamento automatico
e modificare l'input.

Per uscire da innotop, premi il tasto 'q'.

VERSIONI


innotop è principalmente configurato tramite il suo file di configurazione, ma parte della configurazione
le opzioni possono provenire dalla riga di comando. Puoi anche specificare un file da monitorare per InnoDB
uscita di stato; vedere "MONITORAGGIO DI UN FILE" per maggiori dettagli.

Puoi negare alcune opzioni anteponendo il nome dell'opzione con --no. Ad esempio, --noinc
(o --no-inc) nega "--inc".

--colore
Abilita o disabilita la colorazione del terminale. Corrisponde all'impostazione del file di configurazione "colore".

--config
Specifica un file di configurazione da leggere. Questa opzione non è appiccicosa, vale a dire che
non persiste nel file di configurazione stesso.

--contare
Aggiorna solo il numero specificato di volte (tick) prima di uscire. Ogni aggiornamento è un
pausa per "intervalli" secondi, seguito dalla richiesta di dati dalle connessioni MySQL e
stamparlo sul terminale.

--ritardo
Specifica il tempo di pausa tra i tick (aggiornamenti). Corrisponde a
opzione di configurazione "intervallo".

--Aiuto
Stampa un riepilogo dell'utilizzo della riga di comando ed esci.

--ospite
Host a cui connettersi.

--inc
Specifica se innotop deve visualizzare numeri assoluti o numeri relativi (offset
dai loro valori precedenti). Corrisponde all'opzione di configurazione "status_inc".

--modalità
Specifica la modalità in cui deve essere avviato innotop. Corrisponde alla configurazione
opzione "modalità".

--nonno
Abilita il funzionamento non interattivo. Vedere "FUNZIONAMENTO NON INTERATTIVO" per ulteriori informazioni.

--parola d'ordine
Password da utilizzare per la connessione.

--porta
Porta da utilizzare per la connessione.

--skipcentral
Non leggere il file di configurazione centrale.

--utente
Utente da utilizzare per la connessione.

--versione
Informazioni sulla versione di output ed esci.

--Scrivi
Imposta l'opzione di configurazione "sola lettura" su 0, facendo in modo che innotop scriva l'esecuzione
configurazione a ~/.innotop/innotop.conf all'uscita, se non è stato caricato alcun file di configurazione
all'avvio.

TASTI DI SCELTA RAPIDA


innotop è interattivo e lo controlli con la pressione dei tasti.

· I tasti maiuscoli consentono di passare da una modalità all'altra.

· I tasti minuscoli avviano alcune azioni all'interno della modalità corrente.

· Altre chiavi fanno qualcosa di speciale come cambiare la configurazione o mostrare la licenza di innotop.

Premere '?' in qualsiasi momento per vedere le chiavi attualmente attive e cosa fanno.

MODALITA '


Ciascuna delle modalità di innotop recupera e visualizza un particolare tipo di dati dai server
stai monitorando. Si passa da una modalità all'altra con i tasti maiuscoli. Quello che segue è un
breve descrizione di ciascuna modalità, in ordine alfabetico. Per passare alla modalità, premere il tasto
chiave elencata davanti alla sua intestazione nell'elenco seguente:

B: Buffer InnoDB
Questa modalità visualizza le informazioni sul pool di buffer InnoDB, le statistiche della pagina, l'inserimento
buffer e indice hash adattivo. I dati provengono da SHOW INNODB STATUS.

Questa modalità contiene "buffer_pool", "page_statistics", "insert_buffers" e
Tabelle "adaptive_hash_index" per impostazione predefinita.

C: Riepilogo dei comandi
Questa modalità è simile alla modalità Riepilogo comandi di mytop. Mostra il "cmd_summary"
tabella, che ha un aspetto simile al seguente:

Riepilogo comandi (? per aiuto) localhost, 25+07:16:43, 2.45 QPS, 3°, 5.0.40
_____________________ Riepilogo comandi _____________________
Nome Valore Pct Ultima Incr Pct
Seleziona_scansione 3244858 69.89% 2 100.00%
Seleziona_intervallo 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%

La tabella di riepilogo dei comandi viene creata estraendo le variabili da "STATUS_VARIABLES".
Le variabili devono essere numeriche e devono corrispondere al prefisso dato da "cmd_filter"
variabile di configurazione. Le variabili vengono quindi ordinate per valore decrescente e
rispetto all'ultima variabile, come mostrato sopra. Le colonne della percentuale sono percentuali
del totale di tutte le variabili nella tabella, quindi puoi vedere il peso relativo del
variabili.

L'esempio mostra cosa vedi se il prefisso è "Select_". Il prefisso predefinito è
"Com_". Puoi scegliere un prefisso con il tasto 's'.

È un po' come eseguire SHOW VARIABLES LIKE "prefix%" con memoria e nice
formattazione.

I valori vengono aggregati su tutti i server. Le colonne Pct non sono corrette
aggregati su più server. Questa è una limitazione nota del raggruppamento
algoritmo che potrebbe essere corretto in futuro.

D: Deadlock InnoDB
Questa modalità mostra le transazioni coinvolte nell'ultimo deadlock di InnoDB. Un secondo tavolo
mostra i blocchi che ogni transazione ha tenuto e atteso. Un deadlock è causato da un ciclo
nel grafico waits-for, quindi dovrebbero esserci due lock mantenuti e uno atteso a meno che
le informazioni sul deadlock vengono troncate.

InnoDB mette le informazioni di deadlock prima di altre informazioni nello SHOW INNODB
STATO uscita. Se ci sono molti blocchi, le informazioni sullo stallo possono crescere molto
grande e c'è un limite alla dimensione dell'output SHOW INNODB STATUS. un grande
il deadlock può riempire l'intero output, o addirittura essere troncato, e impedirti di vedere
tutte le altre informazioni. Se stai eseguendo innotop in un'altra modalità, ad esempio T
modalità, e all'improvviso non vedi nulla, potresti voler controllare e vedere se a
il deadlock ha cancellato i dati di cui hai bisogno.

Se lo è, puoi creare un piccolo deadlock per sostituire quello grande. Usa il tasto 'w'
per "cancellare" lo stallo grande con uno piccolo. Questo non funzionerà a meno che tu non lo abbia
definita una tabella di deadlock per la connessione (vedi "CONNESSIONI SERVER").

Puoi anche configurare innotop per rilevare automaticamente quando è necessario un grande deadlock
essere sostituito con uno piccolo (vedi "auto_wipe_dl").

Questa modalità visualizza le tabelle "deadlock_transactions" e "deadlock_locks" per impostazione predefinita.

F: Errori di chiave esterna InnoDB
Questa modalità mostra le ultime informazioni sull'errore della chiave esterna InnoDB, come la tabella in cui
è successo, quando e chi e quale query l'ha causato, e così via.

InnoDB ha un'enorme varietà di messaggi di errore di chiave esterna e molti di loro sono semplicemente
difficile da analizzare. innotop non sempre fa il miglior lavoro qui, ma c'è così tanto codice
dedicato all'analisi di questo output disordinato e non analizzabile che probabilmente innotop non sarà mai
perfetto in questo senso. Se innotop non ti mostra cosa devi vedere, guarda
direttamente al testo di stato.

Questa modalità visualizza la tabella "fk_error" per impostazione predefinita.

Io: Informazioni I/O InnoDB
Questa modalità mostra le statistiche di I/O di InnoDB, inclusi i thread di I/O, I/O in sospeso, file
I/O vari e statistiche di registro. Visualizza "io_threads", "pending_io",
Tabelle "file_io_misc" e "log_statistics" per impostazione predefinita.

L: serrature
Questa modalità mostra le informazioni sui blocchi attuali. Al momento sono presenti solo i lock InnoDB
supportato e per impostazione predefinita vedrai solo i blocchi per i quali le transazioni sono in attesa.
Queste informazioni provengono dalla sezione TRANSAZIONI del testo di stato di InnoDB. Se
hai un server molto occupato, potresti avere frequenti attese di blocco; aiuta essere in grado di
vedere quali tabelle e indici sono il "punto caldo" per i blocchi. Se il tuo server è in esecuzione
abbastanza bene, questa modalità non dovrebbe mostrare nulla.

Puoi configurare MySQL e innotop per monitorare non solo i blocchi per i quali una transazione
sta aspettando, ma anche quelli attualmente detenuti. Puoi farlo con InnoDB Lock
Tenere sotto controllo (http://dev.mysql.com/doc/en/innodb-monitor.html>). Non è documentato in
il manuale di MySQL, ma creando anche il monitor di blocco con la seguente istruzione
influisce sull'output di SHOW INNODB STATUS, che innotop utilizza:

CREATE TABLE innodb_lock_monitor(a int) MOTORE=INNODB;

Questo fa sì che InnoDB stampi il suo output sul file MySQL ogni 16 secondi circa, come
indicato nel manuale, ma include anche il normale output SHOW INNODB STATUS
informazioni di blocco, che innotop può analizzare e visualizzare (questo è il non documentato
caratteristica).

Ciò significa che puoi fare ciò che potrebbe sembrare impossibile: in misura limitata (InnoDB
tronca alcune informazioni nell'output), puoi vedere quale transazione contiene il
si blocca qualcos'altro sta aspettando. Puoi anche abilitare e disabilitare InnoDB Lock
Monitorare con le mappature dei tasti in questa modalità.

Questa modalità visualizza la tabella "innodb_locks" per impostazione predefinita. Ecco un esempio dello schermo
quando una connessione è in attesa di blocchi, un'altra connessione mantiene:

_________________________________ Serrature InnoDB __________________________
Tipo di ID CXN Attesa Attesa Modalità attiva Indice tabella DB
localhost 12 RECORD 1 00:10 00:10 X test t1 PRIMARIO
localhost 12 TABELLA 0 00:10 00:10 IX test t1
localhost 12 RECORD 1 00:10 00:10 X test t1 PRIMARIO
localhost 11 TABELLA 0 00:00 00:25 IX test t1
localhost 11 RECORD 0 00:00 00:25 X test t1 PRIMARIO

Puoi vedere che la prima connessione, ID 12, è in attesa di un blocco sulla chiave PRIMARIA acceso
test.t1 ed è in attesa da 10 secondi. La seconda connessione non sta aspettando,
perché la colonna Waiting è 0, ma contiene blocchi sullo stesso indice. Questo ti dice
la connessione 11 sta bloccando la connessione 12.

M: Stato di replica master/slave
Questa modalità mostra l'output di SHOW SLAVE STATUS e SHOW MASTER STATUS in tre
tabelle. I primi due dividono lo stato dello slave in SQL e stato del thread I/O, e
l'ultimo mostra lo stato del master. I filtri vengono applicati per eliminare i server non slave da
le tabelle slave e i server non master dalla tabella master.

Questa modalità visualizza "slave_sql_status", "slave_io_status" e "master_status"
tabelle per impostazione predefinita.

O: Tavoli aperti
Questa sezione proviene dal comando SHOW OPEN TABLES di MySQL. Per impostazione predefinita è filtrato
per mostrare le tabelle utilizzate da una o più query, in modo da poter dare una rapida occhiata
quali tavoli sono "caldi". Puoi usarlo per indovinare quali tabelle potrebbero essere bloccate
implicitamente.

Questa modalità visualizza la modalità "open_tables" per impostazione predefinita.

D: Elenco delle query
Questa modalità visualizza l'output di SHOW FULL PROCESSLIST, proprio come il mio topl'elenco delle query
modalità. Questa modalità lo fa non mostra le informazioni relative a InnoDB. Questo è probabilmente uno di
le modalità più utili per l'uso generale.

C'è un'intestazione informativa che mostra informazioni generali sullo stato del tuo
server. Puoi attivarlo e disattivarlo con il tasto "h". Per impostazione predefinita, innotop si nasconde
processi inattivi e il proprio processo. Puoi attivarli e disattivarli con la "i"
e i tasti "a".

Puoi SPIEGARE una query da questa modalità con il tasto 'e'. Questo mostra la query
testo completo, i risultati di EXPLAIN e, nelle versioni più recenti di MySQL, anche quella ottimizzata
query risultante da EXPLAIN EXTENDED. innotop prova anche a riscrivere alcune query
per renderli capaci di SPIEGARE. Ad esempio, le istruzioni INSERT/SELECT sono riscrivibili.

Questa modalità visualizza le tabelle "q_header" e "processlist" per impostazione predefinita.

R: Operazioni di riga e semafori InnoDB
Questa modalità mostra le operazioni di riga di InnoDB, varie operazioni di riga, i semafori e
informazioni dall'array wait. Visualizza le "riga_operazioni",
Tabelle "row_operation_misc", "semaphores" e "wait_array" per impostazione predefinita.

S: Variabili e stato
Questa modalità calcola le statistiche, come le query al secondo, e le stampa in
diversi stili. Puoi mostrare valori assoluti o valori incrementali tra
zecche.

È possibile passare da una visualizzazione all'altra premendo un tasto. Il tasto 's' stampa una singola riga
ogni volta che lo schermo si aggiorna, nello stile di vmstat. Il tasto 'g' cambia la vista in
un grafico degli stessi numeri, una specie di simile caricare. Il tasto 'v' cambia la visualizzazione in a
tabella pivot dei nomi delle variabili a sinistra, con aggiornamenti successivi che scorrono attraverso
lo schermo da sinistra a destra. Puoi scegliere quanti aggiornamenti mettere sullo schermo
con la variabile di configurazione "num_status_sets".

Le intestazioni possono essere abbreviate per adattarsi allo schermo durante il funzionamento interattivo. Tu scegli
quali variabili visualizzare con il tasto 'c', che seleziona da insiemi predefiniti, oppure
ti permette di creare i tuoi set. È possibile modificare il set corrente con il tasto 'e'.

Questa modalità non mostra alcuna tabella come le altre modalità. Invece, usa a
definizione della tabella per estrarre e formattare i dati, ma poi trasforma il risultato in
modi speciali prima di emetterlo. Usa la definizione della tabella "var_status" per
Questo.

T: Transazioni InnoDB
Questa modalità mostra le transazioni dall'output del monitor InnoDB, in top-come formato.
Questa modalità è la ragione per cui ho scritto innotop.

Puoi terminare query o processi con i tasti 'k' e 'x' e SPIEGARE una query con
i tasti "e" o "f". InnoDB non stampa l'intera query nelle transazioni, quindi
la spiegazione potrebbe non funzionare correttamente se la query viene troncata.

L'intestazione informativa può essere attivata e disattivata con il tasto 'h'. Per impostazione predefinita,
innotop nasconde le transazioni inattive e la propria transazione. Puoi attivarlo
e via con i tasti 'i' e 'a'.

Questa modalità visualizza le tabelle "t_header" e "innodb_transactions" per impostazione predefinita.

INNOTOP STATUS


La prima riga visualizzata da innotop è una sorta di "barra di stato". Da cosa contiene dipende
la modalità in cui ti trovi e quali server stai monitorando. Le prime parole sono sempre
[RO] (se readonly è impostato su 1), la modalità innotop, come "InnoDB Txns" per la modalità T,
seguito da un promemoria per premere '?' per aiuto in qualsiasi momento.

ONE SERVER
Il caso più semplice è quando stai monitorando un singolo server. In questo caso, il nome di
la connessione è successiva sulla riga di stato. Questo è il nome che hai dato quando hai creato il
connection -- molto probabilmente il nome host del server MySQL. Questo è seguito dal server
tempo di attività.

Se sei in una modalità InnoDB, come T o B, la parola successiva è "InnoDB" seguita da alcune
informazioni sull'output SHOW INNODB STATUS utilizzato per il rendering dello schermo. La prima parola
è il numero di secondi dall'ultimo SHOW INNODB STATUS, che InnoDB usa per calcolare
alcune statistiche al secondo. La prossima è una faccina sorridente che indica se InnoDB
l'output è troncato. Se la faccina sorridente è un :-), va tutto bene; non c'è troncamento. UN
:^| significa che l'elenco delle transazioni è così lungo che InnoDB ha stampato solo alcune delle
transazioni. Infine, un cipiglio :-( significa che l'output è incompleto, il che è probabilmente dovuto
a un deadlock che stampa troppe informazioni di blocco (vedere "D: Deadlock InnoDB").

Le due parole successive indicano le query al secondo (QPS) del server e quanti thread
(connessioni) esistono. Infine, il numero di versione del server è l'ultima cosa sulla linea.

MULTIPLA SERVER
Se stai monitorando più server (vedi "CONNESSIONI SERVER"), la riga di stato lo fa
non mostra alcun dettaglio sui singoli server. Invece, mostra i nomi dei
connessioni attive. Di nuovo, questi sono i nomi di connessione che hai specificato, che sono
probabilmente è il nome host del server. Una connessione che presenta un errore è preceduta da an
punto esclamativo.

Se stai monitorando un gruppo di server (vedi "GRUPPI DI SERVER"), la riga di stato mostra il
nome del gruppo. Se una qualsiasi connessione nel gruppo presenta un errore, il nome del gruppo è
seguito dalla frazione delle connessioni che non presentano errori.

Vedere "GESTIONE DEGLI ERRORI" per maggiori dettagli sulla gestione degli errori di innotop.

MONITORAGGIO A RISORSE
Se dai un nome file sulla riga di comando, innotop non si connetterà a NESSUN server su
tutto. Guarderà il file specificato per l'output dello stato di InnoDB e lo utilizzerà come dati
fonte. Mostrerà sempre una singola connessione chiamata "file". E poiché non può
connettersi a un server, non può determinare da quanto tempo è attivo il server che sta monitorando;
quindi calcola il tempo di attività del server come tempo dall'inizio dell'esecuzione di innotop.

SERVER AMMINISTRAZIONE


Sebbene innotop sia principalmente un monitor che ti consente di guardare e analizzare i tuoi server, può
inviare anche comandi ai server. I comandi più frequentemente utili stanno uccidendo le query
e l'arresto o l'avvio degli schiavi.

Puoi terminare una connessione o, nelle versioni più recenti di MySQL, terminare una query ma non un
connessione, dalle modalità "Q: Query List" e "T: InnoDB Transactions". Premi 'k' per emettere a
Comando KILL o 'x' per inviare un comando KILL QUERY. innotop ti chiederà il
server e/o ID di connessione da uccidere (innotop non ti chiede se ce n'è solo uno
possibile scelta per qualsiasi input). innotop preseleziona la query più lunga o il
connessione più antica. Conferma il comando con 'y'.

In "Stato replica slave"" in "M: modalità Master, è possibile avviare e arrestare gli slave con il
rispettivamente i tasti "a" e "o". Puoi inviare questi comandi a più slave contemporaneamente.
innotop inserisce un comando predefinito START SLAVE o STOP SLAVE per te, ma puoi
modifica effettivamente il comando e invia tutto ciò che desideri, ad esempio SET GLOBAL
SQL_SLAVE_SKIP_COUNTER=1 per fare in modo che lo slave salti un evento binlog all'avvio.

Puoi anche chiedere a innotop di calcolare il primo binlog in uso da qualsiasi slave e di emettere a
PURGE MASTER LOGS sul master. Usa il tasto 'b' per questo. innotop ti chiederà un
master su cui eseguire il comando, quindi ti chiederà i nomi di connessione di quel master
slave (non c'è modo per innotop di determinarlo in modo affidabile da solo). innotop troverà
il binlog minimo in uso da queste connessioni slave e suggeriscilo come argomento per
ELIMINA LOG MASTER.

SERVER COLLEGAMENTI


Quando crei una connessione al server usando '@', innotop ti chiede una serie di input, come
segue:

DSN Un DSN è un Data Source Name, che è l'argomento iniziale passato al modulo DBI
per la connessione a un server. Di solito è della forma

DBI:mysql:;mysql_read_default_group=mysql;host=NOMEHOST

Poiché questo DSN viene passato al driver DBD::mysql, dovresti leggere i driver
documentazione su "/search.cpan.org/dist/DBD-mysql/lib/DBD/mysql.pm"" in "http: per
dettagli esatti su tutte le opzioni che puoi passare al conducente nel DSN. Puoi leggere
di più su DBI suhttp://dbi.perl.org/docs/>, e soprattutto a
<http://search.cpan.org/~timb/DBI/DBI.pm>.

L'opzione mysql_read_default_group=mysql consente al driver DBD di leggere le opzioni MySQL
file come ~/.mio.cnf su sistemi UNIX. Puoi usarlo per evitare di specificare a
nome utente o password per la connessione.

Tabella deadlock InnoDB
Questo elemento facoltativo indica a innotop un nome di tabella che può utilizzare per creare deliberatamente un
piccolo deadlock (vedi "D: Deadlock InnoDB"). Se specifichi questa opzione, hai solo bisogno
per essere sicuro che la tabella non esista e che innotop possa creare e rilasciare la tabella
con il motore di archiviazione InnoDB. Puoi tranquillamente omettere o semplicemente accettare l'impostazione predefinita se lo fai
non intendo usare questo.

Nome utente
innotop ti chiederà se vuoi specificare un nome utente. Se dici "y", allora lo farà
chiederti un nome utente. Se hai un file di opzioni MySQL che specifica il tuo
nome utente, non è necessario specificare un nome utente.

Il nome utente predefinito è il tuo nome di accesso sul sistema su cui stai eseguendo innotop.

Password
innotop ti chiederà se vuoi specificare una password. Come il nome utente, il
la password è facoltativa, ma è presente un messaggio aggiuntivo che chiede se si desidera salvare
la password nel file di configurazione di innotop. Se non lo salvi nel
file di configurazione, innotop ti chiederà una password ogni volta che si avvia.
Le password nel file di configurazione di innotop vengono salvate in testo semplice, non crittografate in
Comunque.

Una volta che hai finito di rispondere a queste domande, dovresti essere connesso a un server. Ma
innotop non si limita al monitoraggio di un singolo server; puoi definire molti server
connessioni e passare dall'una all'altra premendo il tasto '@'. Vedi "COMMUTAZIONE TRA
CONNESSIONI".

SERVER GRUPPI


Se disponi di più istanze MySQL, puoi inserirle in gruppi denominati, ad esempio "all",
'master' e 'slave', che innotop può monitorare tutti insieme.

Puoi scegliere quale gruppo monitorare con il tasto '#' e puoi premere il tasto TAB per
passare al gruppo successivo. Se al momento non stai monitorando un gruppo, premi TAB
seleziona il primo gruppo.

Per creare un gruppo, premi il tasto '#' e digita il nome del tuo nuovo gruppo, quindi digita
i nomi delle connessioni che vuoi che il gruppo contenga.

COMMUTAZIONE TRA COLLEGAMENTI


innotop ti consente di cambiare rapidamente i server che stai monitorando. Il modo più semplice è di
premendo il tasto '@' e digitando i nomi delle connessioni che si desidera utilizzare. Questo
l'impostazione è per modalità, quindi puoi monitorare diverse connessioni in ciascuna modalità e innotop
ricorda quali connessioni scegli.

È possibile passare rapidamente alla connessione "successiva" in ordine alfabetico con il tasto "n".
Se stai monitorando un gruppo di server (vedi "GRUPPI DI SERVER") questo passerà al primo
connessione.

Puoi anche digitare molti nomi di connessione e innotop recupererà e visualizzerà i dati da essi
tutto. Basta separare i nomi delle connessioni con spazi, ad esempio "server1 server2".
Di nuovo, se digiti il ​​nome di una connessione che non esiste, innotop te lo chiederà
per informazioni sulla connessione e creare la connessione.

Un altro modo per monitorare più connessioni contemporaneamente è con i gruppi di server. Puoi usare
il tasto TAB per passare al gruppo "successivo" in ordine alfabetico, o se non lo sei
monitorando eventuali gruppi, TAB passerà al primo gruppo.

innotop non recupera i dati in parallelo dalle connessioni, quindi se stai monitorando un grande
gruppo o molte connessioni, potresti notare un aumento del ritardo tra i tick.

Quando monitori più di una connessione, la barra di stato di innotop cambia. Vedi "INNOTOP
STATO".

ERRORE TRATTAMENTO


La gestione degli errori non è così importante quando si monitora una singola connessione, ma è cruciale
quando hai molte connessioni attive. Un server in crash o una connessione persa non dovrebbero
crash innotop. Di conseguenza, innotop continuerà a funzionare anche in caso di errore; esso
semplicemente non visualizzerà alcuna informazione dalla connessione che ha avuto un errore. Per colpa di
questo, il comportamento di innotop potrebbe confonderti. È una caratteristica, non un bug!

innotop non continua a interrogare le connessioni che presentano errori, perché potrebbero rallentare
innotop e lo rendono difficile da usare, soprattutto se l'errore è un problema di connessione e
provoca un lungo time-out. Invece, innotop ritenta la connessione di tanto in tanto per vedere se
l'errore esiste ancora. Se è così, aspetterà fino a un certo punto in futuro. L'attesa
il tempo aumenta in tick come la serie di Fibonacci, quindi prova meno frequentemente come il tempo
passa.

Poiché gli errori potrebbero verificarsi solo in determinate modalità a causa dei comandi SQL emessi in
quelle modalità, innotop tiene traccia di quale modalità ha causato l'errore. Se passi a a
modalità diversa, innotop riproverà la connessione invece di aspettare.

Per impostazione predefinita innotop visualizzerà il problema in rosso nella parte inferiore della prima tabella
sullo schermo. Puoi disabilitare questo comportamento con "show_cxn_errors_in_tbl"
opzione di configurazione, che è abilitata per impostazione predefinita. Se l'opzione "debug" è abilitata,
innotop visualizzerà l'errore nella parte inferiore di ogni tabella, non solo nella prima. E se
"show_cxn_errors" è abilitato, innotop stamperà anche il testo dell'errore su STDOUT. Errore
i messaggi potrebbero essere visualizzati solo nella modalità che ha causato l'errore, a seconda della modalità e
se innotop sta evitando di interrogare quella connessione.

NON INTERATTIVO FUNZIONAMENTO


Puoi eseguire innotop in modalità non interattiva, nel qual caso è interamente controllato da
il file di configurazione e le opzioni della riga di comando. Per avviare innotop in non interattivo
mode, dare l'opzione della riga di comando L"<--nonint">. Questo cambia il comportamento di innotop nel
seguenti modi:

· Alcuni moduli Perl non vengono caricati. Termine:: Readline non è caricato, poiché innotop
non richiede in modo interattivo. Termine::ANSIColor e Win32::Console::I moduli ANSI sono
non caricato. Termine::ReadKey è ancora utilizzato, poiché innotop potrebbe dover richiedere
password di connessione all'avvio.

· innotop non cancella lo schermo dopo ogni tick.

· innotop non mantiene alcuna modifica al file di configurazione.

· Se viene fornito "--count" e innotop è in modalità incrementale (vedi "status_inc" e
"--inc"), innotop si aggiorna effettivamente una volta in più rispetto a quanto specificato in modo che possa stampare
statistiche incrementali. Questo sopprime l'output durante il primo tick, quindi innotop può
sembrano pendere.

· innotop visualizza solo la prima tabella in ogni modalità. Questo è così l'output può essere
facilmente elaborato con altre utilità della riga di comando come awk e sed. Cambiare
quali tabelle vengono visualizzate in ciascuna modalità, vedere "TABELLE". Poiché la modalità "Q: Elenco query" è così
importante, innotop disabilita automaticamente la tabella "q_header". Questo ti assicura
vedere la tabella "processlist", anche se innotop è configurato per mostrare q_header
tavolo durante il funzionamento interattivo. Allo stesso modo, in modalità "T: Transazioni InnoDB", il
La tabella "t_header" viene soppressa in modo da visualizzare solo la tabella "innodb_transactions".

· Tutto l'output è separato da tabulazioni invece di essere allineato a colonne con spazi bianchi e
innotop stampa l'intero contenuto di ogni tabella invece di stampare solo una schermata
Al tempo.

· innotop stampa le intestazioni di colonna solo una volta invece di ogni tick (vedi "hide_hdr").
innotop non stampa le didascalie delle tabelle (vedi "display_table_captions"). innotop assicura
non ci sono righe vuote nell'output.

· innotop non onora la trasformazione "accorcia", che normalmente ne accorcia alcuni
numeri in formati leggibili dall'uomo.

· innotop non stampa una riga di stato (vedi "INNOTOP STATUS").

CONFIGURAZIONE


Quasi tutto su innotop è configurabile. La maggior parte delle cose è possibile cambiare con
comandi incorporati, ma puoi anche modificare il file di configurazione.

Durante l'esecuzione di innotop, premere il tasto '$' per visualizzare la finestra di dialogo di modifica della configurazione.
Premere un altro tasto per selezionare il tipo di dati che si desidera modificare:

S: Dichiarazione sui tempi di sonno
Modifica i ritardi di sospensione dell'istruzione SQL, che mettono in pausa innotop per la quantità specificata di
tempo dopo l'esecuzione di una dichiarazione. Vedere "istruzione SQL" per una definizione di ciascuno
dichiarazione e cosa fa. Per impostazione predefinita, innotop non ritarda dopo alcuna dichiarazione.

Questa funzione è inclusa in modo da poter personalizzare gli effetti collaterali causati dal monitoraggio
il tuo server Potresti non vedere alcun effetto, ma alcuni utenti di innotop lo hanno notato
alcune versioni di MySQL sotto carico molto elevato con InnoDB abilitato richiedono più tempo del solito
per eseguire MOSTRA STATO GLOBALE. Se innotop chiama MOSTRA ELENCO PROCESSO COMPLETO immediatamente
in seguito, l'elenco dei processi contiene più query di quante la macchina effettivamente media a
ogni dato momento. Configurare innotop per mettere in pausa brevemente dopo aver chiamato SHOW GLOBAL
STATUS allevia questo effetto.

I tempi di sospensione sono memorizzati nella sezione "stmt_sleep_times" del file di configurazione.
Sono supportati i periodi di sospensione della frazione di secondo, soggetti alle limitazioni dell'hardware.

c: Modifica colonne
Avvia l'editor delle tabelle su una delle tabelle visualizzate. Vedi "EDITOR TABELLA". Un
un modo alternativo per avviare l'editor di tabelle senza entrare nella finestra di configurazione è
con il tasto '^'.

g: Configurazione generale
Avvia l'editor di configurazione per modificare la configurazione globale e specifica della modalità
variabili (vedi "MODI"). innotop ti chiede di scegliere una variabile tra le
quelli globali e specifici della modalità a seconda della modalità corrente.

k: Regole per la colorazione delle righe
Avvia l'editor delle regole di colorazione delle righe su una delle tabelle visualizzate. Vedi "COLORI"
per i dettagli.

p: Gestisci plugin
Avvia l'editor di configurazione del plugin. Vedere "PLUGIN" per i dettagli.

s: gruppi di server
Consente di creare e modificare gruppi di server. Vedere "GRUPPI DI SERVER".

t: scegli le tabelle visualizzate
Consente di scegliere quali tabelle visualizzare in questa modalità. Vedi "MODALITÀ" e "TABELLE".

CONFIGURAZIONE RISORSE


I percorsi dei file di configurazione predefiniti di innotop sono $HOME/.innotop e
/etc/innotop/innotop.conf e vengono cercati in questo ordine. Se il primo
file di configurazione esiste, il secondo non verrà elaborato. Questi possono essere sovrascritti con
l'opzione della riga di comando "--config". Puoi modificarlo a mano in modo sicuro, tuttavia innotop legge
il file di configurazione all'avvio e, se readonly è impostato su 0, lo scrive di nuovo
quando esce. Pertanto, se readonly è impostato su 0, tutte le modifiche apportate manualmente mentre innotop
è in esecuzione andrà perso.

innotop non memorizza la sua intera configurazione nel file di configurazione. Ha un enorme
set di valori di configurazione predefiniti che conserva solo in memoria e la configurazione
file sovrascrive solo questi valori predefiniti. Quando personalizzi un'impostazione predefinita, innotop
avvisi e quindi memorizza le personalizzazioni nel file. Ciò mantiene la dimensione del file ridotta,
semplifica la modifica e semplifica gli aggiornamenti.

Un file di configurazione è di sola lettura per impostazione predefinita. Puoi sovrascriverlo con "--write". Vedere
"sola lettura".

Il file di configurazione è organizzato in sezioni come un file INI. Ogni sezione inizia
con [nome-sezione] e termina con [/nome-sezione]. Le voci di ogni sezione hanno un
sintassi diversa a seconda dei dati che devono memorizzare. Puoi inserire commenti nel
file; qualsiasi riga che inizia con un carattere # è un commento. innotop non leggerà il
commenti, quindi non li riscriverà nel file quando esce. Commenti in lettura-
solo i file di configurazione sono comunque utili.

La prima riga del file è il numero di versione di innotop. Ciò consente a innotop di notare quando il
il formato del file non è compatibile con le versioni precedenti e si aggiorna senza problemi senza distruggere il tuo
configurazione personalizzata.

L'elenco seguente descrive ogni sezione del file di configurazione e i dati che contiene
contiene:

generale
La sezione 'generale' contiene variabili di configurazione globali e variabili che possono
essere specifico della modalità, ma non appartenere a nessun'altra sezione. La sintassi è semplice
chiave=elenco valori. innotop scrive un commento sopra ogni valore per aiutarti a modificare il file
a mano.

S_funzione
Controlla la presentazione in modalità S (vedi "S: Variabili e stato"). Se g, i valori sono
grafico; se s, i valori sono come vmstat; se p, i valori sono in una tabella pivot.

S_insieme
Specifica quale insieme di variabili visualizzare in modalità "S: Variabili e stato". Vedere
"INSIEME VARIABILE".

auto_wipe_dl
Indica a innotop di cancellare automaticamente i deadlock di grandi dimensioni quando li nota.
Quando ciò accade potresti notare un leggero ritardo. Al prossimo segno di spunta, lo farai
di solito vedono le informazioni che venivano troncate dal grande deadlock.

set di caratteri
Specifica che tipo di caratteri consentire attraverso "no_ctrl_char"
trasformazione. Ciò impedisce ai caratteri non stampabili di confondere un terminale
quando si monitorano query che contengono dati binari, come le immagini.

L'impostazione predefinita è 'ascii', che considera qualsiasi cosa al di fuori del normale ASCII come a
carattere di controllo. Gli altri valori consentiti sono "unicode" e "none". 'nessuno'
considera ogni carattere un carattere di controllo, che può essere utile per il collasso
TUTTI i campi di testo nelle query.

cmd_filtro
Questo è il prefisso che filtra le variabili in modalità "C: Riepilogo comandi".

colore
Se è consentita la colorazione del terminale.

cxn_timeout
Nelle versioni di MySQL 4.0.3 e successive, questa variabile viene utilizzata per impostare la connessione
timeout, quindi MySQL non chiude la connessione se non viene utilizzato per un po'.
Ciò potrebbe accadere perché una connessione non è monitorata in una modalità particolare, per
esempio.

mettere a punto
Questa opzione consente errori più dettagliati e rende innotop più rigoroso in alcuni
posti. Può aiutare nel debug di filtri e altro codice definito dall'utente. anche
fa in modo che innotop scriva molte informazioni nel "file di debug" quando si verifica un arresto anomalo.

file di debug
Un file in cui innotop scriverà le informazioni in caso di arresto anomalo. Vedere
"FILE".

display_table_captions
innotop mostra una didascalia sopra la maggior parte delle tabelle. Questa variabile sopprime o
mostra le didascalie su tutte le tabelle a livello globale. Alcune tabelle sono configurate con il
hide_caption, che lo sovrascrive.

globale
Se mostrare le variabili e lo stato GLOBALI. innotop prova a farlo solo su
server che supportano l'opzione GLOBAL per SHOW VARIABLES e SHOW STATUS. In
alcune versioni di MySQL, hai bisogno di determinati privilegi per farlo; se non ce l'hai
loro, innotop non sarà in grado di recuperare alcuna variabile e dati di stato. Questo
la variabile di configurazione ti consente di eseguire innotop e recuperare i dati che puoi anche
senza privilegi elevati.

Non riesco più a trovare o riprodurre la situazione in cui GLOBAL non era consentito, ma io
sapere che ce n'era uno.

grafico_carattere
Definisce il carattere da utilizzare quando si disegnano grafici in modalità "S: Variabili e stato".

intestazione_evidenzia
Definisce come evidenziare le intestazioni di colonna. Funziona solo se Term::ANSIColor è
a disposizione. I valori validi sono "grassetto" e "sottolineato".

nascondi_hdr
Nasconde le intestazioni di colonna a livello globale.

intervallo
L'intervallo in cui innotop aggiornerà i suoi dati (tick). L'intervallo è
implementato come un tempo di sonno tra i tick, quindi il vero intervallo varierà
a seconda di quanto tempo impiega innotop per recuperare e visualizzare i dati.

Questa variabile accetta frazioni di secondo.

modo
La modalità in cui dovrebbe avviarsi innotop. Gli argomenti consentiti sono gli stessi di
pressioni dei tasti che selezionano una modalità in modo interattivo. Vedere "MODALITÀ".

num_cifre
Quante cifre mostrare in numeri frazionari e percentuali. L'intervallo di questa variabile
è compreso tra 0 e 9 e può essere impostato direttamente dalla modalità "S: Variabili e stato" con
i tasti '+' e '-'. Viene utilizzato in "set_precision", "shorten" e "percent"
trasformazioni.

num_status_set
Controlla quanti insiemi di variabili di stato visualizzare in "S: Variabili e
"Stato". Controlla anche il numero di vecchi set di variabili che innotop mantiene
nella sua memoria, quindi più grande è questa variabile, più memoria utilizza innotop.

plugin_dir
Specifica dove possono essere trovati i plugin. Per impostazione predefinita, innotop memorizza i plugin nel
sottodirectory "plugins" della directory di configurazione di innotop.

in sola lettura
Se il file di configurazione è di sola lettura. Questo non può essere impostato in modo interattivo.

mostra_cxn_errors
Crea errori di connessione di stampa innotop a STDOUT. Vedere "GESTIONE DEGLI ERRORI".

show_cxn_errors_in_tbl
Crea errori di connessione display innotop come righe nella prima tabella sullo schermo. Vedere
"GESTIONE DEGLI ERRORI".

mostra_percentuale
Aggiunge un carattere '%' dopo il valore restituito dalla trasformazione "percentuale".

mostra_barra di stato
Controlla se mostrare la barra di stato sul display. Vedere "STATO INNOTOP".

skip_innodb
Disabilita il recupero di SHOW INNODB STATUS, nel caso in cui i tuoi server non abbiano InnoDB
abilitato e non vuoi che innotop provi a recuperarlo. Anche questo può essere utile
quando non si dispone del privilegio SUPER, necessario per eseguire SHOW INNODB STATUS.

stato_inc
Se mostrare valori assoluti o incrementali per le variabili di stato. incrementale
i valori sono calcolati come un offset dall'ultimo valore innotop saw per questo
variabile. Questa è un'impostazione globale, ma probabilmente diventerà specifica della modalità a
un certo punto. In questo momento è onorato in modo un po' incoerente; alcune modalità non pagano
attenzione ad esso.

i plugin
Questa sezione contiene un elenco di nomi di pacchetti di plugin attivi. Se il plugin esiste,
innotop lo attiverà. Vedere "PLUGIN" per ulteriori informazioni.

filtri
Questa sezione contiene i filtri definiti dall'utente (vedi "FILTRI"). Ogni riga è nel formato
filter_name=text='filter text' tbls='table list'.

Il testo del filtro è il testo del codice della subroutine. L'elenco delle tabelle è un elenco di
tabelle a cui può essere applicato il filtro. Per impostazione predefinita, i filtri definiti dall'utente si applicano al
tabella per cui sono stati creati, ma puoi sovrascriverla manualmente modificando il pulsante
definizione nel file di configurazione.

filtri_attivi
Questa sezione memorizza quali filtri sono attivi su ciascuna tabella. Ogni riga è nel
formato nome_tabella=elenco_filtro.

tbl_meta
Questa sezione memorizza le colonne definite dall'utente o personalizzate dall'utente (vedi "COLONNE"). Ogni
la riga è nel formato col_name=properties, dove le proprietà sono a
nome=elenco di valori tra virgolette.

connessioni
Questa sezione contiene le connessioni al server che hai definito. Ogni riga è nel
formato nome=proprietà, dove le proprietà sono una lista nome=valore. Le proprietà
sono autoesplicativi e l'unico che viene trattato in modo speciale è "pass" che è
presente solo se è impostato 'savepass'. Questa sezione del file di configurazione sarà
ignorato se vengono utilizzate opzioni della riga di comando DSN, nome utente o password. Vedi "SERVER
CONNESSIONI".

active_connections
Questa sezione contiene un elenco di quali connessioni sono attive in ciascuna modalità. Ogni riga è
nel formato mode_name=connection_list.

gruppi_server
Questa sezione contiene i gruppi di server. Ogni riga è nel formato name=connection_list.
Vedere "GRUPPI DI SERVER".

gruppi_server_attivi
Questa sezione contiene un elenco di quale gruppo di server è attivo in ciascuna modalità. Ogni riga è
nel formato mode_name=server_group.

valori_max_visti
Questa sezione contiene i valori massimi visti per le variabili. Questo è usato per ridimensionare il
grafici in modalità "S: Variabili e stato". Ogni riga è nel formato nome=valore.

colonne_attive
Questa sezione contiene elenchi di colonne della tabella. Ogni riga è nel formato
tbl_name=column_list. Vedi "COLONNE".

sort_cols
Questa sezione contiene la definizione di ordinamento. Ogni riga è nel formato
tbl_name=column_list. Se una colonna è preceduta da '-', quella colonna viene ordinata in modo decrescente.
Vedere "ORDINAMENTO".

tabelle_visibili
Questa sezione definisce quali tabelle sono visibili in ciascuna modalità. Ogni riga è nel
formato nome_modalità=elenco_tabella. Vedi "TABELLE".

varset
Questa sezione definisce gli insiemi di variabili da utilizzare in modalità "S: Stato e variabili". Ogni linea
è nel formato nome=elenco_variabili. Vedere "INSIEME DI VARIABILI".

Colori
Questa sezione definisce le regole di colorazione. Ogni riga è nel formato
tbl_name=property_list. Vedi "COLORI".

stmt_sleep_times
Questa sezione contiene istruzioni sui tempi di sospensione. Ogni riga è nel formato
statement_name=sleep_time. Vedere "S: Tempi di sonno dell'istruzione".

raggruppare per
Questa sezione contiene elenchi di colonne per le espressioni group_by della tabella. Ogni riga è in
il formato tbl_name=column_list. Vedi "GRUPPO".

PERSONALIZZAZIONE


Puoi personalizzare innotop molto. Ad esempio, puoi:

· Scegliere quali tabelle visualizzare e in quale ordine.

· Scegli quali colonne sono in quelle tabelle e crea nuove colonne.

· Filtra le righe visualizzate con filtri integrati, filtri definiti dall'utente e
filtri.

· Ordinare le righe per mettere prima i dati importanti o raggruppare le righe correlate.

· Evidenzia le righe con il colore.

· Personalizza l'allineamento, la larghezza e la formattazione delle colonne e applica le trasformazioni
alle colonne per estrarre parti dei loro valori o formattare i valori come desideri (per
esempio, accorciando i grandi numeri a unità familiari).

· Progetta le tue espressioni per estrarre e combinare i dati di cui hai bisogno. Questo ti dà
flessibilità illimitata.

Tutto questo e altro sono spiegati nelle sezioni seguenti.

TABELLE
Una tabella è ciò che ti aspetteresti: una raccolta di colonne. Ha anche altre proprietà,
come una didascalia. I filtri, le regole di ordinamento e le regole di colorazione appartengono a tabelle e
sono trattati nelle sezioni successive.

Internamente, i metadati della tabella sono definiti in una struttura dati chiamata %tbl_meta. questo hash
contiene tutte le definizioni di tabella integrate, che contengono molte istruzioni predefinite per
innotop. I metadati includono la didascalia, un elenco di colonne che l'utente ha personalizzato, a
elenco di colonne, un elenco di colonne visibili, un elenco di filtri, regole di colore, una colonna di ordinamento
elenco, direzione di ordinamento e alcune informazioni sulle origini dati della tabella. La maggior parte di questo
è personalizzabile tramite l'editor di tabelle (vedi "EDITOR DI TABELLE").

Puoi scegliere quali tabelle mostrare premendo il tasto '$'. Vedi "MODALITÀ" e "TABELLE".

Il ciclo di vita della tabella è il seguente:

· Ogni tabella inizia con un'origine dati, che è un array di hash. Vedi sotto per
dettagli sulle fonti dei dati.

· Ogni elemento dell'origine dati diventa una riga nella tabella finale.

· Per ogni elemento nell'origine dati, innotop estrae i valori dall'origine e
crea una riga. Questa riga è un altro hash, che i passaggi successivi chiameranno $set.
I valori estratti innotop sono determinati dalle colonne della tabella. Ogni colonna ha un
subroutine di estrazione, compilata da un'espressione (vedi "ESPRESSIONI"). Il risultato
riga è un hash le cui chiavi hanno lo stesso nome del nome della colonna.

· innotop filtra le righe, rimuovendo quelle che non devono essere visualizzate. Vedere
"FILTRI".

· innotop ordina le righe. Vedere "ORDINAMENTO".

· innotop raggruppa le righe, se specificato. Vedi "GRUPPO".

· innotop colora le righe. Vedi "COLORI".

· innotop trasforma i valori delle colonne in ogni riga. Vedi "TRASFORMAZIONI".

· innotop facoltativamente ruota le righe (vedi "PIVOTING"), quindi le filtra e le ordina.

· innotop formatta e giustifica le righe come una tabella. Durante questo passaggio, si applica innotop
ulteriore formattazione ai valori della colonna, inclusi allineamento, massimo e minimo
larghezze. innotop esegue anche il controllo finale degli errori per garantire che non vi siano arresti anomali dovuti a
valori indefiniti. innotop quindi aggiunge una didascalia se specificata e la tabella è pronta per
stampare.

Il ciclo di vita è leggermente diverso se la tabella è ruotata, come indicato sopra. Chiarire,
se la tabella è pivot, il processo è estrazione, raggruppamento, trasformazione, pivot, filtro, ordinamento,
creare. Se non è pivot, il processo è estrarre, filtrare, ordinare, raggruppare, colorare,
trasformare, creare. Questo processo leggermente contorto non mappa molto bene su SQL, ma
il pivoting complica le cose abbastanza a fondo. In parole povere, filtraggio e ordinamento
accadere il più tardi necessario per ottenere il risultato finale come ci si potrebbe aspettare, ma non appena
possibile per l'efficienza.

Ciascuna tabella integrata è descritta di seguito:

Adaptive_hash_index
Visualizza i dati sull'indice hash adattivo di InnoDB. Origine dati: "STATUS_VARIABLES".

buffer_pool
Visualizza i dati sul pool di buffer di InnoDB. Origine dati: "STATUS_VARIABLES".

cmd_riepilogo
Visualizza le variabili di stato ponderate. Origine dati: "STATUS_VARIABLES".

deadlock_lock
Mostra quali blocchi sono stati mantenuti e attesi dall'ultimo deadlock rilevato. Dati
fonte: "DEADLOCK_LOCKS".

deadlock_transazioni
Mostra le transazioni coinvolte nell'ultimo deadlock rilevato. Fonte di dati:
"DEADLOCK_TRANSACTIONS".

spiegare
Mostra l'output di EXPLAIN. Fonte dei dati: "SPIEGARE".

file_io_misc
Visualizza i dati sui file di InnoDB e sulle operazioni di I/O. Fonte di dati:
"STATO_VARIABILI".

errore_fk
Visualizza vari dati sull'ultimo errore di chiave esterna di InnoDB. Fonte di dati:
"STATO_VARIABILI".

innodb_locks
Visualizza i blocchi InnoDB. Fonte dei dati: "INNODB_LOCKS".

innodb_transazioni
Visualizza i dati sulle transazioni correnti di InnoDB. Fonte di dati:
"INNODB_TRANSACTIONS".

inserire_buffer
Visualizza i dati sul buffer di inserimento di InnoDB. Origine dati: "STATUS_VARIABLES".

io_thread
Visualizza i dati sui thread di I/O di InnoDB. Origine dati: "IO_THREADS".

log_statistiche
Visualizza i dati sul sistema di registrazione di InnoDB. Origine dati: "STATUS_VARIABLES".

stato_master
Visualizza lo stato del master di replica. Origine dati: "STATUS_VARIABLES".

open_tables
Visualizza le tabelle aperte. Origine dati: "OPEN_TABLES".

pagina_statistiche
Visualizza le statistiche della pagina InnoDB. Origine dati: "STATUS_VARIABLES".

in attesa_io
Visualizza le operazioni di I/O in attesa di InnoDB. Origine dati: "STATUS_VARIABLES".

lista processi
Visualizza i processi MySQL correnti (thread/connessioni). Fonte dei dati: "ELENCO DI PROCESSO".

q_intestazione
Visualizza vari valori di stato. Origine dati: "STATUS_VARIABLES".

riga_operazione_misc
Visualizza i dati sulle operazioni di riga di InnoDB. Origine dati: "STATUS_VARIABLES".

riga_operazioni
Visualizza i dati sulle operazioni di riga di InnoDB. Origine dati: "STATUS_VARIABLES".

semafori
Visualizza i dati sui semafori e sui mutex di InnoDB. Origine dati: "STATUS_VARIABLES".

stato_slavo_io
Visualizza i dati sul thread di I/O slave. Origine dati: "STATUS_VARIABLES".

stato_slave_sql
Visualizza i dati sul thread SQL slave. Origine dati: "STATUS_VARIABLES".

t_intestazione
Visualizza vari valori di stato di InnoDB. Origine dati: "STATUS_VARIABLES".

var_status
Visualizza i dati configurabili dall'utente. Origine dati: "STATUS_VARIABLES".

wait_array
Visualizza i dati sull'array di attesa del sistema operativo di InnoDB. Origine dati: "OS_WAIT_ARRAY".

COLONNE
Le colonne appartengono alle tabelle. Puoi scegliere le colonne di una tabella premendo il tasto '^', che
avvia "EDITOR TABELLA" e consente di scegliere e modificare le colonne. Premendo 'e' dall'interno
l'editor della tabella consente di modificare le proprietà della colonna:

· hdr: un'intestazione di colonna. Questo appare nella prima riga della tabella.

· giusto: giustificazione. '-' significa giustificato a sinistra e '' significa giustificato a destra, proprio come
con codici di formattazione printf (non a caso).

· dec: se allineare ulteriormente la colonna sulla virgola.

· num: se la colonna è numerica. Questo influenza il modo in cui i valori sono ordinati (lessicalmente o
numericamente).

· etichetta: una piccola nota sulla colonna, che appare nelle finestre di dialogo che aiutano l'utente
scegli le colonne

· src: un'espressione che innotop usa per estrarre i dati della colonna dalla sua sorgente (vedi
"ORIGINE DEI DATI"). Vedere "ESPRESSIONI" per ulteriori informazioni sulle espressioni.

· minw: specifica una larghezza minima di visualizzazione. Questo aiuta a stabilizzare il display, che
rende più facile la lettura se i dati cambiano frequentemente.

· maxw: simile a minw.

· trans: un elenco di trasformazioni di colonna. Vedi "TRASFORMAZIONI".

· agg: una funzione aggregata. Vedi "GRUPPO". L'impostazione predefinita è "primo".

· aggonly: controlla se la colonna viene visualizzata solo quando il raggruppamento è abilitato sulla tabella
(vedi "RAGGRUPPAMENTO"). Per impostazione predefinita, questo è disabilitato. Ciò significa che le colonne saranno sempre
mostrato per impostazione predefinita, indipendentemente dal fatto che il raggruppamento sia abilitato o meno. Se l'aggregazione di una colonna è impostata
true, la colonna verrà visualizzata quando attivi o disattivi il raggruppamento nella tabella. Diverse colonne
sono impostati in questo modo, come la colonna count su "processlist" e "innodb_transactions",
quindi non vedi un conteggio quando il raggruppamento non è abilitato, ma lo fai quando lo è.

FILTRI
I filtri rimuovono le righe dalla visualizzazione. Si comportano in modo molto simile a una clausola WHERE in SQL.
innotop ha diversi filtri integrati, che rimuovono informazioni irrilevanti come inattivo
query, ma puoi anche definirne di tue. innotop ti permette anche di creare filtri rapidi,
che non vengono salvati nel file di configurazione e sono solo un modo semplice per visualizzare rapidamente
solo alcune righe.

Puoi abilitare o disabilitare un filtro su qualsiasi tabella. Premi il tasto '%' (mnemonico: % guarda
un po' come una linea che viene filtrata tra due cerchi) e scegli quale tabella vuoi
filtro, se richiesto. Vedrai quindi un elenco di possibili filtri e un elenco di filtri
attualmente abilitato per quella tabella. Digita i nomi dei filtri che vuoi applicare e premi
Invio.

DEFINITO DALL'UTENTE FILTRI

Se digiti un nome che non esiste, innotop ti chiederà di creare il filtro.
I filtri sono facili da creare se conosci Perl e non difficili se non lo conosci. Cosa stai facendo
sta creando una subroutine che restituisce true se la riga deve essere visualizzata. La riga è a
riferimento hash passato alla tua subroutine come $set.

Ad esempio, immagina di voler filtrare la tabella dell'elenco dei processi in modo da visualizzare solo le query che
sono in esecuzione da più di cinque minuti. Digita un nuovo nome per il filtro e quando
richiesto per il corpo della subroutine, premere TAB per avviare il completamento automatico del terminale.
Vedrai i nomi delle colonne nella tabella "processlist" (innotop generalmente cerca di
aiutarti con gli elenchi di completamento automatico). Vuoi filtrare sulla colonna 'tempo'. Digitare il
text "$set->{time} > 300" per restituire true quando la query ha più di cinque minuti.
Questo è tutto ciò che devi fare.

In altre parole, il codice che stai digitando è circondato da un contesto implicito, che sembra
come questo:

sottofiltro {
mio ( $set ) = @_;
# IL TUO CODICE QUI
}

Se il tuo filtro non funziona, o se qualcos'altro si comporta improvvisamente in modo diverso, potresti
hanno commesso un errore nel tuo filtro e innotop sta rilevando l'errore in silenzio. Provare
abilitare "debug" per fare in modo che innotop generi invece un errore.

FILTRI RAPIDI

I filtri rapidi di innotop sono una scorciatoia per creare un filtro temporaneo che non persiste
quando si riavvia innotop. Per creare un filtro rapido, premere il tasto '/'. innotop sarà
richiede il nome della colonna e il testo del filtro. Ancora una volta, puoi attivare il completamento automatico
nomi delle colonne. Il testo del filtro può essere solo il testo che vuoi "cercare". Per
esempio, per filtrare la tabella "elenco processi" su query che fanno riferimento alla tabella prodotti,
digita '/' e poi 'info prodotto'.

Il testo del filtro può effettivamente essere qualsiasi espressione regolare Perl, ma ovviamente un letterale
string come 'prodotto' funziona bene come espressione regolare.

Dietro le quinte innotop compila il filtro rapido in un filtro appositamente etichettato che è
altrimenti come qualsiasi altro filtro. Semplicemente non viene salvato nel file di configurazione.

Per cancellare i filtri rapidi, premi il tasto '\' e innotop li cancellerà tutti in una volta.

ORDINAMENTO
innotop ha impostazioni predefinite sensate per ordinare le righe più importanti nella parte superiore del
tavolo. Come qualsiasi altra cosa in innotop, puoi personalizzare l'ordinamento di qualsiasi tabella.

Per avviare la finestra di ordinamento, avvia "EDITOR TABELLA" con il tasto '^', scegli una tabella se
necessario e premere il tasto 's'. Vedrai un elenco di colonne che puoi usare nell'ordinamento
espressione e l'espressione di ordinamento corrente, se presente. Inserisci un elenco di colonne in base alle quali
desidera ordinare e premere Invio. Se vuoi invertire l'ordinamento, prefiggi il nome della colonna con a
segno meno. Ad esempio, se vuoi ordinare per colonna a crescente, allora colonna b
decrescente, digitare 'a -b'. Puoi anche aggiungere esplicitamente un + davanti alle colonne che desideri
ordina in modo crescente, ma non è obbligatorio.

Alcune modalità hanno i tasti mappati per aprire direttamente questa finestra di dialogo e per invertire rapidamente l'ordinamento
direzione. Premere '?' come al solito per vedere quali tasti sono mappati in qualsiasi modalità.

RAGGRUPPAMENTO
innotop può raggruppare o aggregare righe insieme (i termini sono usati in modo intercambiabile). Questo
è abbastanza simile a una clausola SQL GROUP BY. Puoi specificare di raggruppare su determinate colonne,
o se non ne specifichi nessuno, l'intero set di righe viene trattato come un gruppo. Questo è
abbastanza simile a SQL finora, ma a differenza di SQL, puoi anche selezionare colonne non raggruppate. innotop
aggrega effettivamente ogni colonna. Se non specifichi esplicitamente una funzione di raggruppamento,
l'impostazione predefinita è "primo". Questa è fondamentalmente una comodità in modo da non dover specificare un
funzione di aggregazione per ogni colonna che si desidera nel risultato.

Puoi attivare rapidamente il raggruppamento su una tabella con il tasto '=', che alterna il suo aggregato
proprietà. Questa proprietà non persiste nel file di configurazione.

Le colonne in base alle quali è raggruppata la tabella sono specificate nella relativa proprietà group_by. quando
attivi il raggruppamento, innotop posiziona le colonne group_by all'estrema sinistra della tabella,
anche se non dovrebbero essere visibili. Il resto delle colonne visibili appare in
ordina dopo di loro.

Due tabelle hanno elenchi group_by predefiniti e una colonna di conteggio incorporata: "processlist" e
"innodb_transactions". Il raggruppamento è per connessione e stato, quindi puoi vedere rapidamente
quante query o transazioni si trovano in un determinato stato su ciascun server che stai monitorando.
Le colonne temporali vengono aggregate come somma; le altre colonne sono lasciate al valore predefinito 'first'
aggregazione.

Per impostazione predefinita, anche la tabella mostrata in modalità "S: Variabili e stato" utilizza il raggruppamento in modo che tu possa
monitorare le variabili e lo stato su molti server. La funzione di aggregazione predefinita in
questa modalità è 'media'.

Le funzioni di raggruppamento valide sono definite nell'hash %agg_funcs. Loro includono

prima di tutto
Restituisce il primo elemento del gruppo.

contare
Restituisce il numero di elementi nel gruppo, inclusi gli elementi non definiti, proprio come
COUNT di SQL (*).

avg Restituisce la media degli elementi definiti nel gruppo.

sum Restituisce la somma degli elementi nel gruppo.

Ecco un esempio di raggruppamento al lavoro. Supponiamo di avere un server molto occupato con centinaia
di connessioni aperte e vuoi vedere quante connessioni sono in quale stato. Usando
le regole di raggruppamento integrate, puoi premere 'Q' per accedere alla modalità "Q: Elenco query". Premi '='
per attivare/disattivare il raggruppamento (se necessario, selezionare la tabella "elenco processi" quando richiesto).

Il tuo display potrebbe ora avere il seguente aspetto:

Elenco delle query (? per aiuto) localhost, 32:33, 0.11 QPS, 1 °, 5.0.38-log

CXN Cmd Cnt ID Utente Host Time Query
localhost Query 49 12933 webusr localhost 19:38 SELEZIONA * DA
localhost Invio Da 23 2383 webusr localhost 12:43 SELECT col1,
localhost Sonno 120 140 webusr localhost 5:18:12
localhost Statistiche 12 19213 webusr localhost 01:19 SELECT * FROM

In realtà è un'immagine piuttosto preoccupante. Hai un sacco di connessioni inattive (Sonno),
e alcune connessioni che eseguono query (Query e Sending Data). Va bene, ma tu
hanno anche molto nello stato delle statistiche, spendendo collettivamente più di un minuto. Ciò significa che
Query Optimizer sta avendo davvero difficoltà a ottimizzare le tue dichiarazioni. Qualcosa è
sbagliato; normalmente dovrebbero essere necessari millisecondi per ottimizzare le query. Potresti non aver visto
questo modello se non hai guardato le tue connessioni in modo aggregato. (Questo è un trucco
esempio, ma può succedere nella vita reale).

PIVOTANTE
innotop può ruotare una tabella per una visualizzazione più compatta, simile a una tabella pivot in a
foglio di calcolo (noto anche come tabella incrociata). Il pivot di una tabella trasforma le colonne in righe. Assumere
inizi con questa tabella:

pippo bar
=== ===
1/3
2/4

Dopo la rotazione, la tabella sarà simile a questa:

nome set0 set1
==== ==== ====
pippo 1 2
battuta 3 4

Per ottenere risultati ragionevoli, potrebbe essere necessario raggruppare e ruotare. innotop attualmente
lo fa per la modalità "S: Variabili e stato".

COLORI
Per impostazione predefinita, innotop evidenzia le righe con il colore in modo da poter vedere a colpo d'occhio quali sono le righe
più importante. Puoi personalizzare le regole di colorazione e aggiungerne di tue a qualsiasi tabella.
Apri l'editor della tabella con il tasto '^', scegli una tabella se necessario e premi 'o' per aprire
la finestra di dialogo dell'editor dei colori.

La finestra di dialogo dell'editor dei colori mostra le regole applicate alla tabella, nell'ordine in cui sono
valutato. Ogni riga viene valutata rispetto a ciascuna regola per vedere se la regola corrisponde alla riga; Se
lo fa, la riga ottiene il colore specificato e non vengono valutate ulteriori regole. Le regole
assomiglia al seguente:

state eq Bloccato nero su_rosso
cmd eq Sleep bianco
utente eq sistema utente bianco
cmd eq Connect bianco
cmd eq Binlog Dump bianco
tempo > 600 rosso
tempo > 120 giallo
tempo > 60 verde
tempo > 30 ciano

Questa è la regola predefinita impostata per la tabella "elenco processi". In ordine di priorità, questi
le regole rendono le query bloccate nere su sfondo rosso, le connessioni "grigie" da
replica e query in sospensione e fa sì che le query passino dal ciano al rosso durante l'esecuzione
più a lungo.

(Per qualche ragione, il codice colore ANSI "bianco" è in realtà un grigio chiaro. Il tuo terminale è
la visualizzazione può variare; sperimenta per trovare i colori che ti piacciono).

Puoi usare le sequenze di tasti per spostare le regole su e giù, il che riordina la loro priorità. Voi
può anche eliminare regole e aggiungerne di nuove. Se aggiungi una nuova regola, innotop te lo chiede
la colonna, un operatore per il confronto, un valore con cui confrontare la colonna,
e un colore da assegnare se la regola corrisponde. C'è il completamento automatico e il prompt per ciascuno
passo.

Il valore nel terzo passaggio deve essere quotato correttamente. innotop non prova a citare
il valore perché non sa se deve trattare il valore come una stringa o come a
numero. Se vuoi confrontare la colonna con una stringa, come ad esempio nel primo
regola sopra, dovresti inserire "Bloccato" circondato da virgolette. Se ricevi un messaggio di errore
su una bareword, probabilmente avresti dovuto citare qualcosa.

ESPRESSIONI
Le espressioni sono alla base del funzionamento di innotop e sono ciò che ti consente di estendere
innotop come desideri. Richiamare il ciclo di vita della tabella spiegato in "TABELLE". Le espressioni sono
utilizzato nel primo passaggio, in cui estrae i valori da un'origine dati per formare righe.

Lo fa chiamando una subroutine per ogni colonna, passandogli il set di dati di origine, a
insieme di valori correnti e un insieme di valori precedenti. Questi sono tutti necessari quindi il
la subroutine può calcolare cose come la differenza tra questo segno di spunta e il precedente
tick.

Le subroutine che estraggono i dati dall'insieme sono compilate da espressioni. Questo
dà molta più potenza rispetto alla semplice denominazione dei valori per riempire le colonne, perché
consente di calcolare il valore della colonna da qualsiasi dato necessario, ma evita il
bisogno di scrivere codice Perl lungo e complicato.

innotop inizia con una stringa di testo che può sembrare semplice come il nome di un valore o come
complicata come un'espressione Perl a tutti gli effetti. Guarda ogni token 'bareword' nel
string e decide se deve essere una chiave nell'hash $set. Una parolaccia è an
valore non quotato che non è già circondato da cose in codice come simboli del dollaro o ricci
parentesi. Se innotop decide che la bareword non è una funzione o altro codice Perl valido,
lo converte in un accesso hash. Dopo che l'intera stringa è stata elaborata, innotop compila
una subroutine, come questa:

sub calcolo_valore_colonna {
mio ( $set, $cur, $pre ) = @_;
my $val = # VA QUI LA STRINGA ESPANSA
restituisce $ val;
}

Ecco un esempio concreto, tratto dalla tabella di intestazione "q_header" in modalità "Q: Query List".
Questa espressione calcola i valori della colonna qps, o Query al secondo, da
valori restituiti da SHOW STATUS:

Domande/Uptime_assunti

innotop decide che entrambe le parole sono bareword e trasforma questa espressione nel
seguente codice Perl:

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

Quando circondato dal resto del codice della subroutine, questo è eseguibile Perl che
calcola un valore di query al secondo ad alta risoluzione.

Gli argomenti della subroutine sono denominati $set, $cur e $pre. Nella maggior parte dei casi, $set e
$cur saranno gli stessi valori. Tuttavia, se "status_inc" è impostato, $cur non sarà lo stesso
come $set, perché $set conterrà già valori che sono la differenza incrementale
tra $cur e $pre.

Ogni colonna in innotop è calcolata da subroutine compilate allo stesso modo. C'è
nessuna differenza tra le colonne integrate di innotop e le colonne definite dall'utente. Questo mantiene
cose coerenti e prevedibili.

TRASFORMAZIONI
Le trasformazioni cambiano il modo in cui viene reso un valore. Ad esempio, possono prendere un numero di
secondi e visualizzarlo in formato H:M:S. Sono definite le seguenti trasformazioni:

commettere
Aggiunge virgole a numeri grandi ogni tre cifre decimali.

dulin_to_int
Accetta due interi senza segno e li converte in un unico longlong. Questo è
utile per certe operazioni con InnoDB, che usa due interi come transazione
identificatori, ad es.

no_ctrl_car
Rimuove i caratteri di controllo tra virgolette dal valore. Questo è influenzato dal "charset"
configurazione variabile.

Questa trasformazione opera solo all'interno di stringhe tra virgolette, ad esempio, valori in un SET
clausola in un'istruzione UPDATE. Non altererà l'istruzione UPDATE, ma lo farà
comprime la stringa tra virgolette in [BINARY] o [TEXT], a seconda del set di caratteri.

per cento
Converte un numero in percentuale moltiplicandolo per due, formattandolo con
"num_digits" cifre dopo la virgola e opzionalmente aggiungendo un segno di percentuale (vedi
"mostra_percentuale").

secondi_a_tempo
Formatta un numero di secondi come tempo in giorni+ore:minuti:secondi.

set_precision
Formatta i numeri con "num_digits" numero di cifre dopo la virgola.

accorciare
Formatta un numero come unità di 1024 (k/M/G/T) e con il numero di cifre "num_digits"
dopo la virgola.

TABELLA EDITOR
L'editor di tabelle innotop ti consente di personalizzare le tabelle premendo i tasti. Inizia tu il tavolo
editor con il tasto '^'. Se c'è più di una tabella sullo schermo, ti verrà chiesto
per sceglierne uno. Una volta fatto, innotop ti mostrerà qualcosa del genere:

Modifica della definizione della tabella per il pool di buffer. Premere ? per aiuto, q per uscire.

nome hdr etichetta src
cxn CXN Connessione da cui cxn
buf_pool_size Dimensione Dimensione buffer pool IB_bp_buf_poo
buf_free Buffer gratuiti Buffer gratuiti nella b IB_bp_buf_fre
pages_total Pagine Pagine totali IB_bp_pages_t
pages_modified Pagine sporche Pagine modificate (dirty IB_bp_pages_m
buf_pool_hit_rate Tasso di successo Tasso di successo del pool di buffer IB_bp_buf_poo
total_mem_alloc Memoria Allocazione di memoria totale IB_bp_total_m
add_pool_alloc Pool aggiuntivo Alloca pool aggiuntivo IB_bp_add_poo

La prima riga mostra quale tabella stai modificando e ti ricorda nuovamente di premere '?' per un
elenco delle mappature dei tasti. Il resto è una rappresentazione tabellare delle colonne della tabella,
perché probabilmente è quello che stai cercando di modificare. Tuttavia, puoi modificare più di un semplice
le colonne della tabella; questa schermata può avviare l'editor dei filtri, l'editor delle regole dei colori e altro.

Ogni riga del display mostra una singola colonna nella tabella che stai modificando, insieme a un
paio delle sue proprietà come l'intestazione e l'espressione sorgente (vedi "ESPRESSIONI").

Le mappature dei tasti sono in stile Vim, come in molti altri posti. Premendo 'j' e 'k' si sposta il
evidenziare in alto o in basso. È quindi possibile (d)eliminare o (e)modificare la colonna evidenziata. Puoi
anche (a) aggiungi una colonna alla tabella. Questo in realtà attiva già solo una delle colonne
definito per la tabella; ti chiede di scegliere tra le colonne disponibili ma non
attualmente visualizzato. Infine, puoi riordinare le colonne con i tasti '+' e '-'.

Puoi fare di più che modificare le colonne con l'editor di tabelle, puoi anche modificarne altre
proprietà, come l'espressione di ordinamento della tabella e l'espressione di raggruppamento. Premere '?' da vedere
l'elenco completo, ovviamente.

Se vuoi davvero personalizzare e creare la tua colonna, invece di limitarti ad attivarla
uno integrato che non è attualmente visualizzato, premere il tasto (n) ew e innotop lo farà
chiederti le informazioni di cui ha bisogno:

· Il nome della colonna: deve essere una parola senza caratteri divertenti, ad esempio solo
lettere, numeri e trattini bassi.

· L'intestazione della colonna: questa è l'etichetta che appare nella parte superiore della colonna, nel
intestazione della tabella. Questo può avere spazi e personaggi divertenti, ma attenzione a non farlo
è troppo ampio e spreca spazio sullo schermo.

· L'origine dati della colonna: questa è un'espressione che determina quali dati dal
source (vedi "TABELLE") innotop verrà inserito nella colonna. Questo può essere solo il nome di
un elemento nella fonte, o può essere un'espressione più complessa, come descritto in
"ESPRESSIONI".

Una volta inseriti i dati richiesti, la tabella ha una nuova colonna. Non c'è
differenza tra questa colonna e quelle integrate; può avere tutte le stesse proprietà
e comportamenti. innotop scriverà la definizione della colonna nel file di configurazione, quindi
persisterà tra le sessioni.

Ecco un esempio: supponiamo che tu voglia tenere traccia di quante volte i tuoi schiavi hanno riprovato
transazioni. Secondo il manuale MySQL, lo stato di Slave_retried_transactions
variabile ti dà quei dati: "Il numero totale di volte dall'avvio che il
Il thread SQL slave di replica ha ritentato le transazioni. Questa variabile è stata aggiunta nella versione
5.0.4." Questo è appropriato da aggiungere alla tabella "slave_sql_status".

Per aggiungere la colonna, passare alla modalità di monitoraggio della replica con il tasto 'M' e premere
il tasto '^' per avviare l'editor di tabelle. Quando richiesto, scegli slave_sql_status come
tabella, quindi premere 'n' per creare la colonna. Digita "tentativi" come nome della colonna, "Tentativi"
come intestazione di colonna e "Slave_retried_transactions" come origine. Ora la colonna è
creato e vedrai di nuovo la schermata dell'editor della tabella. Premi 'q' per uscire dall'editor della tabella,
e vedrai la tua colonna alla fine della tabella.

VARIABILE SETS


Gli insiemi di variabili vengono utilizzati in modalità "S: Variabili e stato" per definire più facilmente cosa
variabili che si desidera monitorare. Dietro le quinte sono compilati per un elenco di
espressioni, e poi in un elenco di colonne in modo che possano essere trattate proprio come colonne in qualsiasi
altra tabella, in termini di estrazione e trasformazione dei dati. Comunque sei protetto
dai noiosi dettagli di una sintassi che dovrebbe sembrarti molto naturale: un SQL SELECT
elenco.

L'origine dati per gli insiemi di variabili, e in effetti l'intera modalità S, è la combinazione di
MOSTRA STATO, MOSTRA VARIABILI e MOSTRA STATO INNODB. Immagina di avere un tavolo enorme
con una colonna per variabile restituita da tali istruzioni. Questa è l'origine dati per
insiemi variabili. Ora puoi interrogare questa origine dati proprio come ti aspetteresti. Per esempio:

Domande, Uptime, Domande/Uptime come QPS

Dietro le quinte innotop dividerà quel set di variabili in tre espressioni, compilerà
li e trasformali in una definizione di tabella, quindi estrai come al solito. Questo diventa un
"insieme di variabili" o un "elenco di variabili che si desidera monitorare".

innotop ti consente di nominare e salvare i tuoi set di variabili e di scriverli nella configurazione
file. Puoi scegliere quale insieme di variabili vuoi vedere con il tasto 'c', o attivare il
set successivo e precedente con i tasti '>' e '<'. Ci sono molti insiemi di variabili incorporati
anche, il che dovrebbe darti un buon inizio per crearne uno tuo. Premi 'e' per modificare il
set di variabili corrente, o solo per vedere come è definito. Per crearne uno nuovo, basta premere
'c' e digita il suo nome.

Potresti voler utilizzare alcune delle funzioni elencate in "TRASFORMAZIONI" per aiutare a formattare il
risultati. In particolare, "set_precision" è spesso utile per limitare il numero di cifre che si desidera
vedere. Estendendo l'esempio sopra, ecco come:

Domande, Uptime, set_precision(Domande/Uptime) come QPS

In realtà, questo richiede ancora un po' di lavoro in più. Se il tuo "intervallo" è inferiore a uno
secondo, potresti dividere per zero perché Uptime è incrementale in questa modalità di
predefinito. Invece, usa Uptime_hires:

Domande, Uptime, set_precision(Domande/Uptime_hires) come QPS

Questo esempio è semplice, ma mostra quanto sia facile scegliere quali variabili si desidera
tenere sotto controllo.

PLUGINS


innotop ha un meccanismo di plugin semplice ma potente con il quale puoi estenderlo o modificarlo
funzionalità esistenti e aggiungere nuove funzionalità. la funzionalità del plugin di innotop è
basato su eventi: i plugin si registrano per essere chiamati quando si verificano gli eventi. Hanno poi
una possibilità di influenzare l'evento.

Un plugin innotop è un modulo Perl posizionato nella directory "plugin_dir" di innotop. Su UNIX
sistemi, puoi inserire un collegamento simbolico al modulo invece di inserire il file effettivo
là. innotop rileva automaticamente il file. Se c'è una voce corrispondente in
la sezione del file di configurazione "plugins", innotop carica e attiva il plugin.

Il modulo deve essere conforme all'interfaccia del plugin di innotop. Inoltre, il codice sorgente di
il modulo deve essere scritto in modo tale che innotop possa ispezionare il file e determinare
il nome e la descrizione del pacchetto.

CONFEZIONE Fonte Convenzione
innotop ispeziona il sorgente del modulo plugin per determinare il nome del pacchetto Perl. Sembra
per una riga del modulo "pacchetto Foo;" e se trovato, considera il nome del pacchetto del plugin come
essere Pippo. Ovviamente il nome del pacchetto può essere un nome di pacchetto Perl valido, con double
punto e virgola e così via.

Cerca anche una descrizione nel codice sorgente, per rendere l'editor del plugin più umano-
amichevole. La descrizione è una riga di commento del modulo "# descrizione: Pippo", dove "Pippo"
è il testo che innotop considererà come la descrizione del plugin.

per Redmine Interfaccia
L'interfaccia del plugin innotop è abbastanza semplice: innotop si aspetta che il plugin sia un oggetto-
modulo orientato su cui può chiamare determinati metodi. I metodi sono

nuovo(%variabili)
Questo è il costruttore del plugin. Viene passato un hash delle variabili di innotop, che
può manipolare (vedi "Variabili plug-in"). Deve restituire un riferimento al nuovo
oggetto plug-in creato.

In fase di costruzione, innotop ha caricato e creato solo la configurazione generale
le variabili predefinite predefinite con il loro contenuto predefinito (che è parecchio).
Pertanto, lo stato del programma è esattamente come nel codice sorgente di innotop, più il
variabili di configurazione dalla sezione "generale" nel file di configurazione.

Se il tuo plugin manipola le variabili, sta cambiando i dati globali, che sono condivisi
di innotop e tutti i plugin. I plugin vengono caricati nell'ordine in cui sono elencati in
file di configurazione. Il tuo plug-in potrebbe essere caricato prima o dopo un altro plug-in, quindi c'è un
potenziale conflitto o interazione tra i plug-in se modificano altri dati
i plugin utilizzano o modificano.

registrati_per_eventi()
Questo metodo deve restituire un elenco di eventi a cui il plug-in è interessato, se presenti.
Vedere "Eventi plug-in" per gli eventi definiti. Se il plugin restituisce un evento che non lo è
definito, l'evento viene ignorato.

gestori di eventi
Il plugin deve implementare un metodo con lo stesso nome di ogni evento per il quale ha
registrato. In altre parole, se il plugin restituisce qw(foo bar) from
registrati_per_eventi(), deve avere pippo() ed sbarra() metodi. Questi metodi sono
richiamate per gli eventi. Vedere "Eventi plug-in" per maggiori dettagli su ciascun evento.

per Redmine Variabili
Al costruttore del plugin viene passato un hash delle variabili di innotop, che può manipolare.
Probabilmente è una buona idea se l'oggetto plugin ne salva una copia per un uso successivo. Il
le variabili sono definite nella variabile innotop %pluggable_vars e sono le seguenti:

azione_per
Un hashref di mappature delle chiavi. Questi sono i tasti di scelta rapida globali di innotop.

agg_func
Un hashref di funzioni che possono essere utilizzate per il raggruppamento. Vedi "RAGGRUPPAMENTO".

config
L'hash di configurazione globale.

connessioni
Un hashref di specifiche di connessione. Queste sono solo specifiche su come farlo
connettersi a un server.

dbs
Un hashref delle connessioni al database di innotop. Questi sono oggetti di connessione DBI effettivi.

filtri
Un hashref di filtri applicati alle righe della tabella. Vedere "FILTRI" per ulteriori informazioni.

modalità di
Un hashref di modalità. Vedere "MODALITÀ" per ulteriori informazioni.

gruppi_server
Un hashref di gruppi di server. Vedere "GRUPPI DI SERVER".

tbl_meta
Un hashref dei metadati della tabella di innotop, con una voce per tabella (vedi "TABELLE" per
maggiori informazioni).

trans_funzioni
Un hashref di funzioni di trasformazione. Vedi "TRASFORMAZIONI".

var_set
Un hashref di insiemi di variabili. Vedere "SET DI VARIABILI".

per Redmine Eventi
Ogni evento è definito da qualche parte nel codice sorgente di innotop. Quando innotop esegue quel codice,
esegue la funzione di callback per ogni plugin che ha espresso il proprio interesse per il
evento. innotop passa alcuni dati per ogni evento. Gli eventi sono definiti nel
%event_listener_for variabile e sono i seguenti:

valori_estratti($set, $cur, $pre, $tbl)
Questo evento si verifica all'interno della funzione che estrae i valori da un'origine dati. Il
gli argomenti sono l'insieme di valori, i valori correnti, i valori precedenti e il
nome della tabella.

set_to_tbl
Gli eventi sono definiti in molti punti di questa subroutine, che è responsabile della svolta
un arrayref di hashref in un arrayref di righe che possono essere stampate sullo schermo.
Gli eventi passano tutti gli stessi dati: un arrayref di righe e il nome della tabella
creato. Gli eventi sono set_to_tbl_pre_filter,
set_to_tbl_pre_sort, set_to_tbl_pre_group, set_to_tbl_pre_colorize,
set_to_tbl_pre_transform, set_to_tbl_pre_pivot, set_to_tbl_pre_create,
set_to_tbl_post_create.

draw_screen($linee)
Questo evento si verifica all'interno della subroutine che stampa le righe sullo schermo. $ righe
è un arrayref di stringhe.

Un'espansione per Redmine Esempio
Il modo più semplice per spiegare la funzionalità del plugin è probabilmente con un semplice esempio.
Il modulo seguente aggiunge una colonna all'inizio di ogni tabella e ne imposta il valore
1.

usare rigorosamente;
usa gli avvisi FATAL => 'tutti';

pacchetto Innotop::Plugin::Esempio;
# descrizione: aggiunge una colonna 'esempio' a ogni tabella

sottonuovo {
mio ( $classe, %vars ) = @_;
# Memorizza il riferimento alle variabili di innotop in $self
il mio $self = benedica { %vars }, $class;

# Disegna la colonna di esempio
il mio $col = {
hdr => 'Esempio',
solo => '',
dic => 0,
numero => 1,
etichetta => 'Esempio',
src => 'example', # Ottieni dati da questa colonna nell'origine dati
tbl => '',
trans => [],
};

# Aggiungi la colonna a ogni tabella.
il mio $tbl_meta = $vars{tbl_meta};
foreach il mio $tbl ( valori %$tbl_meta ) {
# Aggiunge la colonna all'elenco delle colonne definite
$tbl->{cols}->{esempio} = $col;
# Aggiungi la colonna all'elenco delle colonne visibili
unshift @{$tbl->{visibile}}, 'esempio';
}

# Assicurati di restituire un riferimento all'oggetto.
restituire $auto;
}

# Vorrei essere chiamato durante il rendering di un set di dati in una tabella, per favore.
sub registrati_per_eventi {
mio ($auto) = @_;
return qw(set_to_tbl_pre_filter);
}

# Questo metodo verrà chiamato quando l'evento si attiva.
sub set_to_tbl_pre_filter {
mio ($auto, $righe, $tbl) = @_;
# Impostare l'origine dati della colonna di esempio sul valore 1.
per ogni mia $riga ( @$righe ) {
$riga->{esempio} = 1;
}
}

1;

per Redmine editore
L'editor dei plug-in ti consente di visualizzare i plug-in scoperti da innotop e di attivarli o disattivarli
loro. Avvia l'editor premendo $ per avviare l'editor di configurazione da qualsiasi modalità.
Premi il tasto 'p' per avviare l'editor dei plugin. Vedrai un elenco di plugin innotop
scoperto. È possibile utilizzare i tasti 'j' e 'k' per spostare l'evidenziazione su quella desiderata,
quindi premere il tasto * per attivarlo o disattivarlo. Esci dall'editor e riavvia innotop
affinchè le modifiche abbiano effetto

SQL DICHIARAZIONI


innotop utilizza un insieme limitato di istruzioni SQL per recuperare i dati da MySQL per la visualizzazione. Il
le istruzioni sono personalizzate a seconda della versione del server su cui vengono eseguite;
ad esempio, su MySQL 5 e versioni successive, INNODB_STATUS esegue "SHOW ENGINE INNODB STATUS",
mentre nelle versioni precedenti esegue "SHOW INNODB STATUS". Le dichiarazioni sono come
segue:

Istruzione SQL eseguita
==================== =========================================================
INNODB_STATUS MOSTRA [MOTORE] INNODB STATUS
KILL_CONNESSIONE KILL
KILL_QUERY KILL QUERY
OPEN_TABLES MOSTRA TABELLE APERTE
ELENCO DI PROCESSO MOSTRA L'ELENCO DI PROCESSO COMPLETO
SHOW_MASTER_LOGS MOSTRA LOG MASTER
SHOW_MASTER_STATUS MOSTRA STATO MASTER
SHOW_SLAVE_STATUS MOSTRA STATO SLAVE
SHOW_STATUS MOSTRA STATO [GLOBAL].
SHOW_VARIABLES MOSTRA LE VARIABILI [GLOBAL].

DATA FONTI


Ogni volta che innotop estrae valori per creare una tabella (vedi "ESPRESSIONI" e "TABELLE"), esso
lo fa da una particolare origine dati. In gran parte a causa dei dati complessi estratti da
SHOW INNODB STATUS, questo è leggermente disordinato. SHOW INNODB STATUS contiene una combinazione di
valori singoli e valori ripetuti che formano set di dati nidificati.

Ogni volta che innotop recupera i dati da MySQL, aggiunge due bit extra a ciascun set: cxn e
Uptime_assume. cxn è il nome della connessione da cui provengono i dati. Uptime_assume
è una versione ad alta risoluzione della variabile di stato Uptime del server, che è importante se
l'impostazione dell'"intervallo" è inferiore al secondo.

Di seguito sono riportati i tipi di origini dati da cui vengono estratti i dati:

STATO_VARIABILI
Questa è la categoria più ampia, in cui rientrano la maggior parte dei tipi di dati. Si comincia con
la combinazione di SHOW STATUS e SHOW VARIABLES, ma potrebbero essere incluse altre fonti
se necessario, ad esempio, SHOW MASTER STATUS e SHOW SLAVE STATUS, oltre a molti altri
i valori non ripetuti da SHOW INNODB STATUS.

DEADLOCK_LOCKS
Questi dati vengono estratti dall'elenco delle transazioni nell'ULTIMO DEADLOCK RILEVATO
sezione di MOSTRA STATO INNODB. È annidato a due livelli di profondità: le transazioni, quindi
serrature.

DEADLOCK_TRANSAZIONI
Questi dati provengono dall'elenco delle transazioni nella sezione ULTIMO DEADLOCK RILEVATO di SHOW
STATO INNODB. È annidato a un livello di profondità.

SPIEGARE
Questi dati provengono dal set di risultati restituito da EXPLAIN.

INNODB_TRANSAZIONI
Questi dati provengono dalla sezione TRANSAZIONI di SHOW INNODB STATUS.

IO_THREAD
Questi dati provengono dall'elenco dei thread nella sezione FILE I/O di SHOW INNODB
STATO.

INNODB_LOCKS
Questi dati provengono dalla sezione TRANSAZIONI di SHOW INNODB STATUS e sono nidificati due
livelli profondi.

TABELLE_APERTE
Questi dati provengono da MOSTRA TABELLE APERTE.

ELENCO PROCESSO
Questi dati provengono da SHOW FULL PROCESSLIST.

OS_WAIT_ARRAY
Questi dati provengono dalla sezione SEMAPHORES di SHOW INNODB STATUS e sono nidificati a un livello
in profondità. Viene dalle righe che assomigliano a questa:

--Il thread 1568861104 ha atteso alla riga btr0cur.c 424 ....

MYSQL PRIVILEGI


· Devi connetterti a MySQL come utente che ha il privilegio SUPER per molti dei
funzioni.

· Se non hai il privilegio SUPER, puoi comunque eseguire alcune funzioni, ma non lo farai
necessariamente vedere tutti gli stessi dati.

· È necessario il privilegio PROCESSO per visualizzare l'elenco delle query attualmente in esecuzione in modalità Q.

· Sono necessari privilegi speciali per avviare e arrestare i server slave.

· Sono necessari i privilegi appropriati per creare ed eliminare le tabelle deadlock, se necessario (vedi
"CONNESSIONI SERVER").

SISTEMA REQUISITI


Hai bisogno di Perl per eseguire innotop, ovviamente. Hai anche bisogno di alcuni moduli Perl: DBI,
DBD::mysql, Term::ReadKey e Time::HiRes. Questi dovrebbero essere inclusi con la maggior parte dei Perl
distribuzioni, ma nel caso non lo fossero, consiglio di utilizzare le versioni distribuite con il tuo
sistema operativo o distribuzione Perl, non da CPAN. Termine::ReadKey in particolare ha
noto per causare problemi se installato da CPAN.

Se hai Term::ANSIColor, innotop lo utilizzerà per formattare le intestazioni in modo più leggibile e
compattamente. (Sotto Microsoft Windows, è necessario anche Win32::Console::ANSI per il terminale
codici di formattazione da rispettare). Se installi Term::ReadLine, preferibilmente
Term::ReadLine::Gnu, riceverai un buon supporto per il completamento automatico.

Corro innotop su Gentoo GNU/Linux, Debian e Ubuntu e ho ricevuto feedback dalle persone
eseguendolo correttamente su Red Hat, CentOS, Solaris e Mac OSX. Non vedo alcun motivo
perché non funzionerà su altri sistemi operativi UNIX, ma non lo so per certo. Anche
gira su Windows sotto ActivePerl senza problemi.

innotop è stato utilizzato su MySQL versioni 3.23.58, 4.0.27, 4.1.0, 4.1.22, 5.0.26, 5.1.15,
e 5.2.3. Se non funziona correttamente per te, è un bug che dovrebbe essere segnalato.

Utilizza innotop online utilizzando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

  • 1
    Phaser
    Phaser
    Phaser è un open veloce, gratuito e divertente
    framework di gioco HTML5 di origine che offre
    Rendering WebGL e Canvas attraverso
    browser Web desktop e mobili. Giochi
    può essere co...
    Scarica Phaser
  • 2
    Motore VASSAL
    Motore VASSAL
    VASSAL è un motore di gioco per creare
    versioni elettroniche della scheda tradizionale
    e giochi di carte. Fornisce supporto per
    rendering e interazione dei pezzi di gioco,
    e ...
    Scarica il motore VASSAL
  • 3
    OpenPDF - Fork di iText
    OpenPDF - Fork di iText
    OpenPDF è una libreria Java per la creazione
    e la modifica di file PDF con un LGPL e
    Licenza open source MPL. OpenPDF è il
    LGPL/MPL successore open source di iText,
    un ...
    Scarica OpenPDF - Fork di iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - Sistema per Automatizzato
    Analisi Geoscientifiche - è un Geografico
    Software del sistema informativo (GIS) con
    immense capacità per i dati geografici
    elaborazione e ana...
    Scarica SAGA GIS
  • 5
    Toolbox per Java/JTOpen
    Toolbox per Java/JTOpen
    IBM Toolbox per Java / JTOpen è un
    libreria di classi Java che supportano il
    client/server e programmazione internet
    modelli su un sistema che esegue OS/400,
    i5/OS, o...
    Scarica Toolbox per Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (o D3 per i documenti basati sui dati)
    è una libreria JavaScript che ti consente
    produrre dati dinamici e interattivi
    visualizzazioni nei browser web. Con D3
    tu...
    Scarica D3.js
  • Di Più "

Comandi Linux

  • 1
    adiff
    adiff
    abidiff - confronta gli ABI dei file ELF
    abidiff confronta il binario dell'applicazione
    Interfacce (ABI) di due librerie condivise
    in formato ELF. Emette un significato
    rapporto...
    Esegui abidif
  • 2
    abidw
    abidw
    abidw - serializza l'ABI di un ELF
    il file abidw legge una libreria condivisa in ELF
    formato ed emette una rappresentazione XML
    del suo ABI all’output standard. IL
    emesso...
    Corri costantemente
  • 3
    copac2xml
    copac2xml
    bibutils - conversione della bibliografia
    utilità...
    Esegui copac2xml
  • 4
    copto
    copto
    copt - ottimizzatore spioncino SYSNOPIS:
    copt file.. DESCRIZIONE: copt è un file
    ottimizzatore spioncino generico. Esso
    legge il codice dal suo input standard e
    scrive un...
    Corri copto
  • 5
    collect_stx_titles
    collect_stx_titles
    collect_stx_titles - raccogli il titolo
    dichiarazioni da documenti Stx...
    Eseguire collect_stx_titles
  • 6
    panca-gatling
    panca-gatling
    panca - benchmark http ...
    Esegui gatling-panca
  • Di Più "

Ad