InglésFrancésEspañol

Ad


icono de página de OnWorks

innotop - Online en la nube

Ejecute innotop en el proveedor de alojamiento gratuito de OnWorks a través de Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando innotop que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


innotop - Monitor de transacciones / estado de MySQL e InnoDB.

SINOPSIS


Para monitorear servidores normalmente:

Innotop

Para monitorear la información de estado de InnoDB desde un archivo:

innotop /var/log/mysql/mysqld.err

Para ejecutar innotop de forma no interactiva en una configuración de tubería y filtro:

innotop - cuenta 5 -d 1 -n

Para monitorear una base de datos en otro sistema usando un nombre de usuario y contraseña en particular:

innotop -u -pags -h

DESCRIPCIÓN


innotop monitorea los servidores MySQL. Cada uno de sus modos te muestra un aspecto diferente de lo que
sucediendo en el servidor. Por ejemplo, hay un modo para monitorear la replicación, uno para
consultas y una para transacciones. innotop actualiza sus datos periódicamente, por lo que verá un
actualización de la vista.

innotop tiene muchas funciones para usuarios avanzados, pero puede iniciarlo y ejecutarlo virtualmente
sin configuración. Si recién está comenzando, consulte "INICIO RÁPIDO". Imprenta '?' a cualquiera
tiempo mientras ejecuta innotop para obtener ayuda contextual.

INICIO RÁPIDO


Para iniciar innotop, abra una terminal o símbolo del sistema. Si ha instalado innotop en
su sistema, debería poder escribir "innotop" y presionar Enter; de lo contrario, tu
tendrá que cambiar al directorio de innotop y escribir "perl innotop".

Sin opciones especificadas, innotop intentará conectarse a un servidor MySQL en localhost
usando mysql_read_default_group = client para otros parámetros de conexión. Si lo necesitas
especificar un nombre de usuario y contraseña diferentes, utilice las opciones -u y -p, respectivamente. A
monitorear una base de datos MySQL en otro host, use la opción -h.

Una vez que se haya conectado, innotop debería mostrarle algo como lo siguiente:

[RO] Lista de consultas (? Para obtener ayuda) localhost, 01:11:19, 449.44 QPS, 14/7/163 con / run

CXN cuando se carga QPS lento QCacheHit KCacheHit BpsIn BpsOut
servidor local Total 0.00 1.07k 697 0.00 % 98.17 % 476.83k 242.83k

Consulta de tiempo de base de datos de host de usuario de ID de cmd de CXN
localhost Query 766446598 prueba 10.0.0.1 foo 00:02 INSERT INTO tabla (

(Esta muestra está truncada a la derecha, por lo que cabe en una terminal cuando se ejecuta 'man
innotop ')

Si su servidor está ocupado, verá más resultados. Observe la primera línea en la pantalla,
que te dice que readonly está establecido en verdadero ([RO]), en qué modo estás y en qué servidor
estás conectado. Puede cambiar a otros modos con pulsaciones de teclas; presione 'T' para cambiar
a una lista de transacciones InnoDB, por ejemplo.

Presione el '?' tecla para ver qué teclas están activas en el modo actual. Puede presionar cualquiera de
estas teclas e innotop tomarán la acción solicitada o le pedirán más información.
Si su sistema tiene soporte para Term :: ReadLine, puede usar TAB y otras teclas para autocompletar
y editar la entrada.

Para salir de innotop, presione la tecla 'q'.

CAMPUS


innotop se configura principalmente a través de su archivo de configuración, pero parte de la configuración
las opciones pueden provenir de la línea de comandos. También puede especificar un archivo para monitorear para InnoDB
salida de estado; consulte "SUPERVISIÓN DE UN ARCHIVO" para obtener más detalles.

Puede negar algunas opciones prefijando el nombre de la opción con --no. Por ejemplo, --noinc
(o --no-inc) niega "--inc".

--color
Habilita o deshabilita el color del terminal. Corresponde a la configuración del archivo de configuración "color".

--config
Especifica un archivo de configuración para leer. Esta opción no es pegajosa, es decir
no persiste en el archivo de configuración en sí.

--contar
Actualice solo el número especificado de veces (tics) antes de salir. Cada actualización es un
pausa durante "intervalo" segundos, seguido de la solicitud de datos de las conexiones MySQL y
imprimiéndolo en el terminal.

--demora
Especifica la cantidad de tiempo para hacer una pausa entre tics (actualizaciones). Corresponde a la
opción de configuración "intervalo".

--ayuda
Imprima un resumen del uso de la línea de comandos y salga.

--anfitrión
Anfitrión al que conectarse.

--C ª
Especifica si innotop debe mostrar números absolutos o números relativos (compensaciones
de sus valores anteriores). Corresponde a la opción de configuración "status_inc".

--modo
Especifica el modo en el que debe iniciarse innotop. Corresponde a la configuración
opción "modo".

--noint
Habilite la operación no interactiva. Consulte "FUNCIONAMIENTO NO INTERACTIVO" para obtener más información.

--contraseña
Contraseña que se utilizará para la conexión.

--Puerto
Puerto que se utilizará para la conexión.

--skipcentral
No lea el archivo de configuración central.

--usuario
Usuario a utilizar para la conexión.

--versión
Salida de información de versión y salida.

--escribir
Establece la opción de configuración "solo lectura" en 0, lo que hace que innotop escriba la ejecución
configuración a ~ / .innotop / innotop.conf al salir, si no se cargó ningún archivo de configuración
Al inicio.

TECLAS DE ACCESO DIRECTO


innotop es interactivo y usted lo controla presionando las teclas.

· Las teclas en mayúsculas cambian de modo.

· Las teclas minúsculas inician alguna acción dentro del modo actual.

· Otras claves hacen algo especial como cambiar la configuración o mostrar la licencia innotop.

Imprenta '?' en cualquier momento para ver las claves activas actualmente y lo que hacen.

MODOS


Cada uno de los modos de innotop recupera y muestra un tipo particular de datos de los servidores.
estás monitoreando. Cambia entre modos con teclas mayúsculas. La siguiente es una
breve descripción de cada modo, en orden alfabético. Para cambiar al modo, presione el
clave que aparece delante de su título en la siguiente lista:

B: búferes InnoDB
Este modo muestra información sobre el grupo de búfer de InnoDB, estadísticas de la página, insertar
búfer e índice hash adaptativo. Los datos provienen de SHOW INNODB STATUS.

Este modo contiene "buffer_pool", "page_statistics", "insert_buffers" y
Tablas "adaptive_hash_index" por defecto.

C: Resumen de comandos
Este modo es similar al modo Resumen de comandos de mytop. Muestra el "cmd_summary"
tabla, que se parece a lo siguiente:

Resumen de comandos (? Para obtener ayuda) localhost, 25 + 07: 16: 43, 2.45 QPS, 3 thd, 5.0.40
_____________________ Resumen de comandos _____________________
Nombre Valor Porcentaje Último Incr Porcentaje
Seleccionar_escaneo 3244858 69.89% 2%
Seleccionar_rango 1354177 29.17% 0 0.00%
Seleccionar_unión_completa 39479 0.85% 0 0.00%
Seleccionar_gama_completa_unirse 4097 0.09% 0 0.00%
Select_range_check 0 0.00% 0 0.00%

La tabla de resumen de comandos se crea extrayendo variables de "STATUS_VARIABLES".
Las variables deben ser numéricas y deben coincidir con el prefijo dado por "cmd_filter"
variable de configuración. Luego, las variables se ordenan por valor descendente y
en comparación con la última variable, como se muestra arriba. Las columnas de porcentaje son porcentaje
del total de todas las variables en la tabla, para que pueda ver el peso relativo de la
variables.

El ejemplo muestra lo que ve si el prefijo es "Seleccionar_". El prefijo predeterminado es
"Com_". Puede elegir un prefijo con la tecla 's'.

Es como ejecutar SHOW VARIABLES LIKE "prefix%" con memoria y nice
formateo

Los valores se agregan en todos los servidores. Las columnas de Pct no están correctamente
agregado a través de múltiples servidores. Esta es una limitación conocida de la agrupación
algoritmo que puede corregirse en el futuro.

D: Puntos muertos de InnoDB
Este modo muestra las transacciones involucradas en el último interbloqueo de InnoDB. Una segunda mesa
muestra los bloqueos de cada transacción retenida y esperada. Un interbloqueo es causado por un ciclo
en el gráfico de espera, por lo que debe haber dos bloqueos retenidos y uno esperado a menos que
la información de interbloqueo se trunca.

InnoDB pone la información de interbloqueo antes que otra información en el SHOW INNODB
Salida de ESTADO. Si hay muchos bloqueos, la información de interbloqueo puede aumentar mucho.
grande, y hay un límite en el tamaño de la salida SHOW INNODB STATUS. Un gran
interbloqueo puede llenar toda la salida, o incluso truncarlo, y evitar que vea
otra información en absoluto. Si está ejecutando innotop en otro modo, por ejemplo T
modo, y de repente no ve nada, es posible que desee comprobar y ver si un
interbloqueo ha eliminado los datos que necesita.

Si es así, puede crear un pequeño interbloqueo para reemplazar el grande. Usa la tecla 'w'
para "limpiar" el gran punto muerto con uno pequeño. Esto no funcionará a menos que tenga
definió una tabla de interbloqueo para la conexión (ver "CONEXIONES DEL SERVIDOR").

También puede configurar innotop para que detecte automáticamente cuando un gran interbloqueo necesita
ser reemplazado por uno pequeño (ver "auto_wipe_dl").

Este modo muestra las tablas "deadlock_transactions" y "deadlock_locks" de forma predeterminada.

F: Errores de claves foráneas de InnoDB
Este modo muestra la última información de error de clave externa InnoDB, como la tabla donde
sucedió, cuándo, quién y qué consulta lo causó, etc.

InnoDB tiene una gran variedad de mensajes de error de clave externa, y muchos de ellos son solo
difícil de analizar. innotop no siempre hace el mejor trabajo aquí, pero hay mucho código
dedicado a analizar esta salida desordenada e irrapasable que es probable que innotop nunca sea
perfecto en este sentido. Si innotop no le muestra lo que necesita ver, simplemente mire
en el texto de estado directamente.

Este modo muestra la tabla "fk_error" de forma predeterminada.

I: Información de E / S InnoDB
Este modo muestra las estadísticas de E / S de InnoDB, incluidos los subprocesos de E / S, E / S pendientes, archivo
Miscelánea de E / S y estadísticas de registro. Muestra los "io_threads", "pendiente_io",
tablas "file_io_misc" y "log_statistics" de forma predeterminada.

L: cerraduras
Este modo muestra información sobre los bloqueos actuales. Por el momento, solo las cerraduras InnoDB son
compatible y, de forma predeterminada, solo verá los bloqueos cuyas transacciones están esperando.
Esta información proviene de la sección TRANSACCIONES del texto de estado de InnoDB. Si
tiene un servidor muy ocupado, es posible que tenga frecuentes esperas de bloqueo; ayuda poder
vea qué tablas e índices son el "punto caliente" para los bloqueos. Si su servidor se está ejecutando
bastante bien, este modo no debería mostrar nada.

Puede configurar MySQL e innotop para monitorear no solo los bloqueos para los cuales una transacción
está esperando, pero los que están actualmente retenidos también. Puede hacer esto con InnoDB Lock
Monitor (http://dev.mysql.com/doc/en/innodb-monitor.html>). No esta documentado en
el manual de MySQL, pero creando el monitor de bloqueo con la siguiente declaración también
afecta la salida de SHOW INNODB STATUS, que innotop usa:

CREAR TABLA innodb_lock_monitor (a int) ENGINE = INNODB;

Esto hace que InnoDB imprima su salida en el archivo MySQL cada 16 segundos aproximadamente, como
indicado en el manual, pero también hace que la salida normal SHOW INNODB STATUS incluya
bloquear información, que innotop puede analizar y mostrar (eso es lo indocumentado
función).

Esto significa que puede hacer lo que podría haber parecido imposible: hasta cierto punto (InnoDB
trunca alguna información en la salida), puede ver qué transacción contiene el
bloquea algo más está esperando. También puede habilitar y deshabilitar el bloqueo InnoDB
Supervise con las asignaciones de teclas en este modo.

Este modo muestra la tabla "innodb_locks" de forma predeterminada. Aquí hay una muestra de la pantalla.
cuando una conexión está esperando bloqueos, otra conexión se mantiene:

_________________________________ Cerraduras InnoDB __________________________
Tipo de ID de CXN Espera Espera Modo activo Índice de tabla de base de datos
localhost 12 REGISTRO 1 00:10 00:10 X prueba t1 PRIMARIO
localhost 12 TABLA 0 00:10 00:10 IX prueba t1
localhost 12 REGISTRO 1 00:10 00:10 X prueba t1 PRIMARIO
localhost 11 TABLA 0 00:00 00:25 IX prueba t1
localhost 11 REGISTRO 0 00:00 00:25 X prueba t1 PRIMARIO

Puede ver que la primera conexión, ID 12, está esperando un bloqueo en la tecla PRIMARIO en
test.t1, y ha estado esperando durante 10 segundos. La segunda conexión no está esperando
porque la columna En espera es 0, pero mantiene bloqueos en el mismo índice. Eso te dice
la conexión 11 está bloqueando la conexión 12.

M: Estado de replicación maestro / esclavo
Este modo muestra la salida de MOSTRAR ESTADO ESCLAVO y MOSTRAR ESTADO MAESTRO en tres
mesas. Los dos primeros dividen el estado del esclavo en estado de subproceso de E / S y SQL, y
el último muestra el estado del maestro. Los filtros se aplican para eliminar los servidores no esclavos de
las tablas esclavas y los servidores no maestros de la tabla maestra.

Este modo muestra "slave_sql_status", "slave_io_status" y "master_status"
tablas por defecto.

O: Mesas Abiertas
Esta sección proviene del comando SHOW OPEN TABLES de MySQL. Por defecto está filtrado
para mostrar tablas que están en uso por una o más consultas, para que pueda echar un vistazo rápido a
qué mesas están "calientes". Puede usar esto para adivinar qué tablas pueden estar bloqueadas
implícitamente.

Este modo muestra el modo "open_tables" por defecto.

P: Lista de consultas
Este modo muestra la salida de MOSTRAR LISTA DE PROCESOS COMPLETA, como mi toplista de consultas
modo. Este modo hace no mostrar información relacionada con InnoDB. Este es probablemente uno de
los modos más útiles para uso general.

Hay un encabezado informativo que muestra información general sobre el estado de su
servidor. Puede activarlo y desactivarlo con la tecla 'h'. De forma predeterminada, innotop oculta
procesos inactivos y su propio proceso. Puede activarlos y desactivarlos con la 'i'
y teclas 'a'.

Puede EXPLICAR una consulta desde este modo con la tecla 'e'. Esto muestra la consulta
texto completo, los resultados de EXPLAIN, y en las versiones más recientes de MySQL, incluso el optimizado
consulta resultante de EXPLAIN EXTENDED. innotop también intenta reescribir ciertas consultas
para hacerlos EXPLICABLES. Por ejemplo, las instrucciones INSERT / SELECT se pueden reescribir.

Este modo muestra las tablas "q_header" y "processlist" de forma predeterminada.

R: Semáforos y operaciones de fila InnoDB
Este modo muestra operaciones de fila InnoDB, operaciones de fila misceláneas, semáforos y
información de la matriz de espera. Muestra las "operaciones_fila",
Tablas "row_operation_misc", "semáforos" y "wait_array" por defecto.

S: Variables y estado
Este modo calcula estadísticas, como consultas por segundo, y las imprime en
varios estilos diferentes. Puede mostrar valores absolutos o valores incrementales entre
garrapatas.

Puede cambiar entre las vistas presionando una tecla. La tecla 's' imprime una sola línea
cada vez que la pantalla se actualiza, al estilo de vmstat. La tecla 'g' cambia la vista a
una gráfica de los mismos números, algo así como descargar. La tecla 'v' cambia la vista a una
tabla dinámica de nombres de variables a la izquierda, con actualizaciones sucesivas desplazándose por
la pantalla de izquierda a derecha. Puede elegir cuántas actualizaciones poner en la pantalla
con la variable de configuración "num_status_sets".

Los encabezados se pueden abreviar para que quepan en la pantalla en la operación interactiva. Tu eliges
qué variables mostrar con la tecla 'c', que selecciona de conjuntos predefinidos, o
te permite crear tus propios conjuntos. Puede editar el conjunto actual con la tecla 'e'.

Este modo realmente no muestra ninguna tabla como otros modos. En cambio, usa un
definición de tabla para extraer y formatear los datos, pero luego transforma el resultado en
formas especiales antes de emitirlo. Utiliza la definición de tabla "var_status" para
esta.

T: Transacciones InnoDB
Este modo muestra las transacciones de la salida del monitor InnoDB, en parte superior-como formato.
Este modo es la razón por la que escribí innotop.

Puede eliminar consultas o procesos con las teclas 'k' y 'x' y EXPLICAR una consulta con
las teclas 'e' o 'f'. InnoDB no imprime la consulta completa en las transacciones, por lo que
Es posible que la explicación no funcione correctamente si la consulta está truncada.

El encabezado informativo se puede activar y desactivar con la tecla 'h'. Por defecto,
innotop oculta transacciones inactivas y su propia transacción. Puedes activar esto
y fuera con las teclas 'i' y 'a'.

Este modo muestra las tablas "t_header" e "innodb_transactions" por defecto.

INNOTOP ESTADO


La primera línea que muestra innotop es una especie de "barra de estado". Lo que contiene depende de
el modo en el que se encuentra y los servidores que está monitoreando. Las primeras palabras son siempre
[RO] (si solo lectura se establece en 1), el modo innotop, como "InnoDB Txns" para el modo T,
seguido de un recordatorio para presionar '?' para obtener ayuda en cualquier momento.

ONE SERVIDOR
El caso más simple es cuando está monitoreando un solo servidor. En este caso, el nombre de
la conexión es la siguiente en la línea de estado. Este es el nombre que dio cuando creó el
conexión: lo más probable es que sea el nombre de host del servidor MySQL. Esto es seguido por el servidor
tiempo de actividad.

Si está en un modo InnoDB, como T o B, la siguiente palabra es "InnoDB" seguida de
información sobre la salida SHOW INNODB STATUS utilizada para representar la pantalla. La primera palabra
es el número de segundos desde el último SHOW INNODB STATUS, que InnoDB usa para calcular
algunas estadísticas por segundo. La siguiente es una carita sonriente que indica si el InnoDB
la salida está truncada. Si la carita sonriente es :-), todo está bien; no hay truncamiento. A
: ^ | significa que la lista de transacciones es tan larga, InnoDB solo ha impreso algunos de los
actas. Finalmente, un ceño fruncido :-( significa que la salida está incompleta, lo que probablemente se deba
a un interbloqueo que imprime demasiada información de bloqueo (consulte "D: Interbloqueos InnoDB").

Las siguientes dos palabras indican las consultas del servidor por segundo (QPS) y cuántos subprocesos
(conexiones) existen. Finalmente, el número de versión del servidor es lo último en la línea.

MÚLTIPLE SERVIDORES
Si supervisa varios servidores (consulte "CONEXIONES DE SERVIDOR"), la línea de estado no
no mostrar ningún detalle sobre servidores individuales. En cambio, muestra los nombres de los
conexiones que están activas. Nuevamente, estos son los nombres de conexión que especificó, que son
probablemente sea el nombre de host del servidor. Una conexión que tiene un error tiene el prefijo
punto de exclamación.

Si está supervisando un grupo de servidores (consulte "GRUPOS DE SERVIDORES"), la línea de estado muestra el
nombre del grupo. Si alguna conexión en el grupo tiene un error, el nombre del grupo es
seguido de la fracción de las conexiones que no tienen errores.

Consulte "MANEJO DE ERRORES" para obtener más detalles sobre el manejo de errores de innotop.

MONITOREO A ARCHIVO
Si da un nombre de archivo en la línea de comando, innotop no se conectará a NINGÚN servidor en
todo. Observará el archivo especificado para la salida de estado de InnoDB y lo usará como datos
fuente. Siempre mostrará una única conexión llamada 'archivo'. Y como no puede
conectarse a un servidor, no puede determinar cuánto tiempo ha estado funcionando el servidor que está monitoreando;
por lo que calcula el tiempo de actividad del servidor como el tiempo desde que innotop comenzó a ejecutarse.

SERVIDOR ADMINISTRACIÓN


Si bien innotop es principalmente un monitor que le permite observar y analizar sus servidores, puede
también envía comandos a los servidores. Los comandos más útiles son matar consultas.
y detener o arrancar esclavos.

Puede eliminar una conexión o, en versiones más recientes de MySQL, eliminar una consulta pero no una
conexión, desde los modos "Q: Query List" y "T: InnoDB Transactions". Presione 'k' para emitir un
KILL comando, o 'x' para emitir un comando KILL QUERY. innotop le pedirá el
servidor y / o ID de conexión para eliminar (innotop no le pregunta si solo hay uno
posible elección para cualquier entrada). innotop preselecciona la consulta de mayor duración, o la
conexión más antigua. Confirme el comando con 'y'.

En "Estado de replicación de esclavos" "en" M: Modo maestro, puede iniciar y detener esclavos con el
teclas 'a' y 'o', respectivamente. Puede enviar estos comandos a muchos esclavos a la vez.
innotop completa un comando predeterminado de START SLAVE o STOP SLAVE para usted, pero puede
en realidad, edite el comando y envíe todo lo que desee, como SET GLOBAL
SQL_SLAVE_SKIP_COUNTER = 1 para que el esclavo omita un evento binlog cuando se inicia.

También puede pedir a innotop que calcule el binlog más antiguo en uso por cualquier esclavo y emita un
PURGAR REGISTROS MAESTROS en el maestro. Use la tecla 'b' para esto. innotop le pedirá un
maestro para ejecutar el comando, luego le pedirá los nombres de conexión de ese maestro
esclavos (no hay forma de que innotop determine esto de manera confiable). innotop encontrará
el binlog mínimo en uso por estas conexiones esclavas y sugerirlo como el argumento para
PURGAR TRONCOS MAESTROS.

SERVIDOR CONEXIONES


Cuando crea una conexión de servidor usando '@', innotop le pide una serie de entradas, como
manera:

DSN Un DSN es un nombre de fuente de datos, que es el argumento inicial que se pasa al módulo DBI
para conectarse a un servidor. Suele tener la forma

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

Dado que este DSN se pasa al controlador DBD :: mysql, debe leer el controlador
documentación en "/search.cpan.org/dist/DBD-mysql/lib/DBD/mysql.pm" "en" http: para
Detalles exactos sobre todas las opciones que puede pasar el controlador en el DSN. Puedes leer
más sobre DBI enhttp://dbi.perl.org/docs/>, y especialmente en
<http://search.cpan.org/~timb/DBI/DBI.pm>.

La opción mysql_read_default_group = mysql permite que el controlador DBD lea sus opciones de MySQL
archivos, como ~ / .my.cnf en sistemas UNIX-ish. Puede usar esto para evitar especificar un
nombre de usuario o contraseña para la conexión.

Tabla de interbloqueo InnoDB
Este elemento opcional le dice a innotop un nombre de tabla que puede usar para crear deliberadamente un
pequeño interbloqueo (consulte "D: Interbloqueos InnoDB"). Si especifica esta opción, solo necesita
para asegurarse de que la tabla no existe, y que innotop puede crear y soltar la tabla
con el motor de almacenamiento InnoDB. Puede omitir con seguridad o simplemente aceptar el valor predeterminado si
no tengo la intención de usar esto.

Usuario
innotop le preguntará si desea especificar un nombre de usuario. Si dices 'y', entonces lo hará
le pedirá un nombre de usuario. Si tiene un archivo de opciones de MySQL que especifica su
nombre de usuario, no es necesario que especifique un nombre de usuario.

El nombre de usuario predeterminado es su nombre de inicio de sesión en el sistema en el que está ejecutando innotop.

Contraseña
innotop le preguntará si desea especificar una contraseña. Como el nombre de usuario, el
la contraseña es opcional, pero hay un mensaje adicional que le pregunta si desea guardar
la contraseña en el archivo de configuración innotop. Si no lo guarda en el
archivo de configuración, innotop le pedirá una contraseña cada vez que se inicie.
Las contraseñas en el archivo de configuración innotop se guardan en texto sin formato, no encriptadas en
de todas formas.

Una vez que termine de responder estas preguntas, debería estar conectado a un servidor. Pero
innotop no se limita a monitorear un solo servidor; puedes definir muchos servidores
conexiones y alternar entre ellas presionando la tecla '@'. Consulte "CAMBIAR ENTRE
CONEXIONES ".

SERVIDOR GRUPOS


Si tiene varias instancias de MySQL, puede ponerlas en grupos con nombre, como 'todas',
'maestros' y 'esclavos', que innotop puede monitorear todos juntos.

Puede elegir qué grupo monitorear con la tecla '#', y puede presionar la tecla TAB para
cambiar al siguiente grupo. Si actualmente no está monitoreando un grupo, presione TAB
selecciona el primer grupo.

Para crear un grupo, presione la tecla '#' y escriba el nombre de su nuevo grupo, luego escriba el
nombres de las conexiones que desea que contenga el grupo.

TRASPUESTA ENTRE CONEXIONES


innotop le permite cambiar rápidamente los servidores que está monitoreando. La forma más básica es por
presionando la tecla '@' y escribiendo el (los) nombre (s) de la (s) conexión (es) que desea usar. Esta
La configuración es por modo, por lo que puede monitorear diferentes conexiones en cada modo, e innotop
recuerda qué conexiones elige.

Puede cambiar rápidamente a la conexión 'siguiente' en orden alfabético con la tecla 'n'.
Si está supervisando un grupo de servidores (consulte "GRUPOS DE SERVIDORES"), esto cambiará al primer
conexión.

También puede escribir muchos nombres de conexión, e innotop buscará y mostrará datos de ellos
todo. Simplemente separe los nombres de las conexiones con espacios, por ejemplo, "servidor1 servidor2".
Nuevamente, si escribe el nombre de una conexión que no existe, innotop le preguntará
para obtener información de conexión y crear la conexión.

Otra forma de monitorear múltiples conexiones a la vez es con grupos de servidores. Puedes usar
la tecla TAB para cambiar al grupo 'siguiente' en orden alfabético, o si no está
monitoreando cualquier grupo, TAB cambiará al primer grupo.

innotop no obtiene datos en paralelo de las conexiones, por lo que si está monitoreando una gran
grupo o muchas conexiones, puede notar un mayor retraso entre tics.

Cuando supervisa más de una conexión, la barra de estado de innotop cambia. Consulte "INNOTOP
ESTADO".

ERROR MANEJO


El manejo de errores no es tan importante cuando se monitorea una sola conexión, pero es crucial
cuando tienes muchas conexiones activas. Un servidor averiado o una conexión perdida no debería
crash innotop. Como resultado, innotop continuará ejecutándose incluso cuando haya un error; eso
simplemente no mostrará ninguna información de la conexión que tuvo un error. Porque
esto, el comportamiento de innotop podría confundirlo. ¡Es una característica, no un error!

innotop no continúa consultando las conexiones que tienen errores, porque pueden ralentizar
innotop y dificultar su uso, especialmente si el error es un problema de conexión y
provoca un tiempo de espera prolongado. En su lugar, innotop vuelve a intentar la conexión de vez en cuando para ver si
el error aún existe. Si es así, esperará hasta algún momento en el futuro. La espera
el tiempo aumenta en tics como la serie de Fibonacci, por lo que intenta con menos frecuencia a medida que el tiempo
pases

Dado que los errores solo pueden ocurrir en ciertos modos debido a los comandos SQL emitidos en
En esos modos, innotop realiza un seguimiento de qué modo causó el error. Si cambia a un
modo diferente, innotop volverá a intentar la conexión en lugar de esperar.

De forma predeterminada, innotop mostrará el problema en texto rojo en la parte inferior de la primera tabla
en la pantalla. Puede deshabilitar este comportamiento con el "show_cxn_errors_in_tbl"
opción de configuración, que está habilitada por defecto. Si la opción "depurar" está habilitada,
innotop mostrará el error en la parte inferior de cada tabla, no solo en la primera. Y si
"show_cxn_errors" está habilitado, innotop también imprimirá el texto de error en STDOUT. Error
Es posible que los mensajes solo se muestren en el modo que causó el error, según el modo y
si innotop está evitando consultar esa conexión.

NO INTERACTIVO FUNCIONAMIENTO


Puede ejecutar innotop en modo no interactivo, en cuyo caso está completamente controlado desde
el archivo de configuración y las opciones de la línea de comandos. Para iniciar innotop en no interactivo
modo, proporcione la opción de línea de comandos L "<- nonint">. Esto cambia el comportamiento de innotop en el
siguientes maneras:

· Ciertos módulos de Perl no están cargados. Term :: Readline no está cargado, ya que innotop
no avisa de forma interactiva. Término :: ANSIColor y Win32 :: Consola :: Los módulos ANSI son
sin cargar. Term :: ReadKey todavía se usa, ya que innotop puede tener que solicitar
contraseñas de conexión al iniciar.

· Innotop no borra la pantalla después de cada marca.

· Innotop no conserva ningún cambio en el archivo de configuración.

· Si se da "--count" e innotop está en modo incremental (ver "status_inc" y
"--inc"), innotop se actualiza una vez más de lo especificado para que pueda imprimir
estadísticas incrementales. Esto suprime la salida durante el primer tick, por lo que innotop puede
parecen colgar.

· Innotop solo muestra la primera tabla en cada modo. Esto es para que la salida pueda ser
Se procesa fácilmente con otras utilidades de línea de comandos como awk y sed. Cambiar
qué tablas se muestran en cada modo, consulte "TABLAS". Dado que el modo "P: Lista de consultas" es tan
importante, innotop desactiva automáticamente la tabla "q_header". Esto asegura que
ver la tabla "lista de procesos", incluso si tiene innotop configurado para mostrar el q_header
mesa durante la operación interactiva. Del mismo modo, en el modo "T: Transacciones InnoDB", el
La tabla "t_header" está suprimida, por lo que solo verá la tabla "innodb_transactions".

· Todos los resultados están separados por tabulaciones en lugar de estar alineados en columnas con espacios en blanco, y
innotop imprime el contenido completo de cada tabla en lugar de imprimir solo una pantalla completa
a la vez.

· Innotop solo imprime los encabezados de columna una vez en lugar de cada tick (ver "hide_hdr").
innotop no imprime títulos de tabla (consulte "display_table_captions"). innotop asegura
no hay líneas vacías en la salida.

· Innotop no respeta la transformación "acortar", que normalmente acorta algunos
números a formatos legibles por humanos.

· Innotop no imprime una línea de estado (consulte "ESTADO INNOTOP").

CONFIGURAR


Casi todo lo relacionado con innotop es configurable. La mayoría de las cosas se pueden cambiar con
comandos integrados, pero también puede editar el archivo de configuración.

Mientras ejecuta innotop, presione la tecla '$' para abrir el cuadro de diálogo de edición de configuración.
Presione otra tecla para seleccionar el tipo de datos que desea editar:

S: Declaración de horas de sueño
Edita los retrasos de suspensión de la instrucción SQL, que hacen que innotop se pause por la cantidad especificada de
tiempo después de ejecutar una declaración. Consulte "DECLARACIONES SQL" para obtener una definición de cada
declaración y lo que hace. Por defecto innotop no se demora después de cualquier declaración.

Esta función está incluida para que pueda personalizar los efectos secundarios causados ​​por la monitorización.
su servidor. Es posible que no vea ningún efecto, pero algunos usuarios de innotop han notado que
ciertas versiones de MySQL con una carga muy alta con InnoDB habilitado tardan más de lo habitual
para ejecutar MOSTRAR ESTADO GLOBAL. Si innotop llama a SHOW FULL PROCESSLIST inmediatamente
Posteriormente, la lista de procesos contiene más consultas de las que la máquina realmente promedia en
en cualquier momento dado. Configuración de innotop para hacer una pausa breve después de llamar a SHOW GLOBAL
STATUS alivia este efecto.

Los tiempos de reposo se almacenan en la sección "stmt_sleep_times" del archivo de configuración.
Se admiten inactivos de fracción de segundo, sujetos a las limitaciones de su hardware.

c: Editar columnas
Inicia el editor de tablas en una de las tablas mostradas. Ver "EDITOR DE TABLAS". Un
Una forma alternativa de iniciar el editor de tablas sin entrar en el cuadro de diálogo de configuración es
con la tecla '^'.

g: Configuración general
Inicia el editor de configuración para editar la configuración global y específica del modo
variables (ver "MODOS"). innotop le solicita que elija una variable entre las
los globales y específicos del modo dependiendo del modo actual.

k: Reglas para colorear filas
Inicia el editor de reglas para colorear filas en una de las tablas mostradas. Ver "COLORES"
para obtener más detalles.

p: Administrar complementos
Inicia el editor de configuración del complemento. Consulte "PLUGINS" para obtener más detalles.

s: Grupos de servidores
Le permite crear y editar grupos de servidores. Consulte "GRUPOS DE SERVIDORES".

t: Elija Tablas mostradas
Le permite elegir qué tablas mostrar en este modo. Consulte "MODOS" y "TABLAS".

CONFIGURACIÓN ARCHIVO


Las ubicaciones predeterminadas del archivo de configuración de innotop son $ HOME / .innotop y
/etc/innotop/innotop.conf, y se buscan en ese orden. Si el primero
existe un archivo de configuración, el segundo no se procesará. Aquellos se pueden anular con
la opción de línea de comandos "--config". Puede editarlo a mano de forma segura, sin embargo innotop lee
el archivo de configuración cuando se inicia y, si readonly se establece en 0, lo escribe de nuevo
cuando sale. Por lo tanto, si readonly se establece en 0, cualquier cambio que realice manualmente mientras innotop
se está ejecutando se perderá.

innotop no almacena toda su configuración en el archivo de configuración. Tiene una enorme
conjunto de valores de configuración predeterminados que solo tiene en la memoria, y la configuración
file solo anula estos valores predeterminados. Cuando personaliza una configuración predeterminada, innotop
notifica y luego almacena las personalizaciones en el archivo. Esto mantiene el tamaño del archivo bajo,
facilita la edición y facilita las actualizaciones.

Un archivo de configuración es de solo lectura por defecto. Puede anular eso con "--write". Ver
"solo lectura".

El archivo de configuración está organizado en secciones como un archivo INI. Cada sección comienza
con [nombre-sección] y termina con [/ nombre-sección]. Las entradas de cada sección tienen un
sintaxis diferente según los datos que necesiten almacenar. Puedes poner comentarios en el
Archivo; cualquier línea que comience con un carácter # es un comentario. innotop no leerá el
comentarios, por lo que no los volverá a escribir en el archivo cuando salga. Comentarios en lectura
Sin embargo, solo los archivos de configuración siguen siendo útiles.

La primera línea del archivo es el número de versión de innotop. Esto le permite a innotop notar cuando el
El formato de archivo no es compatible con versiones anteriores y actualice sin problemas sin destruir su
configuración personalizada.

La siguiente lista describe cada sección del archivo de configuración y los datos que
contiene:

general
La sección 'general' contiene variables de configuración global y variables que pueden
ser específico del modo, pero no pertenecer a ninguna otra sección. La sintaxis es simple
clave = lista de valores. innotop escribe un comentario sobre cada valor para ayudarlo a editar el archivo
a mano.

S_func
Controla la presentación del modo S (consulte "S: Variables y estado"). Si g, los valores son
graficado si s, los valores son como vmstat; si p, los valores están en una tabla dinámica.

S_conjunto
Especifica qué conjunto de variables mostrar en el modo "S: Variables y estado". Ver
"CONJUNTOS VARIABLES".

borrado_automático_dl
Indica a innotop que borre automáticamente los interbloqueos grandes cuando los detecte.
Cuando esto sucede, puede notar un ligero retraso. En el siguiente tick,
Por lo general, ve la información que estaba siendo truncada por el gran interbloqueo.

charset
Especifica qué tipo de caracteres permitir a través de "no_ctrl_char"
transformación. Esto evita que los caracteres no imprimibles confundan un terminal.
cuando supervisa consultas que contienen datos binarios, como imágenes.

El valor predeterminado es 'ascii', que considera cualquier cosa fuera de ASCII normal como un
carácter de control. Los otros valores permitidos son 'unicode' y 'none'. 'ninguna'
considera que cada personaje es un personaje de control, que puede ser útil para colapsar
TODOS los campos de texto de las consultas.

filtro_cmd
Este es el prefijo que filtra las variables en el modo "C: Resumen de comandos".

Color
Si se permite la coloración de terminales.

cxn_timeout
En las versiones 4.0.3 y posteriores de MySQL, esta variable se usa para configurar la conexión
timeout, por lo que MySQL no cierra la conexión si no se usa por un tiempo.
Esto puede suceder porque una conexión no se monitorea en un modo particular, por
ejemplo.

depurar
Esta opción habilita errores más detallados y hace innotop más estricto en algunos
lugares. Puede ayudar a depurar filtros y otros códigos definidos por el usuario. También
hace que innotop escriba mucha información en "debugfile" cuando hay un bloqueo.

archivo de depuración
Un archivo en el que innotop escribirá información cuando se produzca un bloqueo. Ver
"ARCHIVOS".

display_table_captions
innotop muestra un título de tabla encima de la mayoría de las tablas. Esta variable suprime o
muestra subtítulos en todas las tablas a nivel mundial. Algunas tablas están configuradas con el
hide_caption propiedad, que anula esto.

global
Ya sea para mostrar el estado y las variables GLOBALES. innotop solo intenta hacer esto en
servidores que admiten la opción GLOBAL para MOSTRAR VARIABLES y MOSTRAR ESTADO. En
algunas versiones de MySQL, necesita ciertos privilegios para hacer esto; si no tienes
ellos, innotop no podrá recuperar ninguna variable ni datos de estado. Esta
La variable de configuración le permite ejecutar innotop y recuperar qué datos puede incluso
sin los privilegios elevados.

Ya no puedo encontrar ni reproducir la situación en la que GLOBAL no estaba permitido, pero
sé que había uno.

gráfico_char
Define el carácter que se utilizará al dibujar gráficos en el modo "S: Variables y estado".

encabezado_resaltado
Define cómo resaltar los encabezados de las columnas. Esto solo funciona si Term :: ANSIColor es
disponible. Los valores válidos son "negrita" y "subrayado".

ocultar_hdr
Oculta los encabezados de columna de forma global.

intervalo
El intervalo en el que innotop actualizará sus datos (ticks). El intervalo es
implementado como un tiempo de reposo entre garrapatas, por lo que el intervalo real variará
dependiendo de cuánto tiempo tarde innotop en obtener y procesar los datos.

Esta variable acepta fracciones de segundo.

modo
El modo en el que debe iniciarse innotop. Los argumentos permitidos son los mismos que los
pulsaciones de teclas que seleccionan un modo de forma interactiva. Ver "MODOS".

núm_decimales
Cuántos dígitos mostrar en números fraccionarios y porcentajes. El rango de esta variable
está entre 0 y 9 y se puede configurar directamente desde el modo "S: Variables y estado" con
las teclas '+' y '-'. Se utiliza en "set_precision", "shorten" y "percent"
transformaciones.

num_status_sets
Controla cuántos conjuntos de variables de estado se muestran en "S: Variables y
Estado ". También controla el número de conjuntos antiguos de variables que innotop mantiene
en su memoria, por lo que cuanto más grande es esta variable, más memoria usa innotop.

complemento_dir
Especifica dónde se pueden encontrar los complementos. De forma predeterminada, innotop almacena complementos en el
subdirectorio 'plugins' de su directorio de configuración innotop.

solo lectura
Si el archivo de configuración es de solo lectura. Esto no se puede configurar de forma interactiva.

mostrar_cxn_errores
Hace innotop errores de conexión de impresión a STDOUT. Consulte "MANEJO DE ERRORES".

show_cxn_errors_in_tbl
Hace que innotop muestre errores de conexión como filas en la primera tabla de la pantalla. Ver
"MANEJO DE ERRORES".

mostrar_porcentaje
Agrega un carácter '%' después del valor devuelto por la transformación de "porcentaje".

Mostrar barra de estado
Controla si se muestra la barra de estado en la pantalla. Consulte "ESTADO INNOTOP".

saltar_innodb
Desactiva la obtención de MOSTRAR ESTADO INNODB, en caso de que su (s) servidor (es) no tenga InnoDB
habilitado y no desea que innotop intente recuperarlo. Esto también puede ser útil
cuando no tiene el privilegio SUPER, es necesario ejecutar SHOW INNODB STATUS.

estado_inc
Ya sea para mostrar valores absolutos o incrementales para las variables de estado. Incremental
Los valores se calculan como una compensación del último valor en la sierra para ese
variable. Esta es una configuración global, pero probablemente se convertirá en un modo específico en
algún punto. En este momento se honra un poco de manera inconsistente; algunos modos no pagan
atención a eso.

plugins
Esta sección contiene una lista de nombres de paquetes de complementos activos. Si el complemento existe,
innotop lo activará. Consulte "PLUGINS" para obtener más información.

filtros
Esta sección contiene filtros definidos por el usuario (consulte "FILTROS"). Cada línea tiene el formato
filter_name = text = 'filter text' tbls = 'lista de tablas'.

El texto del filtro es el texto del código de la subrutina. La lista de la tabla es una lista de
tablas a las que se puede aplicar el filtro. De forma predeterminada, los filtros definidos por el usuario se aplican a
tabla para la que fueron creados, pero puede anularlo manualmente editando el
definición en el archivo de configuración.

filtros_activos
Esta sección almacena qué filtros están activos en cada tabla. Cada línea está en el
formato nombre_tabla = lista_filtros.

tbl_meta
Esta sección almacena columnas definidas por el usuario o personalizadas por el usuario (consulte "COLUMNAS"). Cada
La línea tiene el formato col_name = properties, donde las propiedades son un
nombre = lista de valores cotizados.

personales
Esta sección contiene las conexiones de servidor que ha definido. Cada línea está en el
formato nombre = propiedades, donde las propiedades son una lista nombre = valor. Las propiedades
son autoexplicativos, y el único que se trata especialmente es 'pasar', que es
solo está presente si se establece 'savepass'. Esta sección del archivo de configuración será
se omite si se utilizan opciones de línea de comandos de DSN, nombre de usuario o contraseña. Ver "SERVIDOR
CONEXIONES ".

active_connections
Esta sección contiene una lista de las conexiones activas en cada modo. Cada línea es
en el formato mode_name = connection_list.

grupos_servidor
Esta sección contiene grupos de servidores. Cada línea tiene el formato name = connection_list.
Consulte "GRUPOS DE SERVIDORES".

grupos_servidor_activos
Esta sección contiene una lista de qué grupo de servidores está activo en cada modo. Cada línea es
en el formato mode_name = server_group.

valores_max_vistos
Esta sección contiene los valores máximos vistos para las variables. Esto se usa para escalar el
gráficos en modo "S: Variables y estado". Cada línea tiene el formato nombre = valor.

columnas_activas
Esta sección contiene listas de columnas de tablas. Cada línea tiene el formato
tbl_name = column_list. Consulte "COLUMNAS".

ordenar_cols
Esta sección contiene la definición de clasificación. Cada línea tiene el formato
tbl_name = column_list. Si una columna tiene el prefijo '-', esa columna se ordena de forma descendente.
Consulte "CLASIFICACIÓN".

tablas_visibles
Esta sección define qué tablas son visibles en cada modo. Cada línea está en el
formato nombre_modo = lista_tabla. Ver "TABLAS".

varsets
Esta sección define conjuntos de variables para su uso en el modo "S: Estado y variables". Cada línea
tiene el formato name = variable_list. Consulte "CONJUNTOS VARIABLES".

colores
Esta sección define las reglas de coloración. Cada línea tiene el formato
tbl_name = lista_propiedad. Ver "COLORES".

stmt_sleep_times
Esta sección contiene declaraciones sobre los tiempos de sueño. Cada línea tiene el formato
nombre_declaración = hora de dormir. Consulte "S: Declaración de tiempos de reposo".

agrupar por
Esta sección contiene listas de columnas para las expresiones group_by de la tabla. Cada línea está en
el formato tbl_name = column_list. Consulte "AGRUPACIÓN".

PERSONALIZAR


Puede personalizar innotop mucho. Por ejemplo, puede:

· Elija qué tablas mostrar y en qué orden.

· Elija qué columnas están en esas tablas y cree nuevas columnas.

· Filtra qué filas se muestran con filtros integrados, filtros definidos por el usuario y
filtros.

· Ordene las filas para poner los datos importantes primero o agrupe las filas relacionadas.

· Resalta las filas con color.

· Personalice la alineación, el ancho y el formato de las columnas y aplique transformaciones
a columnas para extraer partes de sus valores o formatear los valores como desee (por
ejemplo, acortando números grandes a unidades familiares).

· Diseñe sus propias expresiones para extraer y combinar datos según necesite. Esto te da
flexibilidad ilimitada.

Todos estos y más se explican en las siguientes secciones.

TABLAS
Una tabla es lo que esperarías: una colección de columnas. También tiene algunas otras propiedades,
como una leyenda. Los filtros, las reglas de clasificación y las reglas de coloración pertenecen a tablas y
se tratan en secciones posteriores.

Internamente, los metadatos de la tabla se definen en una estructura de datos llamada% tbl_meta. Este hash
contiene todas las definiciones de tablas integradas, que contienen muchas instrucciones predeterminadas para
innotop. Los metadatos incluyen el título, una lista de columnas que el usuario ha personalizado, un
lista de columnas, una lista de columnas visibles, una lista de filtros, reglas de color, una columna de clasificación
lista, dirección de clasificación y algo de información sobre las fuentes de datos de la tabla. La mayor parte de esto
es personalizable a través del editor de tablas (ver "EDITOR DE TABLAS").

Puede elegir qué tablas mostrar presionando la tecla '$'. Consulte "MODOS" y "TABLAS".

El ciclo de vida de la tabla es el siguiente:

· Cada tabla comienza con una fuente de datos, que es una matriz de valores hash. Vea a continuación para
detalles sobre las fuentes de datos.

· Cada elemento de la fuente de datos se convierte en una fila en la tabla final.

· Para cada elemento de la fuente de datos, innotop extrae valores de la fuente y
crea una fila. Esta fila es otro hash, al que los pasos posteriores se referirán como $ set.
Los valores de los extractos de tópicos están determinados por las columnas de la tabla. Cada columna tiene un
subrutina de extracción, compilada a partir de una expresión (ver "EXPRESIONES"). La resultante
row es un hash cuyas claves se denominan igual que el nombre de la columna.

· Innotop filtra las filas, eliminando aquellas que no necesitan mostrarse. Ver
"FILTROS".

· Innotop ordena las filas. Consulte "CLASIFICACIÓN".

· Innotop agrupa las filas juntas, si se especifica. Consulte "AGRUPACIÓN".

· Innotop colorea las filas. Ver "COLORES".

· Innotop transforma los valores de columna en cada fila. Ver "TRANSFORMACIONES".

· Innotop opcionalmente pivota las filas (ver "PIVOTING"), luego las filtra y las ordena.

· Innotop formatea y justifica las filas como una tabla. Durante este paso, se aplica innotop
Más formato a los valores de la columna, incluida la alineación, máximo y mínimo
anchos. innotop también realiza una verificación final de errores para asegurarse de que no haya fallas debido a
valores indefinidos. innotop luego agrega un título si se especifica, y la tabla está lista para
imprimir.

El ciclo de vida es ligeramente diferente si la tabla se pivota, como se indicó anteriormente. Para aclarar,
si la tabla es pivotada, el proceso es extraer, agrupar, transformar, pivotar, filtrar, ordenar,
crear. Si no está pivotado, el proceso es extraer, filtrar, ordenar, agrupar, colorear,
transformar, crear. Este proceso ligeramente complicado no se asigna tan bien a SQL, pero
pivotar complica las cosas bastante a fondo. En términos generales, filtrar y clasificar
suceder tan tarde como sea necesario para lograr el resultado final como cabría esperar, pero tan pronto como
posible para la eficiencia.

Cada tabla incorporada se describe a continuación:

índice_hash_adaptable
Muestra datos sobre el índice hash adaptativo de InnoDB. Fuente de datos: "STATUS_VARIABLES".

grupo_búfer
Muestra datos sobre el grupo de búferes de InnoDB. Fuente de datos: "STATUS_VARIABLES".

cmd_summary
Muestra variables de estado ponderadas. Fuente de datos: "STATUS_VARIABLES".

interbloqueo_bloqueos
Muestra qué bloqueos se mantuvieron y esperaron hasta el último interbloqueo detectado. Datos
fuente: "DEADLOCK_LOCKS".

transacciones_bloqueo_muerto
Muestra las transacciones involucradas en el último interbloqueo detectado. Fuente de datos:
"DEADLOCK_TRANSACTIONS".

explicar
Muestra la salida de EXPLAIN. Fuente de datos: "EXPLICAR".

archivo_io_misc
Muestra datos sobre el archivo y las operaciones de E / S de InnoDB. Fuente de datos:
"STATUS_VARIABLES".

fk_error
Muestra varios datos sobre el último error de clave externa de InnoDB. Fuente de datos:
"STATUS_VARIABLES".

innodb_locks
Muestra bloqueos InnoDB. Fuente de datos: "INNODB_LOCKS".

innodb_transacciones
Muestra datos sobre las transacciones actuales de InnoDB. Fuente de datos:
"INNODB_TRANSACTIONS".

insertar_búferes
Muestra datos sobre el búfer de inserción de InnoDB. Fuente de datos: "STATUS_VARIABLES".

io_hilos
Muestra datos sobre los subprocesos de E / S de InnoDB. Fuente de datos: "IO_THREADS".

log_estadísticas
Muestra datos sobre el sistema de registro de InnoDB. Fuente de datos: "STATUS_VARIABLES".

estado_maestro
Muestra el estado del maestro de replicación. Fuente de datos: "STATUS_VARIABLES".

tablas_abiertas
Muestra tablas abiertas. Fuente de datos: "OPEN_TABLES".

página_estadísticas
Muestra las estadísticas de la página InnoDB. Fuente de datos: "STATUS_VARIABLES".

pendiente_io
Muestra las operaciones de E / S pendientes de InnoDB. Fuente de datos: "STATUS_VARIABLES".

lista de procesos
Muestra los procesos actuales de MySQL (hilos / conexiones). Fuente de datos: "PROCESSLIST".

q_encabezado
Muestra varios valores de estado. Fuente de datos: "STATUS_VARIABLES".

fila_operación_misc
Muestra datos sobre las operaciones de fila de InnoDB. Fuente de datos: "STATUS_VARIABLES".

operaciones_fila
Muestra datos sobre las operaciones de fila de InnoDB. Fuente de datos: "STATUS_VARIABLES".

semáforos
Muestra datos sobre los semáforos y mutex de InnoDB. Fuente de datos: "STATUS_VARIABLES".

Slave_io_status
Muestra datos sobre el hilo de E / S esclavo. Fuente de datos: "STATUS_VARIABLES".

esclavo_sql_status
Muestra datos sobre el hilo SQL esclavo. Fuente de datos: "STATUS_VARIABLES".

t_encabezado
Muestra varios valores de estado de InnoDB. Fuente de datos: "STATUS_VARIABLES".

estado_var
Muestra datos configurables por el usuario. Fuente de datos: "STATUS_VARIABLES".

espera_matriz
Muestra datos sobre la matriz de espera del sistema operativo de InnoDB. Fuente de datos: "OS_WAIT_ARRAY".

COLUMNAS
Las columnas pertenecen a tablas. Puede elegir las columnas de una tabla presionando la tecla '^', que
inicia el "EDITOR DE TABLAS" y le permite elegir y editar columnas. Presionando 'e' desde adentro
el editor de tablas le permite editar las propiedades de la columna:

· Hdr: un encabezado de columna. Esto aparece en la primera fila de la tabla.

· Justo: justificación. '-' significa justificado a la izquierda y '' significa justificado a la derecha, al igual que
con códigos de formato printf (no es una coincidencia).

· Dec: si se debe seguir alineando la columna con el punto decimal.

· Num: si la columna es numérica. Esto afecta la forma en que se ordenan los valores (léxica o
numéricamente).

· Etiqueta: una pequeña nota sobre la columna, que aparece en los cuadros de diálogo que ayudan al usuario
elija columnas.

· Src: una expresión que innotop usa para extraer los datos de la columna de su fuente (ver
"FUENTES DE DATOS"). Consulte "EXPRESIONES" para obtener más información sobre las expresiones.

· Minw: especifica un ancho mínimo de visualización. Esto ayuda a estabilizar la pantalla, que
facilita la lectura si los datos cambian con frecuencia.

· Maxw: similar a minw.

· Trans: una lista de transformaciones de columnas. Ver "TRANSFORMACIONES".

· Agg: función agregada. Consulte "AGRUPACIÓN". El valor predeterminado es "primero".

· Aggonly: controla si la columna solo se muestra cuando la agrupación está habilitada en la tabla
(ver "AGRUPACIÓN"). Por defecto, esto está desactivado. Esto significa que las columnas siempre estarán
se muestra de forma predeterminada, tanto si la agrupación está habilitada como si no. Si se establece el aggonly de una columna
true, la columna aparecerá cuando cambie la agrupación en la tabla. Varias columnas
se establecen de esta manera, como la columna de recuento en "lista de procesos" e "innodb_transactions",
por lo que no ve un recuento cuando la agrupación no está habilitada, pero sí cuando lo está.

FILTROS
Los filtros eliminan filas de la pantalla. Se comportan de forma muy parecida a una cláusula WHERE en SQL.
innotop tiene varios filtros incorporados, que eliminan información irrelevante como inactivo
consultas, pero también puede definir las suyas propias. innotop también te permite crear filtros rápidos,
que no se guardan en el archivo de configuración y son solo una forma fácil de ver rápidamente
solo algunas filas.

Puede habilitar o deshabilitar un filtro en cualquier tabla. Presione la tecla '%' (mnemotécnico:% parece
algo así como una línea que se filtra entre dos círculos) y elija qué tabla desea
filtro, si se le solicita. Luego verá una lista de posibles filtros y una lista de filtros
actualmente habilitado para esa tabla. Escriba los nombres de los filtros que desea aplicar y presione
Intro.

USUARIO DEFINIDO FILTROS

Si escribe un nombre que no existe, innotop le pedirá que cree el filtro.
Los filtros son fáciles de crear si conoce Perl, y no difíciles si no lo conoce. Que estas haciendo
está creando una subrutina que devuelve verdadero si se debe mostrar la fila. La fila es una
referencia hash pasada a su subrutina como $ set.

Por ejemplo, imagine que desea filtrar la tabla de lista de procesos para que solo vea las consultas que
han estado funcionando más de cinco minutos. Escriba un nuevo nombre para su filtro y cuando
cuando se le solicite el cuerpo de la subrutina, presione TAB para iniciar la finalización automática de su terminal.
Verá los nombres de las columnas en la tabla "lista de procesos" (innotop generalmente intenta
ayudarlo con las listas de autocompletar). Quieres filtrar por la columna "tiempo". Escribe el
texto "$ set -> {time}> 300" para devolver verdadero cuando la consulta tiene más de cinco minutos.
Eso es todo lo que necesitas hacer.

En otras palabras, el código que está escribiendo está rodeado por un contexto implícito, que parece
Me gusta esto:

subfiltro {
mi ($ conjunto) = @_;
# TU CÓDIGO AQUÍ
}

Si su filtro no funciona, o si algo más de repente se comporta de manera diferente, puede
ha cometido un error en su filtro, e innotop está detectando silenciosamente el error. Tratar
habilitando "depuración" para que innotop arroje un error en su lugar.

FILTROS RÁPIDOS

Los filtros rápidos de innotop son un atajo para crear un filtro temporal que no persiste
cuando reinicia innotop. Para crear un filtro rápido, presione la tecla '/'. innotop voluntad
le solicitará el nombre de la columna y el texto del filtro. Nuevamente, puede usar la función de autocompletar en
nombres de columna. El texto del filtro puede ser solo el texto que desea "buscar". Para
Por ejemplo, para filtrar la tabla "lista de procesos" en consultas que hacen referencia a la tabla de productos,
escriba '/' y luego 'producto de información'.

El texto del filtro puede ser en realidad cualquier expresión regular de Perl, pero, por supuesto, un texto literal.
una cadena como 'producto' funciona bien como expresión regular.

Detrás de escena innotop compila el filtro rápido en un filtro especialmente etiquetado que es
de lo contrario, como cualquier otro filtro. Simplemente no se guarda en el archivo de configuración.

Para borrar los filtros rápidos, presione la tecla '\' e innotop los borrará todos a la vez.

CLASIFICACIÓN
innotop tiene valores predeterminados integrados sensibles para ordenar las filas más importantes en la parte superior de la
mesa. Como todo lo demás en innotop, puede personalizar cómo se ordena cualquier tabla.

Para iniciar el diálogo de clasificación, inicie el "EDITOR DE TABLAS" con la tecla '^', elija una tabla si
necesario y presione la tecla 's'. Verá una lista de columnas que puede usar en el orden
expresión y la expresión de clasificación actual, si existe. Introduzca una lista de columnas por las que
desea ordenar y presione Entrar. Si desea invertir la ordenación, anteponga el nombre de la columna con un
signo menos. Por ejemplo, si desea ordenar por columna a ascendente, entonces la columna b
descendente, escriba 'a -b'. También puede agregar explícitamente un + delante de las columnas que desee
ordenar ascendente, pero no es obligatorio.

Algunos modos tienen teclas asignadas para abrir este cuadro de diálogo directamente y para revertir rápidamente la ordenación.
dirección. Imprenta '?' como de costumbre, para ver qué teclas están asignadas en cualquier modo.

AGRUPAMIENTO
innotop puede agrupar, o agregar, filas juntas (los términos se usan indistintamente). Esta
es bastante similar a una cláusula GROUP BY de SQL. Puede especificar agrupar en ciertas columnas,
o si no especifica ninguno, todo el conjunto de filas se trata como un grupo. Esto es
bastante parecido a SQL hasta ahora, pero a diferencia de SQL, también puede seleccionar columnas no agrupadas. innotop
en realidad agrega todas las columnas. Si no especifica explícitamente una función de agrupación,
el valor predeterminado es "primero". Esto es básicamente una conveniencia, por lo que no tiene que especificar un
función agregada para cada columna que desee en el resultado.

Puede alternar rápidamente la agrupación en una tabla con la tecla '=', que alterna su agregación
propiedad. Esta propiedad no persiste en el archivo de configuración.

Las columnas por las que se agrupa la tabla se especifican en su propiedad group_by. Cuándo
activa la agrupación, innotop coloca las columnas group_by en el extremo izquierdo de la tabla,
incluso si se supone que no deben ser visibles. El resto de las columnas visibles aparecen en
orden después de ellos.

Dos tablas tienen listas group_by predeterminadas y una columna de recuento incorporada: "lista de procesos" y
"innodb_transactions". La agrupación es por conexión y estado, por lo que puede ver rápidamente
cuántas consultas o transacciones hay en un estado determinado en cada servidor que está supervisando.
Las columnas de tiempo se agregan como una suma; otras columnas se dejan en el 'primero' predeterminado
agregación.

De forma predeterminada, la tabla que se muestra en el modo "S: Variables y estado" también utiliza agrupaciones para que pueda
monitorear las variables y el estado en muchos servidores. La función de agregación predeterminada en
este modo es 'avg'.

Las funciones de agrupación válidas se definen en el hash% agg_funcs. Incluyen

la primera
Devuelve el primer elemento del grupo.

contar
Devuelve el número de elementos del grupo, incluidos los elementos indefinidos, como
CUENTA DE SQL (*).

avg Devuelve el promedio de elementos definidos en el grupo.

sum Devuelve la suma de los elementos del grupo.

A continuación, se muestra un ejemplo de agrupación en el trabajo. Suponga que tiene un servidor muy ocupado con cientos
de conexiones abiertas y desea ver cuántas conexiones están en qué estado. Utilizando
las reglas de agrupación incorporadas, puede presionar 'Q' para ingresar al modo "Q: Lista de consultas". Presione '='
para alternar la agrupación (si es necesario, seleccione la tabla "lista de procesos" cuando se le solicite).

Su pantalla ahora podría verse así:

Lista de consultas (? Para obtener ayuda) localhost, 32:33, 0.11 QPS, 1 thd, 5.0.38-log

CXN Cmd Cnt ID Usuario Consulta de hora de host
localhost Consulta 49 12933 webusr localhost 19:38 SELECT * FROM
localhost Enviando Da 23 2383 webusr localhost 12:43 SELECT col1,
localhost Sueño 120 webusr localhost 140:5:18
localhost Estadísticas 12 19213 webusr localhost 01:19 SELECCIONAR * DE

En realidad, esa es una imagen bastante preocupante. Tienes muchas conexiones inactivas (Dormir),
y algunas conexiones que ejecutan consultas (Consulta y Envío de datos). Está bien, pero tú
también tienen mucho en estado de Estadísticas, gastando colectivamente más de un minuto. Eso significa el
El optimizador de consultas está teniendo dificultades para optimizar sus declaraciones. Algo es
incorrecto; normalmente debería tomar milisegundos optimizar las consultas. Puede que no hayas visto
este patrón si no miró sus conexiones en conjunto. (Esto es un invento
ejemplo, pero puede suceder en la vida real).

PIVOTANDO
innotop puede girar una mesa para una visualización más compacta, similar a una tabla dinámica en un
hoja de cálculo (también conocida como tabla de referencias cruzadas). Girar una tabla convierte las columnas en filas. Asumir
empiezas con esta tabla:

barra de comida
=== ===
1 3
2 4

Después de pivotar, la tabla se verá así:

nombre set0 set1
==== ==== ====
Foo 1 2
barra 3 4

Para obtener resultados razonables, es posible que deba agrupar y girar. innotop actualmente
hace esto para el modo "S: Variables y estado".

COLORES
De forma predeterminada, innotop resalta las filas con color para que pueda ver de un vistazo qué filas están
más importante. Puede personalizar las reglas de coloración y agregar las suyas propias a cualquier tabla.
Abra el editor de tablas con la tecla '^', elija una tabla si es necesario y presione 'o' para abrir
el cuadro de diálogo del editor de color.

El cuadro de diálogo del editor de colores muestra las reglas aplicadas a la tabla, en el orden en que están
evaluado. Cada fila se evalúa contra cada regla para ver si la regla coincide con la fila; Si
lo hace, la fila obtiene el color especificado y no se evalúan más reglas. Las normas
parecerse a lo siguiente:

estado eq Bloqueado negro on_red
cmd eq dormir blanco
usuario sistema eq usuario blanco
cmd eq Connect blanco
cmd eq Binlog Dump blanco
tiempo> 600 rojo
tiempo> 120 amarillo
tiempo> 60 verde
tiempo> 30 cian

Este es el conjunto de reglas predeterminado para la tabla "lista de procesos". En orden de prioridad, estos
las reglas hacen que las consultas bloqueadas sean negras sobre un fondo rojo, conexiones "atenuadas" de
replicación y consultas durmientes, y hacer que las consultas cambien de cian a rojo mientras se ejecutan
más.

(Por alguna razón, el código de color ANSI "blanco" es en realidad un gris claro. Su terminal
la pantalla puede variar; experimenta para encontrar los colores que te gustan).

Puede utilizar pulsaciones de teclas para mover las reglas hacia arriba y hacia abajo, lo que reordena su prioridad. Ustedes
también puede eliminar reglas y agregar nuevas. Si agrega una nueva regla, innotop le solicita
la columna, un operador para la comparación, un valor con el que comparar la columna,
y un color para asignar si la regla coincide. Hay autocompletado e indicaciones en cada
paso.

El valor del tercer paso debe cotizarse correctamente. innotop no intenta citar
el valor porque no sabe si debe tratar el valor como una cadena o un
número. Si desea comparar la columna con una cadena, como por ejemplo en la primera
regla anterior, debe ingresar 'Bloqueado' rodeado de comillas. Si recibe un mensaje de error
sobre una palabra desnuda, probablemente debería haber citado algo.

EXPRESIONES
Las expresiones son el núcleo del funcionamiento de innotop y son lo que le permite ampliar
innotop como desee. Recuerde el ciclo de vida de la tabla explicado en "TABLAS". Las expresiones son
se utiliza en el primer paso, donde extrae valores de una fuente de datos para formar filas.

Hace esto llamando a una subrutina para cada columna, pasándole el conjunto de datos de origen, un
conjunto de valores actuales y un conjunto de valores anteriores. Todos estos son necesarios para que el
La subrutina puede calcular cosas como la diferencia entre este tic y el anterior.
garrapata.

Las subrutinas que extraen los datos del conjunto se compilan a partir de expresiones. Esta
da mucho más poder que simplemente nombrar los valores para llenar las columnas, porque
permite calcular el valor de la columna a partir de los datos necesarios, pero evita la
Necesito escribir un código Perl largo y complicado.

innotop comienza con una cadena de texto que puede verse tan simple como el nombre de un valor o como
complicado como una expresión de Perl en toda regla. Examina cada ficha de 'palabra desnuda' en el
string y decide si se supone que es una clave en el hash $ set. Una palabra desnuda es una
valor no cotizado que aún no está rodeado por elementos codificados como signos de dólar o rizado
soportes. Si innotop decide que la palabra clave no es una función u otro código Perl válido,
lo convierte en un acceso hash. Después de que se procesa toda la cadena, innotop compila
una subrutina, como esta:

sub calcular_valor_columna {
my ($ conjunto, $ cur, $ pre) = @_;
my $ val = # CADENA EXPANDIDA VA AQUÍ
return $ val;
}

Aquí hay un ejemplo concreto, tomado de la tabla de encabezado "q_header" en el modo "Q: Query List".
Esta expresión calcula los valores de la columna qps, o consultas por segundo, a partir de
valores devueltos por SHOW STATUS:

Preguntas / Uptime_hires

innotop decide que ambas palabras son palabras desnudas, y transforma esta expresión en la
siguiente código Perl:

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

Cuando está rodeado por el resto del código de la subrutina, este es un Perl ejecutable que
calcula un valor de consultas por segundo de alta resolución.

Los argumentos de la subrutina se denominan $ set, $ cur y $ pre. En la mayoría de los casos, $ set y
$ cur serán los mismos valores. Sin embargo, si se establece "status_inc", $ cur no será el mismo
como $ set, porque $ set ya contendrá valores que son la diferencia incremental
entre $ cur y $ pre.

Cada columna en innotop se calcula mediante subrutinas compiladas de la misma manera. Hay
no hay diferencia entre las columnas integradas de innotop y las columnas definidas por el usuario. Esto mantiene
cosas consistentes y predecibles.

Transformaciones
Las transformaciones cambian la forma en que se representa un valor. Por ejemplo, pueden tomar una serie de
segundos y mostrarlo en formato H: M: S. Se definen las siguientes transformaciones:

compadecer
Agrega comas a números grandes cada tres lugares decimales.

dulint_to_int
Acepta dos enteros sin signo y los convierte en uno solo largo. Esto es
útil para ciertas operaciones con InnoDB, que usa dos enteros como transacción
identificadores, por ejemplo.

no_ctrl_char
Elimina los caracteres de control entre comillas del valor. Esto se ve afectado por el "juego de caracteres"
variable de configuración.

Esta transformación solo opera dentro de cadenas entre comillas, por ejemplo, valores para un SET
cláusula en una instrucción UPDATE. No alterará la declaración UPDATE, pero sí
contraiga la cadena entre comillas en [BINARIO] o [TEXTO], según el juego de caracteres.

por ciento
Convierte un número en un porcentaje multiplicándolo por dos, formateándolo con
"num_digits" dígitos después del punto decimal y, opcionalmente, agregar un signo de porcentaje (ver
"show_percent").

segs_to_time
Formatea una cantidad de segundos como tiempo en días + horas: minutos: formato de segundos.

establecer_precisión
Formatea números con "num_digits" número de dígitos después del punto decimal.

acortar
Formatea un número como una unidad de 1024 (k / M / G / T) y con un número de dígitos "num_digits"
después del punto decimal.

MESA DE NOCHE EDITOR
El editor de tablas innotop le permite personalizar tablas con pulsaciones de teclas. Tu comienzas la mesa
editor con la tecla '^'. Si hay más de una tabla en la pantalla, le indicará
para elegir uno de ellos. Una vez que lo hagas, innotop te mostrará algo como esto:

Editando la definición de la tabla para Buffer Pool. Imprenta ? en busca de ayuda, q dejar de fumar.

nombre hdr etiqueta src
cxn CXN Conexión desde la cual cxn
buf_pool_size Tamaño Tamaño de la agrupación de búfer IB_bp_buf_poo
buf_free Free Bufs Buffers gratis en el b IB_bp_buf_fre
páginas_total Páginas Total de páginas IB_bp_pages_t
pages_modified Páginas sucias Páginas modificadas (IB_bp_pages_m sucias
buf_pool_hit_rate Tasa de aciertos del grupo de búfer Tasa de aciertos IB_bp_buf_poo
total_mem_alloc Memoria Total de memoria asignada IB_bp_total_m
add_pool_alloc Grupo adicional Grupo adicional alloca IB_bp_add_poo

La primera línea muestra qué tabla está editando y le recuerda nuevamente que presione '?' para
lista de asignaciones de claves. El resto es una representación tabular de las columnas de la tabla,
porque probablemente eso es lo que estás intentando editar. Sin embargo, puede editar más que solo
las columnas de la tabla; esta pantalla puede iniciar el editor de filtros, el editor de reglas de color y más.

Cada fila de la pantalla muestra una sola columna en la tabla que está editando, junto con una
un par de sus propiedades, como el encabezado y la expresión de origen (consulte "EXPRESIONES").

Las asignaciones de teclas son de estilo Vim, como en muchos otros lugares. Al presionar 'j' y 'k' se mueve el
resaltar hacia arriba o hacia abajo. A continuación, puede (d) elegir o (e) editar la columna resaltada. Usted puede
también (a) dd una columna a la tabla. Esto en realidad solo activa una de las columnas ya
definido para la tabla; le pide que elija entre las columnas disponibles, pero no
visualizado actualmente. Finalmente, puede reordenar las columnas con las teclas '+' y '-'.

Puede hacer algo más que editar las columnas con el editor de tablas, también puede editar otras
propiedades, como la expresión de clasificación de la tabla y la expresión de agrupación por. Imprenta '?' para ver
la lista completa, por supuesto.

Si realmente desea personalizar y crear su propia columna, en lugar de solo activar
uno incorporado que no se muestra actualmente, presione la tecla (n) ew, e innotop
solicitarle la información que necesita:

· El nombre de la columna: debe ser una palabra sin caracteres divertidos, por ejemplo, solo
letras, números y guiones bajos.

· El encabezado de la columna: esta es la etiqueta que aparece en la parte superior de la columna, en el
encabezado de la tabla. Esto puede tener espacios y caracteres divertidos, pero tenga cuidado de no hacer
es demasiado ancho y desperdicia espacio en la pantalla.

· La fuente de datos de la columna: esta es una expresión que determina qué datos de la
fuente (ver "TABLAS") innotop se pondrá en la columna. Este puede ser solo el nombre de
un elemento en la fuente, o puede ser una expresión más compleja, como se describe en
"EXPRESIONES".

Una vez que haya ingresado los datos requeridos, su tabla tiene una nueva columna. No hay
diferencia entre esta columna y las integradas; puede tener todas las mismas propiedades
y comportamientos. innotop escribirá la definición de la columna en el archivo de configuración, por lo que
persistirá en todas las sesiones.

Aquí hay un ejemplo: suponga que desea realizar un seguimiento de cuántas veces han intentado sus esclavos
actas. Según el manual de MySQL, el estado de Slave_retried_transactions
variable le da esos datos: "El número total de veces desde el inicio que el
El subproceso SQL esclavo de replicación ha reintentado las transacciones. Esta variable fue agregada en la versión
5.0.4. "Esto es apropiado para agregar a la tabla" slave_sql_status ".

Para agregar la columna, cambie al modo de monitoreo de replicación con la tecla 'M' y presione
la tecla '^' para iniciar el editor de tablas. Cuando se le solicite, elija slave_sql_status como
tabla, luego presione 'n' para crear la columna. Escriba 'reintentos' como nombre de la columna, 'Reintentos'
como encabezado de columna y 'Slave_retried_transactions' como fuente. Ahora la columna es
creado, y vuelve a ver la pantalla del editor de tablas. Presione 'q' para salir del editor de tablas,
y verá su columna al final de la tabla.

VARIABLE CONJUNTOS


Los conjuntos de variables se utilizan en el modo "S: Variables y estado" para definir más fácilmente qué
variables que desea monitorear. Detrás de escena, se compilan en una lista de
expresiones, y luego en una lista de columnas para que puedan tratarse como columnas en cualquier
otra tabla, en términos de extracción de datos y transformaciones. Sin embargo, estas protegido
a partir de los tediosos detalles por una sintaxis que debería resultarle muy natural: un SELECT de SQL
lista.

La fuente de datos para los conjuntos de variables, y de hecho todo el modo S, es la combinación de
MOSTRAR ESTADO, MOSTRAR VARIABLES y MOSTRAR ESTADO INNODB. Imagina que tienes una mesa enorme
con una columna por variable devuelta de esas declaraciones. Esa es la fuente de datos para
conjuntos de variables. Ahora puede consultar esta fuente de datos tal como lo esperaba. Por ejemplo:

Preguntas, tiempo de actividad, preguntas / tiempo de actividad como QPS

Detrás de escena, innotop dividirá ese conjunto de variables en tres expresiones, compilará
convertirlos en una definición de tabla, luego extraerlos como de costumbre. Esto se convierte en un
"conjunto de variables" o una "lista de variables que desea supervisar".

innotop le permite nombrar y guardar sus conjuntos de variables, y los escribe en la configuración
Archivo. Puede elegir qué conjunto de variables desea ver con la tecla 'c', o activar la
conjuntos siguientes y anteriores con las teclas '>' y '<'. Hay muchos conjuntos de variables incorporados
también, lo que debería darte un buen comienzo para crear el tuyo propio. Presione 'e' para editar el
conjunto de variables actual, o simplemente para ver cómo se define. Para crear uno nuevo, simplemente presione
'c' y escriba su nombre.

Es posible que desee utilizar algunas de las funciones enumeradas en "TRANSFORMACIONES" para ayudar a formatear el
resultados. En particular, "set_precision" suele ser útil para limitar la cantidad de dígitos que
ver. Ampliando el ejemplo anterior, así es como:

Preguntas, tiempo de actividad, set_precision (preguntas / tiempo de actividad) como QPS

En realidad, esto todavía necesita un poco más de trabajo. Si su "intervalo" es menor que uno
En segundo lugar, es posible que esté dividiendo por cero porque el tiempo de actividad es incremental en este modo por
defecto. En su lugar, use Uptime_hires:

Preguntas, tiempo de actividad, set_precision (Preguntas / Uptime_hires) como QPS

Este ejemplo es simple, pero muestra lo fácil que es elegir qué variables desea
monitor.

PLUGINS


innotop tiene un mecanismo de complemento simple pero poderoso mediante el cual puede extender o modificar su
funcionalidad existente y agregar nueva funcionalidad. La funcionalidad del complemento de innotop es
basado en eventos: los complementos se registran para ser llamados cuando ocurren eventos. Luego tienen
una oportunidad de influir en el evento.

Un complemento innotop es un módulo Perl ubicado en el directorio "plugin_dir" de innotop. En UNIX
sistemas, puede colocar un enlace simbólico al módulo en lugar de colocar el archivo real
allí. innotop descubre automáticamente el archivo. Si hay una entrada correspondiente en
la sección del archivo de configuración de "complementos", innotop carga y activa el complemento.

El módulo debe ajustarse a la interfaz del complemento de innotop. Además, el código fuente de
el módulo debe estar escrito de tal manera que innotop pueda inspeccionar el archivo y determinar
el nombre y la descripción del paquete.

Contenido del Paquete Fuente Convención
innotop inspecciona la fuente del módulo de complemento para determinar el nombre del paquete Perl. Parece
para una línea con el formato "paquete Foo"; y si se encuentra, considera que el nombre del paquete del complemento
ser Foo. Por supuesto, el nombre del paquete puede ser un nombre de paquete Perl válido, con doble
punto y coma, etc.

También busca una descripción en el código fuente, para hacer que el editor de complementos sea más humano.
simpático. La descripción es una línea de comentario con el formato "# descripción: Foo", donde "Foo"
es el texto que innotop considerará como la descripción del complemento.

Enchufar Interfaz
La interfaz del complemento innotop es bastante simple: innotop espera que el complemento sea un objeto
módulo orientado al que puede llamar a ciertos métodos. Los métodos son

nuevo (% variables)
Este es el constructor del complemento. Se pasa un hash de las variables de innotop, que
puede manipular (ver "Variables de complementos"). Debe devolver una referencia al nuevo
objeto de complemento creado.

En el momento de la construcción, innotop solo ha cargado la configuración general y creado
las variables integradas predeterminadas con su contenido predeterminado (que es bastante).
Por lo tanto, el estado del programa es exactamente como en el código fuente innotop, más el
variables de configuración de la sección "general" en el archivo de configuración.

Si su complemento manipula las variables, está cambiando los datos globales, que se comparten
por innotop y todos los complementos. Los complementos se cargan en el orden en que aparecen en el
archivo de configuración. Su complemento puede cargarse antes o después de otro complemento, por lo que hay un
potencial de conflicto o interacción entre complementos si modifican datos de otros
los complementos usan o modifican.

register_for_events ()
Este método debe devolver una lista de eventos en los que el complemento está interesado, si corresponde.
Consulte "Eventos de complementos" para conocer los eventos definidos. Si el complemento devuelve un evento que no
definido, el evento se ignora.

controladores de eventos
El complemento debe implementar un método con el mismo nombre que cada evento para el que tiene
registrado. En otras palabras, si el complemento devuelve qw (foo bar) de
register_for_events (), debe tener foo () y bar() métodos. Estos métodos son
devoluciones de llamada para los eventos. Consulte "Eventos de complementos" para obtener más detalles sobre cada evento.

Enchufar Variables
Al constructor del complemento se le pasa un hash de las variables de innotop, que puede manipular.
Probablemente sea una buena idea si el objeto de complemento guarda una copia para su uso posterior. El
Las variables se definen en la variable innotop% pluggable_vars y son las siguientes:

acción_para
Un hashref de asignaciones de claves. Estas son las teclas de acceso rápido globales de innotop.

agg_funcs
Un hashref de funciones que se pueden usar para agrupar. Consulte "AGRUPACIÓN".

config
El hash de configuración global.

personales
Un hashref de especificaciones de conexión. Estas son solo especificaciones de cómo
conectarse a un servidor.

dbhs
Un hashref de las conexiones a la base de datos de innotop. Estos son objetos de conexión DBI reales.

filtros
Un hashref de filtros aplicados a las filas de la tabla. Consulte "FILTROS" para obtener más información.

los modos
Un hashref de modos. Consulte "MODOS" para obtener más información.

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

tbl_meta
Un hashref de los metadatos de la tabla de innotop, con una entrada por tabla (consulte "TABLAS" para
más información).

funciones_trans
Un hashref de funciones de transformación. Ver "TRANSFORMACIONES".

conjuntos_var
Un hashref de conjuntos de variables. Consulte "CONJUNTOS VARIABLES".

Enchufar Eventos
Cada evento se define en algún lugar del código fuente de innotop. Cuando innotop ejecuta ese código,
ejecuta la función de devolución de llamada para cada complemento que expresó su interés en el
evento. innotop pasa algunos datos para cada evento. Los eventos se definen en el
% event_listener_for variable, y son los siguientes:

extraer_valores ($ conjunto, $ cur, $ pre, $ tbl)
Este evento ocurre dentro de la función que extrae valores de una fuente de datos. El
Los argumentos son el conjunto de valores, los valores actuales, los valores anteriores y el
nombre de la tabla.

establecer_a_tbl
Los eventos se definen en muchos lugares de esta subrutina, que es responsable de convertir
un arrayref de hashrefs en un arrayref de líneas que se pueden imprimir en la pantalla.
Todos los eventos pasan los mismos datos: una matriz de filas y el nombre de la tabla que se
creado. Los eventos son set_to_tbl_pre_filter,
set_to_tbl_pre_sort, set_to_tbl_pre_group, set_to_tbl_pre_colorize,
establecer_to_tbl_pre_transform, establecer_to_tbl_pre_pivot, establecer_to_tbl_pre_create,
set_to_tbl_post_create.

draw_screen ($ líneas)
Este evento ocurre dentro de la subrutina que imprime las líneas en la pantalla. $ líneas
es un arrayref de cadenas.

sencillos Enchufar Ejemplo
La forma más sencilla de explicar la funcionalidad del complemento es probablemente con un ejemplo sencillo.
El siguiente módulo agrega una columna al comienzo de cada tabla y establece su valor en
1.

uso estricto
use advertencias FATAL => 'todos';

paquete Innotop :: Plugin :: Ejemplo;
# descripción: agrega una columna de 'ejemplo' a cada tabla

sub nuevo {
my ($ clase,% vars) = @_;
# Almacenar la referencia a las variables de innotop en $ self
my $ self = bless {% vars}, $ class;

# Diseñar la columna de ejemplo
my $ col = {
hdr => 'Ejemplo',
solo => '',
dec => 0,
num => 1,
label => 'Ejemplo',
src => 'ejemplo', # Obtener datos de esta columna en la fuente de datos
tbl => '',
trans => [],
};

# Agregue la columna a cada tabla.
my $ tbl_meta = $ vars {tbl_meta};
foreach my $ tbl (valores% $ tbl_meta) {
# Agregar la columna a la lista de columnas definidas
$ tbl -> {cols} -> {ejemplo} = $ cols;
# Agregar la columna a la lista de columnas visibles
unshift @ {$ tbl -> {visible}}, 'ejemplo';
}

# Asegúrese de devolver una referencia al objeto.
return $ self;
}

# Me gustaría que me llamaran cuando un conjunto de datos se está convirtiendo en una tabla, por favor.
subregistrar_para_eventos {
mi ($ yo) = @_;
return qw (set_to_tbl_pre_filter);
}

# Este método se llamará cuando se active el evento.
sub set_to_tbl_pre_filter {
my ($ uno mismo, $ filas, $ tbl) = @_;
# Establezca la fuente de datos de la columna de ejemplo en el valor 1.
foreach my $ fila (@ $ filas) {
$ fila -> {ejemplo} = 1;
}
}

1;

Enchufar Editora
El editor de complementos le permite ver los complementos descubiertos y activarlos o desactivarlos.
ellos. Inicie el editor presionando $ para iniciar el editor de configuración desde cualquier modo.
Presione la tecla 'p' para iniciar el editor de complementos. Verás una lista de complementos innotop
descubierto. Puede usar las teclas 'j' y 'k' para mover el resaltado al deseado,
luego presione la tecla * para alternar entre activo o inactivo. Salga del editor y reinicie innotop
para que los cambios surtan efecto

SQL DECLARACIONES


innotop utiliza un conjunto limitado de declaraciones SQL para recuperar datos de MySQL para su visualización. El
Las sentencias se personalizan en función de la versión del servidor en la que se ejecutan;
por ejemplo, en MySQL 5 y versiones posteriores, INNODB_STATUS ejecuta "SHOW ENGINE INNODB STATUS",
mientras que en versiones anteriores ejecuta "SHOW INNODB STATUS". Las declaraciones son como
manera:

Sentencia SQL ejecutada
==================================================
INNODB_STATUS MOSTRAR [ENGINE] INNODB STATUS
KILL_CONEXIÓN KILL
KILL_QUERY KILL CONSULTA
OPEN_TABLES MOSTRAR MESAS ABIERTAS
LISTA DE PROCESOS MOSTRAR LISTA DE PROCESOS COMPLETA
SHOW_MASTER_LOGS MOSTRAR REGISTROS MAESTROS
SHOW_MASTER_STATUS MOSTRAR ESTADO MAESTRO
SHOW_SLAVE_STATUS MOSTRAR ESTADO DE ESCLAVO
SHOW_STATUS MOSTRAR ESTADO [GLOBAL]
SHOW_VARIABLES MOSTRAR VARIABLES [GLOBAL]

DATOS FUENTES


Cada vez que innotop extrae valores para crear una tabla (consulte "EXPRESIONES" y "TABLAS"),
lo hace a partir de una fuente de datos en particular. En gran parte debido a los datos complejos extraídos de
MOSTRAR ESTADO INNODB, esto es un poco complicado. SHOW INNODB STATUS contiene una mezcla de
valores únicos y valores repetidos que forman conjuntos de datos anidados.

Siempre que innotop obtiene datos de MySQL, agrega dos bits adicionales a cada conjunto: cxn y
Uptime_hires. cxn es el nombre de la conexión de la que proceden los datos. Uptime_hires
es una versión de alta resolución de la variable de estado de tiempo de actividad del servidor, que es importante si
su configuración de "intervalo" es inferior a un segundo.

Estos son los tipos de fuentes de datos de las que se extraen los datos:

ESTADO_VARIABLES
Esta es la categoría más amplia, en la que se encuentran la mayoría de los tipos de datos. Comienza con
la combinación de MOSTRAR ESTADO y MOSTRAR VARIABLES, pero se pueden incluir otras fuentes
según sea necesario, por ejemplo, MOSTRAR ESTADO MAESTRO y MOSTRAR ESTADO ESCLAVO, así como muchos
los valores no repetidos de SHOW INNODB STATUS.

DEADLOCK_LOCKS
Estos datos se extraen de la lista de transacciones en el ÚLTIMO DEADLOCK DETECTADO
sección de MOSTRAR ESTADO INNODB. Está anidado en dos niveles de profundidad: transacciones, luego
cabellos.

DEADLOCK_TRANSACCIONES
Estos datos son de la lista de transacciones en la sección DEADLOCK DETECTADA MÁS RECIENTE de SHOW
ESTADO INNODB. Está anidado a un nivel de profundidad.

EXPLICAR
Estos datos son del conjunto de resultados devuelto por EXPLAIN.

INNODB_TRANSACCIONES
Estos datos son de la sección TRANSACCIONES de MOSTRAR ESTADO INNODB.

IO_HILOS
Estos datos son de la lista de subprocesos en la sección FILE I / O de SHOW INNODB
ESTADO.

INNODB_BLOQUEOS
Estos datos son de la sección TRANSACCIONES de MOSTRAR ESTADO INNODB y se anidan dos
niveles de profundidad.

OPEN_TABLES
Estos datos son de MOSTRAR MESAS ABIERTAS.

LISTA DE PROCESOS
Estos datos son de MOSTRAR LISTA DE PROCESOS COMPLETA.

OS_WAIT_ARRAY
Estos datos son de la sección SEMAPHORES de SHOW INNODB STATUS y están anidados en un nivel
profundo. Viene de las líneas que se ven así:

- El hilo 1568861104 ha esperado en btr0cur.c línea 424 ....

MYSQL Privilegios


· Debe conectarse a MySQL como un usuario que tiene el privilegio SUPER para muchos de los
funciones.

· Si no tiene el privilegio SUPER, aún puede ejecutar algunas funciones, pero no lo hará
necesariamente ver todos los mismos datos.

· Necesita el privilegio PROCESO para ver la lista de consultas que se están ejecutando actualmente en el modo Q.

· Necesita privilegios especiales para iniciar y detener servidores esclavos.

· Necesita los privilegios adecuados para crear y eliminar las tablas de interbloqueo si es necesario (consulte
"CONEXIONES DEL SERVIDOR").

SISTEMA REQUISITOS


Necesita Perl para ejecutar innotop, por supuesto. También necesita algunos módulos de Perl: DBI,
DBD :: mysql, Term :: ReadKey y Time :: HiRes. Estos deben incluirse con la mayoría de Perl
distribuciones, pero en caso de que no lo sean, recomiendo usar versiones distribuidas con su
sistema operativo o distribución Perl, no de CPAN. Term :: ReadKey en particular tiene
se sabe que causa problemas si se instala desde CPAN.

Si tiene Term :: ANSIColor, innotop lo usará para formatear encabezados de manera más legible y
de forma compacta. (En Microsoft Windows, también necesita Win32 :: Console :: ANSI para terminal
códigos de formato que se respetarán). Si instala Term :: ReadLine, preferiblemente
Term :: ReadLine :: Gnu, obtendrá un buen soporte de autocompletado.

Ejecuto innotop en Gentoo GNU / Linux, Debian y Ubuntu, y he recibido comentarios de la gente
ejecutándolo correctamente en Red Hat, CentOS, Solaris y Mac OSX. No veo ninguna razón
por qué no funcionará en otros sistemas operativos tipo UNIX, pero no lo sé con certeza. También
se ejecuta en Windows bajo ActivePerl sin problema.

innotop se ha utilizado en las versiones de MySQL 3.23.58, 4.0.27, 4.1.0, 4.1.22, 5.0.26, 5.1.15,
y 5.2.3. Si no se ejecuta correctamente para usted, es un error que debe informarse.

Utilice innotop en línea utilizando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

Comandos de Linux

Ad