InglêsFrancêsEspanhol

Ad


favicon do OnWorks

innotop - Online na nuvem

Execute o innotop no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando innotop que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador Windows online ou emulador MAC OS online

PROGRAMA:

NOME


innotop - Monitor de status / transação MySQL e InnoDB.

SINOPSE


Para monitorar servidores normalmente:

inotop

Para monitorar as informações de status do InnoDB de um arquivo:

innotop /var/log/mysql/mysqld.err

Para executar o innotop de forma não interativa em uma configuração de tubo e filtro:

innotop --contagem 5 -d 1 -n

Para monitorar um banco de dados em outro sistema usando um nome de usuário e senha específicos:

innotop -u -p -h

DESCRIÇÃO


innotop monitora servidores MySQL. Cada um de seus modos mostra um aspecto diferente do que é
acontecendo no servidor. Por exemplo, há um modo para monitorar a replicação, um para
consultas e um para transações. innotop atualiza seus dados periodicamente, então você vê um
atualizando vista.

innotop tem muitos recursos para usuários avançados, mas você pode iniciá-lo e executá-lo virtualmente
nenhuma configuração. Se você está apenas começando, consulte "QUICK-START". Pressione '?' em qualquer
tempo durante a execução do innotop para ajuda sensível ao contexto.

COMEÇO RÁPIDO


Para iniciar o innotop, abra um terminal ou prompt de comando. Se você instalou o innotop em
seu sistema, você deve ser capaz de apenas digitar "innotop" e pressionar Enter; caso contrário, você
precisará mudar para o diretório do innotop e digitar "perl innotop".

Sem opções especificadas, o innotop tentará se conectar a um servidor MySQL no localhost
usando mysql_read_default_group = client para outros parâmetros de conexão. Se você precisar
especifique um nome de usuário e senha diferentes, use as opções -u e -p, respectivamente. Para
monitorar um banco de dados MySQL em outro host, use a opção -h.

Depois de conectado, innotop deve mostrar algo como o seguinte:

[RO] Lista de consulta (? Para obter ajuda) localhost, 01:11:19, 449.44 QPS, 14/7/163 con / run

CXN ao carregar QPS lento QCacheHit KCacheHit BpsIn BpsOut
localhost Total 0.00 1.07k 697 0.00% 98.17% 476.83k 242.83k

Consulta de tempo do banco de dados do host do usuário CXN Cmd ID
localhost Consulta 766446598 teste 10.0.0.1 foo 00:02 INSERT INTO tabela (

(Este exemplo é truncado à direita para caber em um terminal ao executar 'man
innotop ')

Se o seu servidor estiver ocupado, você verá mais resultados. Observe a primeira linha na tela,
que informa que somente leitura está definido como verdadeiro ([RO]), em que modo você está e em qual servidor
você está conectado. Você pode mudar para outros modos com as teclas; pressione 'T' para mudar
a uma lista de transações InnoDB, por exemplo.

Aperte o '?' para ver quais teclas estão ativas no modo atual. Você pode pressionar qualquer um dos
essas teclas e o innotop realizarão a ação solicitada ou solicitarão mais informações.
Se o seu sistema tiver suporte Term :: ReadLine, você pode usar TAB e outras teclas para autocompletar
e editar a entrada.

Para sair do innotop, pressione a tecla 'q'.

OPÇÕES


innotop é configurado principalmente por meio de seu arquivo de configuração, mas algumas das configurações
as opções podem vir da linha de comando. Você também pode especificar um arquivo para monitorar o InnoDB
saída de status; consulte "MONITORANDO UM ARQUIVO" para obter mais detalhes.

Você pode negar algumas opções prefixando o nome da opção com --no. Por exemplo, --noinc
(ou --no-inc) nega "--inc".

--cor
Habilite ou desabilite a coloração do terminal. Corresponde à configuração do arquivo de configuração "cor".

--config
Especifica um arquivo de configuração para ler. Esta opção não é pegajosa, ou seja
não persiste no próprio arquivo de configuração.

--contar
Atualize apenas o número especificado de vezes (tiques) antes de sair. Cada atualização é um
pausa para "intervalo" de segundos, seguido de solicitação de dados de conexões MySQL e
imprimi-lo no terminal.

--atraso
Especifica a quantidade de tempo para fazer uma pausa entre os tiques (atualizações). Corresponde ao
opção de configuração "intervalo".

--Socorro
Imprima um resumo do uso da linha de comando e saia.

--hospedeiro
Host ao qual se conectar.

--inc
Especifica se o innotop deve mostrar números absolutos ou números relativos (deslocamentos
de seus valores anteriores). Corresponde à opção de configuração "status_inc".

--modo
Especifica o modo em que o innotop deve iniciar. Corresponde à configuração
opção "modo".

--nonint
Habilite a operação não interativa. Consulte "OPERAÇÃO NÃO INTERATIVA" para obter mais informações.

--senha
Senha a ser usada para conexão.

--porta
Porta a ser usada para conexão.

--skipcentral
Não leia o arquivo de configuração central.

--do utilizador
Usuário a ser usado para conexão.

--versão
Informações de versão de saída e saída.

--escrever
Define a opção de configuração "somente leitura" para 0, fazendo com que o innotop escreva o
configuração para ~ / .innotop / innotop.conf na saída, se nenhum arquivo de configuração foi carregado
na inicialização.

TECLAS DE ATALHO


O innotop é interativo e você o controla pressionando as teclas.

· As teclas maiúsculas alternam entre os modos.

· Teclas em minúsculas iniciam alguma ação no modo atual.

· Outras chaves fazem algo especial, como alterar a configuração ou mostrar a licença innotop.

Pressione '?' a qualquer momento para ver as chaves ativas no momento e o que elas fazem.

MODOS


Cada um dos modos do innotop recupera e exibe um tipo particular de dados dos servidores
você está monitorando. Você alterna entre os modos com teclas maiúsculas. O seguinte é um
breve descrição de cada modo, em ordem alfabética. Para mudar para o modo, pressione o
chave listada na frente de seu título na seguinte lista:

B: Buffers InnoDB
Este modo exibe informações sobre o pool de buffer InnoDB, estatísticas de página, inserir
buffer e índice de hash adaptável. Os dados vêm de SHOW INNODB STATUS.

Este modo contém o "buffer_pool", "page_statistics", "insert_buffers" e
tabelas "adaptive_hash_index" por padrão.

C: Resumo do Comando
Este modo é semelhante ao modo Resumo de Comandos do mytop. Mostra o "cmd_summary"
tabela, que se parece com o seguinte:

Resumo do comando (? Para obter ajuda) localhost, 25 + 07: 16: 43, 2.45 QPS, 3 o, 5.0.40
_____________________ Resumo do Comando _____________________
Nome Valor Pct Último 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%

A tabela de resumo do comando é construída extraindo variáveis ​​de "STATUS_VARIABLES".
As variáveis ​​devem ser numéricas e devem corresponder ao prefixo fornecido pelo "cmd_filter"
variável de configuração. As variáveis ​​são então classificadas por valor decrescente e
em comparação com a última variável, conforme mostrado acima. As colunas de porcentagem são porcentagem
do total de todas as variáveis ​​na tabela, para que você possa ver o peso relativo do
variáveis.

O exemplo mostra o que você vê se o prefixo for "Select_". O prefixo padrão é
"Com_". Você pode escolher um prefixo com a tecla 's'.

É como executar SHOW VARIABLES LIKE "prefix%" com memória e bom
formatação.

Os valores são agregados em todos os servidores. As colunas Pct não estão corretas
agregados em vários servidores. Esta é uma limitação conhecida do agrupamento
algoritmo que pode ser corrigido no futuro.

D: Deadlocks InnoDB
Este modo mostra as transações envolvidas no último impasse do InnoDB. Uma segunda mesa
mostra os bloqueios que cada transação retida e esperada. Um impasse é causado por um ciclo
no gráfico de espera, então deve haver dois bloqueios mantidos e um aguardado, a menos que
as informações de deadlock são truncadas.

InnoDB coloca informações de deadlock antes de alguma outra informação no SHOW INNODB
Saída STATUS. Se houver muitos bloqueios, as informações de deadlock podem crescer muito
grande e há um limite para o tamanho da saída SHOW INNODB STATUS. Um grande
deadlock pode preencher toda a saída, ou até mesmo ser truncado, e impedir que você veja
outras informações em tudo. Se você estiver executando o innotop em outro modo, por exemplo T
modo, e de repente você não vê mais nada, você pode querer verificar e ver se um
o impasse eliminou os dados de que você precisa.

Se tiver, você pode criar um pequeno impasse para substituir o grande. Use a tecla 'w'
para 'limpar' o grande impasse com um pequeno. Isso não vai funcionar a menos que você tenha
definiu uma tabela de deadlock para a conexão (ver "CONEXÕES DO SERVIDOR").

Você também pode configurar o innotop para detectar automaticamente quando um grande deadlock precisa
ser substituído por um pequeno (veja "auto_wipe_dl").

Este modo exibe as tabelas "deadlock_transactions" e "deadlock_locks" por padrão.

F: Erros de chave externa InnoDB
Este modo mostra as últimas informações de erro de chave externa InnoDB, como a tabela onde
aconteceu, quando e quem e que consulta o causou, e assim por diante.

InnoDB tem uma grande variedade de mensagens de erro de chave estrangeira, e muitas delas são apenas
difícil de analisar. innotop nem sempre faz o melhor trabalho aqui, mas há muito código
dedicado a analisar esta saída confusa e não analisável que o innotop provavelmente nunca será
perfeito a este respeito. Se o innotop não mostrar o que você precisa ver, basta olhar
no texto de status diretamente.

Este modo exibe a tabela "fk_error" por padrão.

I: Informações de E / S do InnoDB
Este modo mostra as estatísticas de I / O do InnoDB, incluindo os threads de I / O, I / O pendentes, arquivo
Diversos de E / S e estatísticas de log. Ele exibe o "io_threads", "pending_io",
"file_io_misc" e tabelas "log_statistics" por padrão.

L: fechaduras
Este modo mostra informações sobre os bloqueios atuais. No momento, apenas travas InnoDB são
suportado e, por padrão, você verá apenas bloqueios pelos quais as transações estão esperando.
Esta informação vem da seção TRANSACTIONS do texto de status do InnoDB. Se
você tem um servidor muito ocupado, pode ter esperas de bloqueio frequentes; ajuda ser capaz de
veja quais tabelas e índices são o "ponto quente" para bloqueios. Se o seu servidor estiver rodando
muito bem, este modo não deve mostrar nada.

Você pode configurar o MySQL e innotop para monitorar não apenas bloqueios para os quais uma transação
está esperando, mas aqueles atualmente retidos também. Você pode fazer isso com o InnoDB Lock
Monitor (http://dev.mysql.com/doc/en/innodb-monitor.html>). Não está documentado em
o manual do MySQL, mas criando o monitor de bloqueio com a seguinte instrução também
afeta a saída de SHOW INNODB STATUS, que o innotop usa:

CRIAR TABELA innodb_lock_monitor (a int) ENGINE = INNODB;

Isso faz com que o InnoDB imprima sua saída no arquivo MySQL a cada 16 segundos ou mais, como
declarado no manual, mas também faz com que a saída normal de SHOW INNODB STATUS inclua
informações de bloqueio, que innotop pode analisar e exibir (que é o não documentado
recurso).

Isso significa que você pode fazer o que pode parecer impossível: até certo ponto (InnoDB
trunca algumas informações na saída), você pode ver qual transação contém o
bloqueia algo mais está esperando. Você também pode habilitar e desabilitar o InnoDB Lock
Monitore com os mapeamentos de teclas neste modo.

Este modo exibe a tabela "innodb_locks" por padrão. Aqui está um exemplo da tela
quando uma conexão está esperando por bloqueios, outra conexão é mantida:

_________________________________ Travas InnoDB __________________________
Tipo de ID CXN Aguardando Espera no Modo Ativo Índice da Tabela DB
localhost 12 RECORD 1 00:10 00:10 X teste t1 PRIMARY
localhost 12 TABELA 0 00:10 00:10 IX teste t1
localhost 12 RECORD 1 00:10 00:10 X teste t1 PRIMARY
localhost 11 TABELA 0 00:00 00:25 IX teste t1
localhost 11 RECORD 0 00:00 00:25 X teste t1 PRIMARY

Você pode ver que a primeira conexão, ID 12, está esperando por um bloqueio na chave PRIMÁRIA em
test.t1 e está à espera de 10 segundos. A segunda conexão não está esperando,
porque a coluna Waiting é 0, mas mantém bloqueios no mesmo índice. Isso te diz
a conexão 11 está bloqueando a conexão 12.

M: Status de replicação mestre / escravo
Este modo mostra a saída de SHOW SLAVE STATUS e SHOW MASTER STATUS em três
tabelas. Os dois primeiros dividem o status do escravo em SQL e status de thread de E / S, e
o último mostra o status do mestre. Filtros são aplicados para eliminar servidores não escravos de
as tabelas escravas e servidores não mestres da tabela mestra.

Este modo exibe o "slave_sql_status", "slave_io_status" e "master_status"
tabelas por padrão.

O: Tabelas abertas
Esta seção vem do comando SHOW OPEN TABLES do MySQL. Por padrão, é filtrado
para mostrar tabelas que estão em uso por uma ou mais consultas, para que você possa dar uma olhada rápida em
quais tabelas são 'quentes'. Você pode usar isso para adivinhar quais tabelas podem estar bloqueadas
implicitamente.

Este modo exibe o modo "open_tables" por padrão.

Q: Lista de Consulta
Este modo exibe a saída de SHOW FULL PROCESSLIST, bem como meu toplista de consulta de
modo. Este modo faz não mostrar informações relacionadas ao InnoDB. Este é provavelmente um dos
os modos mais úteis para uso geral.

Há um cabeçalho informativo que mostra informações gerais de status sobre o seu
servidor. Você pode ligá-lo e desligá-lo com a tecla 'h'. Por padrão, innotop esconde
processos inativos e seu próprio processo. Você pode alternar entre ativado e desativado com o 'i'
e as teclas 'a'.

Você pode EXPLICAR uma consulta neste modo com a tecla 'e'. Isso exibe a consulta
texto completo, os resultados de EXPLAIN, e em versões mais recentes do MySQL, até mesmo o otimizado
consulta resultante de EXPLAIN EXTENDED. innotop também tenta reescrever certas consultas
para torná-los EXPLICÁVEIS. Por exemplo, as instruções INSERT / SELECT são regraváveis.

Este modo exibe as tabelas "q_header" e "processlist" por padrão.

R: Operações de linha InnoDB e semáforos
Este modo mostra operações de linha InnoDB, operações de linha diversas, semáforos e
informações da matriz de espera. Ele exibe as "row_operations",
tabelas "row_operation_misc", "semáforos" e "wait_array" por padrão.

S: Variáveis ​​e Status
Este modo calcula estatísticas, como consultas por segundo, e as imprime em
vários estilos diferentes. Você pode mostrar valores absolutos ou incrementais entre
carrapatos.

Você pode alternar entre as visualizações pressionando uma tecla. A tecla 's' imprime uma única linha
cada vez que a tela é atualizada, no estilo de vmstat. A tecla 'g' muda a visualização para
um gráfico com os mesmos números, como carregar. A tecla 'v' muda a visualização para um
tabela dinâmica de nomes de variáveis ​​à esquerda, com atualizações sucessivas rolando
a tela da esquerda para a direita. Você pode escolher quantas atualizações colocar na tela
com a variável de configuração "num_status_sets".

Os cabeçalhos podem ser abreviados para caber na tela na operação interativa. Você escolhe
quais variáveis ​​exibir com a tecla 'c', que seleciona de conjuntos predefinidos, ou
permite que você crie seus próprios conjuntos. Você pode editar o conjunto atual com a tecla 'e'.

Este modo realmente não exibe nenhuma tabela como os outros modos. Em vez disso, ele usa um
definição de tabela para extrair e formatar os dados, mas depois transforma o resultado em
maneiras especiais antes de enviá-lo. Ele usa a definição de tabela "var_status" para
esta.

T: Transações InnoDB
Este modo mostra as transações da saída do monitor InnoDB, em topoformato semelhante.
Este modo é o motivo pelo qual escrevi innotop.

Você pode eliminar consultas ou processos com as teclas 'k' e 'x' e EXPLICAR uma consulta com
as teclas 'e' ou 'f'. InnoDB não imprime a consulta completa nas transações, então
explicar pode não funcionar direito se a consulta estiver truncada.

O cabeçalho informativo pode ser ativado e desativado com a tecla 'h'. Por padrão,
innotop oculta transações inativas e sua própria transação. Você pode ativar
e desligue com as teclas 'i' e 'a'.

Este modo exibe as tabelas "t_header" e "innodb_transactions" por padrão.

INOTOP STATUS


A primeira linha que o innotop exibe é uma espécie de "barra de status". O que ele contém depende de
o modo em que você está e quais servidores está monitorando. As primeiras palavras são sempre
[RO] (se somente leitura for definido como 1), o modo innotop, como "InnoDB Txns" para o modo T,
seguido por um lembrete para pressionar '?' para obter ajuda a qualquer momento.

ONE SERVIDOR
O caso mais simples é quando você está monitorando um único servidor. Neste caso, o nome de
a conexão é a próxima na linha de status. Este é o nome que você deu quando criou o
conexão - provavelmente o nome de host do servidor MySQL. Isto é seguido pelo servidor
tempo de atividade.

Se você estiver em um modo InnoDB, como T ou B, a próxima palavra é "InnoDB" seguida por alguns
informações sobre a saída SHOW INNODB STATUS usada para renderizar a tela. A primeira palavra
é o número de segundos desde o último SHOW INNODB STATUS, que o InnoDB usa para calcular
algumas estatísticas por segundo. O próximo é um rosto sorridente indicando se o InnoDB
a saída é truncada. Se o rosto sorridente for um :-), está tudo bem; não há truncamento. UMA
: ^ | significa que a lista de transações é tão longa que o InnoDB imprimiu apenas algumas das
transações. Finalmente, uma carranca :-( significa que a saída está incompleta, o que provavelmente é devido
para um deadlock imprimindo muitas informações de bloqueio (veja "D: InnoDB Deadlocks").

As próximas duas palavras indicam as consultas do servidor por segundo (QPS) e quantos threads
(conexões) existem. Finalmente, o número da versão do servidor é a última coisa na linha.

MÚLTIPLO SERVIDORES
Se você estiver monitorando vários servidores (consulte "CONEXÕES DO SERVIDOR"), a linha de status sim
não mostra quaisquer detalhes sobre servidores individuais. Em vez disso, mostra os nomes dos
conexões que estão ativas. Novamente, esses são os nomes de conexão que você especificou, que são
provavelmente é o nome do host do servidor. Uma conexão que tem um erro é prefixada com um
ponto de exclamação.

Se você estiver monitorando um grupo de servidores (consulte "GRUPOS DE SERVIDORES"), a linha de status mostra o
nome do grupo. Se alguma conexão no grupo apresentar um erro, o nome do grupo é
seguido pela fração das conexões que não apresentam erros.

Consulte "TRATAMENTO DE ERROS" para obter mais detalhes sobre o tratamento de erros do innotop.

MONITORIZAÇÃO A ARQUIVO
Se você fornecer um nome de arquivo na linha de comando, o innotop não se conectará a NENHUM servidor em
tudo. Ele observará o arquivo especificado para a saída de status do InnoDB e usará isso como seus dados
fonte. Sempre mostrará uma única conexão chamada 'arquivo'. E uma vez que não pode
conectar a um servidor, ele não pode determinar há quanto tempo o servidor que está monitorando está ativo;
portanto, ele calcula o tempo de atividade do servidor como o tempo desde que o innotop começou a ser executado.

SERVIDOR ADMINISTRAÇÃO


Embora o innotop seja principalmente um monitor que permite observar e analisar seus servidores, ele pode
também envia comandos para servidores. Os comandos mais frequentemente úteis estão eliminando consultas
e parando ou iniciando escravos.

Você pode encerrar uma conexão ou, em versões mais recentes do MySQL, encerrar uma consulta, mas não um
conexão, a partir dos modos "Q: Query List" e "T: InnoDB Transactions". Pressione 'k' para emitir um
Comando KILL ou 'x' para emitir um comando KILL QUERY. innotop irá pedir-lhe o
servidor e / ou ID de conexão para matar (o innotop não pergunta se houver apenas um
escolha possível para qualquer entrada). innotop pré-seleciona a consulta de execução mais longa, ou o
conexão mais antiga. Confirme o comando com 'y'.

Em "Slave Replication Status" "no" modo M: Master, você pode iniciar e parar escravos com o
teclas 'a' e 'o', respectivamente. Você pode enviar esses comandos para vários escravos de uma vez.
O innotop preenche um comando padrão de START SLAVE ou STOP SLAVE para você, mas você pode
edite o comando e envie tudo o que desejar, como SET GLOBAL
SQL_SLAVE_SKIP_COUNTER = 1 para fazer o escravo pular um evento de log bin ao iniciar.

Você também pode pedir ao innotop para calcular o primeiro binlog em uso por qualquer escravo e emitir um
PURGE MASTER LOGS no master. Use a tecla 'b' para isso. innotop irá pedir-lhe um
mestre para executar o comando e, em seguida, solicitar os nomes de conexão desse mestre
escravos (não há como o innotop determinar isso de forma confiável). innotop irá encontrar
o binlog mínimo em uso por essas conexões escravas e sugeri-lo como o argumento para
LIMPAR LOGS MESTRE.

SERVIDOR CONEXÕES


Quando você cria uma conexão de servidor usando '@', o innotop pede uma série de entradas, como
segue:

DSN Um DSN é um nome de fonte de dados, que é o argumento inicial passado para o módulo DBI
para se conectar a um servidor. Geralmente é da forma

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

Uma vez que este DSN é passado para o driver DBD :: mysql, você deve ler o driver
documentação em "/search.cpan.org/dist/DBD-mysql/lib/DBD/mysql.pm" "em" http: para o
detalhes exatos sobre todas as opções que você pode passar ao motorista no DSN. Você pode ler
mais sobre DBI emhttp://dbi.perl.org/docs/>, e especialmente em
<http://search.cpan.org/~timb/DBI/DBI.pm>.

A opção mysql_read_default_group = mysql permite que o driver DBD leia suas opções MySQL
arquivos, como ~ / .my.cnf em sistemas UNIX-ish. Você pode usar isso para evitar a especificação de um
nome de usuário ou senha para a conexão.

Tabela de deadlock do InnoDB
Este item opcional informa ao innotop um nome de tabela que ele pode usar para criar deliberadamente um
pequeno deadlock (veja "D: InnoDB Deadlocks"). Se você especificar esta opção, você só precisa
para ter certeza de que a tabela não existe, e que o innotop pode criar e remover a tabela
com o mecanismo de armazenamento InnoDB. Você pode omitir com segurança ou apenas aceitar o padrão se você
não pretendo usar isso.

Nome de Utilizador
O innotop perguntará se você deseja especificar um nome de usuário. Se você disser 's', então
solicitará um nome de usuário. Se você tiver um arquivo de opções do MySQL que especifica o seu
nome de usuário, você não precisa especificar um nome de usuário.

O nome de usuário padrão é o seu nome de login no sistema em que você está executando o innotop.

Senha
O innotop perguntará se você deseja especificar uma senha. Como o nome de usuário, o
a senha é opcional, mas há um prompt adicional que pergunta se você deseja salvar
a senha no arquivo de configuração innotop. Se você não salvá-lo no
arquivo de configuração, o innotop solicitará uma senha cada vez que for iniciado.
As senhas no arquivo de configuração innotop são salvas em texto simples, não criptografadas em
de qualquer forma.

Depois de responder a essas perguntas, você deve estar conectado a um servidor. Mas
innotop não se limita a monitorar um único servidor; você pode definir muitos servidores
conexões e alterne entre elas pressionando a tecla '@'. Veja "TROCANDO ENTRE
LIGAÇÕES ".

SERVIDOR GRUPOS


Se você tiver várias instâncias do MySQL, pode colocá-las em grupos nomeados, como 'todos',
'mestres' e 'escravos', que o innotop pode monitorar todos juntos.

Você pode escolher qual grupo monitorar com a tecla '#', e você pode pressionar a tecla TAB para
mudar para o próximo grupo. Se você não estiver monitorando um grupo, pressione TAB
seleciona o primeiro grupo.

Para criar um grupo, pressione a tecla '#' e digite o nome do seu novo grupo, depois digite o
nomes das conexões que você deseja que o grupo contenha.

TROCANDO ENTRE CONEXÕES


innotop permite alternar rapidamente quais servidores você está monitorando. A maneira mais básica é por
pressionando a tecla '@' e digitando o (s) nome (s) da (s) conexão (ões) que deseja usar. Esse
configuração é por modo, então você pode monitorar conexões diferentes em cada modo, e innotop
lembra quais conexões você escolher.

Você pode mudar rapidamente para a 'próxima' conexão em ordem alfabética com a tecla 'n'.
Se você estiver monitorando um grupo de servidores (consulte "GRUPOS DE SERVIDORES"), isso mudará para o primeiro
conexão.

Você também pode digitar muitos nomes de conexão, e o innotop buscará e exibirá os dados deles
tudo. Apenas separe os nomes de conexão com espaços, por exemplo "server1 server2."
Novamente, se você digitar o nome de uma conexão que não existe, o innotop solicitará que você
para obter informações de conexão e criar a conexão.

Outra maneira de monitorar várias conexões de uma vez é com grupos de servidores. Você pode usar
a tecla TAB para mudar para o 'próximo' grupo em ordem alfabética, ou se você não
monitorando quaisquer grupos, TAB mudará para o primeiro grupo.

innotop não busca dados em paralelo de conexões, então se você estiver monitorando um grande
grupo ou muitas conexões, você pode notar um maior atraso entre os tiques.

Quando você monitora mais de uma conexão, a barra de status do innotop muda. Veja "INNOTOP
STATUS".

ERRO MANIPULAÇÃO


O tratamento de erros não é tão importante ao monitorar uma única conexão, mas é crucial
quando você tem muitas conexões ativas. Um servidor travado ou conexão perdida não deve
crash innotop. Como resultado, o innotop continuará a ser executado mesmo quando houver um erro; isto
apenas não exibirá nenhuma informação da conexão que teve um erro. Por causa de
isso, o comportamento do innotop pode confundi-lo. É um recurso, não um bug!

innotop não continua a consultar conexões com erros, porque eles podem diminuir
innotop e torná-lo difícil de usar, especialmente se o erro for um problema de conexão e
causa um longo tempo limite. Em vez disso, o innotop tenta novamente a conexão ocasionalmente para ver se
o erro ainda existe. Se for assim, esperará até algum momento no futuro. A espera
o tempo aumenta em carrapatos como a série de Fibonacci, então ele tenta com menos frequência com o tempo
passa.

Uma vez que os erros podem acontecer apenas em certos modos por causa dos comandos SQL emitidos em
nesses modos, o innotop mantém registro de qual modo causou o erro. Se você mudar para um
modo diferente, o innotop tentará novamente a conexão em vez de esperar.

Por omissão, o innotop irámostrar o problema a vermelho no final da primeira tabela
na tela. Você pode desativar este comportamento com o "show_cxn_errors_in_tbl"
opção de configuração, que é habilitada por padrão. Se a opção "depurar" estiver habilitada,
O innotop exibirá o erro na parte inferior de cada tabela, não apenas na primeira. E se
"show_cxn_errors" está habilitado, o innotop irá imprimir o texto do erro em STDOUT também. Erro
as mensagens podem ser exibidas apenas no modo que causou o erro, dependendo do modo e
se o innotop está evitando consultar essa conexão.

NÃO INTERATIVO OPERAÇÃO


Você pode executar o innotop no modo não interativo, caso em que ele é totalmente controlado a partir de
o arquivo de configuração e as opções de linha de comando. Para iniciar o innotop em não interativo
modo, dê a opção de linha de comando L "<- nonint">. Isso muda o comportamento do notop no
seguintes formas:

· Certos módulos Perl não são carregados. Term :: Readline não está carregado, pois innotop
não solicita interativamente. Term :: ANSIColor e Win32 :: Console :: Módulos ANSI são
não carregado. Term :: ReadKey ainda é usado, uma vez que o innotop pode ter que solicitar
senhas de conexão ao inicializar.

· Innotop não limpa a tela após cada marcação.

· Innotop não persiste em nenhuma mudança no arquivo de configuração.

· Se "--count" é fornecido e innotop está em modo incremental (ver "status_inc" e
"--inc"), innotop atualiza mais uma vez do que o especificado para que possa imprimir
estatísticas incrementais. Isso suprime a saída durante o primeiro tique, então o innotop pode
parece travar.

· Innotop exibe apenas a primeira tabela em cada modo. Isso é para que a saída possa ser
facilmente processado com outros utilitários de linha de comando, como awk e sed. Mudar
quais tabelas são exibidas em cada modo, consulte "TABELAS". Já que o modo "Q: Lista de Consulta" é tão
importante, o innotop desativa automaticamente a tabela "q_header". Isso garante que você
veja a tabela "processlist", mesmo se você tiver o innotop configurado para mostrar o q_header
mesa durante a operação interativa. Da mesma forma, no modo "T: InnoDB Transactions", o
A tabela "t_header" é suprimida para que você veja apenas a tabela "innodb_transactions".

· Toda a saída é separada por tabulação em vez de ser alinhada por coluna com espaço em branco, e
innotop imprime o conteúdo completo de cada tabela em vez de imprimir apenas uma tela
de uma vez.

· Innotop só imprime cabeçalhos de coluna uma vez ao invés de cada tick (veja "hide_hdr").
innotop não imprime as legendas da tabela (veja "display_table_captions"). innotop garante
não há linhas vazias na saída.

· Innotop não honra a transformação "encurtar", que normalmente encurta alguns
números em formatos legíveis por humanos.

· Innotop não imprime uma linha de status (consulte "INNOTOP STATUS").

CONFIGURANDO


Quase tudo sobre o innotop é configurável. Muitas coisas são possíveis de mudar com
comandos embutidos, mas você também pode editar o arquivo de configuração.

Enquanto executa o innotop, pressione a tecla '$' para abrir a caixa de diálogo de edição da configuração.
Pressione outra tecla para selecionar o tipo de dados que deseja editar:

S: Declaração dos tempos de sono
Edita atrasos de suspensão da instrução SQL, que fazem innotop pausar para a quantidade especificada de
tempo após a execução de uma instrução. Veja "DECLARAÇÕES SQL" para uma definição de cada
declaração e o que ela faz. Por padrão, o innotop não atrasa após nenhuma instrução.

Este recurso está incluído para que você possa personalizar os efeitos colaterais causados ​​pelo monitoramento
seu servidor. Você pode não ver nenhum efeito, mas alguns usuários do innotop notaram que
certas versões do MySQL sob carga muito alta com InnoDB habilitado demoram mais do que o normal
para executar SHOW GLOBAL STATUS. Se o innotop chamar SHOW FULL PROCESSLIST imediatamente
depois, a lista de processos contém mais consultas do que a média da máquina em
a qualquer momento. Configurando o innotop para fazer uma breve pausa após chamar SHOW GLOBAL
STATUS alivia esse efeito.

Os tempos de sono são armazenados na seção "stmt_sleep_times" do arquivo de configuração.
Suspensões fracionárias de segundos são suportadas, sujeitas às limitações do seu hardware.

c: Editar Colunas
Inicia o editor de tabela em uma das tabelas exibidas. Veja "TABLE EDITOR". Um
forma alternativa de iniciar o editor de tabela sem entrar na janela de configuração é
com a tecla '^'.

g: Configuração Geral
Inicia o editor de configuração para editar a configuração global e específica do modo
variáveis ​​(ver "MODOS"). innotop solicita que você escolha uma variável entre as
globais e específicos do modo, dependendo do modo atual.

k: Regras para colorir linha
Inicia o editor de regras de coloração de linha em uma das tabelas exibidas. Veja "CORES"
para obter detalhes.

p: Gerenciar Plugins
Inicia o editor de configuração do plugin. Consulte "PLUGINS" para obter detalhes.

s: Grupos de servidores
Permite criar e editar grupos de servidores. Consulte "GRUPOS DE SERVIDORES".

t: Escolha as tabelas exibidas
Permite escolher quais tabelas exibir neste modo. Veja "MODOS" e "TABELAS".

CONFIGURAÇÃO ARQUIVO


Os locais de arquivo de configuração padrão do innotop são $ HOME / .innotop e
/etc/innotop/innotop.conf, e são procurados nessa ordem. Se o primeiro
arquivo de configuração existe, o segundo não será processado. Esses podem ser substituídos por
a opção de linha de comando "--config". Você pode editá-lo manualmente com segurança, no entanto, o innotop lê
o arquivo de configuração quando é iniciado e, se somente leitura for definido como 0, grava-o novamente
quando sai. Assim, se somente leitura for definido como 0, todas as alterações feitas manualmente durante o innotop
está em execução será perdido.

innotop não armazena toda a sua configuração no arquivo de configuração. Tem um enorme
conjunto de valores de configuração padrão que ele mantém apenas na memória, e a configuração
arquivo apenas substitui esses padrões. Quando você personaliza uma configuração padrão, o innotop
avisos e, em seguida, armazena as personalizações no arquivo. Isso mantém o tamanho do arquivo baixo,
torna mais fácil editar e atualizações.

Um arquivo de configuração é somente leitura, por padrão. Você pode substituir isso com "--write". Ver
"somente leitura".

O arquivo de configuração é organizado em seções como um arquivo INI. Cada seção começa
com [nome da seção] e termina com [/ nome da seção]. As entradas de cada seção têm um
sintaxe diferente dependendo dos dados que precisam armazenar. Você pode colocar comentários no
Arquivo; qualquer linha que comece com um caractere # é um comentário. innotop não irá ler o
comentários, por isso não os gravará de volta no arquivo quando ele sair. Comentários em leitura
apenas arquivos de configuração ainda são úteis, no entanto.

A primeira linha do arquivo é o número da versão do innotop. Isso permite que você perceba quando o
formato de arquivo não é compatível com versões anteriores e atualize sem problemas, sem destruir seu
configuração personalizada.

A lista a seguir descreve cada seção do arquivo de configuração e os dados que
contém:

geral
A seção 'geral' contém variáveis ​​de configuração globais e variáveis ​​que podem
ser específico do modo, mas não pertença a nenhuma outra seção. A sintaxe é simples
chave = lista de valores. O innotop escreve um comentário acima de cada valor para ajudá-lo a editar o arquivo
à mão.

S_func
Controla a apresentação do modo S (consulte "S: Variáveis ​​e status"). Se g, os valores são
representado graficamente; se s, os valores são como vmstat; se p, os valores estão em uma tabela dinâmica.

S_conjunto
Especifica qual conjunto de variáveis ​​exibir no modo "S: Variáveis ​​e Status". Ver
"CONJUNTOS VARIÁVEIS".

auto_wipe_dl
Instrui o innotop a limpar automaticamente grandes impasses quando detectá-los.
Quando isso acontecer, você poderá notar um pequeno atraso. No próximo tique, você vai
geralmente vê as informações que estavam sendo truncadas pelo grande conflito.

conjunto de caracteres
Especifica que tipo de caracteres permitir por meio de "no_ctrl_char"
transformação. Isso evita que caracteres não imprimíveis confundam um terminal
ao monitorar consultas que contêm dados binários, como imagens.

O padrão é 'ascii', que considera qualquer coisa fora do ASCII normal como um
personagem de controle. Os outros valores permitidos são 'unicode' e 'nenhum'. 'Nenhum'
considera cada caractere um caractere de controle, o que pode ser útil para recolher
TODOS os campos de texto em consultas.

filtro_cmd
Este é o prefixo que filtra as variáveis ​​no modo "C: Resumo do Comando".

cor
Se a coloração terminal é permitida.

cxn_timeout
No MySQL versões 4.0.3 e mais recentes, esta variável é usada para definir os
tempo limite, para que o MySQL não feche a conexão se não for usado por um tempo.
Isso pode acontecer porque uma conexão não é monitorada em um modo específico, por
exemplo.

depurar
Esta opção permite erros mais detalhados e torna o innotop mais estrito em alguns
locais. Pode ajudar na depuração de filtros e outros códigos definidos pelo usuário. Isso também
faz com que o innotop escreva muitas informações no "debugfile" quando há um travamento.

arquivo de depuração
Um arquivo no qual o innotop gravará informações quando houver um travamento. Ver
"ARQUIVOS".

display_table_captions
innotop exibe uma legenda de tabela acima da maioria das tabelas. Esta variável suprime ou
mostra legendas em todas as tabelas globalmente. Algumas tabelas são configuradas com o
propriedade hide_caption, que a substitui.

global
Se deve mostrar variáveis ​​GLOBAL e status. innotop só tenta fazer isso em
servidores que suportam a opção GLOBAL para MOSTRAR VARIÁVEIS e MOSTRAR ESTADO. No
algumas versões do MySQL, você precisa de certos privilégios para fazer isso; se você não tem
neles, o innotop não será capaz de buscar nenhuma variável e dados de status. Esse
variável de configuração permite que você execute innotop e busque quais dados você pode até
sem os privilégios elevados.

Não consigo mais encontrar ou reproduzir a situação em que GLOBAL não era permitido, mas eu
sei que havia um.

gráfico_char
Define o caractere a ser usado ao desenhar gráficos no modo "S: Variáveis ​​e Status".

header_highlight
Define como destacar os cabeçalhos das colunas. Isso só funciona se Term :: ANSIColor for
acessível. Os valores válidos são 'negrito' e 'sublinhado'.

esconder_hdr
Oculta cabeçalhos de coluna globalmente.

intervalo
O intervalo no qual innotop atualizará seus dados (ticks). O intervalo é
implementado como um tempo de sono entre tiques, então o verdadeiro intervalo irá variar
dependendo de quanto tempo leva para o innotop buscar e renderizar os dados.

Esta variável aceita frações de segundo.

modo
O modo em que o innotop deve iniciar. Os argumentos permitidos são iguais aos
pressionamentos de tecla que selecionam um modo interativamente. Veja "MODOS".

núm_dígitos
Quantos dígitos mostrar em números fracionários e porcentagens. Alcance desta variável
está entre 0 e 9 e pode ser definido diretamente no modo "S: Variáveis ​​e Status" com
as teclas '+' e '-'. É usado em "set_precision", "shorten" e "percent"
transformações.

num_status_sets
Controla quantos conjuntos de variáveis ​​de status exibir em "S: Variáveis ​​&
Modo de status ". Ele também controla o número de conjuntos antigos de variáveis ​​que o innotop mantém
em sua memória, portanto, quanto maior for essa variável, mais memória o innotop usará.

plugin_dir
Especifica onde os plug-ins podem ser encontrados. Por padrão, o innotop armazena plug-ins no
subdiretório 'plugins' do diretório de configuração do innotop.

somente leitura
Se o arquivo de configuração é somente leitura. Isso não pode ser definido de forma interativa.

show_cxn_errors
Faz innotop imprimir erros de conexão para STDOUT. Consulte "MANUSEIO DE ERROS".

show_cxn_errors_in_tbl
Faz com que o innotop exiba erros de conexão como linhas na primeira tabela na tela. Ver
"MANIPULAÇÃO DE ERROS".

mostrar_percent
Adiciona um caractere '%' após o valor retornado pela transformação "porcentagem".

show_statusbar
Controla se a barra de status deve ser exibida no visor. Consulte "INNOTOP STATUS".

skip_innodb
Desativa a busca de SHOW INNODB STATUS, caso seu (s) servidor (es) não tenham InnoDB
habilitado e você não quer que o innotop tente buscá-lo. Isso também pode ser útil
quando você não tem o privilégio SUPER, necessário para executar SHOW INNODB STATUS.

status_inc
Se deve mostrar valores absolutos ou incrementais para variáveis ​​de status. Incremental
os valores são calculados como um deslocamento do último valor da innotop saw para aquele
variável. Esta é uma configuração global, mas provavelmente se tornará específica do modo em
algum ponto. No momento, é honrado de forma um pouco inconsistente; alguns modos não pagam
atenção a ele.

plugins
Esta seção contém uma lista de nomes de pacotes de plug-ins ativos. Se o plugin existir,
innotop irá ativá-lo. Consulte "PLUGINS" para obter mais informações.

filtros
Esta seção contém filtros definidos pelo usuário (consulte "FILTROS"). Cada linha está no formato
filter_name = text = 'filter text' tbls = 'lista de tabelas'.

O texto do filtro é o texto do código da sub-rotina. A lista da mesa é uma lista de
tabelas às quais o filtro pode ser aplicado. Por padrão, os filtros definidos pelo usuário se aplicam ao
tabela para a qual foram criados, mas você pode substituí-la manualmente editando o
definição no arquivo de configuração.

filtros_ativos
Esta seção armazena quais filtros estão ativos em cada tabela. Cada linha está no
formato table_name = filter_list.

tbl_meta
Esta seção armazena colunas definidas ou personalizadas pelo usuário (consulte "COLUNAS"). Cada
linha está no formato nome_coluna = propriedades, onde as propriedades são um
nome = lista de valores entre aspas.

conexões
Esta seção contém as conexões do servidor que você definiu. Cada linha está no
formato name = properties, onde as propriedades são uma lista name = value. As propriedades
são autoexplicativos, e o único que é tratado especialmente é 'passar' que é
presente apenas se 'savepass' estiver definido. Esta seção do arquivo de configuração será
ignorado se qualquer opção de linha de comando DSN, nome de usuário ou senha for usada. Veja "SERVIDOR
LIGAÇÕES ".

active_connections
Esta seção contém uma lista de quais conexões estão ativas em cada modo. Cada linha é
no formato mode_name = connection_list.

grupos_servidor
Esta seção contém grupos de servidores. Cada linha está no formato name = connection_list.
Consulte "GRUPOS DE SERVIDORES".

grupos_de_servidores_ativos
Esta seção contém uma lista de qual grupo de servidores está ativo em cada modo. Cada linha é
no formato mode_name = server_group.

max_values_seen
Esta seção contém os valores máximos vistos para as variáveis. Isso é usado para dimensionar o
gráficos no modo "S: Variáveis ​​e Status". Cada linha está no formato nome = valor.

colunas_ativas
Esta seção contém listas de colunas da tabela. Cada linha está no formato
nome_tabela = lista_coluna. Veja "COLUNAS".

ordenar_cols
Esta seção contém a definição de classificação. Cada linha está no formato
nome_tabela = lista_coluna. Se uma coluna for prefixada com '-', essa coluna será classificada em ordem decrescente.
Veja "CLASSIFICAÇÃO".

tabelas_visíveis
Esta seção define quais tabelas são visíveis em cada modo. Cada linha está no
formato mode_name = table_list. Veja "TABELAS".

conjuntos de vars
Esta seção define conjuntos de variáveis ​​para uso no modo "S: Status e variáveis". Cada linha
está no formato nome = lista_variável. Consulte "CONJUNTOS VARIÁVEIS".

cores
Esta seção define as regras de colorização. Cada linha está no formato
nome_tabela = lista_propriedade. Veja "CORES".

stmt_sleep_times
Esta seção contém a declaração dos tempos de sono. Cada linha está no formato
statement_name = sleep_time. Consulte "S: Declaração dos tempos de sono".

grupo_por
Esta seção contém listas de colunas para expressões group_by da tabela. Cada linha está em
o formato nome_tabela = lista_coluna. Veja "AGRUPAMENTO".

PERSONALIZAÇÃO


Você pode personalizar muito o innotop. Por exemplo, você pode:

· Escolha quais tabelas exibir e em que ordem.

· Escolha quais colunas estão nessas tabelas e crie novas colunas.

· Filtre quais linhas são exibidas com filtros integrados, filtros definidos pelo usuário e
filtros.

· Classifique as linhas para colocar os dados importantes primeiro ou agrupar as linhas relacionadas.

· Destaque as linhas com cores.

· Personalize o alinhamento, largura e formatação das colunas e aplique transformações
para colunas para extrair partes de seus valores ou formatar os valores como você deseja (para
exemplo, encurtando grandes números para unidades familiares).

· Projete suas próprias expressões para extrair e combinar dados conforme necessário. Isso dá a você
flexibilidade ilimitada.

Tudo isso e muito mais são explicados nas seções a seguir.

TABELAS
Uma tabela é o que você esperaria: uma coleção de colunas. Ele também tem algumas outras propriedades,
como uma legenda. Filtros, regras de classificação e regras de colorização pertencem a tabelas e
são cobertos em seções posteriores.

Internamente, os metadados da tabela são definidos em uma estrutura de dados chamada% tbl_meta. Este hash
contém todas as definições de tabelas integradas, que contêm muitas instruções padrão para
innotop. Os metadados incluem a legenda, uma lista de colunas que o usuário personalizou, um
lista de colunas, uma lista de colunas visíveis, uma lista de filtros, regras de cores, uma coluna de classificação
lista, direção de classificação e algumas informações sobre as fontes de dados da tabela. A maior parte disso
é personalizável através do editor de tabelas (consulte "TABLE EDITOR").

Você pode escolher quais tabelas mostrar pressionando a tecla '$'. Veja "MODOS" e "TABELAS".

O ciclo de vida da mesa é o seguinte:

· Cada tabela começa com uma fonte de dados, que é uma matriz de hashes. Veja abaixo para
detalhes sobre as fontes de dados.

· Cada elemento da fonte de dados se torna uma linha na tabela final.

· Para cada elemento na fonte de dados, innotop extrai valores da fonte e
cria uma linha. Esta linha é outro hash, que as etapas posteriores se referirão como $ set.
Os valores em extratos de notas são determinados pelas colunas da tabela. Cada coluna tem um
sub-rotina de extração, compilada a partir de uma expressão (ver "EXPRESSÕES"). O resultado
linha é um hash cujas chaves são nomeadas da mesma forma que o nome da coluna.

· Innotop filtra as linhas, removendo aquelas que não precisam ser exibidas. Ver
"FILTROS".

· Innotop classifica as linhas. Veja "CLASSIFICAÇÃO".

· Innotop agrupa as linhas juntas, se especificado. Veja "AGRUPAMENTO".

· Innotop coloriza as linhas. Veja "CORES".

· Innotop transforma os valores da coluna em cada linha. Veja "TRANSFORMAÇÕES".

· Opcionalmente, o innotop dinamiza as linhas (consulte "PIVOTANDO") e, a seguir, as filtra e classifica.

· Innotop formata e justifica as linhas como uma tabela. Durante esta etapa, o innotop se aplica
formatação adicional para os valores da coluna, incluindo alinhamento, máximo e mínimo
larguras. innotop também faz a verificação final de erros para garantir que não haja travamentos devido a
valores indefinidos. O innotop então adiciona uma legenda, se especificado, e a tabela está pronta para
impressão.

O ciclo de vida é ligeiramente diferente se a tabela for dinamizada, conforme observado acima. Esclarecer,
se a tabela for dinamizada, o processo será extrair, agrupar, transformar, dinamizar, filtrar, classificar,
Criar. Se não for dinâmico, o processo é extrair, filtrar, classificar, agrupar, colorir,
transformar, criar. Este processo ligeiramente complicado não mapeia muito bem para SQL, mas
o pivô complica as coisas completamente. Grosso modo, filtrando e classificando
acontecer tão tarde quanto necessário para efetuar o resultado final como você poderia esperar, mas tão cedo quanto
possível para eficiência.

Cada tabela embutida é descrita abaixo:

índice_hash_adaptativo
Exibe dados sobre o índice hash adaptativo do InnoDB. Fonte de dados: "STATUS_VARIABLES".

buffer_pool
Exibe dados sobre o buffer pool do InnoDB. Fonte de dados: "STATUS_VARIABLES".

cmd_summary
Exibe variáveis ​​de status ponderadas. Fonte de dados: "STATUS_VARIABLES".

impasse_locks
Mostra quais bloqueios foram mantidos e esperados pelo último conflito detectado. Dados
fonte: "DEADLOCK_LOCKS".

deadlock_transactions
Mostra as transações envolvidas no último conflito detectado. Fonte de dados:
"DEADLOCK_TRANSACTIONS".

обяснявам
Mostra a saída de EXPLAIN. Fonte de dados: "EXPLIQUE".

arquivo_io_misc
Exibe dados sobre o arquivo do InnoDB e operações de E / S. Fonte de dados:
"STATUS_VARIABLES".

erro_fk
Exibe vários dados sobre o último erro de chave estrangeira do InnoDB. Fonte de dados:
"STATUS_VARIABLES".

innodb_locks
Exibe bloqueios InnoDB. Fonte de dados: "INNODB_LOCKS".

innodb_transactions
Exibe dados sobre as transações atuais do InnoDB. Fonte de dados:
"INNODB_TRANSACTIONS".

inserir_buffers
Exibe dados sobre o buffer de inserção do InnoDB. Fonte de dados: "STATUS_VARIABLES".

io_threads
Exibe dados sobre os threads de E / S do InnoDB. Fonte de dados: "IO_THREADS".

log_estatísticas
Exibe dados sobre o sistema de registro do InnoDB. Fonte de dados: "STATUS_VARIABLES".

status_mestre
Exibe o status do mestre de replicação. Fonte de dados: "STATUS_VARIABLES".

tabelas_abertas
Exibe tabelas abertas. Fonte de dados: "OPEN_TABLES".

estatísticas_da_página
Exibe estatísticas da página InnoDB. Fonte de dados: "STATUS_VARIABLES".

pendente_io
Exibe operações de E / S pendentes do InnoDB. Fonte de dados: "STATUS_VARIABLES".

lista de processos
Exibe os processos atuais do MySQL (threads / conexões). Fonte de dados: "PROCESSLIST".

q_header
Exibe vários valores de status. Fonte de dados: "STATUS_VARIABLES".

linha_operação_misc
Exibe dados sobre as operações de linha do InnoDB. Fonte de dados: "STATUS_VARIABLES".

operações_linha
Exibe dados sobre as operações de linha do InnoDB. Fonte de dados: "STATUS_VARIABLES".

semáforos
Exibe dados sobre semáforos e mutexes do InnoDB. Fonte de dados: "STATUS_VARIABLES".

escravo_io_status
Exibe dados sobre o thread de E / S escravo. Fonte de dados: "STATUS_VARIABLES".

escravo_sql_status
Exibe dados sobre o encadeamento SQL escravo. Fonte de dados: "STATUS_VARIABLES".

t_header
Exibe vários valores de status InnoDB. Fonte de dados: "STATUS_VARIABLES".

var_status
Exibe dados configuráveis ​​pelo usuário. Fonte de dados: "STATUS_VARIABLES".

espera_array
Exibe dados sobre a matriz de espera do sistema operacional do InnoDB. Fonte de dados: "OS_WAIT_ARRAY".

COLUNAS
As colunas pertencem às tabelas. Você pode escolher as colunas de uma tabela pressionando a tecla '^', que
inicia o "TABLE EDITOR" e permite escolher e editar colunas. Pressionando 'e' de dentro
o editor de tabela permite que você edite as propriedades da coluna:

· Hdr: um cabeçalho de coluna. Isso aparece na primeira linha da tabela.

· Justamente: justificativa. '-' significa justificado à esquerda e '' significa justificado à direita, assim como
com códigos de formatação printf (não é uma coincidência).

· Dec: se deve alinhar ainda mais a coluna na vírgula decimal.

· Num: se a coluna é numérica. Isso afeta como os valores são classificados (lexicalmente ou
numericamente).

· Rótulo: uma pequena nota sobre a coluna, que aparece nas caixas de diálogo que ajudam o usuário
escolha colunas.

· Src: uma expressão que o innotop usa para extrair os dados da coluna de sua fonte (ver
"FONTES DE DADOS"). Veja "EXPRESSÕES" para mais informações sobre expressões.

· Minw: especifica uma largura mínima de exibição. Isso ajuda a estabilizar a tela, o que
torna mais fácil de ler se os dados mudam com frequência.

· Maxw: semelhante a minw.

· Trans: uma lista de transformações de coluna. Veja "TRANSFORMAÇÕES".

· Agg: uma função agregada. Veja "AGRUPAMENTO". O padrão é "primeiro".

· Aggonly: controla se a coluna só aparece quando o agrupamento está habilitado na tabela
(veja "AGRUPAMENTO"). Por padrão, está desabilitado. Isso significa que as colunas sempre serão
mostrado por padrão, se o agrupamento está habilitado ou não. Se uma coluna está definida de forma agressiva
verdadeiro, a coluna aparecerá quando você alternar o agrupamento na tabela. Várias colunas
são definidas desta forma, como a coluna de contagem em "lista de processos" e "innodb_transactions",
então você não vê uma contagem quando o agrupamento não está habilitado, mas vê quando está.

FILTROS
Os filtros removem as linhas da exibição. Eles se comportam de maneira muito semelhante a uma cláusula WHERE no SQL.
innotop tem vários filtros embutidos, que removem informações irrelevantes como inativas
consultas, mas você também pode definir as suas. innotop também permite criar filtros rápidos,
que não são salvos no arquivo de configuração e são apenas uma maneira fácil de visualizar rapidamente
apenas algumas linhas.

Você pode ativar ou desativar um filtro em qualquer tabela. Pressione a tecla '%' (mnemônico:% parece
como uma linha sendo filtrada entre dois círculos) e escolha a mesa que deseja
filtro, se solicitado. Você verá uma lista de filtros possíveis e uma lista de filtros
atualmente habilitado para essa tabela. Digite os nomes dos filtros que deseja aplicar e pressione
Enter.

USUÁRIO DEFINIDO FILTROS

Se você digitar um nome que não existe, o innotop solicitará que você crie o filtro.
Os filtros são fáceis de criar se você conhece Perl, e não difíceis se você não conhece. O que você está fazendo
está criando uma sub-rotina que retorna verdadeiro se a linha deve ser exibida. A linha é uma
referência de hash passada para sua sub-rotina como $ set.

Por exemplo, imagine que você deseja filtrar a tabela da lista de processos para ver apenas as consultas que
estão em execução há mais de cinco minutos. Digite um novo nome para o seu filtro e quando
solicitado pelo corpo da sub-rotina, pressione TAB para iniciar o preenchimento automático do seu terminal.
Você verá os nomes das colunas na tabela "lista de processos" (o innotop geralmente tenta
ajudá-lo com listas de preenchimento automático). Você deseja filtrar na coluna 'tempo'. Digite o
digite "$ set -> {time}> 300" para retornar true quando a consulta tiver mais de cinco minutos.
Isso é tudo que você precisa fazer.

Em outras palavras, o código que você está digitando é cercado por um contexto implícito, que parece
como isso:

subfiltro {
meu ($ set) = @_;
# SEU CÓDIGO AQUI
}

Se o seu filtro não funcionar, ou se outra coisa repentinamente se comportar de maneira diferente, você pode
cometeram um erro no seu filtro, e o innotop está detectando o erro silenciosamente. Experimente
habilitar "debug" para fazer com que o innotop gere um erro.

FILTROS RÁPIDOS

Os filtros rápidos do innotop são um atalho para criar um filtro temporário que não persiste
ao reiniciar o innotop. Para criar um filtro rápido, pressione a tecla '/'. innotop vai
solicitará o nome da coluna e o texto do filtro. Novamente, você pode usar o preenchimento automático em
nomes de coluna. O texto do filtro pode ser apenas o texto que você deseja "pesquisar". Para
exemplo, para filtrar a tabela "lista de processos" em consultas que se referem à tabela de produtos,
digite '/' e depois 'info produto'.

O texto do filtro pode ser qualquer expressão regular Perl, mas é claro um literal
string como 'produto' funciona bem como uma expressão regular.

Nos bastidores, o innotop compila o filtro rápido em um filtro especialmente marcado que é
caso contrário, como qualquer outro filtro. Simplesmente não é salvo no arquivo de configuração.

Para limpar os filtros rápidos, pressione a tecla '\' e o innotop limpará todos de uma vez.

ORDENAÇÃO
innotop tem padrões internos sensíveis para classificar as linhas mais importantes no topo do
tabela. Como qualquer outra coisa no innotop, você pode personalizar como qualquer tabela é classificada.

Para iniciar a caixa de diálogo de classificação, inicie o "EDITOR DE TABELA" com a tecla '^', escolha uma tabela se
necessário e pressione a tecla 's'. Você verá uma lista de colunas que pode usar na classificação
expressão e a expressão de classificação atual, se houver. Insira uma lista de colunas pelas quais você
deseja classificar e pressione Enter. Se você quiser inverter a classificação, prefixe o nome da coluna com um
Sinal de menos. Por exemplo, se você deseja classificar por coluna a crescente, a coluna b
descendente, digite 'a -b'. Você também pode adicionar explicitamente um + na frente das colunas que deseja
classificar de forma ascendente, mas não é obrigatório.

Alguns modos possuem teclas mapeadas para abrir esta caixa de diálogo diretamente e para reverter a classificação rapidamente
direção. Pressione '?' como de costume, para ver quais chaves estão mapeadas em qualquer modo.

AGRUPAMENTO
innotop pode agrupar ou agregar linhas juntas (os termos são usados ​​alternadamente). Esse
é bastante semelhante a uma cláusula SQL GROUP BY. Você pode especificar para agrupar em certas colunas,
ou se você não especificar nenhum, todo o conjunto de linhas é tratado como um grupo. Isto é
bastante parecido com o SQL até agora, mas ao contrário do SQL, você também pode selecionar colunas não agrupadas. innotop
realmente agrega todas as colunas. Se você não especificar explicitamente uma função de agrupamento,
o padrão é 'primeiro'. Isso é basicamente uma conveniência, então você não precisa especificar um
função de agregação para cada coluna que você deseja no resultado.

Você pode alternar rapidamente o agrupamento em uma tabela com a tecla '=', que alterna seu agregado
propriedade. Esta propriedade não persiste no arquivo de configuração.

As colunas pelas quais a tabela é agrupada são especificadas em sua propriedade group_by. Quando
você ativa o agrupamento, innotop coloca as colunas group_by na extremidade esquerda da tabela,
mesmo que não devam ser visíveis. O resto das colunas visíveis aparecem em
ordem depois deles.

Duas tabelas têm listas group_by padrão e uma coluna de contagem embutida: "lista de processos" e
"innodb_transactions". O agrupamento é por conexão e status, para que você possa ver rapidamente
quantas consultas ou transações estão em um determinado status em cada servidor que você está monitorando.
As colunas de tempo são agregadas como uma soma; outras colunas são deixadas no padrão 'primeiro'
agregação.

Por padrão, a tabela mostrada no modo "S: Variáveis ​​e Status" também usa agrupamento para que você possa
monitorar variáveis ​​e status em muitos servidores. A função de agregação padrão em
este modo é 'médio'.

As funções de agrupamento válidas são definidas no hash% agg_funcs. Eles incluem

primeiro
Retorna o primeiro elemento do grupo.

contar
Retorna o número de elementos no grupo, incluindo elementos indefinidos, bem como
COUNT de SQL (*).

avg Retorna a média dos elementos definidos no grupo.

sum Retorna a soma dos elementos do grupo.

Aqui está um exemplo de agrupamento no trabalho. Suponha que você tenha um servidor muito ocupado com centenas
de conexões abertas e você deseja ver quantas conexões estão em qual status. Usando
as regras de agrupamento integradas, você pode pressionar 'Q' para entrar no modo "Q: Lista de consulta". Pressione '='
para alternar o agrupamento (se necessário, selecione a tabela "lista de processos" quando solicitado).

Sua tela agora pode ter a seguinte aparência:

Lista de consulta (? Para obter ajuda) localhost, 32:33, 0.11 QPS, 1 thd, 5.0.38-log

CXN Cmd Cnt ID Consulta de tempo de host do usuário
localhost Consulta 49 12933 webusr localhost 19:38 SELECT * FROM
localhost Enviando Da 23 2383 webusr localhost 12:43 SELECT col1,
localhost Dormir 120 140 webusr localhost 5:18:12
localhost Estatísticas 12 19213 webusr localhost 01:19 SELECIONE * DE

Na verdade, é uma imagem bastante preocupante. Você tem muitas conexões inativas (Sleep),
e algumas conexões executando consultas (Consulta e Envio de Dados). Tudo bem mas voce
também tem muito no status de estatísticas, gastando coletivamente mais de um minuto. Isso significa que
O otimizador de consulta está tendo muita dificuldade para otimizar suas instruções. Alguma coisa é
errado; normalmente leva milissegundos para otimizar as consultas. Você pode não ter visto
este padrão se você não olhou para suas conexões em conjunto. (Este é um inventado
exemplo, mas pode acontecer na vida real).

PIVOTANDO
O innotop pode dinamizar uma tabela para uma exibição mais compacta, semelhante a uma Tabela Dinâmica em um
planilha (também conhecida como crosstab). Dinamizar uma tabela transforma as colunas em linhas. Presumir
você começa com esta tabela:

barra foo
=== ===
1 3
2 4

Depois de dinamizar, a tabela ficará assim:

nome set0 set1
==== ==== ====
foo 1 2
barra 3 4

Para obter resultados razoáveis, pode ser necessário agrupar e dinamizar. innotop atualmente
faz isso para o modo "S: Variáveis ​​e status".

CORES
Por padrão, o innotop destaca as linhas com cores para que você possa ver rapidamente quais linhas são
mais importante. Você pode personalizar as regras de colorização e adicionar as suas próprias a qualquer tabela.
Abra o editor de mesa com a tecla '^', escolha uma mesa se necessário e pressione 'o' para abrir
a caixa de diálogo do editor de cores.

A caixa de diálogo do editor de cores exibe as regras aplicadas à tabela, na ordem em que são
avaliado. Cada linha é avaliada em relação a cada regra para ver se a regra corresponde à linha; E se
ele faz, a linha obtém a cor especificada e nenhuma regra adicional é avaliada. As regras
parecido com o seguinte:

estado eq Bloqueado preto on_red
cmd eq Sleep branco
usuário eq sistema usuário branco
cmd eq Connect branco
cmd eq Binlog Dump branco
tempo> 600 vermelho
tempo> 120 amarelo
tempo> 60 verde
tempo> 30 ciano

Esta é a regra padrão definida para a tabela "lista de processos". Em ordem de prioridade, estes
as regras tornam as consultas bloqueadas pretas em um fundo vermelho, conexões "acinzentadas" de
replicação e consultas em espera, e fazer com que as consultas mudem de ciano para vermelho à medida que são executadas
mais longo.

(Por algum motivo, o código de cor ANSI "branco" é, na verdade, um cinza claro.
a exibição pode variar; experimente encontrar as cores de que gosta).

Você pode usar pressionamentos de tecla para mover as regras para cima e para baixo, o que reordena sua prioridade. Vocês
também pode excluir regras e adicionar novas. Se você adicionar uma nova regra, o innotop solicitará que você
a coluna, um operador de comparação, um valor com o qual comparar a coluna,
e uma cor a ser atribuída se a regra corresponder. Há autocompletar e prompts em cada
degrau.

O valor na terceira etapa deve ser cotado corretamente. innotop não tenta citar
o valor porque não sabe se deve tratar o valor como uma string ou um
número. Se você quiser comparar a coluna com uma string, como por exemplo no primeiro
regra acima, você deve inserir 'Bloqueado' entre aspas. Se você receber uma mensagem de erro
sobre um bareword, você provavelmente deveria ter citado algo.

EXPRESSÕES
As expressões são a base de como funciona o innotop e é o que permite que você estenda
innotop como você deseja. Lembre-se do ciclo de vida da tabela explicado em "TABELAS". Expressões são
usado na primeira etapa, onde extrai valores de uma fonte de dados para formar linhas.

Ele faz isso chamando uma sub-rotina para cada coluna, passando o conjunto de dados de origem, um
conjunto de valores atuais e um conjunto de valores anteriores. Tudo isso é necessário para que o
a sub-rotina pode calcular coisas como a diferença entre este tique e o anterior
Carraça.

As sub-rotinas que extraem os dados do conjunto são compiladas a partir de expressões. Esse
dá muito mais poder do que apenas nomear os valores para preencher as colunas, porque
permite que o valor da coluna seja calculado a partir de quaisquer dados necessários, mas evita o
precisa escrever um código Perl complicado e longo.

innotop começa com uma string de texto que pode parecer tão simples quanto o nome de um valor ou
complicado como uma expressão Perl completa. Ele olha para cada token de 'bareword' no
string e decide se é uma chave para o hash $ set. Uma bareword é uma
valor não cotado que ainda não está rodeado por coisas codificadas como cifrões ou curvas
colchetes. Se innotop decidir que a palavra de barra não é uma função ou outro código Perl válido,
ele o converte em um acesso hash. Depois que toda a string é processada, o innotop compila
uma sub-rotina, como esta:

sub computar_coluna_valor {
my ($ set, $ cur, $ pre) = @_;
minha $ val = # CADEIA EXPANDIDA VAI AQUI
retornar $ val;
}

Aqui está um exemplo concreto, retirado da tabela de cabeçalho "q_header" no modo "Q: Lista de consulta".
Esta expressão calcula os valores da coluna qps, ou Consultas por Segundo, a partir do
valores retornados por SHOW STATUS:

Perguntas / Uptime_hires

innotop decide que ambas as palavras são barewords e transforma esta expressão no
seguinte código Perl:

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

Quando rodeado pelo resto do código da sub-rotina, este é Perl executável que
calcula um valor de consultas por segundo de alta resolução.

Os argumentos para a sub-rotina são nomeados $ set, $ cur e $ pre. Na maioria dos casos, $ set e
$ cur terá os mesmos valores. No entanto, se "status_inc" for definido, $ cur não será o mesmo
como $ set, porque $ set já conterá valores que são a diferença incremental
entre $ cur e $ pre.

Cada coluna no innotop é calculada por sub-rotinas compiladas da mesma maneira. Há
nenhuma diferença entre as colunas integradas do innotop e as colunas definidas pelo usuário. Isso mantém
coisas consistentes e previsíveis.

TRANSFORMAÇÕES
As transformações mudam como um valor é processado. Por exemplo, eles podem levar uma série de
segundos e exibi-lo no formato H: M: S. As seguintes transformações são definidas:

comificar
Adiciona vírgulas a números grandes a cada três casas decimais.

dulint_to_int
Aceita dois inteiros sem sinal e os converte em um único longlong. Isto é
útil para certas operações com InnoDB, que usa dois inteiros como transação
identificadores, por exemplo.

no_ctrl_char
Remove os caracteres de controle entre aspas do valor. Isso é afetado pelo "charset"
configuração variável.

Esta transformação só opera dentro de strings entre aspas, por exemplo, valores para um SET
cláusula em uma instrução UPDATE. Isso não irá alterar a instrução UPDATE, mas irá
reduza a string entre aspas para [BINÁRIO] ou [TEXTO], dependendo do conjunto de caracteres.

por cento
Converte um número em uma porcentagem multiplicando-o por dois, formatando-o com
"num_digits" dígitos após a vírgula decimal e, opcionalmente, adicionando um sinal de porcentagem (ver
"show_percent").

segs_to_time
Formata um número de segundos como o tempo em dias + horas: minutos: formato de segundos.

set_precision
Formata números com o número "num_digits" de dígitos após a vírgula decimal.

encurtar
Formata um número como uma unidade de 1024 (k / M / G / T) e com "num_digits" número de dígitos
após a vírgula decimal.

TABELA EDITOR
O editor de tabelas innotop permite personalizar tabelas com toques de tecla. Você começa a mesa
editor com a tecla '^'. Se houver mais de uma mesa na tela, ele solicitará que você
para escolher um deles. Depois de fazer isso, o innotop mostrará algo assim:

Editando a definição da tabela para Buffer Pool. Pressione ? para obter ajuda, q para sair.

nome hdr rótulo src
Conexão cxn CXN a partir da qual cxn
buf_pool_size Size Tamanho do buffer pool IB_bp_buf_poo
buf_free Bufs Bufs Buffers grátis no b IB_bp_buf_fre
pages_total Pages total IB_bp_pages_t
pages_modified Páginas sujas Páginas modificadas (IB_bp_pages_m sujas
buf_pool_hit_rate Taxa de acerto Taxa de acerto do conjunto de buffers IB_bp_buf_poo
total_mem_alloc Memória Total alocação de memória IB_bp_total_m
add_pool_alloc Pool adicional Pool adicional alloca IB_bp_add_poo

A primeira linha mostra qual tabela você está editando e o lembra novamente de pressionar '?' para
lista de mapeamentos de chave. O resto é uma representação tabular das colunas da tabela,
porque é provavelmente o que você está tentando editar. No entanto, você pode editar mais do que apenas
as colunas da tabela; esta tela pode iniciar o editor de filtros, editor de regras de cores e muito mais.

Cada linha na tela mostra uma única coluna na tabela que você está editando, junto com um
algumas de suas propriedades, como seu cabeçalho e expressão de origem (consulte "EXPRESSÕES").

Os mapeamentos de teclas são no estilo do Vim, como em muitos outros lugares. Pressionar 'j' e 'k' move o
realce para cima ou para baixo. Você pode então (d) eliminar ou (e) ditar a coluna destacada. Você pode
também (a) adicionar uma coluna à tabela. Na verdade, isso apenas ativa uma das colunas já
definido para a mesa; ele solicita que você escolha entre as colunas disponíveis, mas não
atualmente exibido. Finalmente, você pode reordenar as colunas com as teclas '+' e '-'.

Você pode fazer mais do que apenas editar as colunas com o editor de tabela, você também pode editar outros
propriedades, como a expressão de classificação da tabela e a expressão de agrupamento. Pressione '?' ver
a lista completa, é claro.

Se você deseja realmente personalizar e criar sua própria coluna, em vez de apenas ativar
um embutido que não está sendo exibido no momento, pressione a tecla (n) ew, e o innotop irá
solicitará as informações de que necessita:

· O nome da coluna: deve ser uma palavra sem caracteres engraçados, por exemplo, apenas
letras, números e sublinhados.

· O cabeçalho da coluna: este é o rótulo que aparece no topo da coluna, no
cabeçalho da tabela. Isso pode ter espaços e personagens engraçados, mas tome cuidado para não fazer
é muito largo e desperdiça espaço na tela.

· A fonte de dados da coluna: esta é uma expressão que determina quais dados do
fonte (veja "TABELAS") innotop irá colocar na coluna. Este pode ser apenas o nome de
um item na fonte, ou pode ser uma expressão mais complexa, conforme descrito em
"EXPRESSÕES".

Depois de inserir os dados necessários, sua tabela terá uma nova coluna. Não há
diferença entre esta coluna e as embutidas; pode ter todas as mesmas propriedades
e comportamentos. innotop irá escrever a definição da coluna no arquivo de configuração, então
ele persistirá em todas as sessões.

Aqui está um exemplo: suponha que você deseja rastrear quantas vezes seus escravos tentaram novamente
transações. De acordo com o manual do MySQL, o status Slave_retried_transactions
variável fornece os dados: "O número total de vezes desde a inicialização que o
o encadeamento SQL do escravo de replicação repetiu as transações. Esta variável foi adicionada na versão
5.0.4. "Isto é apropriado para adicionar à tabela" slave_sql_status ".

Para adicionar a coluna, mude para o modo de monitoramento de replicação com a tecla 'M' e pressione
a tecla '^' para iniciar o editor de tabelas. Quando solicitado, escolha slave_sql_status como o
tabela e pressione 'n' para criar a coluna. Digite 'novas tentativas' como nome da coluna, 'Novas tentativas'
como o cabeçalho da coluna e 'Slave_retried_transactions' como a fonte. Agora a coluna é
criado e você verá a tela do editor de tabela novamente. Pressione 'q' para sair do editor de tabelas,
e você verá sua coluna no final da tabela.

VARIÁVEL CONJUNTOS


Conjuntos de variáveis ​​são usados ​​no modo "S: Variáveis ​​e Status" para definir mais facilmente o que
variáveis ​​que você deseja monitorar. Nos bastidores, eles são compilados em uma lista de
expressões e, em seguida, em uma lista de colunas para que possam ser tratadas como colunas em qualquer
outra tabela, em termos de extração e transformações de dados. No entanto, você está protegido
dos detalhes tediosos por uma sintaxe que deve parecer muito natural para você: um SQL SELECT
Lista.

A fonte de dados para conjuntos de variáveis, e de fato todo o modo S, é a combinação de
MOSTRAR STATUS, MOSTRAR VARIÁVEIS e MOSTRAR STATUS DO INNODB. Imagine que você tivesse uma mesa enorme
com uma coluna por variável retornada dessas instruções. Essa é a fonte de dados para
conjuntos de variáveis. Agora você pode consultar essa fonte de dados como esperado. Por exemplo:

Perguntas, tempo de atividade, perguntas / tempo de atividade como QPS

Nos bastidores, o innotop irá dividir esse conjunto de variáveis ​​em três expressões, compilar
e transformá-los em uma definição de tabela, em seguida, extraia como de costume. Isso se torna um
"conjunto de variáveis" ou uma "lista de variáveis ​​que você deseja monitorar".

innotop permite nomear e salvar seus conjuntos de variáveis ​​e gravá-los na configuração
Arquivo. Você pode escolher qual conjunto de variáveis ​​deseja ver com a tecla 'c' ou ativar o
conjuntos seguinte e anterior com as teclas '>' e '<'. Existem muitos conjuntos de variáveis ​​integrados
também, o que deve ser um bom começo para criar o seu próprio. Pressione 'e' para editar o
conjunto de variáveis ​​atuais, ou apenas para ver como está definido. Para criar um novo, basta pressionar
'c' e digite seu nome.

Você pode querer usar algumas das funções listadas em "TRANSFORMAÇÕES" para ajudar a formatar o
resultados. Em particular, "set_precision" é frequentemente útil para limitar o número de dígitos que você
Vejo. Estendendo o exemplo acima, veja como:

Perguntas, tempo de atividade, set_precision (perguntas / tempo de atividade) como QPS

Na verdade, isso ainda precisa de um pouco mais de trabalho. Se o seu "intervalo" for menor que um
segundo, você pode estar dividindo por zero porque o tempo de atividade é incremental neste modo por
predefinição. Em vez disso, use Uptime_hires:

Perguntas, tempo de atividade, set_precision (perguntas / tempo de atividade_hires) como QPS

Este exemplo é simples, mas mostra como é fácil escolher quais variáveis ​​você deseja
monitor.

PLUGINS


innotop tem um mecanismo de plugin simples, mas poderoso, pelo qual você pode estender ou modificar seu
funcionalidade existente e adicionar nova funcionalidade. A funcionalidade do plugin do innotop é
baseado em evento: os plug-ins se registram para serem chamados quando os eventos acontecem. Eles então têm
uma chance de influenciar o evento.

Um plugin innotop é um módulo Perl colocado no diretório "plugin_dir" do innotop. No UNIX
sistemas, você pode colocar um link simbólico para o módulo em vez de colocar o arquivo real
lá. O innotop descobre o arquivo automaticamente. Se houver uma entrada correspondente em
a seção do arquivo de configuração "plug-ins", o innotop carrega e ativa o plug-in.

O módulo deve estar em conformidade com a interface do plugin do innotop. Além disso, o código-fonte do
o módulo deve ser escrito de tal forma que o innotop possa inspecionar o arquivo e determinar
o nome e a descrição do pacote.

Pacote fonte Convenção
innotop inspeciona a fonte do módulo do plugin para determinar o nome do pacote Perl. Parece
para uma linha do formulário "pacote Foo;" e se encontrado, considera o nome do pacote do plugin para
seja Foo. Claro que o nome do pacote pode ser um nome de pacote Perl válido, com duplo
ponto e vírgula e assim por diante.

Ele também procura por uma descrição no código-fonte, para tornar o editor de plug-in mais humano
amigáveis. A descrição é uma linha de comentário no formato "# descrição: Foo", onde "Foo"
é o texto que o innotop considerará como a descrição do plugin.

Plugin Interface
A interface do plugin innotop é bastante simples: innotop espera que o plugin seja um objeto
módulo orientado que pode chamar certos métodos. Os métodos são

novo (% variáveis)
Este é o construtor do plugin. É passado um hash de variáveis ​​do innotop, que
ele pode manipular (consulte "Variáveis ​​de plug-in"). Deve retornar uma referência ao novo
objeto de plugin criado.

No momento da construção, o innotop carregou apenas a configuração geral e criou
as variáveis ​​embutidas padrão com seus conteúdos padrão (o que é bastante).
Portanto, o estado do programa é exatamente como no código-fonte innotop, mais o
variáveis ​​de configuração da seção "geral" no arquivo de configuração.

Se o seu plugin manipula as variáveis, ele está alterando os dados globais, que são compartilhados
por innotop e todos os plug-ins. Os plug-ins são carregados na ordem em que estão listados no
arquivo de configuração. Seu plugin pode carregar antes ou depois de outro plugin, então há um
potencial para conflito ou interação entre plug-ins se eles modificarem outros dados
plugins usam ou modificam.

register_for_events ()
Este método deve retornar uma lista de eventos nos quais o plugin está interessado, se houver.
Consulte "Eventos de Plug-in" para os eventos definidos. Se o plugin retornar um evento que não
definido, o evento é ignorado.

manipuladores de eventos
O plugin deve implementar um método com o mesmo nome de cada evento para o qual ele tem
registrado. Em outras palavras, se o plugin retornar qw (foo bar) de
register_for_events (), Deve ter foo () e Barra() métodos. Esses métodos são
callbacks para os eventos. Consulte "Eventos de plug-in" para obter mais detalhes sobre cada evento.

Plugin Variáveis
O construtor do plugin recebe um hash das variáveis ​​do innotop, que ele pode manipular.
Provavelmente, é uma boa ideia se o objeto de plug-in salvar uma cópia dele para uso posterior. O
variáveis ​​são definidas na variável innotop% pluggable_vars e são as seguintes:

ação_para
Um hashref de mapeamentos de chave. Estas são as teclas de atalho globais do innotop.

agg_funcs
Um hashref de funções que podem ser usadas para agrupamento. Veja "AGRUPAMENTO".

configuração
O hash de configuração global.

conexões
Um hashref de especificações de conexão. Estas são apenas especificações de como
conectar a um servidor.

DAPs
Um hashref das conexões de banco de dados do innotop. Esses são objetos de conexão DBI reais.

filtros
Um hashref de filtros aplicados às linhas da tabela. Consulte "FILTROS" para obter mais informações.

modos
Um hashref de modos. Consulte "MODOS" para obter mais informações.

grupos_servidor
Um hashref de grupos de servidores. Consulte "GRUPOS DE SERVIDORES".

tbl_meta
Um hashref dos meta-dados da tabela do innotop, com uma entrada por tabela (ver "TABLES" para
Mais Informações).

trans_funcs
Um hashref de funções de transformação. Veja "TRANSFORMAÇÕES".

var_sets
Um hashref de conjuntos de variáveis. Consulte "CONJUNTOS DE VARIÁVEIS".

Plugin Eventos
Cada evento é definido em algum lugar no código-fonte innotop. Quando o innotop executa esse código,
ele executa a função de retorno de chamada para cada plugin que expressou seu interesse no
evento. O innotop passa alguns dados para cada evento. Os eventos são definidos no
variável% event_listener_for, e são as seguintes:

extract_values ​​($ set, $ cur, $ pre, $ tbl)
Este evento ocorre dentro da função que extrai valores de uma fonte de dados. O
argumentos são o conjunto de valores, os valores atuais, os valores anteriores e o
Nome da tabela.

set_to_tbl
Os eventos são definidos em muitos lugares nesta sub-rotina, que é responsável por girar
um arrayref de hashrefs em um arrayref de linhas que podem ser impressas na tela.
Todos os eventos passam os mesmos dados: um arrayref de linhas e o nome da tabela que está sendo
criado. Os eventos são 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 ($ linhas)
Este evento ocorre dentro da sub-rotina que imprime as linhas na tela. $ linhas
é um arrayref de strings.

simples Plugin Exemplo
A maneira mais fácil de explicar a funcionalidade do plugin é provavelmente com um exemplo simples.
O módulo a seguir adiciona uma coluna ao início de cada tabela e define seu valor para
1.

use estrito;
usar avisos FATAL => 'todos';

pacote Innotop :: Plugin :: Exemplo;
# descrição: Adiciona uma coluna de 'exemplo' a cada tabela

sub-novo {
meu ($ class,% vars) = @_;
# Armazena a referência às variáveis ​​do innotop em $ self
meu $ self = bless {% vars}, $ class;

# Projete a coluna de exemplo
meu $ col = {
hdr => 'Exemplo',
apenas => '',
dec => 0,
num => 1,
rótulo => 'Exemplo',
src => 'exemplo', # Obter dados desta coluna na fonte de dados
tbl => '',
trans => [],
};

# Adicione a coluna a cada tabela.
meu $ tbl_meta = $ vars {tbl_meta};
foreach my $ tbl (values% $ tbl_meta) {
# Adicione a coluna à lista de colunas definidas
$ tbl -> {cols} -> {exemplo} = $ col;
# Adicione a coluna à lista de colunas visíveis
unshift @ {$ tbl -> {visible}}, 'exemplo';
}

# Certifique-se de retornar uma referência ao objeto.
return $ self;
}

# Eu gostaria de ser chamado quando um conjunto de dados estiver sendo processado em uma tabela, por favor.
sub registrar_para_eventos {
meu ($ self) = @_;
return qw (set_to_tbl_pre_filter);
}

# Este método será chamado quando o evento for disparado.
subset_to_tbl_pre_filter {
meu ($ self, $ rows, $ tbl) = @_;
# Defina a fonte de dados da coluna de exemplo para o valor 1.
foreach my $ row (@ $ rows) {
$ linha -> {exemplo} = 1;
}
}

1;

Plugin editor
O editor de plugins permite-lhe ver os plugins innotop descobertos e ativar ou desativar
eles. Inicie o editor pressionando $ para iniciar o editor de configuração de qualquer modo.
Pressione a tecla 'p' para iniciar o editor de plugins. Você verá uma lista de plugins innotop
descoberto. Você pode usar as teclas 'j' e 'k' para mover o destaque para o desejado,
em seguida, pressione a tecla * para alternar entre ativo ou inativo. Saia do editor e reinicie o innotop
para que as mudanças entrem em vigor.

SQL AFIRMAÇÕES


innotop usa um conjunto limitado de instruções SQL para recuperar dados do MySQL para exibição. O
as instruções são personalizadas dependendo da versão do servidor em que são executadas;
por exemplo, no MySQL 5 e mais recente, INNODB_STATUS executa "SHOW ENGINE INNODB STATUS",
enquanto nas versões anteriores ele executa "SHOW INNODB STATUS". As declarações são tão
segue:

Instrução SQL executada
===================== =================================
INNODB_STATUS SHOW [ENGINE] STATUS INNODB
KILL_CONNECTION KILL
KILL_QUERY CONSULTA DE MATAÇÃO
OPEN_TABLES MOSTRAR TABELAS ABERTAS
LISTA DE PROCESSOS MOSTRAR LISTA DE PROCESSOS COMPLETA
SHOW_MASTER_LOGS MOSTRAR LOGS MASTER
SHOW_MASTER_STATUS MOSTRAR STATUS MESTRE
SHOW_SLAVE_STATUS MOSTRAR STATUS DE ESCRAVO
SHOW_STATUS MOSTRAR [GLOBAL] STATUS
SHOW_VARIABLES SHOW [GLOBAL] VARIÁVEIS

DADOS FONTES


Cada vez que o innotop extrai valores para criar uma tabela (veja "EXPRESSÕES" e "TABELAS"), ele
faz isso a partir de uma fonte de dados específica. Em grande parte por causa dos dados complexos extraídos de
MOSTRE O STATUS DE INNODB, isso é um pouco bagunçado. SHOW INNODB STATUS contém uma mistura de
valores únicos e valores repetidos que formam conjuntos de dados aninhados.

Sempre que o innotop busca dados do MySQL, ele adiciona dois bits extras a cada conjunto: cxn e
Uptime_hires. cxn é o nome da conexão da qual os dados vieram. Uptime_hires
é uma versão de alta resolução da variável de status Uptime do servidor, que é importante se
sua configuração de "intervalo" é inferior a um segundo.

Aqui estão os tipos de fontes de dados das quais os dados são extraídos:

STATUS_VARIÁVEIS
Esta é a categoria mais ampla, na qual se enquadra a maioria dos tipos de dados. Começa com
a combinação de SHOW STATUS e SHOW VARIABLES, mas outras fontes podem ser incluídas
conforme necessário, por exemplo, SHOW MASTER STATUS e SHOW SLAVE STATUS, bem como muitos de
os valores não repetidos de SHOW INNODB STATUS.

DEADLOCK_LOCKS
Estes dados são extraídos da lista de transações no LATEST DETECTED DEADLOCK
seção de MOSTRAR STATUS DE INNODB. Ele está aninhado em dois níveis de profundidade: transações e, em seguida,
fechaduras.

DEADLOCK_TRANSACTIONS
Esses dados são da lista de transações na seção LATEST DETECTED DEADLOCK de SHOW
STATUS DE INNODB. Está aninhado em um nível de profundidade.

EXPLIQUE
Esses dados são do conjunto de resultados retornado por EXPLAIN.

INNODB_TRANSACTIONS
Estes dados são da seção TRANSACTIONS de SHOW INNODB STATUS.

IO_THREADS
Estes dados são da lista de threads na seção FILE I / O de SHOW INNODB
STATUS.

INNODB_LOCKS
Estes dados são da seção TRANSACTIONS de SHOW INNODB STATUS e são dois aninhados
níveis profundos.

OPEN_TABLES
Esses dados são de MOSTRAR TABELAS ABERTAS.

LISTA DE PROCESSOS
Estes dados são de SHOW FULL PROCESSLIST.

OS_WAIT_ARRAY
Estes dados são da seção SEMAPHORES de SHOW INNODB STATUS e estão aninhados em um nível
profundo. Vem das linhas que se parecem com isto:

--Thread 1568861104 esperou na linha 0 btr424cur.c.

MYSQL PRIVILÉGIOS


· Você deve se conectar ao MySQL como um usuário que tem o privilégio SUPER para muitos dos
funções.

· Se você não tem o privilégio SUPER, você ainda pode executar algumas funções, mas você não vai
necessariamente ver todos os mesmos dados.

· Você precisa do privilégio PROCESS para ver a lista de consultas atualmente em execução no modo Q.

· Você precisa de privilégios especiais para iniciar e parar servidores escravos.

· Você precisa dos privilégios apropriados para criar e eliminar as tabelas de deadlock, se necessário (consulte
"CONEXÕES DO SERVIDOR").

SISTEMA REQUISITOS


Você precisa do Perl para rodar o innotop, é claro. Você também precisa de alguns módulos Perl: DBI,
DBD :: mysql, Term :: ReadKey e Time :: HiRes. Eles devem ser incluídos com a maioria dos Perl
distribuições, mas caso não o sejam, recomendo o uso de versões distribuídas com o seu
sistema operacional ou distribuição Perl, não do CPAN. Term :: ReadKey em particular tem
é conhecido por causar problemas se instalado a partir do CPAN.

Se você tiver o Term :: ANSIColor, o innotop o usará para formatar os cabeçalhos de forma mais legível e
compactamente. (No Microsoft Windows, você também precisa de Win32 :: Console :: ANSI para terminal
códigos de formatação a serem respeitados). Se você instalar Term :: ReadLine, de preferência
Term :: ReadLine :: Gnu, você obterá um ótimo suporte para preenchimento automático.

Eu corro o innotop no Gentoo GNU / Linux, Debian e Ubuntu, e recebo feedback de pessoas
executando-o com sucesso no Red Hat, CentOS, Solaris e Mac OSX. Eu não vejo nenhum motivo
por que não funciona em outros sistemas operacionais UNIX, mas não tenho certeza. Isso também
roda em Windows com ActivePerl sem problemas.

innotop foi usado no MySQL versões 3.23.58, 4.0.27, 4.1.0, 4.1.22, 5.0.26, 5.1.15,
e 5.2.3. Se não funcionar corretamente para você, esse é um bug que deve ser relatado.

Use innotop online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

  • 1
    Phaser
    Phaser
    Phaser é um aplicativo rápido, gratuito e divertido
    framework de jogo HTML5 de origem que oferece
    Renderização WebGL e Canvas em
    navegadores da web para desktop e celular. Jogos
    pode ser co ...
    Baixar Phaser
  • 2
    Motor VASSAL
    Motor VASSAL
    VASSAL é um motor de jogo para criar
    versões eletrônicas do tabuleiro tradicional
    e jogos de cartas. Ele fornece suporte para
    renderização e interação de peças do jogo,
    e ...
    Baixar VASSAL Engine
  • 3
    OpenPDF - Fork do iText
    OpenPDF - Fork do iText
    OpenPDF é uma biblioteca Java para criar
    e edição de arquivos PDF com LGPL e
    Licença de código aberto MPL. OpenPDF é o
    LGPL/MPL sucessor de código aberto do iText,
    um ...
    Baixar OpenPDF - Bifurcação do iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - Sistema para Automatizado
    Análises geocientíficas - é um geográfico
    Software de Sistema de Informação (GIS) com
    imensas capacidades para geodados
    processando e ana ...
    Baixar SAGA GIS
  • 5
    Caixa de ferramentas para Java / JTOpen
    Caixa de ferramentas para Java / JTOpen
    O IBM Toolbox for Java / JTOpen é um
    biblioteca de classes Java suportando o
    programação cliente/servidor e internet
    modelos para um sistema rodando OS/400,
    i5/OS, ou...
    Baixar Toolbox para Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (ou D3 para documentos baseados em dados)
    é uma biblioteca JavaScript que permite
    para produzir dados dinâmicos e interativos
    visualizações em navegadores da web. Com D3
    você...
    Baixar D3.js
  • Mais "

Comandos Linux

  • 1
    Abidiff
    Abidiff
    abidiff - comparar ABIs de arquivos ELF
    abidiff compara o aplicativo binário
    Interfaces (ABI) de duas bibliotecas compartilhadas
    em formato ELF. Ele emite um significativo
    relatorio ...
    Executar abidiff
  • 2
    abidw
    abidw
    abidw - serializar o ABI de um ELF
    arquivo abidw lê uma biblioteca compartilhada em ELF
    formato e emite uma representação XML
    de seu ABI para a saída padrão. O
    emitido ...
    Execute abidw
  • 3
    copac2xml
    copac2xml
    bibutils - conversão de bibliografia
    Serviços de utilidade pública ...
    Execute copac2xml
  • 4
    copta
    copta
    copt - otimizador de olho mágico SYSNOPIS:
    copt.. DESCRIÇÃO: copt é um
    otimizador de olho mágico de uso geral. Isto
    lê o código de sua entrada padrão e
    escreve um...
    Executar copia
  • 5
    collect_stx_titles
    collect_stx_titles
    collect_stx_titles - reunir título
    declarações de documentos Stx ...
    Executar collect_stx_titles
  • 6
    banco giratório
    banco giratório
    bancada - benchmark http ...
    Executar gatling-bench
  • Mais "

Ad