Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Ad


Biểu tượng yêu thích OnWorks

innotop - Trực tuyến trên đám mây

Chạy innotop trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình mô phỏng trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là lệnh innotop có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình mô phỏng trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


innotop - Giám sát trạng thái/giao dịch MySQL và InnoDB.

SYNOPSIS


Để giám sát máy chủ bình thường:

innotop

Để theo dõi thông tin trạng thái InnoDB từ một tệp:

innotop /var/log/mysql/mysqld.err

Để chạy innotop không tương tác trong cấu hình đường ống và bộ lọc:

innotop --đếm 5 -d 1 -n

Để giám sát cơ sở dữ liệu trên hệ thống khác bằng tên người dùng và mật khẩu cụ thể:

innotop -u -P -h

MÔ TẢ


innotop giám sát máy chủ MySQL. Mỗi chế độ của nó cho bạn thấy một khía cạnh khác nhau của những gì
xảy ra trong máy chủ. Ví dụ: có một chế độ để giám sát việc sao chép, một chế độ dành cho
các truy vấn và một cho các giao dịch. innotop làm mới dữ liệu theo định kỳ, vì vậy bạn sẽ thấy
đang cập nhật chế độ xem.

innotop có rất nhiều tính năng dành cho người dùng thành thạo nhưng bạn có thể khởi động và chạy nó hầu như
không có cấu hình. Nếu bạn mới bắt đầu, hãy xem "BẮT ĐẦU NHANH". Nhấn '?' tại bất kỳ
thời gian trong khi chạy innotop để được trợ giúp theo ngữ cảnh.

BẮT ĐẦU NHANH


Để khởi động innotop, hãy mở terminal hoặc dấu nhắc lệnh. Nếu bạn đã cài đặt innotop trên
hệ thống của bạn, bạn chỉ cần gõ "innotop" và nhấn Enter; nếu không thì bạn
sẽ cần phải chuyển sang thư mục của innotop và gõ "perl innotop".

Không có tùy chọn nào được chỉ định, innotop sẽ cố gắng kết nối với máy chủ MySQL trên localhost
sử dụng mysql_read_default_group=client cho các tham số kết nối khác. Nếu bạn cần
chỉ định tên người dùng và mật khẩu khác, sử dụng tùy chọn -u và -p tương ứng. ĐẾN
giám sát cơ sở dữ liệu MySQL trên máy chủ khác, sử dụng tùy chọn -h.

Sau khi bạn kết nối, innotop sẽ hiển thị cho bạn thông tin như sau:

[RO] Danh sách truy vấn (? để được trợ giúp) localhost, 01:11:19, 449.44 QPS, 14/7/163 con/run

CXN Khi tải QPS Slow QCacheHit KCacheHit BpsIn BpsOut
localhost Tổng 0.00 1.07k 697 0.00% 98.17% 476.83k 242.83k

CXN Cmd ID Truy vấn thời gian DB của máy chủ người dùng
localhost Truy vấn 766446598 kiểm tra 10.0.0.1 foo 00:02 CHÈN VÀO bảng (

(Mẫu này được cắt ngắn ở bên phải nên sẽ vừa với terminal khi chạy 'man
innotop')

Nếu máy chủ của bạn bận, bạn sẽ thấy nhiều kết quả hơn. Hãy để ý dòng đầu tiên trên màn hình,
cho bạn biết rằng chỉ đọc được đặt thành true ([RO]), bạn đang ở chế độ nào và máy chủ nào
bạn đã kết nối với. Bạn có thể thay đổi sang các chế độ khác bằng cách nhấn phím; nhấn 'T' để chuyển đổi
vào danh sách các giao dịch InnoDB chẳng hạn.

Nhấn phím '?' để xem phím nào đang hoạt động ở chế độ hiện tại. Bạn có thể nhấn bất kỳ
các phím này và innotop sẽ thực hiện hành động được yêu cầu hoặc nhắc bạn nhập thêm thông tin.
Nếu hệ thống của bạn có hỗ trợ Term::ReadLine, bạn có thể sử dụng TAB và các phím khác để tự động hoàn thành
và chỉnh sửa đầu vào.

Để thoát innotop, nhấn phím 'q'.

LỰA CHỌN


innotop chủ yếu được cấu hình thông qua tệp cấu hình của nó, nhưng một số cấu hình
các tùy chọn có thể đến từ dòng lệnh. Bạn cũng có thể chỉ định một tệp để theo dõi InnoDB
đầu ra trạng thái; xem "Giám sát tập tin" để biết thêm chi tiết.

Bạn có thể phủ nhận một số tùy chọn bằng cách thêm --no vào trước tên tùy chọn. Ví dụ: --noinc
(hoặc --no-inc) phủ định "--inc".

--màu sắc
Bật hoặc tắt màu thiết bị đầu cuối. Tương ứng với cài đặt tệp cấu hình "màu".

--config
Chỉ định một tập tin cấu hình để đọc. Tùy chọn này không dính, nghĩa là nó
không tồn tại trong chính tập tin cấu hình.

--đếm
Chỉ làm mới số lần được chỉ định (tích tắc) trước khi thoát. Mỗi lần làm mới là một
tạm dừng trong khoảng thời gian "giây", sau đó yêu cầu dữ liệu từ các kết nối MySQL và
in nó đến thiết bị đầu cuối.

--trì hoãn
Chỉ định khoảng thời gian tạm dừng giữa các tích tắc (làm mới). Tương ứng với
tùy chọn cấu hình "khoảng".

--Cứu giúp
In bản tóm tắt cách sử dụng và thoát dòng lệnh.

--tổ chức
Máy chủ lưu trữ để kết nối.

--inc
Chỉ định xem innotop sẽ hiển thị số tuyệt đối hay số tương đối (độ lệch
từ các giá trị trước đó của chúng). Tương ứng với tùy chọn cấu hình "status_inc".

--chế độ
Chỉ định chế độ mà innotop sẽ khởi động. Tương ứng với cấu hình
tùy chọn "chế độ".

--không có ý nghĩa
Cho phép hoạt động không tương tác. Xem "VẬN HÀNH KHÔNG TƯƠNG TÁC" để biết thêm.

--mật khẩu mở khóa
Mật khẩu để sử dụng cho kết nối.

--Hải cảng
Cổng sử dụng để kết nối.

--skipcentral
Đừng đọc tập tin cấu hình trung tâm.

--người sử dụng
Người dùng sử dụng để kết nối.

--phiên bản
Thông tin phiên bản đầu ra và thoát.

--viết
Đặt tùy chọn cấu hình "chỉ đọc" thành 0, khiến innotop ghi chương trình đang chạy
cấu hình để ~/.innotop/innotop.conf khi thoát, nếu không có tệp cấu hình nào được tải
lúc khởi động.

PHÍM NÓNG


innotop có tính tương tác và bạn điều khiển nó bằng cách nhấn phím.

· Phím viết hoa chuyển đổi giữa các chế độ.

· Các phím chữ thường bắt đầu một số hành động trong chế độ hiện tại.

· Các phím khác làm điều gì đó đặc biệt như thay đổi cấu hình hoặc hiển thị giấy phép innotop.

Nhấn '?' bất kỳ lúc nào để xem các khóa hiện đang hoạt động và chức năng của chúng.

CHẾ ĐỘ


Mỗi chế độ của innotop truy xuất và hiển thị một loại dữ liệu cụ thể từ máy chủ
bạn đang theo dõi. Bạn chuyển đổi giữa các chế độ bằng phím chữ hoa. Sau đây là một
mô tả ngắn gọn về từng chế độ, theo thứ tự bảng chữ cái. Để chuyển sang chế độ này, nhấn nút
khóa được liệt kê ở phía trước tiêu đề của nó trong danh sách sau:

B: Bộ đệm InnoDB
Chế độ này hiển thị thông tin về vùng đệm InnoDB, số liệu thống kê trang, chèn
bộ đệm và chỉ số băm thích ứng. Dữ liệu đến từ TÌNH TRẠNG SHOW INNODB.

Chế độ này chứa "buffer_pool", "page_statistics", "insert_buffers" và
bảng "adaptive_hash_index" theo mặc định.

C: Tóm tắt lệnh
Chế độ này tương tự như chế độ Tóm tắt lệnh của mytop. Nó hiển thị "cmd_summary"
bảng, trông giống như sau:

Tóm tắt lệnh (? để được trợ giúp) localhost, 25+07:16:43, 2.45 QPS, 3 thd, 5.0.40
_____________________ Tóm tắt lệnh _____________________
Tên Giá trị Pct Cuối cùng Tăng Pct
Chọn_scan 3244858 69.89% 2 100.00%
Chọn_range 1354177 29.17% 0 0.00%
Chọn_full_join 39479 0.85% 0 0.00%
Chọn_full_range_join 4097 0.09% 0 0.00%
Chọn_range_check 0 0.00% 0 0.00%

Bảng tóm tắt lệnh được xây dựng bằng cách trích xuất các biến từ "STATUS_VARIABLES".
Các biến phải là số và phải khớp với tiền tố được cung cấp bởi "cmd_filter"
biến cấu hình. Các biến sau đó được sắp xếp theo giá trị giảm dần và
so với biến cuối cùng, như được hiển thị ở trên. Các cột phần trăm là phần trăm
trong tổng số tất cả các biến trong bảng, do đó bạn có thể thấy được trọng số tương đối của
biến.

Ví dụ hiển thị những gì bạn thấy nếu tiền tố là "Select_". Tiền tố mặc định là
"Com_". Bạn có thể chọn tiền tố bằng phím 's'.

Nó giống như chạy SHOW VARIABLES THÍCH "tiền tố%" với bộ nhớ và Nice
định dạng.

Các giá trị được tổng hợp trên tất cả các máy chủ. Các cột Pct không chính xác
tổng hợp trên nhiều máy chủ. Đây là một hạn chế đã biết của việc phân nhóm
thuật toán có thể được sửa chữa trong tương lai.

D: Bế tắc InnoDB
Chế độ này hiển thị các giao dịch liên quan đến sự bế tắc cuối cùng của InnoDB. Một bảng thứ hai
hiển thị các khóa mà mỗi giao dịch được giữ và chờ đợi. Sự bế tắc được gây ra bởi một chu kỳ
trong biểu đồ chờ, do đó phải có hai khóa được giữ và một khóa được chờ trừ khi
thông tin bế tắc bị cắt ngắn.

InnoDB đặt thông tin bế tắc trước một số thông tin khác trong SHOW INNODB
Đầu ra TÌNH TRẠNG. Nếu có nhiều khóa, thông tin về bế tắc có thể tăng lên rất nhiều.
lớn và có giới hạn về kích thước của đầu ra SHOW INNODB STATUS. Một lớn
bế tắc có thể lấp đầy toàn bộ đầu ra hoặc thậm chí bị cắt bớt và khiến bạn không thể nhìn thấy
thông tin khác cả. Nếu bạn đang chạy innotop ở chế độ khác, ví dụ T
và đột nhiên bạn không thấy gì cả, bạn có thể muốn kiểm tra xem liệu có
bế tắc đã xóa sạch dữ liệu bạn cần.

Nếu có, bạn có thể tạo một bế tắc nhỏ để thay thế một bế tắc lớn. Sử dụng phím 'w'
để 'lau' bế tắc lớn bằng bế tắc nhỏ. Điều này sẽ không hoạt động trừ khi bạn có
đã xác định bảng bế tắc cho kết nối (xem "KẾT NỐI MÁY CHỦ").

Bạn cũng có thể định cấu hình innotop để tự động phát hiện khi cần giải quyết một bế tắc lớn
được thay thế bằng một cái nhỏ (xem "auto_wipe_dl").

Chế độ này hiển thị bảng "deadlock_transactions" và "deadlock_locks" theo mặc định.

F: Lỗi khóa ngoại của InnoDB
Chế độ này hiển thị thông tin lỗi khóa ngoại InnoDB cuối cùng, chẳng hạn như bảng nơi
nó đã xảy ra, khi nào, ai và truy vấn nào đã gây ra nó, v.v.

InnoDB có rất nhiều thông báo lỗi khóa ngoại và nhiều trong số đó chỉ là
khó phân tích. innotop không phải lúc nào cũng hoạt động tốt nhất ở đây, nhưng có rất nhiều mã
dành cho việc phân tích kết quả đầu ra lộn xộn, không thể phân tích được mà innotop có thể sẽ không bao giờ có được
hoàn hảo về mặt này. Nếu innotop không hiển thị cho bạn những gì bạn cần xem, chỉ cần nhìn
tại văn bản trạng thái trực tiếp.

Chế độ này hiển thị bảng "fk_error" theo mặc định.

Tôi: Thông tin I/O của InnoDB
Chế độ này hiển thị số liệu thống kê I/O của InnoDB, bao gồm các luồng I/O, I/O đang chờ xử lý, tệp
I/O linh tinh và thống kê nhật ký. Nó hiển thị "io_threads", "pending_io",
Các bảng "file_io_misc" và "log_statistics" theo mặc định.

L: Ổ khóa
Chế độ này hiển thị thông tin về các khóa hiện tại. Hiện tại chỉ có khóa InnoDB
được hỗ trợ và theo mặc định, bạn sẽ chỉ thấy các khóa cho những giao dịch đang chờ.
Thông tin này xuất phát từ phần GIAO DỊCH của văn bản trạng thái InnoDB. Nếu như
bạn có một máy chủ rất bận, bạn có thể thường xuyên phải chờ khóa; nó giúp để có thể
xem bảng và chỉ mục nào là "điểm nóng" cho ổ khóa. Nếu máy chủ của bạn đang chạy
khá tốt, chế độ này sẽ không hiển thị gì cả.

Bạn có thể định cấu hình MySQL và innotop để giám sát không chỉ các khóa mà giao dịch
đang chờ đợi, nhưng những người hiện đang bị giam giữ cũng vậy. Bạn có thể làm điều này với Khóa InnoDB
Màn hình (http://dev.mysql.com/doc/en/innodb-monitor.html>). Nó không được ghi lại trong
hướng dẫn sử dụng MySQL, nhưng cũng tạo màn hình khóa bằng câu lệnh sau
ảnh hưởng đến đầu ra của SHOW INNODB STATUS, mà innotop sử dụng:

TẠO BẢNG innodb_lock_monitor(a int) ENGINE=INNODB;

Điều này khiến InnoDB in đầu ra của nó ra tệp MySQL cứ sau 16 giây hoặc lâu hơn, như
được nêu trong hướng dẫn, nhưng nó cũng làm cho đầu ra SHOW INNODB STATUS bình thường bao gồm
khóa thông tin mà innotop có thể phân tích và hiển thị (đó là thông tin không có giấy tờ
đặc tính).

Điều này có nghĩa là bạn có thể làm những điều tưởng chừng như không thể: ở một mức độ hạn chế (InnoDB
cắt bớt một số thông tin ở đầu ra), bạn có thể xem giao dịch nào giữ
khóa cái gì đó khác đang chờ đợi. Bạn cũng có thể bật và tắt Khóa InnoDB
Theo dõi ánh xạ phím ở chế độ này.

Chế độ này hiển thị bảng "innodb_locks" theo mặc định. Đây là một mẫu của màn hình
khi một kết nối đang chờ khóa, một kết nối khác sẽ giữ:

_________________________________ Khóa InnoDB __________________________
CXN ID Loại Đang chờ Chờ Chế độ hoạt động Chỉ mục bảng DB
localhost 12 GHI 1 00:10 00:10 X kiểm tra t1 CHÍNH
localhost 12 BẢNG 0 00:10 00:10 Kiểm tra IX t1
localhost 12 GHI 1 00:10 00:10 X kiểm tra t1 CHÍNH
localhost 11 BẢNG 0 00:00 00:25 Kiểm tra IX t1
localhost 11 GHI 0 00:00 00:25 X kiểm tra t1 CHÍNH

Bạn có thể thấy kết nối đầu tiên, ID 12, đang chờ khóa trên phím CHÍNH trên
test.t1 và đã đợi được 10 giây. Kết nối thứ hai không chờ đợi,
bởi vì cột Đang chờ là 0 nhưng nó giữ các khóa trên cùng một chỉ mục. Điều đó cho bạn biết
kết nối 11 đang chặn kết nối 12.

M: Trạng thái sao chép chính/phụ
Chế độ này hiển thị đầu ra của SHOW SLAVE STATUS và SHOW MASTER STATUS theo ba
những cái bàn. Hai cái đầu tiên chia trạng thái của nô lệ thành trạng thái luồng SQL và I/O, và
cuối cùng hiển thị trạng thái chính. Các bộ lọc được áp dụng để loại bỏ các máy chủ không phải nô lệ khỏi
các bảng phụ và các máy chủ không phải chính từ bảng chính.

Chế độ này hiển thị "slave_sql_status", "slave_io_status" và "master_status"
bảng theo mặc định.

O: Bàn mở
Phần này xuất phát từ lệnh SHOW OPEN TABLES của MySQL. Theo mặc định nó được lọc
để hiển thị các bảng đang được một hoặc nhiều truy vấn sử dụng, để bạn có thể xem nhanh
bàn nào đang 'hot'. Bạn có thể sử dụng điều này để đoán bảng nào có thể bị khóa
ngầm hiểu.

Chế độ này hiển thị chế độ "open_tables" theo mặc định.

Hỏi: Danh sách truy vấn
Chế độ này hiển thị đầu ra từ SHOW FULL PROCESSLIST, giống như mytopdanh sách truy vấn của
cách thức. Chế độ này làm không hiển thị thông tin liên quan đến InnoDB. Đây có lẽ là một trong
các chế độ hữu ích nhất cho việc sử dụng chung.

Có một tiêu đề đầy thông tin hiển thị thông tin trạng thái chung về
máy chủ. Bạn có thể bật và tắt nó bằng phím 'h'. Theo mặc định, innotop ẩn
các tiến trình không hoạt động và tiến trình riêng của nó. Bạn có thể bật và tắt những thứ này bằng chữ 'i'
và phím 'a'.

Bạn có thể GIẢI THÍCH một truy vấn từ chế độ này bằng phím 'e'. Điều này hiển thị truy vấn
toàn văn, kết quả của GIẢI THÍCH và trong các phiên bản MySQL mới hơn, thậm chí cả phiên bản được tối ưu hóa
truy vấn kết quả từ EXPLAIN EXTENDED. innotop cũng cố gắng viết lại một số truy vấn nhất định
để làm cho chúng có khả năng GIẢI THÍCH. Ví dụ: câu lệnh INSERT/SELECT có thể ghi lại được.

Chế độ này hiển thị bảng "q_header" và "processlist" theo mặc định.

R: Các thao tác và ngữ nghĩa hàng của InnoDB
Chế độ này hiển thị các hoạt động hàng InnoDB, hoạt động hàng linh tinh, ngữ nghĩa và
thông tin từ mảng chờ. Nó hiển thị "row_Operations",
Các bảng "row_Operation_misc", "semaphores" và "wait_array" theo mặc định.

S: Biến & Trạng thái
Chế độ này tính toán số liệu thống kê, chẳng hạn như truy vấn mỗi giây và in chúng ra dưới dạng
một số phong cách khác nhau. Bạn có thể hiển thị giá trị tuyệt đối hoặc giá trị tăng dần giữa
tích tắc.

Bạn có thể chuyển đổi giữa các chế độ xem bằng cách nhấn một phím. Phím 's' in một dòng
mỗi lần màn hình cập nhật, theo kiểu vmstat. Phím 'g' thay đổi chế độ xem thành
một biểu đồ có cùng số, kiểu như tải. Phím 'v' thay đổi chế độ xem thành
bảng xoay các tên biến ở bên trái, với các cập nhật liên tiếp được cuộn qua
màn hình từ trái sang phải. Bạn có thể chọn số lượng cập nhật để đưa lên màn hình
với biến cấu hình "num_status_sets".

Tiêu đề có thể được viết tắt để vừa với màn hình trong thao tác tương tác. Bạn chọn
biến nào sẽ hiển thị bằng phím 'c', chọn từ các bộ được xác định trước hoặc
cho phép bạn tạo bộ của riêng bạn. Bạn có thể chỉnh sửa bộ hiện tại bằng phím 'e'.

Chế độ này không thực sự hiển thị bất kỳ bảng nào như các chế độ khác. Thay vào đó, nó sử dụng một
định nghĩa bảng để trích xuất và định dạng dữ liệu, nhưng sau đó nó chuyển đổi kết quả thành
những cách đặc biệt trước khi xuất nó. Nó sử dụng định nghĩa bảng "var_status" cho
cái này.

T: Giao dịch InnoDB
Chế độ này hiển thị các giao dịch từ đầu ra của màn hình InnoDB, trong hàng đầu-định dạng giống.
Chế độ này là lý do tôi viết innotop.

Bạn có thể hủy truy vấn hoặc quy trình bằng phím 'k' và 'x' và GIẢI THÍCH một truy vấn bằng
phím 'e' hoặc 'f'. InnoDB không in toàn bộ truy vấn trong giao dịch, vì vậy
việc giải thích có thể không hiệu quả nếu truy vấn bị cắt ngắn.

Tiêu đề thông tin có thể được bật và tắt bằng phím 'h'. Theo mặc định,
innotop ẩn các giao dịch không hoạt động và giao dịch của chính nó. Bạn có thể bật cái này lên
và tắt bằng phím 'i' và 'a'.

Chế độ này hiển thị bảng "t_header" và "innodb_transactions" theo mặc định.

INNOTOP TÌNH TRẠNG


Dòng đầu tiên hiển thị trên innotop là một loại "thanh trạng thái". Nó chứa gì phụ thuộc vào
chế độ bạn đang sử dụng và máy chủ bạn đang theo dõi. Một vài từ đầu tiên luôn luôn
[RO] (nếu chỉ đọc được đặt thành 1), chế độ innotop, chẳng hạn như "InnoDB Txns" cho chế độ T,
theo sau là lời nhắc nhấn '?' để được giúp đỡ bất cứ lúc nào.

ONE MÁY CHỦ
Trường hợp đơn giản nhất là khi bạn đang giám sát một máy chủ. Trong trường hợp này, tên của
kết nối tiếp theo trên dòng trạng thái. Đây là tên bạn đặt khi tạo
kết nối -- rất có thể là tên máy chủ của máy chủ MySQL. Tiếp theo là máy chủ
thời gian hoạt động.

Nếu bạn đang ở chế độ InnoDB, chẳng hạn như T hoặc B, từ tiếp theo là "InnoDB" theo sau là một số
thông tin về đầu ra SHOW INNODB STATUS được sử dụng để hiển thị màn hình. Từ đầu tiên
là số giây kể từ TRẠNG THÁI SHOW INNODB cuối cùng mà InnoDB sử dụng để tính toán
một số thống kê mỗi giây. Tiếp theo là một khuôn mặt cười cho biết InnoDB có
đầu ra bị cắt ngắn. Nếu mặt cười là :-), tất cả đều ổn; không có sự cắt ngắn. MỘT
:^| nghĩa là danh sách giao dịch quá dài nên InnoDB mới chỉ in ra một số
giao dịch. Cuối cùng, cau mày :-( có nghĩa là đầu ra không đầy đủ, có thể là do
đến bế tắc khi in quá nhiều thông tin khóa (xem "D: InnoDB Deadlocks").

Hai từ tiếp theo cho biết số truy vấn của máy chủ mỗi giây (QPS) và số lượng luồng
(kết nối) tồn tại. Cuối cùng, số phiên bản của máy chủ là số cuối cùng trên dòng.

NHIỀU MÁY CHỦ
Nếu bạn đang giám sát nhiều máy chủ (xem "KẾT NỐI MÁY CHỦ"), dòng trạng thái sẽ
không hiển thị bất kỳ chi tiết nào về các máy chủ riêng lẻ. Thay vào đó, nó hiển thị tên của
các kết nối đang hoạt động. Xin nhắc lại, đây là các tên kết nối bạn đã chỉ định, được
có thể là tên máy chủ của máy chủ. Một kết nối có lỗi có tiền tố là một
dấu chấm than.

Nếu bạn đang giám sát một nhóm máy chủ (xem "NHÓM MÁY CHỦ"), dòng trạng thái sẽ hiển thị
tên của nhóm. Nếu bất kỳ kết nối nào trong nhóm bị lỗi thì tên của nhóm đó là
tiếp theo là phần kết nối không có lỗi.

Xem phần "XỬ LÝ LỖI" để biết thêm chi tiết về cách xử lý lỗi của innotop.

GIÁM SÁT A FILE
Nếu bạn đặt tên tệp trên dòng lệnh, innotop sẽ không kết nối với BẤT CỨ máy chủ nào tại
tất cả. Nó sẽ xem tệp được chỉ định cho đầu ra trạng thái InnoDB và sử dụng tệp đó làm dữ liệu của nó
nguồn. Nó sẽ luôn hiển thị một kết nối duy nhất được gọi là 'tệp'. Và vì nó không thể
kết nối với một máy chủ, nó không thể xác định được máy chủ mà nó theo dõi đã hoạt động được bao lâu;
do đó nó tính toán thời gian hoạt động của máy chủ theo thời gian kể từ khi innotop bắt đầu chạy.

MÁY CHỦ HÀNH CHÍNH


Mặc dù innotop chủ yếu là một màn hình cho phép bạn xem và phân tích máy chủ của mình nhưng nó có thể
cũng gửi lệnh đến máy chủ. Các lệnh hữu ích thường xuyên nhất là hủy truy vấn
và dừng hoặc bắt đầu nô lệ.

Bạn có thể hủy một kết nối hoặc trong các phiên bản mới hơn của MySQL, hãy hủy một truy vấn nhưng không hủy một kết nối.
kết nối, từ chế độ "Q: Danh sách truy vấn" và "T: Giao dịch InnoDB". Nhấn 'k' để phát hành
Lệnh KILL hoặc 'x' để đưa ra lệnh KILL QUERY. innotop sẽ nhắc bạn về
máy chủ và/hoặc ID kết nối cần hủy (innotop không nhắc bạn nếu chỉ có một
sự lựa chọn có thể cho bất kỳ đầu vào nào). innotop chọn trước truy vấn chạy dài nhất hoặc
kết nối lâu đời nhất. Xác nhận lệnh với 'y'.

Trong "Trạng thái sao chép nô lệ"" ở "M: Chế độ chính, bạn có thể bắt đầu và dừng các nô lệ bằng
phím 'a' và 'o' tương ứng. Bạn có thể gửi các lệnh này tới nhiều nô lệ cùng một lúc.
innotop điền vào lệnh mặc định START SLAVE hoặc STOP SLAVE cho bạn, nhưng bạn có thể
thực sự chỉnh sửa lệnh và gửi bất cứ thứ gì bạn muốn, chẳng hạn như SET GLOBAL
SQL_SLAVE_SKIP_COUNTER=1 để khiến nô lệ bỏ qua một sự kiện binlog khi nó bắt đầu.

Bạn cũng có thể yêu cầu innotop tính toán binlog sớm nhất được sử dụng bởi bất kỳ nô lệ nào và đưa ra một
PURGE MASTER LOGS trên bản gốc. Sử dụng phím 'b' cho việc này. innotop sẽ nhắc bạn
master để chạy lệnh, sau đó nhắc bạn tên kết nối của master đó
nô lệ (không có cách nào để innotop tự xác định điều này một cách đáng tin cậy). innotop sẽ tìm thấy
binlog tối thiểu được sử dụng bởi các kết nối nô lệ này và đề xuất nó làm đối số cho
NHẬT KÝ PURGE MASTER.

MÁY CHỦ KẾT NỐI


Khi bạn tạo kết nối máy chủ bằng '@', innotop sẽ yêu cầu bạn cung cấp một loạt thông tin đầu vào, chẳng hạn như
sau:

DSN DSN là Tên nguồn dữ liệu, là đối số ban đầu được truyền cho mô-đun DBI
để kết nối với máy chủ. Nó thường có dạng

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

Vì DSN này được chuyển tới trình điều khiển DBD::mysql, bạn nên đọc tài liệu của trình điều khiển
tài liệu tại "/search.cpan.org/dist/DBD-mysql/lib/DBD/mysql.pm"" trong "http: dành cho
chi tiết chính xác về tất cả các tùy chọn bạn có thể chuyển trình điều khiển trong DSN. Bạn có thể đọc
thêm về DBI tạihttp://dbi.perl.org/docs/> và đặc biệt là tại
<http://search.cpan.org/~timb/DBI/DBI.pm>.

Tùy chọn mysql_read_default_group=mysql cho phép trình điều khiển DBD đọc các tùy chọn MySQL của bạn
các tệp, chẳng hạn như ~ / .my.cnf trên các hệ thống UNIX-ish. Bạn có thể sử dụng điều này để tránh chỉ định một
tên người dùng hoặc mật khẩu cho kết nối.

Bảng bế tắc InnoDB
Mục tùy chọn này cho innotop biết tên bảng mà nó có thể sử dụng để cố ý tạo một
bế tắc nhỏ (xem "D: Bế tắc InnoDB"). Nếu bạn chỉ định tùy chọn này, bạn chỉ cần
để chắc chắn rằng bảng không tồn tại và innotop đó có thể tạo và xóa bảng
với công cụ lưu trữ InnoDB. Bạn có thể bỏ qua hoặc chỉ chấp nhận giá trị mặc định một cách an toàn nếu bạn
không có ý định sử dụng cái này

Tên đăng nhập (Username)
innotop sẽ hỏi bạn có muốn chỉ định tên người dùng hay không. Nếu bạn nói 'y', thì nó sẽ
nhắc bạn nhập tên người dùng. Nếu bạn có tệp tùy chọn MySQL chỉ định
tên người dùng, bạn không cần phải chỉ định tên người dùng.

Tên người dùng mặc định là tên đăng nhập của bạn trên hệ thống bạn đang chạy innotop.

Mật khẩu
innotop sẽ hỏi bạn có muốn chỉ định mật khẩu hay không. Giống như tên người dùng,
mật khẩu là tùy chọn, nhưng có một lời nhắc bổ sung hỏi bạn có muốn lưu không
mật khẩu trong tập tin cấu hình innotop. Nếu bạn không lưu nó vào
tập tin cấu hình, innotop sẽ nhắc bạn nhập mật khẩu mỗi lần khởi động.
Mật khẩu trong tệp cấu hình innotop được lưu ở dạng văn bản thuần túy, không được mã hóa ở dạng
dù sao.

Sau khi trả lời xong những câu hỏi này, bạn sẽ được kết nối với máy chủ. Nhưng
innotop không bị giới hạn trong việc giám sát một máy chủ; bạn có thể định nghĩa nhiều máy chủ
kết nối và chuyển đổi giữa chúng bằng cách nhấn phím '@'. Xem phần "CHUYỂN ĐỔI GIỮA
KẾT NỐI".

MÁY CHỦ CÁC NHÓM


Nếu bạn có nhiều phiên bản MySQL, bạn có thể đặt chúng vào các nhóm được đặt tên, chẳng hạn như 'tất cả',
'bậc thầy' và 'nô lệ', mà innotop có thể giám sát tất cả cùng nhau.

Bạn có thể chọn nhóm để theo dõi bằng phím '#' và bạn có thể nhấn phím TAB để
chuyển sang nhóm tiếp theo. Nếu bạn hiện không theo dõi một nhóm, hãy nhấn TAB
chọn nhóm đầu tiên.

Để tạo một nhóm, hãy nhấn phím '#' và nhập tên nhóm mới của bạn, sau đó nhập
tên của các kết nối bạn muốn nhóm chứa.

CHUYỂN ĐỔI GIỮA KẾT NỐI


innotop cho phép bạn nhanh chóng chuyển đổi máy chủ mà bạn đang theo dõi. Cách cơ bản nhất là bằng
nhấn phím '@' và nhập (các) tên của (các) kết nối bạn muốn sử dụng. Cái này
cài đặt là cho mỗi chế độ, do đó bạn có thể giám sát các kết nối khác nhau ở từng chế độ và innotop
ghi nhớ những kết nối bạn chọn.

Bạn có thể nhanh chóng chuyển sang kết nối “tiếp theo” theo thứ tự bảng chữ cái bằng phím “n”.
Nếu bạn đang giám sát một nhóm máy chủ (xem "NHÓM MÁY CHỦ") thì nhóm này sẽ chuyển sang nhóm đầu tiên
kết nối.

Bạn cũng có thể nhập nhiều tên kết nối và innotop sẽ tìm nạp và hiển thị dữ liệu từ chúng
tất cả. Chỉ cần phân tách tên kết nối bằng dấu cách, ví dụ "server1 server2."
Một lần nữa, nếu bạn nhập tên của kết nối không tồn tại, innotop sẽ nhắc bạn
để biết thông tin kết nối và tạo kết nối.

Một cách khác để giám sát nhiều kết nối cùng một lúc là sử dụng các nhóm máy chủ. Bạn có thể dùng
phím TAB để chuyển sang nhóm 'tiếp theo' theo thứ tự bảng chữ cái hoặc nếu bạn không
giám sát nhóm nào thì TAB sẽ chuyển sang nhóm đầu tiên.

innotop không tìm nạp dữ liệu song song từ các kết nối, vì vậy nếu bạn đang theo dõi một lượng lớn
nhóm hoặc nhiều kết nối, bạn có thể nhận thấy độ trễ tăng lên giữa các tích tắc.

Khi bạn giám sát nhiều kết nối, thanh trạng thái của innotop sẽ thay đổi. Xem "INNOTOP
TRẠNG THÁI".

ERROR XỬ LÝ


Xử lý lỗi không quan trọng lắm khi giám sát một kết nối, nhưng rất quan trọng
khi bạn có nhiều kết nối đang hoạt động. Máy chủ bị hỏng hoặc mất kết nối không nên
tai nạn innotop. Kết quả là innotop sẽ tiếp tục chạy ngay cả khi có lỗi; Nó
sẽ không hiển thị bất kỳ thông tin nào từ kết nối bị lỗi. Bởi vì
điều này, hành vi của innotop có thể khiến bạn bối rối. Đó là một tính năng, không phải là một lỗi!

innotop không tiếp tục truy vấn các kết nối có lỗi vì chúng có thể làm chậm
innotop và khiến nó khó sử dụng, đặc biệt nếu lỗi là do vấn đề kết nối và
gây ra thời gian chờ lâu. Thay vào đó, innotop thỉnh thoảng thử lại kết nối để xem liệu
lỗi vẫn tồn tại. Nếu vậy, nó sẽ đợi đến một thời điểm nào đó trong tương lai. Sự chờ đợi
thời gian tăng theo từng tích tắc theo chuỗi Fibonacci, vì vậy nó ít cố gắng hơn theo thời gian
vượt qua.

Vì lỗi chỉ có thể xảy ra ở một số chế độ nhất định do các lệnh SQL được đưa ra trong
các chế độ đó, innotop theo dõi xem chế độ nào gây ra lỗi. Nếu bạn chuyển sang một
chế độ khác, innotop sẽ thử kết nối lại thay vì chờ đợi.

Theo mặc định innotop sẽ hiển thị vấn đề bằng chữ màu đỏ ở cuối bảng đầu tiên
trên màn hình. Bạn có thể tắt hành vi này bằng "show_cxn_errors_in_tbl"
tùy chọn cấu hình, được bật theo mặc định. Nếu tùy chọn "gỡ lỗi" được bật,
innotop sẽ hiển thị lỗi ở cuối mỗi bảng chứ không chỉ ở bảng đầu tiên. Và nếu
"show_cxn_errors" được bật, innotop cũng sẽ in văn bản lỗi ra STDOUT. Lỗi
thông báo có thể chỉ hiển thị ở chế độ gây ra lỗi, tùy thuộc vào chế độ và
liệu innotop có tránh truy vấn kết nối đó hay không.

KHÔNG TƯƠNG TÁC HOẠT ĐỘNG


Bạn có thể chạy innotop ở chế độ không tương tác, trong trường hợp đó nó hoàn toàn được điều khiển từ
tập tin cấu hình và các tùy chọn dòng lệnh. Để bắt đầu innotop ở chế độ không tương tác
chế độ, hãy cung cấp tùy chọn dòng lệnh L"<--nonint">. Điều này làm thay đổi hành vi của innotop trong
những cách sau:

· Một số mô-đun Perl không được tải. Thuật ngữ::Readline không được tải, vì innotop
không nhắc nhở tương tác. Các mô-đun Term::ANSIColor và Win32::Console::ANSI là
không được tải. Term::ReadKey vẫn được sử dụng, vì innotop có thể phải nhắc
mật khẩu kết nối khi khởi động.

· innotop không xóa màn hình sau mỗi tích tắc.

· innotop không duy trì bất kỳ thay đổi nào đối với tập tin cấu hình.

· Nếu "--count" được đưa ra và innotop ở chế độ tăng dần (xem "status_inc" và
"--inc"), innotop thực sự làm mới một lần so với quy định để có thể in
thống kê gia tăng. Điều này ngăn chặn đầu ra trong tích tắc đầu tiên, vì vậy innotop có thể
dường như bị treo.

· innotop chỉ hiển thị bảng đầu tiên ở mỗi chế độ. Điều này là để đầu ra có thể được
dễ dàng xử lý bằng các tiện ích dòng lệnh khác như awk và sed. Thay đổi
bảng nào hiển thị ở từng chế độ, xem "BẢNG". Vì chế độ "Q: Danh sách truy vấn" là như vậy
quan trọng, innotop tự động vô hiệu hóa bảng "q_header". Điều này đảm bảo bạn sẽ
xem bảng "danh sách quy trình", ngay cả khi bạn đã định cấu hình innotop để hiển thị q_header
bảng trong quá trình hoạt động tương tác. Tương tự, trong chế độ "T: Giao dịch InnoDB",
Bảng "t_header" bị chặn nên bạn chỉ thấy bảng "innodb_transactions".

· Tất cả đầu ra được phân tách bằng tab thay vì được căn chỉnh theo cột bằng khoảng trắng và
innotop in toàn bộ nội dung của mỗi bảng thay vì chỉ in một màn hình
tại một thời điểm.

· innotop chỉ in tiêu đề cột một lần thay vì mỗi dấu tích (xem "hide_hdr").
innotop không in chú thích bảng (xem "display_table_captions"). innotop đảm bảo
không có dòng trống trong đầu ra.

· innotop không tôn trọng phép chuyển đổi "rút ngắn", thường rút ngắn một số
số sang định dạng mà con người có thể đọc được.

· innotop không in dòng trạng thái (xem "INNOTOP STATUS").

CẤU HÌNH


Gần như mọi thứ về innotop đều có thể cấu hình được. Hầu hết mọi thứ đều có thể thay đổi với
các lệnh tích hợp sẵn, nhưng bạn cũng có thể chỉnh sửa tệp cấu hình.

Trong khi chạy innotop, nhấn phím '$' để hiển thị hộp thoại chỉnh sửa cấu hình.
Nhấn phím khác để chọn loại dữ liệu muốn chỉnh sửa:

S: Tuyên bố về thời gian ngủ
Chỉnh sửa độ trễ khi ngủ của câu lệnh SQL, khiến innotop tạm dừng trong khoảng thời gian được chỉ định
thời gian sau khi thực hiện một câu lệnh. Xem "TUYÊN BỐ SQL" để biết định nghĩa của từng
tuyên bố và những gì nó làm. Theo mặc định, innotop không trì hoãn sau bất kỳ câu lệnh nào.

Tính năng này được bao gồm để bạn có thể tùy chỉnh các tác dụng phụ do theo dõi
máy chủ của bạn. Bạn có thể không thấy bất kỳ hiệu ứng nào, nhưng một số người dùng innotop đã nhận thấy rằng
một số phiên bản MySQL nhất định có tải rất cao khi bật InnoDB mất nhiều thời gian hơn bình thường
để thực hiện HIỂN THỊ TÌNH TRẠNG TOÀN CẦU. Nếu innotop gọi SHOW FULL PROCESSLIST ngay lập tức
sau đó, danh sách quy trình chứa nhiều truy vấn hơn mức trung bình thực tế của máy
bất kỳ thời điểm nào. Định cấu hình innotop để tạm dừng một thời gian ngắn sau khi gọi SHOW GLOBAL
STATUS làm giảm hiệu ứng này.

Thời gian ngủ được lưu trữ trong phần "stmt_sleep_times" của tệp cấu hình.
Hỗ trợ chế độ ngủ theo phần giây, tùy thuộc vào giới hạn của phần cứng của bạn.

c: Chỉnh sửa cột
Bắt đầu trình soạn thảo bảng trên một trong các bảng được hiển thị. Xem phần "BỘ CHỈNH SỬA BẢNG". MỘT
cách khác để khởi động trình soạn thảo bảng mà không cần vào hộp thoại cấu hình là
bằng phím '^'.

g: Cấu hình chung
Khởi động trình chỉnh sửa cấu hình để chỉnh sửa cấu hình chung và cấu hình theo chế độ cụ thể
các biến (xem "CHẾ ĐỘ"). innotop nhắc bạn chọn một biến trong số
những cái chung và chế độ cụ thể tùy thuộc vào chế độ hiện tại.

k: Quy tắc tô màu hàng
Bắt đầu trình chỉnh sửa quy tắc tô màu hàng trên một trong các bảng được hiển thị. Xem "MÀU SẮC"
để biết thêm chi tiết.

p: Quản lý plugin
Bắt đầu trình chỉnh sửa cấu hình plugin. Xem "PLUGIN" để biết chi tiết.

s: Nhóm máy chủ
Cho phép bạn tạo và chỉnh sửa các nhóm máy chủ. Xem "NHÓM MÁY CHỦ".

t: Chọn bảng được hiển thị
Cho phép bạn chọn bảng nào sẽ hiển thị ở chế độ này. Xem "CHẾ ĐỘ" và "BẢNG".

CẤU HÌNH FILE


vị trí tệp cấu hình mặc định của innotop là $HOME/.innotop và
/etc/innotop/innotop.conf và chúng được tìm kiếm theo thứ tự đó. Nếu lần đầu tiên
tập tin cấu hình tồn tại, tập tin thứ hai sẽ không được xử lý. Chúng có thể được ghi đè bằng
tùy chọn dòng lệnh "--config". Bạn có thể chỉnh sửa nó bằng tay một cách an toàn, tuy nhiên innotop đọc
tệp cấu hình khi nó khởi động và nếu chỉ đọc được đặt thành 0, hãy ghi lại nó
khi nó thoát ra. Do đó, nếu chỉ đọc được đặt thành 0, mọi thay đổi bạn thực hiện bằng tay trong khi innotop
đang chạy sẽ bị mất.

innotop không lưu trữ toàn bộ cấu hình của nó trong tệp cấu hình. Nó có một kích thước khổng lồ
tập hợp các giá trị cấu hình mặc định mà nó chỉ giữ trong bộ nhớ và cấu hình
tập tin chỉ ghi đè các giá trị mặc định này. Khi bạn tùy chỉnh cài đặt mặc định, innotop
thông báo, sau đó lưu trữ các tùy chỉnh vào tệp. Điều này giúp giảm kích thước tập tin,
giúp chỉnh sửa dễ dàng hơn và nâng cấp dễ dàng hơn.

Tệp cấu hình được mặc định ở chế độ chỉ đọc. Bạn có thể ghi đè bằng "--write". Nhìn thấy
"chỉ đọc".

Tệp cấu hình được sắp xếp thành các phần giống như tệp INI. Mỗi phần bắt đầu
bằng [tên phần] và kết thúc bằng [/tên phần]. Các mục của mỗi phần có một
cú pháp khác nhau tùy thuộc vào dữ liệu họ cần lưu trữ. Bạn có thể đưa ý kiến ​​vào
tài liệu; bất kỳ dòng nào bắt đầu bằng ký tự # đều là một nhận xét. innotop sẽ không đọc
nhận xét, vì vậy nó sẽ không ghi chúng trở lại tệp khi thoát. Bình luận trong phần đọc-
Tuy nhiên, chỉ có các tập tin cấu hình vẫn hữu ích.

Dòng đầu tiên trong file là số phiên bản của innotop. Điều này cho phép innotop thông báo khi
định dạng tệp không tương thích ngược và nâng cấp mượt mà mà không làm hỏng máy tính của bạn
cấu hình tùy chỉnh.

Danh sách sau đây mô tả từng phần của tệp cấu hình và dữ liệu trong đó
chứa đựng:

chung
Phần 'chung' chứa các biến cấu hình toàn cục và các biến có thể
có chế độ cụ thể nhưng không thuộc bất kỳ phần nào khác. Cú pháp rất đơn giản
danh sách khóa=giá trị. innotop viết bình luận phía trên mỗi giá trị để giúp bạn chỉnh sửa tập tin
bằng tay.

S_func
Điều khiển việc trình bày chế độ S (xem "S: Biến & Trạng thái"). Nếu g, giá trị là
vẽ đồ thị; nếu s, các giá trị giống như vmstat; nếu p, các giá trị nằm trong bảng xoay vòng.

S_set
Chỉ định bộ biến nào sẽ hiển thị trong chế độ "S: Biến & Trạng thái". Nhìn thấy
"TẬP BIẾN".

auto_wipe_dl
Hướng dẫn innotop tự động xóa các bế tắc lớn khi nhận thấy chúng.
Khi điều này xảy ra, bạn có thể nhận thấy một chút chậm trễ. Ở tích tắc tiếp theo, bạn sẽ
thường thấy thông tin bị cắt bớt do bế tắc lớn.

bảng chữ cái
Chỉ định loại ký tự nào được phép thông qua "no_ctrl_char"
sự biến đổi. Điều này giúp các ký tự không in được khỏi gây nhầm lẫn cho thiết bị đầu cuối
khi bạn giám sát các truy vấn có chứa dữ liệu nhị phân, chẳng hạn như hình ảnh.

Giá trị mặc định là 'ascii', coi mọi thứ nằm ngoài ASCII thông thường là một
nhân vật điều khiển. Các giá trị được phép khác là 'unicode' và 'none'. 'không có'
coi mỗi ký tự là ký tự điều khiển, có thể hữu ích cho việc thu gọn
TẤT CẢ các trường văn bản trong truy vấn.

cmd_filter
Đây là tiền tố lọc các biến trong chế độ "C: Tóm tắt lệnh".

màu sắc
Liệu màu đầu cuối có được phép hay không.

cxn_timeout
Trên phiên bản MySQL 4.0.3 trở lên, biến này được sử dụng để đặt kết nối
hết thời gian chờ, vì vậy MySQL sẽ không đóng kết nối nếu không được sử dụng trong một thời gian.
Điều này có thể xảy ra do kết nối không được giám sát ở một chế độ cụ thể, ví dụ:
thí dụ.

gỡ lỗi
Tùy chọn này gây ra nhiều lỗi dài dòng hơn và làm cho innotop nghiêm ngặt hơn trong một số trường hợp.
địa điểm. Nó có thể giúp gỡ lỗi các bộ lọc và mã do người dùng xác định khác. Nó cũng
khiến innotop ghi nhiều thông tin vào "debugfile" khi có sự cố.

gỡ lỗi
Một tập tin mà innotop sẽ ghi thông tin vào đó khi có sự cố. Nhìn thấy
"CÁC TẬP TIN".

display_table_captions
innotop hiển thị chú thích bảng phía trên hầu hết các bảng. Biến này ngăn chặn hoặc
hiển thị chú thích trên tất cả các bảng trên toàn cầu. Một số bảng được cấu hình bằng
Thuộc tính Hide_caption sẽ ghi đè lên thuộc tính này.

toàn cầu
Có hiển thị các biến và trạng thái TOÀN CẦU hay không. innotop chỉ cố gắng làm điều này trên
các máy chủ hỗ trợ tùy chọn TOÀN CẦU để HIỂN THỊ BIẾN và HIỂN THỊ TRẠNG THÁI. TRONG
một số phiên bản MySQL, bạn cần có những đặc quyền nhất định để thực hiện việc này; nếu bạn không có
chúng, innotop sẽ không thể tìm nạp bất kỳ dữ liệu trạng thái và biến nào. Cái này
biến cấu hình cho phép bạn chạy innotop và tìm nạp những dữ liệu nào bạn có thể
không có đặc quyền nâng cao.

Tôi không còn có thể tìm hoặc tái hiện tình huống GLOBAL không được phép nữa, nhưng tôi
biết có một cái.

biểu đồ_char
Xác định ký tự sẽ sử dụng khi vẽ đồ thị ở chế độ "S: Biến & Trạng thái".

tiêu đề_đánh dấu
Xác định cách làm nổi bật tiêu đề cột. Điều này chỉ hoạt động nếu Term::ANSIColor là
có sẵn. Các giá trị hợp lệ là 'in đậm' và 'gạch chân'.

ẩn_hdr
Ẩn tiêu đề cột trên toàn cầu.

khoảng thời gian
Khoảng thời gian mà innotop sẽ làm mới dữ liệu của nó (tích tắc). Khoảng thời gian là
được thực hiện như thời gian ngủ giữa các tích tắc, vì vậy khoảng thời gian thực sẽ thay đổi
tùy thuộc vào việc innotop mất bao lâu để tìm nạp và hiển thị dữ liệu.

Biến này chấp nhận phân số của một giây.

chế độ
Chế độ mà innotop sẽ khởi động. Các đối số được phép giống như
các lần nhấn phím sẽ chọn chế độ một cách tương tác. Xem "CHẾ ĐỘ".

num_digits
Có bao nhiêu chữ số để hiển thị dưới dạng số phân số và phần trăm. Phạm vi của biến này
nằm trong khoảng từ 0 đến 9 và có thể được đặt trực tiếp từ chế độ "S: Biến & Trạng thái" với
phím '+' và '-'. Nó được sử dụng trong "set_precision", "rút ngắn" và "phần trăm"
các phép biến hình.

num_status_sets
Kiểm soát số lượng bộ biến trạng thái sẽ hiển thị trong "S: Biến &
Chế độ Status". Nó cũng kiểm soát số lượng bộ biến cũ mà innotop giữ
trong bộ nhớ của nó, do đó biến này càng lớn thì innotop sử dụng càng nhiều bộ nhớ.

plugin_dir
Chỉ định nơi có thể tìm thấy plugin. Theo mặc định, innotop lưu trữ các plugin trong
thư mục con 'plugins' của thư mục cấu hình innotop của bạn.

chỉ đọc
Tệp cấu hình có ở chế độ chỉ đọc hay không. Điều này không thể được thiết lập tương tác.

show_cxn_errors
Làm cho lỗi kết nối innotop thành STDOUT. Xem phần "XỬ LÝ LỖI".

show_cxn_errors_in_tbl
Gây ra lỗi kết nối hiển thị innotop dưới dạng hàng trong bảng đầu tiên trên màn hình. Nhìn thấy
"XỬ LÝ LỖI".

show_percent
Thêm ký tự '%' sau giá trị được trả về bởi phép chuyển đổi "phần trăm".

thanh trạng thái chương trình
Kiểm soát xem có hiển thị thanh trạng thái trên màn hình hay không. Xem "TRẠNG THÁI INNOTOP".

Skip_innodb
Vô hiệu hóa việc tìm nạp TÌNH TRẠNG SHOW INNODB, trong trường hợp (các) máy chủ của bạn không có InnoDB
được bật và bạn không muốn innotop cố gắng tìm nạp nó. Điều này cũng có thể hữu ích
khi bạn không có đặc quyền SIÊU, bắt buộc phải chạy TÌNH TRẠNG SHOW INNODB.

trạng thái_inc
Hiển thị giá trị tuyệt đối hay giá trị gia tăng cho các biến trạng thái. Tăng dần
các giá trị được tính như một phần bù từ giá trị cuối cùng của innotop saw cho giá trị đó
Biến đổi. Đây là cài đặt chung, nhưng có thể sẽ trở thành chế độ cụ thể tại
một số điểm. Hiện tại nó được tôn vinh có chút không nhất quán; một số chế độ không trả tiền
chú ý đến nó.

bổ sung
Phần này chứa danh sách tên gói của các plugin đang hoạt động. Nếu plugin tồn tại,
innotop sẽ kích hoạt nó. Xem "PLUGIN" để biết thêm thông tin.

bộ lọc
Phần này chứa các bộ lọc do người dùng xác định (xem "BỘ LỌC"). Mỗi dòng có định dạng
filter_name=text='lọc văn bản' tbls='danh sách bảng'.

Văn bản bộ lọc là văn bản mã của chương trình con. Danh sách bảng là danh sách
các bảng mà bộ lọc có thể áp dụng. Theo mặc định, các bộ lọc do người dùng xác định áp dụng cho
bảng mà chúng được tạo, nhưng bạn có thể ghi đè thủ công bằng cách chỉnh sửa
định nghĩa trong tập tin cấu hình.

active_filters
Phần này lưu trữ những bộ lọc nào đang hoạt động trên mỗi bảng. Mỗi dòng nằm trong
định dạng bảng_name=filter_list.

tbl_meta
Phần này lưu trữ các cột do người dùng xác định hoặc do người dùng tùy chỉnh (xem "COLUMNS"). Mỗi
dòng có định dạng col_name=properties, trong đó các thuộc tính là một
name=danh sách giá trị được trích dẫn.

kết nối
Phần này chứa các kết nối máy chủ mà bạn đã xác định. Mỗi dòng nằm trong
định dạng tên=thuộc tính, trong đó các thuộc tính là danh sách tên=giá trị. Các thuộc tính
là tự giải thích và từ duy nhất được xử lý đặc biệt là 'đạt', nghĩa là
chỉ xuất hiện nếu 'savepass' được đặt. Phần này của tập tin cấu hình sẽ được
bị bỏ qua nếu bất kỳ tùy chọn dòng lệnh DSN, tên người dùng hoặc mật khẩu nào được sử dụng. Xem "Máy chủ
KẾT NỐI".

hoạt động_kết nối
Phần này chứa danh sách các kết nối đang hoạt động ở mỗi chế độ. Mỗi dòng là
ở định dạng mode_name=connection_list.

nhóm_máy chủ
Phần này chứa các nhóm máy chủ. Mỗi dòng có định dạng name=connection_list.
Xem "NHÓM MÁY CHỦ".

active_server_groups
Phần này chứa danh sách nhóm máy chủ nào đang hoạt động ở mỗi chế độ. Mỗi dòng là
ở định dạng mode_name=server_group.

max_values_seen
Phần này chứa các giá trị tối đa được thấy cho các biến. Điều này được sử dụng để mở rộng quy mô
đồ thị ở chế độ "S: Biến & Trạng thái". Mỗi dòng có định dạng name=value.

cột_hoạt động
Phần này chứa danh sách cột của bảng. Mỗi dòng có định dạng
tbl_name=column_list. Xem "CỘT".

sắp xếp_cols
Phần này chứa định nghĩa sắp xếp. Mỗi dòng có định dạng
tbl_name=column_list. Nếu một cột có tiền tố là '-', cột đó sẽ sắp xếp giảm dần.
Xem "SẮP XẾP".

có thể nhìn thấy_tables
Phần này xác định bảng nào được hiển thị trong mỗi chế độ. Mỗi dòng nằm trong
định dạng mode_name=table_list. Xem "BẢNG".

varset
Phần này xác định các bộ biến để sử dụng trong chế độ "S: Trạng thái & Biến". Mỗi dòng
có định dạng name=variable_list. Xem "TẬP BIẾN".

màu sắc
Phần này xác định các quy tắc tô màu. Mỗi dòng có định dạng
tbl_name=property_list. Xem "MÀU SẮC".

stmt_sleep_times
Phần này chứa thông tin về thời gian ngủ. Mỗi dòng có định dạng
Statement_name=sleep_time. Xem "S: Tuyên bố về thời gian ngủ".

nhóm_by
Phần này chứa danh sách cột cho biểu thức nhóm_by của bảng. Mỗi dòng nằm trong
định dạng tbl_name=column_list. Xem phần "NHÓM".

TÙY CHỈNH


Bạn có thể tùy chỉnh innotop rất nhiều. Ví dụ: bạn có thể:

· Chọn bảng nào sẽ hiển thị và theo thứ tự nào.

· Chọn cột nào trong các bảng đó và tạo cột mới.

· Lọc những hàng hiển thị bằng các bộ lọc tích hợp, bộ lọc do người dùng xác định và các bộ lọc nhanh
bộ lọc.

· Sắp xếp các hàng để đặt dữ liệu quan trọng lên đầu hoặc nhóm các hàng liên quan lại với nhau.

· Đánh dấu các hàng bằng màu sắc.

· Tùy chỉnh căn chỉnh, chiều rộng và định dạng của cột và áp dụng các phép biến đổi
vào các cột để trích xuất các phần giá trị của chúng hoặc định dạng các giá trị theo ý muốn (ví dụ:
ví dụ: rút ngắn số lớn thành đơn vị quen thuộc).

· Thiết kế các biểu thức của riêng bạn để trích xuất và kết hợp dữ liệu khi bạn cần. Điều này mang lại cho bạn
sự linh hoạt không giới hạn.

Tất cả những điều này và nhiều hơn nữa được giải thích trong các phần sau.

NHỮNG CÁI BÀN
Bảng là thứ bạn mong đợi: một tập hợp các cột. Nó còn có một số tính chất khác
chẳng hạn như một chú thích. Bộ lọc, quy tắc sắp xếp và quy tắc tô màu thuộc về bảng và
được đề cập trong các phần sau.

Bên trong, siêu dữ liệu bảng được xác định trong cấu trúc dữ liệu có tên %tbl_meta. Hàm băm này
chứa tất cả các định nghĩa bảng dựng sẵn, chứa nhiều hướng dẫn mặc định để
innotop. Siêu dữ liệu bao gồm chú thích, danh sách các cột mà người dùng đã tùy chỉnh,
danh sách các cột, danh sách các cột hiển thị, danh sách bộ lọc, quy tắc màu, cột sắp xếp
danh sách, hướng sắp xếp và một số thông tin về nguồn dữ liệu của bảng. Hầu hết điều này
có thể tùy chỉnh thông qua trình chỉnh sửa bảng (xem "BẢO CHỈNH BẢNG").

Bạn có thể chọn bảng nào sẽ hiển thị bằng cách nhấn phím '$'. Xem "CHẾ ĐỘ" và "BẢNG".

Vòng đời của bảng như sau:

· Mỗi bảng bắt đầu bằng một nguồn dữ liệu là một mảng các giá trị băm. Xem bên dưới để biết
chi tiết về nguồn dữ liệu.

· Mỗi phần tử của nguồn dữ liệu trở thành một hàng trong bảng cuối cùng.

· Đối với mỗi phần tử trong nguồn dữ liệu, innotop trích xuất các giá trị từ nguồn và
tạo ra một hàng. Hàng này là một hàm băm khác mà các bước sau này sẽ gọi là $set.
Các giá trị trích xuất innotop được xác định bởi các cột của bảng. Mỗi cột có một
chương trình con trích xuất, được biên dịch từ một biểu thức (xem "EXPRESSIONS"). Kết quả
hàng là một hàm băm có khóa được đặt tên giống với tên cột.

· innotop lọc các hàng, loại bỏ những hàng không cần hiển thị. Nhìn thấy
"BỘ LỌC".

· innotop sắp xếp các hàng. Xem phần "SẮP XẾP".

· innotop nhóm các hàng lại với nhau, nếu được chỉ định. Xem phần "NHÓM".

· innotop tô màu các hàng. Xem "MÀU SẮC".

· innotop chuyển đổi giá trị cột trong mỗi hàng. Xem phần "CHUYỂN ĐỔI".

· innotop tùy chọn xoay các hàng (xem phần "XOAY"), sau đó lọc và sắp xếp chúng.

· Định dạng innotop và căn chỉnh các hàng thành một bảng. Trong bước này, innotop áp dụng
định dạng thêm cho các giá trị cột, bao gồm căn chỉnh, tối đa và tối thiểu
chiều rộng. innotop cũng thực hiện kiểm tra lỗi lần cuối để đảm bảo không có sự cố do
các giá trị không xác định. innotop sau đó thêm chú thích nếu được chỉ định và bảng đã sẵn sàng
in.

Vòng đời sẽ hơi khác một chút nếu bảng được xoay vòng, như đã lưu ý ở trên. Làm rõ,
nếu bảng được xoay vòng, quy trình sẽ được trích xuất, nhóm, biến đổi, xoay vòng, lọc, sắp xếp,
tạo nên. Nếu nó không được xoay vòng, quy trình sẽ được trích xuất, lọc, sắp xếp, nhóm, tô màu,
biến đổi, sáng tạo. Quá trình hơi phức tạp này không ánh xạ tốt tới SQL, nhưng
xoay vòng làm phức tạp mọi thứ khá triệt để. Nói một cách đại khái, lọc và sắp xếp
xảy ra muộn nhất có thể để đạt được kết quả cuối cùng như bạn mong đợi, nhưng càng sớm càng tốt
có thể mang lại hiệu quả.

Mỗi bảng tích hợp được mô tả dưới đây:

thích ứng_hash_index
Hiển thị dữ liệu về chỉ số băm thích ứng của InnoDB. Nguồn dữ liệu: "STATUS_VARIABLES".

vùng đệm_pool
Hiển thị dữ liệu về vùng đệm của InnoDB. Nguồn dữ liệu: "STATUS_VARIABLES".

cmd_tóm tắt
Hiển thị các biến trạng thái có trọng số. Nguồn dữ liệu: "STATUS_VARIABLES".

bế tắc_locks
Hiển thị những khóa nào được giữ và chờ đợi ở lần bế tắc được phát hiện cuối cùng. Dữ liệu
nguồn: "DEADLOCK_LOCKS".

bế tắc_giao dịch
Hiển thị các giao dịch liên quan đến bế tắc được phát hiện gần đây nhất. Nguồn dữ liệu:
"DEADLOCK_TRANSACTIONS".

giải thích
Hiển thị đầu ra của EXPLAIN. Nguồn dữ liệu: "GIẢI THÍCH".

tập tin_io_misc
Hiển thị dữ liệu về tệp của InnoDB và các hoạt động I/O. Nguồn dữ liệu:
"STATUS_VARIABLES".

fk_error
Hiển thị nhiều dữ liệu khác nhau về lỗi khóa ngoại cuối cùng của InnoDB. Nguồn dữ liệu:
"STATUS_VARIABLES".

innodb_locks
Hiển thị khóa InnoDB. Nguồn dữ liệu: "INNODB_LOCKS".

innodb_transactions
Hiển thị dữ liệu về các giao dịch hiện tại của InnoDB. Nguồn dữ liệu:
"INNODB_TRANSACTIONS".

chèn_buffers
Hiển thị dữ liệu về bộ đệm chèn của InnoDB. Nguồn dữ liệu: "STATUS_VARIABLES".

io_threads
Hiển thị dữ liệu về các luồng I/O của InnoDB. Nguồn dữ liệu: "IO_THREADS".

log_statistic
Hiển thị dữ liệu về hệ thống ghi nhật ký của InnoDB. Nguồn dữ liệu: "STATUS_VARIABLES".

master_status
Hiển thị trạng thái chính của bản sao. Nguồn dữ liệu: "STATUS_VARIABLES".

open_tables
Hiển thị các bảng đang mở. Nguồn dữ liệu: "OPEN_TABLES".

trang_thống kê
Hiển thị số liệu thống kê trang InnoDB. Nguồn dữ liệu: "STATUS_VARIABLES".

đang chờ xử lý_io
Hiển thị các hoạt động I/O đang chờ xử lý của InnoDB. Nguồn dữ liệu: "STATUS_VARIABLES".

danh sách quy trình
Hiển thị các tiến trình MySQL hiện tại (luồng/kết nối). Nguồn dữ liệu: "PROCESSLIST".

q_header
Hiển thị các giá trị trạng thái khác nhau. Nguồn dữ liệu: "STATUS_VARIABLES".

hàng_hoạt động_misc
Hiển thị dữ liệu về hoạt động hàng của InnoDB. Nguồn dữ liệu: "STATUS_VARIABLES".

hàng_hoạt động
Hiển thị dữ liệu về hoạt động hàng của InnoDB. Nguồn dữ liệu: "STATUS_VARIABLES".

đèn hiệu
Hiển thị dữ liệu về các ẩn dụ và đột biến của InnoDB. Nguồn dữ liệu: "STATUS_VARIABLES".

nô lệ_io_status
Hiển thị dữ liệu về luồng I/O phụ. Nguồn dữ liệu: "STATUS_VARIABLES".

nô lệ_sql_status
Hiển thị dữ liệu về luồng SQL phụ. Nguồn dữ liệu: "STATUS_VARIABLES".

t_tiêu đề
Hiển thị các giá trị trạng thái InnoDB khác nhau. Nguồn dữ liệu: "STATUS_VARIABLES".

var_status
Hiển thị dữ liệu do người dùng cấu hình. Nguồn dữ liệu: "STATUS_VARIABLES".

chờ_mảng
Hiển thị dữ liệu về mảng chờ hệ điều hành của InnoDB. Nguồn dữ liệu: "OS_WAIT_ARRAY".

CỘT
Các cột thuộc về bảng. Bạn có thể chọn các cột của bảng bằng cách nhấn phím '^'.
khởi động "BẢNG EDITOR" và cho phép bạn chọn và chỉnh sửa các cột. Nhấn 'e' từ bên trong
trình soạn thảo bảng cho phép bạn chỉnh sửa các thuộc tính của cột:

· hdr: tiêu đề cột. Điều này xuất hiện ở hàng đầu tiên của bảng.

· chỉ: sự biện minh. '-' nghĩa là căn lề trái và '' nghĩa là căn lề phải, giống như
với mã định dạng printf (không phải ngẫu nhiên).

· dec: có căn chỉnh thêm cột theo dấu thập phân hay không.

· num: cột có phải là số hay không. Điều này ảnh hưởng đến cách sắp xếp các giá trị (theo từ vựng hoặc
về mặt số lượng).

· nhãn: một ghi chú nhỏ về cột, xuất hiện trong hộp thoại giúp người dùng
Chọn cột.

· src: một biểu thức mà innotop sử dụng để trích xuất dữ liệu của cột từ nguồn của nó (xem
"NGUỒN DỮ LIỆU"). Xem "Biểu thức" để biết thêm về biểu thức.

· minw: chỉ định chiều rộng hiển thị tối thiểu. Điều này giúp ổn định màn hình, giúp
giúp dễ đọc hơn nếu dữ liệu thay đổi thường xuyên.

· maxw: tương tự minw.

· trans: danh sách các phép biến đổi cột. Xem phần "CHUYỂN ĐỔI".

· agg: hàm tổng hợp. Xem phần "NHÓM". Mặc định là "đầu tiên".

· agonly: kiểm soát xem cột có chỉ hiển thị khi bật tính năng nhóm trên bảng hay không
(xem "NHÓM"). Theo mặc định, điều này bị vô hiệu hóa. Điều này có nghĩa là các cột sẽ luôn
được hiển thị theo mặc định, cho dù việc nhóm có được bật hay không. Nếu sự bất an của một cột được đặt
đúng, cột sẽ xuất hiện khi bạn chuyển đổi nhóm trên bảng. Một số cột
được đặt theo cách này, chẳng hạn như cột đếm trên "danh sách quy trình" và "innodb_transactions",
vì vậy bạn không thấy số lượng khi nhóm không được bật, nhưng bạn sẽ thấy khi có.

LỌC
Bộ lọc loại bỏ các hàng khỏi màn hình. Chúng hoạt động giống như mệnh đề WHERE trong SQL.
innotop có một số bộ lọc tích hợp giúp loại bỏ thông tin không liên quan như không hoạt động
truy vấn, nhưng bạn cũng có thể xác định truy vấn của riêng mình. innotop cũng cho phép bạn tạo bộ lọc nhanh,
không được lưu vào tệp cấu hình và chỉ là một cách dễ dàng để xem nhanh
chỉ một số hàng.

Bạn có thể bật hoặc tắt bộ lọc trên bất kỳ bảng nào. Nhấn phím '%' (ghi nhớ: % trông
giống như một dòng được lọc giữa hai vòng tròn) và chọn bảng bạn muốn
lọc nếu được yêu cầu. Sau đó, bạn sẽ thấy danh sách các bộ lọc có thể có và danh sách các bộ lọc
hiện được kích hoạt cho bảng đó. Nhập tên các bộ lọc bạn muốn áp dụng và nhấn
Enter.

ĐÃ XÁC ĐỊNH NGƯỜI DÙNG LỌC

Nếu bạn nhập tên không tồn tại, innotop sẽ nhắc bạn tạo bộ lọc.
Bộ lọc rất dễ tạo nếu bạn biết Perl và không khó nếu bạn không biết. Bạn đang làm gì vậy
đang tạo một chương trình con trả về true nếu hàng cần được hiển thị. Hàng này là một
tham chiếu băm được chuyển tới chương trình con của bạn dưới dạng $set.

Ví dụ: hãy tưởng tượng bạn muốn lọc bảng danh sách quy trình để chỉ nhìn thấy các truy vấn
đã chạy hơn năm phút. Nhập tên mới cho bộ lọc của bạn và khi nào
được nhắc về nội dung chương trình con, nhấn TAB để bắt đầu quá trình tự động hoàn thành của thiết bị đầu cuối của bạn.
Bạn sẽ thấy tên của các cột trong bảng "danh sách quy trình" (innotop thường cố gắng
giúp bạn với danh sách tự động hoàn thành). Bạn muốn lọc theo cột “thời gian”. Nhập
text "$set->{time} > 300" để trả về true khi truy vấn cách đây hơn XNUMX phút.
Đó là tất cả những gì bạn cần làm.

Nói cách khác, mã bạn đang nhập được bao quanh bởi một ngữ cảnh ẩn, trông có vẻ như
như thế này:

bộ lọc phụ {
của tôi( $set ) = @_;
# MÃ CỦA BẠN TẠI ĐÂY
}

Nếu bộ lọc của bạn không hoạt động hoặc nếu có thứ gì khác đột nhiên hoạt động khác đi, bạn có thể
đã mắc lỗi trong bộ lọc của bạn và innotop đang âm thầm bắt lỗi. Thử
Thay vào đó, hãy bật "gỡ lỗi" để khiến innotop gặp lỗi.

LỌC NHANH

bộ lọc nhanh của innotop là một phím tắt để tạo bộ lọc tạm thời không tồn tại
khi bạn khởi động lại innotop. Để tạo bộ lọc nhanh, nhấn phím '/'. innotop sẽ
nhắc bạn nhập tên cột và văn bản lọc. Một lần nữa, bạn có thể sử dụng tính năng tự động hoàn thành trên
tên cột. Văn bản bộ lọc có thể chỉ là văn bản bạn muốn "tìm kiếm". Vì
ví dụ: để lọc bảng "danh sách quy trình" trên các truy vấn tham chiếu đến bảng sản phẩm,
gõ '/' và sau đó nhập 'thông tin sản phẩm'.

Văn bản bộ lọc thực sự có thể là bất kỳ biểu thức chính quy Perl nào, nhưng tất nhiên là một chữ
chuỗi như 'sản phẩm' hoạt động tốt như một biểu thức chính quy.

Đằng sau hậu trường, innotop biên dịch bộ lọc nhanh thành một bộ lọc được gắn thẻ đặc biệt
mặt khác giống như bất kỳ bộ lọc nào khác. Nó chỉ không được lưu vào tập tin cấu hình.

Để xóa bộ lọc nhanh, nhấn phím '\' và innotop sẽ xóa tất cả chúng cùng một lúc.

SẮP XẾP
innotop có các giá trị mặc định tích hợp hợp lý để sắp xếp các hàng quan trọng nhất lên đầu
bàn. Giống như mọi thứ khác trong innotop, bạn có thể tùy chỉnh cách sắp xếp bất kỳ bảng nào.

Để bắt đầu hộp thoại sắp xếp, hãy khởi động "BẢO CHỈNH SỬA BẢNG" bằng phím '^', chọn một bảng nếu
cần thiết và nhấn phím 's'. Bạn sẽ thấy danh sách các cột bạn có thể sử dụng để sắp xếp
biểu thức và biểu thức sắp xếp hiện tại, nếu có. Nhập danh sách các cột mà bạn
muốn sắp xếp và nhấn Enter. Nếu bạn muốn sắp xếp ngược lại, hãy đặt trước tên cột một ký tự
dấu trừ. Ví dụ: nếu bạn muốn sắp xếp theo cột a tăng dần thì cột b
giảm dần, gõ 'a -b'. Bạn cũng có thể thêm dấu + vào trước các cột bạn muốn một cách rõ ràng
sắp xếp tăng dần nhưng không bắt buộc.

Một số chế độ có các phím được ánh xạ để mở trực tiếp hộp thoại này và để đảo ngược sắp xếp nhanh chóng.
phương hướng. Nhấn '?' như thường lệ để xem phím nào được ánh xạ ở bất kỳ chế độ nào.

NHÓM
innotop có thể nhóm hoặc tổng hợp các hàng lại với nhau (các thuật ngữ được sử dụng thay thế cho nhau). Cái này
khá giống với mệnh đề SQL GROUP BY. Bạn có thể chỉ định nhóm trên các cột nhất định,
hoặc nếu bạn không chỉ định bất kỳ hàng nào thì toàn bộ tập hợp các hàng sẽ được coi là một nhóm. Đây là
khá giống SQL cho đến nay, nhưng không giống như SQL, bạn cũng có thể chọn các cột không được nhóm. innotop
thực sự tổng hợp mọi cột. Nếu bạn không chỉ định rõ ràng chức năng nhóm,
mặc định là 'đầu tiên'. Về cơ bản đây là sự tiện lợi nên bạn không cần phải chỉ định một
hàm tổng hợp cho mọi cột bạn muốn trong kết quả.

Bạn có thể nhanh chóng chuyển đổi nhóm trên một bảng bằng phím '=', phím này sẽ chuyển đổi tổng hợp của nó
tài sản. Thuộc tính này không tồn tại trong tệp cấu hình.

Các cột mà bảng được nhóm lại được chỉ định trong thuộc tính group_by của bảng đó. Khi
bạn bật tính năng nhóm, innotop đặt các cột group_by ở ngoài cùng bên trái của bảng,
ngay cả khi lẽ ra chúng không được nhìn thấy. Các cột hiển thị còn lại xuất hiện trong
ra lệnh theo sau họ.

Hai bảng có danh sách nhóm_by mặc định và một cột đếm được tích hợp sẵn: "danh sách quy trình" và
"innodb_transactions". Việc nhóm được thực hiện theo kết nối và trạng thái, vì vậy bạn có thể nhanh chóng xem
có bao nhiêu truy vấn hoặc giao dịch ở trạng thái nhất định trên mỗi máy chủ bạn đang theo dõi.
Các cột thời gian được tổng hợp thành tổng; các cột khác được để ở mức 'đầu tiên' mặc định
sự tập hợp.

Theo mặc định, bảng được hiển thị ở chế độ "S: Biến & Trạng thái" cũng sử dụng tính năng nhóm để bạn có thể
theo dõi các biến và trạng thái trên nhiều máy chủ. Hàm tổng hợp mặc định trong
chế độ này là 'trung bình'.

Các hàm nhóm hợp lệ được xác định trong hàm băm %agg_funcs. Chúng bao gồm

Thành phố điện khí hóa phía tây dãy núi Rocky đầu tiên
Trả về phần tử đầu tiên trong nhóm.

tính
Trả về số phần tử trong nhóm, bao gồm cả phần tử không xác định, giống như
ĐẾM(*) của SQL.

avg Trả về giá trị trung bình của các phần tử được xác định trong nhóm.

sum Trả về tổng các phần tử trong nhóm.

Đây là một ví dụ về việc phân nhóm tại nơi làm việc. Giả sử bạn có một máy chủ rất bận rộn với hàng trăm
của các kết nối đang mở và bạn muốn xem có bao nhiêu kết nối đang ở trạng thái nào. sử dụng
các quy tắc nhóm tích hợp, bạn có thể nhấn 'Q' để vào chế độ "Q: Danh sách truy vấn". Nhấn '='
để chuyển đổi nhóm (nếu cần, hãy chọn bảng "danh sách quy trình" khi được nhắc).

Màn hình của bạn bây giờ có thể trông giống như sau:

Danh sách truy vấn (? để được trợ giúp) localhost, 32:33, 0.11 QPS, 1 thd, 5.0.38-log

CXN Cmd Cnt ID Truy vấn thời gian lưu trữ của người dùng
localhost Truy vấn 49 12933 webusr localhost 19:38 CHỌN * TỪ
localhost Gửi Da 23 2383 webusr localhost 12:43 CHỌN col1,
localhost Ngủ 120 140 webusr localhost 5:18:12
Thống kê localhost 12 19213 webusr localhost 01:19 CHỌN * TỪ

Đó thực sự là một hình ảnh đáng lo ngại. Bạn có rất nhiều kết nối nhàn rỗi (Ngủ),
và một số kết nối thực hiện truy vấn (Truy vấn và gửi dữ liệu). Không sao đâu, nhưng bạn
cũng có rất nhiều trạng thái Thống Kê, tổng cộng chi tiêu hơn một phút. Điều đó có nghĩa là
trình tối ưu hóa truy vấn đang gặp khó khăn trong việc tối ưu hóa các câu lệnh của bạn. Một cái gì đó là
sai; thông thường sẽ mất vài mili giây để tối ưu hóa các truy vấn. Có thể bạn chưa nhìn thấy
mẫu này nếu bạn không xem xét tổng thể các kết nối của mình. (Đây là một sản phẩm trang điểm
dụ, nhưng nó có thể xảy ra trong đời thực).

QUAY TRỤC
innotop có thể xoay bảng để hiển thị nhỏ gọn hơn, tương tự như Pivot Table trong
bảng tính (còn được gọi là bảng chéo). Xoay bảng sẽ biến các cột thành hàng. Cho rằng
bạn bắt đầu với bảng này:

thanh foo
=======
1 3
2 4

Sau khi xoay, bảng sẽ trông như thế này:

tên set0 set1
==== ==== ====
foo 1 2
thanh 3 4

Để có được kết quả hợp lý, bạn có thể cần phải nhóm cũng như xoay vòng. hiện tại innotop
thực hiện điều này cho chế độ "S: Biến & Trạng thái".

MÀU
Theo mặc định, innotop tô sáng các hàng bằng màu sắc để bạn có thể xem nhanh những hàng nào
quan trọng hơn. Bạn có thể tùy chỉnh các quy tắc tô màu và thêm quy tắc tô màu của riêng bạn vào bất kỳ bảng nào.
Mở trình chỉnh sửa bảng bằng phím '^', chọn bảng nếu cần và nhấn 'o' để mở
hộp thoại soạn thảo màu.

Hộp thoại trình soạn thảo màu hiển thị các quy tắc được áp dụng cho bảng theo thứ tự
được đánh giá. Mỗi hàng được đánh giá theo từng quy tắc để xem liệu quy tắc đó có khớp với hàng đó hay không; nếu như
đúng như vậy, hàng sẽ có màu được chỉ định và không có quy tắc nào khác được đánh giá. Các quy tắc
trông giống như sau:

trạng thái eq Bị khóa đen on_red
cmd eq Ngủ trắng
người dùng hệ thống eq người dùng trắng
cmd eq Kết nối màu trắng
cmd eq Binlog Dump màu trắng
thời gian > 600 đỏ
thời gian > 120 vàng
thời gian > 60 xanh
thời gian > 30 màu lục lam

Đây là bộ quy tắc mặc định cho bảng "danh sách quy trình". Theo thứ tự ưu tiên, những
các quy tắc làm cho các truy vấn bị khóa có màu đen trên nền đỏ, các kết nối "chuyển sang màu xám" từ
các truy vấn sao chép và ngủ, đồng thời làm cho các truy vấn chuyển từ màu lục lam sang màu đỏ khi chúng chạy
lâu hơn.

(Vì lý do nào đó, mã màu ANSI "trắng" thực chất là màu xám nhạt. Thiết bị đầu cuối của bạn
hiển thị có thể khác nhau; thử nghiệm để tìm ra màu sắc bạn thích).

Bạn có thể sử dụng tổ hợp phím để di chuyển các quy tắc lên và xuống, sắp xếp lại mức độ ưu tiên của chúng. Bạn
cũng có thể xóa quy tắc và thêm quy tắc mới. Nếu bạn thêm quy tắc mới, innotop sẽ nhắc bạn
cột, toán tử so sánh, giá trị để so sánh cột,
và một màu để chỉ định nếu quy tắc phù hợp. Có tính năng tự động hoàn thành và nhắc nhở mỗi lần
bậc thang.

Giá trị ở bước thứ ba cần được trích dẫn chính xác. innotop không cố trích dẫn
giá trị vì nó không biết liệu nó nên coi giá trị là một chuỗi hay một
con số. Nếu bạn muốn so sánh cột với một chuỗi, ví dụ như trong ví dụ đầu tiên
quy tắc ở trên, bạn nên nhập 'Đã khóa' được bao quanh bởi dấu ngoặc kép. Nếu bạn nhận được thông báo lỗi
về một từ trống, có lẽ bạn nên trích dẫn điều gì đó.

BIỂU THỨC
Biểu thức là cốt lõi trong cách thức hoạt động của innotop và là thứ cho phép bạn mở rộng
innotop như bạn mong muốn. Nhớ lại vòng đời của bảng được giải thích trong "BẢNG". Biểu thức là
được sử dụng ở bước đầu tiên, trong đó nó trích xuất các giá trị từ nguồn dữ liệu để tạo thành các hàng.

Nó thực hiện điều này bằng cách gọi một chương trình con cho mỗi cột, truyền cho nó tập dữ liệu nguồn, một
tập hợp các giá trị hiện tại và một tập hợp các giá trị trước đó. Tất cả những điều này đều cần thiết nên
chương trình con có thể tính toán những thứ như sự khác biệt giữa đánh dấu này và đánh dấu trước đó
đánh dấu

Các chương trình con trích xuất dữ liệu từ tập hợp được biên dịch từ các biểu thức. Cái này
mang lại nhiều sức mạnh hơn đáng kể so với việc chỉ đặt tên các giá trị để điền vào các cột, bởi vì nó
cho phép tính giá trị của cột từ bất kỳ dữ liệu nào cần thiết nhưng tránh
cần viết mã Perl phức tạp và dài dòng.

innotop bắt đầu bằng một chuỗi văn bản có thể trông đơn giản như tên của một giá trị hoặc như
phức tạp như một biểu thức Perl đầy đủ. Nó xem xét từng mã thông báo 'bareword' trong
chuỗi và quyết định xem nó có phải là khóa của hàm băm $set hay không. Một từ trần là một
giá trị không được trích dẫn chưa được bao quanh bởi những thứ mang tính mã hóa như ký hiệu đô la hoặc đường cong
dấu ngoặc. Nếu innotop quyết định rằng từ trần không phải là một hàm hoặc mã Perl hợp lệ khác,
nó chuyển đổi nó thành quyền truy cập băm. Sau khi toàn bộ chuỗi được xử lý, innotop sẽ biên dịch
một chương trình con, như thế này:

giá trị phụ tính_column_value {
của tôi ( $set, $cur, $pre ) = @_;
$val của tôi = # CHUỖI MỞ RỘNG ĐI ĐÂY
trả về $val;
}

Đây là một ví dụ cụ thể, được lấy từ bảng tiêu đề "q_header" ở chế độ "Q: Danh sách truy vấn".
Biểu thức này tính toán các giá trị của cột qps hoặc Truy vấn mỗi giây từ
các giá trị được trả về bởi SHOW STATUS:

Câu hỏi/Thời gian hoạt động_hires

innotop quyết định cả hai từ đều là từ trống và chuyển biểu thức này thành
mã Perl sau:

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

Khi được bao quanh bởi phần còn lại của mã chương trình con, đây là Perl có thể thực thi được
tính toán giá trị truy vấn mỗi giây có độ phân giải cao.

Các đối số của chương trình con được đặt tên là $set, $cur và $pre. Trong hầu hết các trường hợp, $set và
$cur sẽ có cùng giá trị. Tuy nhiên, nếu "status_inc" được đặt, $cur sẽ không giống nhau
dưới dạng $set, vì $set sẽ chứa các giá trị chênh lệch tăng dần
giữa $cur và $pre.

Mỗi cột trong innotop được tính toán bằng các chương trình con được biên dịch theo cùng một kiểu. Có
không có sự khác biệt giữa các cột tích hợp của innotop và các cột do người dùng xác định. Điều này giữ
mọi thứ nhất quán và có thể dự đoán được.

CHUYỂN ĐỔI
Các phép biến đổi thay đổi cách hiển thị một giá trị. Ví dụ, họ có thể lấy một số
giây và hiển thị nó ở định dạng H:M:S. Các phép biến đổi sau đây được xác định:

giao tiếp
Thêm dấu phẩy vào số lớn ở mỗi ba chữ số thập phân.

dulint_to_int
Chấp nhận hai số nguyên không dấu và chuyển đổi chúng thành một số nguyên dài. Đây là
hữu ích cho một số hoạt động nhất định với InnoDB, sử dụng hai số nguyên làm giao dịch
định danh chẳng hạn.

không_ctrl_char
Loại bỏ các ký tự điều khiển được trích dẫn khỏi giá trị. Điều này bị ảnh hưởng bởi "bộ ký tự"
biến cấu hình.

Phép chuyển đổi này chỉ hoạt động trong các chuỗi được trích dẫn, ví dụ: các giá trị thành SET
mệnh đề trong câu lệnh UPDATE. Nó sẽ không thay đổi câu lệnh UPDATE nhưng sẽ
thu gọn chuỗi trích dẫn thành [BINARY] hoặc [TEXT], tùy thuộc vào bộ ký tự.

phần trăm
Chuyển đổi một số thành phần trăm bằng cách nhân nó với hai, định dạng nó bằng
các chữ số "num_digits" sau dấu thập phân và tùy ý thêm dấu phần trăm (xem
"show_percent").

giây_to_time
Định dạng số giây dưới dạng thời gian theo định dạng ngày+giờ:phút:giây.

set_precision
Định dạng số có số chữ số "num_digits" sau dấu thập phân.

rút ngắn
Định dạng một số dưới dạng đơn vị 1024 (k/M/G/T) và có số chữ số "num_digits"
sau dấu thập phân.

BẢNG EDITOR
Trình chỉnh sửa bảng innotop cho phép bạn tùy chỉnh các bảng bằng tổ hợp phím. Bạn bắt đầu bàn
trình chỉnh sửa bằng phím '^'. Nếu có nhiều hơn một bảng trên màn hình, nó sẽ nhắc bạn
để chọn một trong số họ. Khi bạn làm như vậy, innotop sẽ hiển thị cho bạn một cái gì đó như thế này:

Chỉnh sửa định nghĩa bảng cho Vùng đệm. Nhấn ? để được giúp đỡ, q bỏ thuốc lá.

tên hdr nhãn src
cxn CXN Kết nối từ đó cxn
buf_pool_size Kích thước Kích thước vùng đệm IB_bp_buf_poo
buf_free Bộ đệm Bufs miễn phí trong b IB_bp_buf_fre
số trang_tổng số trang Tổng số trang IB_bp_pages_t
pages_modified Trang bẩn Các trang được sửa đổi (IB_bp_pages_m bẩn
buf_pool_hit_rate Tỷ lệ truy cập Nhóm bộ đệm tỷ lệ truy cập IB_bp_buf_poo
Total_mem_alloc Bộ nhớ Tổng phân bổ bộ nhớ IB_bp_total_m
add_pool_alloc Nhóm bổ sung Nhóm bổ sung phân bổ IB_bp_add_poo

Dòng đầu tiên hiển thị bảng bạn đang chỉnh sửa và nhắc bạn nhấn lại '?' cho một
danh sách các ánh xạ khóa. Phần còn lại là biểu diễn dạng bảng của các cột trong bảng,
bởi vì đó có thể là những gì bạn đang cố gắng chỉnh sửa. Tuy nhiên, bạn có thể chỉnh sửa nhiều hơn là chỉ
các cột của bảng; màn hình này có thể khởi động trình chỉnh sửa bộ lọc, trình chỉnh sửa quy tắc màu, v.v.

Mỗi hàng trong màn hình hiển thị một cột duy nhất trong bảng bạn đang chỉnh sửa, cùng với một cột
một vài thuộc tính của nó chẳng hạn như biểu thức tiêu đề và nguồn của nó (xem "EXPRESSIONS").

Các ánh xạ chính theo kiểu Vim, cũng như ở nhiều nơi khác. Nhấn 'j' và 'k' sẽ di chuyển
đánh dấu lên hoặc xuống. Sau đó, bạn có thể (d) xóa hoặc (e) chỉnh sửa cột được đánh dấu. Bạn có thể
cũng (a) thêm một cột vào bảng. Điều này thực ra chỉ kích hoạt một trong các cột rồi
được xác định cho bảng; nó nhắc bạn chọn trong số các cột có sẵn nhưng không
hiện được hiển thị. Cuối cùng, bạn có thể sắp xếp lại các cột bằng phím '+' và '-'.

Bạn có thể làm được nhiều việc hơn là chỉ chỉnh sửa các cột bằng trình soạn thảo bảng, bạn cũng có thể chỉnh sửa các cột khác
các thuộc tính, chẳng hạn như biểu thức sắp xếp của bảng và biểu thức theo nhóm. Nhấn '?' nhìn
tất nhiên là danh sách đầy đủ.

Nếu bạn thực sự muốn tùy chỉnh và tạo cột của riêng mình, thay vì chỉ kích hoạt
một cái tích hợp hiện không được hiển thị, hãy nhấn phím (n)ew và innotop sẽ
nhắc bạn những thông tin cần thiết:

· Tên cột: cần phải là một từ không có ký tự ngộ nghĩnh, ví dụ: chỉ
chữ cái, số và dấu gạch dưới.

· Tiêu đề cột: đây là nhãn xuất hiện ở đầu cột, trong phần
tiêu đề bảng. Phần này có thể có khoảng trắng và các ký tự hài hước, nhưng hãy cẩn thận để không tạo
nó quá rộng và lãng phí không gian trên màn hình.

· Nguồn dữ liệu của cột: đây là biểu thức xác định dữ liệu nào từ cột
nguồn (xem "BẢNG") innotop sẽ đưa vào cột. Đây chỉ có thể là tên của
một mục trong nguồn hoặc nó có thể là một biểu thức phức tạp hơn, như được mô tả trong
"BIỂU THỨC".

Khi bạn đã nhập dữ liệu cần thiết, bảng của bạn sẽ có một cột mới. Không có
sự khác biệt giữa cột này và cột tích hợp; nó có thể có tất cả các thuộc tính giống nhau
và hành vi. innotop sẽ ghi định nghĩa của cột vào tệp cấu hình, vì vậy
nó sẽ tồn tại qua các phiên.

Đây là một ví dụ: giả sử bạn muốn theo dõi số lần nô lệ của bạn đã thử lại
giao dịch. Theo hướng dẫn sử dụng MySQL, trạng thái Slave_retried_transactions
biến cung cấp cho bạn dữ liệu đó: "Tổng số lần kể từ khi khởi động mà
chuỗi SQL nô lệ sao chép đã thử lại các giao dịch. Biến này đã được thêm vào trong phiên bản
5.0.4." Điều này phù hợp để thêm vào bảng "slave_sql_status".

Để thêm cột, hãy chuyển sang chế độ giám sát sao chép bằng phím 'M' và nhấn
phím '^' để khởi động trình chỉnh sửa bảng. Khi được nhắc, hãy chọn Slave_sql_status làm
bảng, sau đó nhấn 'n' để tạo cột. Nhập 'thử lại' làm tên cột, 'Thử lại'
làm tiêu đề cột và 'Slave_retried_transactions' làm nguồn. Bây giờ cột là
được tạo và bạn sẽ thấy lại màn hình soạn thảo bảng. Nhấn 'q' để thoát trình soạn thảo bảng,
và bạn sẽ thấy cột của mình ở cuối bảng.

BIẾN ĐỔI SETS


Các bộ biến được sử dụng trong chế độ "S: Biến & Trạng thái" để xác định dễ dàng hơn những gì
các biến bạn muốn theo dõi. Đằng sau hậu trường, chúng được biên soạn thành một danh sách
biểu thức, sau đó đưa vào danh sách cột để chúng có thể được xử lý giống như các cột trong bất kỳ
bảng khác, về mặt trích xuất và chuyển đổi dữ liệu. Tuy nhiên, bạn được bảo vệ
khỏi những chi tiết tẻ nhạt bằng một cú pháp mà bạn có thể cảm thấy rất tự nhiên: SQL SELECT
danh sách.

Nguồn dữ liệu cho các tập hợp biến và thực tế là toàn bộ chế độ S là sự kết hợp của
HIỂN THỊ TRẠNG THÁI, HIỂN THỊ CÁC BIẾN, và HIỂN THỊ TRẠNG THÁI INNODB. Hãy tưởng tượng rằng bạn có một cái bàn lớn
với một cột cho mỗi biến được trả về từ các câu lệnh đó. Đó là nguồn dữ liệu cho
bộ biến. Bây giờ bạn có thể truy vấn nguồn dữ liệu này giống như bạn mong đợi. Ví dụ:

Câu hỏi, Thời gian hoạt động, Câu hỏi/Thời gian hoạt động dưới dạng QPS

Đằng sau innotop sẽ chia tập biến đó thành ba biểu thức, biên dịch
chúng và chuyển chúng thành định nghĩa bảng, sau đó trích xuất như bình thường. Điều này trở thành một
"bộ biến" hoặc "danh sách các biến bạn muốn theo dõi".

innotop cho phép bạn đặt tên và lưu các bộ biến cũng như ghi chúng vào cấu hình
tài liệu. Bạn có thể chọn bộ biến nào bạn muốn xem bằng phím 'c' hoặc kích hoạt
bộ tiếp theo và trước đó bằng phím '>' và '<'. Có nhiều bộ biến tích hợp
đồng thời, điều này sẽ giúp bạn có một khởi đầu tốt để tạo ra tác phẩm của riêng mình. Nhấn 'e' để chỉnh sửa
tập biến hiện tại hoặc chỉ để xem nó được xác định như thế nào. Để tạo một cái mới, chỉ cần nhấn
'c' và gõ tên của nó.

Bạn có thể muốn sử dụng một số chức năng được liệt kê trong phần "CHUYỂN ĐỔI" để giúp định dạng
kết quả. Đặc biệt, "set_precision" thường hữu ích để giới hạn số chữ số mà bạn
nhìn thấy. Mở rộng ví dụ trên, đây là cách thực hiện:

Câu hỏi, Thời gian hoạt động, set_precision(Câu hỏi/Thời gian hoạt động) dưới dạng QPS

Trên thực tế, điều này vẫn cần phải làm việc nhiều hơn một chút. Nếu "khoảng" của bạn nhỏ hơn một
thứ hai, bạn có thể chia cho 0 vì Thời gian hoạt động ở chế độ này tăng dần theo
mặc định. Thay vào đó, hãy sử dụng Uptime_hires:

Câu hỏi, Thời gian hoạt động, set_precision(Questions/Uptime_hires) dưới dạng QPS

Ví dụ này đơn giản nhưng nó cho thấy việc chọn biến bạn muốn dễ dàng như thế nào
giám sát.

PLUGINS


innotop có cơ chế plugin đơn giản nhưng mạnh mẽ để bạn có thể mở rộng hoặc sửa đổi nó
chức năng hiện có và thêm chức năng mới. chức năng plugin của innotop là
dựa trên sự kiện: các plugin tự đăng ký để được gọi khi sự kiện xảy ra. Sau đó họ có
một cơ hội để ảnh hưởng đến sự kiện.

Plugin innotop là một mô-đun Perl được đặt trong thư mục "plugin_dir" của innotop. Trên UNIX
hệ thống, bạn có thể đặt một liên kết tượng trưng đến mô-đun thay vì đặt tệp thực tế
ở đó. innotop tự động phát hiện tập tin. Nếu có một mục tương ứng trong
phần tệp cấu hình "plugin", innotop tải và kích hoạt plugin.

Mô-đun phải phù hợp với giao diện plugin của innotop. Ngoài ra, mã nguồn của
mô-đun phải được viết theo cách mà innotop có thể kiểm tra tệp và xác định
tên gói và mô tả.

Đóng gói nguồn Công ước
innotop kiểm tra nguồn của mô-đun plugin để xác định tên gói Perl. Nó trông
cho một dòng có dạng "gói Foo;" và nếu tìm thấy, hãy coi tên gói của plugin là
là Foo. Tất nhiên tên gói có thể là tên gói Perl hợp lệ, với double
dấu chấm phẩy và vân vân.

Nó cũng tìm kiếm mô tả trong mã nguồn để làm cho trình soạn thảo plugin trở nên nhân văn hơn.
thân thiện. Mô tả là dòng nhận xét có dạng "# description: Foo", trong đó "Foo"
là văn bản innotop sẽ coi là mô tả của plugin.

Cắm vào Giao thức
Giao diện plugin của innotop khá đơn giản: innotop mong muốn plugin trở thành một đối tượng-
mô-đun định hướng, nó có thể gọi một số phương thức nhất định. Các phương pháp được

mới(% biến)
Đây là hàm tạo của plugin. Nó được chuyển qua một hàm băm gồm các biến của innotop,
nó có thể thao tác (xem "Biến plugin"). Nó phải trả về một tham chiếu đến cái mới
đối tượng plugin đã tạo.

Lúc xây dựng, innotop chỉ tải cấu hình chung và tạo
các biến tích hợp mặc định với nội dung mặc định của chúng (khá nhiều).
Vì vậy, trạng thái của chương trình giống hệt như trong mã nguồn innotop, cộng với
các biến cấu hình từ phần "chung" trong tệp cấu hình.

Nếu plugin của bạn thao túng các biến thì nó sẽ thay đổi dữ liệu chung được chia sẻ
bởi innotop và tất cả các plugin. Các plugin được tải theo thứ tự chúng được liệt kê trong
tập tin cấu hình. Plugin của bạn có thể tải trước hoặc sau plugin khác, do đó có một
tiềm ẩn xung đột hoặc tương tác giữa các plugin nếu chúng sửa đổi dữ liệu theo cách khác
plugin sử dụng hoặc sửa đổi.

register_for_events()
Phương thức này phải trả về danh sách các sự kiện mà plugin quan tâm, nếu có.
Xem "Sự kiện plugin" để biết các sự kiện đã xác định. Nếu plugin trả về một sự kiện không phải
được xác định, sự kiện sẽ bị bỏ qua.

người xử lý sự kiện
Plugin phải triển khai một phương thức có tên giống với từng sự kiện mà nó có
đăng ký. Nói cách khác, nếu plugin trả về qw(foo bar) từ
register_for_events(), Nó phải có foo ()quán ba() phương pháp. Những phương pháp này là
cuộc gọi lại cho các sự kiện. Xem "Sự kiện plugin" để biết thêm chi tiết về từng sự kiện.

Cắm vào Biến
Hàm tạo của plugin được chuyển qua hàm băm gồm các biến của innotop mà nó có thể thao tác.
Có lẽ sẽ là một ý tưởng hay nếu đối tượng plugin lưu một bản sao của nó để sử dụng sau. Các
các biến được xác định trong biến innotop %pluggable_vars và như sau:

hành động_cho
Một hashref của ánh xạ khóa. Đây là những phím nóng toàn cầu của innotop.

agg_funcs
Một hashref của các hàm có thể được sử dụng để nhóm. Xem phần "NHÓM".

cấu hình
Băm cấu hình toàn cầu.

kết nối
Một hashref của thông số kỹ thuật kết nối. Đây chỉ là những thông số kỹ thuật về cách
kết nối với một máy chủ.

dbh
Một hashref của các kết nối cơ sở dữ liệu của innotop. Đây là những đối tượng kết nối DBI thực tế.

bộ lọc
Một hashref của các bộ lọc được áp dụng cho các hàng trong bảng. Xem "BỘ LỌC" để biết thêm.

chế độ
Một hashref của các chế độ. Xem "CHẾ ĐỘ" để biết thêm.

nhóm_máy chủ
Một hashref của các nhóm máy chủ. Xem "NHÓM MÁY CHỦ".

tbl_meta
Một hashref của siêu dữ liệu bảng của innotop, với một mục nhập trên mỗi bảng (xem "BẢNG" để biết
thêm thông tin).

trans_funcs
Một hashref của các hàm chuyển đổi. Xem phần "CHUYỂN ĐỔI".

var_sets
Một hashref của các tập hợp biến. Xem "TẬP BIẾN".

Cắm vào Sự Kiện
Mỗi sự kiện được xác định ở đâu đó trong mã nguồn innotop. Khi innotop chạy mã đó,
nó thực thi chức năng gọi lại cho từng plugin thể hiện sự quan tâm của nó đối với
sự kiện. innotop chuyển một số dữ liệu cho mỗi sự kiện. Các sự kiện được xác định trong
%event_listener_for biến và như sau:

extract_values($set, $cur, $pre, $tbl)
Sự kiện này xảy ra bên trong hàm trích xuất các giá trị từ nguồn dữ liệu. Các
đối số là tập hợp các giá trị, giá trị hiện tại, giá trị trước đó và
tên bảng.

set_to_tbl
Các sự kiện được xác định ở nhiều nơi trong chương trình con này, nó chịu trách nhiệm chuyển
một mảng các hashref thành một mảng các dòng có thể được in ra màn hình.
Tất cả các sự kiện đều truyền cùng một dữ liệu: một mảng các hàng và tên của bảng
tạo. Các sự kiện là 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($lines)
Sự kiện này xảy ra bên trong chương trình con in các dòng ra màn hình. dòng $
là một mảng các chuỗi.

Đơn giản Cắm vào Ví dụ
Cách dễ nhất để giải thích chức năng của plugin có lẽ là bằng một ví dụ đơn giản.
Mô-đun sau thêm một cột vào đầu mỗi bảng và đặt giá trị của nó thành
1.

Sử dụng nghiêm ngặt;
sử dụng cảnh báo FATAL => 'all';

gói Innotop::Plugin::Ví dụ;
# mô tả: Thêm cột 'ví dụ' vào mỗi bảng

sub mới {
của tôi( $class, %vars ) = @_;
# Lưu trữ tham chiếu tới các biến của innotop trong $self
$self của tôi = chúc phúc cho { %vars }, $class;

#Thiết kế cột ví dụ
$col của tôi = {
hdr => 'Ví dụ',
chỉ => '',
tháng 0 => XNUMX,
số => 1,
nhãn => 'Ví dụ',
src => 'example', # Lấy dữ liệu từ cột này trong nguồn dữ liệu
tbl => '',
chuyển => [],
};

# Thêm cột vào mỗi bảng.
$tbl_meta = $vars{tbl_meta} của tôi;
tìm hiểu $tbl của tôi (giá trị %$tbl_meta ) {
# Thêm cột vào danh sách các cột đã xác định
$tbl->{cols}->{example} = $col;
# Thêm cột vào danh sách các cột hiển thị
unshift @{$tbl->{visible}}, 'example';
}

# Đảm bảo trả về một tham chiếu tới đối tượng.
trả lại $ self;
}

# Tôi muốn được gọi khi tập dữ liệu đang được hiển thị vào bảng.
đăng ký phụ_for_events {
của tôi( $self ) = @_;
trả về qw(set_to_tbl_pre_filter);
}

# Phương thức này sẽ được gọi khi sự kiện diễn ra.
phụ set_to_tbl_pre_filter {
của tôi ( $self, $rows, $tbl ) = @_;
# Đặt nguồn dữ liệu của cột mẫu thành giá trị 1.
tìm hiểu $row của tôi ( @$rows ) {
$row->{example} = 1;
}
}

1;

Cắm vào Biên tập viên
Trình chỉnh sửa plugin cho phép bạn xem các plugin được innotop phát hiện và kích hoạt hoặc hủy kích hoạt
họ. Khởi động trình chỉnh sửa bằng cách nhấn $ để khởi động trình chỉnh sửa cấu hình từ bất kỳ chế độ nào.
Nhấn phím 'p' để khởi động trình chỉnh sửa plugin. Bạn sẽ thấy danh sách plugin innotop
đã phát hiện. Bạn có thể sử dụng phím 'j' và 'k' để di chuyển điểm đánh dấu đến điểm mong muốn,
sau đó nhấn phím * để chuyển đổi hoạt động hoặc không hoạt động. Thoát trình chỉnh sửa và khởi động lại innotop
cho những thay đổi có hiệu lực.

SQL CÁC CÂU LỆNH


innotop sử dụng một bộ câu lệnh SQL giới hạn để lấy dữ liệu từ MySQL để hiển thị. Các
các câu lệnh được tùy chỉnh tùy thuộc vào phiên bản máy chủ mà chúng được thực thi;
ví dụ: trên MySQL 5 trở lên, INNODB_STATUS thực thi "SHOW ENGINE INNODB STATUS",
trong khi trên các phiên bản trước, nó thực thi "SHOW INNODB STATUS". Các tuyên bố như
sau:

Câu lệnh SQL được thực thi
======================================================
INNODB_STATUS HIỂN THỊ [CÔNG CỤ] TRẠNG THÁI INNODB
KILL_CONNECTION GIẾT
KILL_QUERY GIẾT QUERY
OPEN_TABLES HIỂN THỊ BẢNG MỞ
DANH SÁCH QUY TRÌNH HIỂN THỊ DANH SÁCH QUY TRÌNH ĐẦY ĐỦ
SHOW_MASTER_LOGS HIỂN THỊ NHẬT KÝ CHÍNH
SHOW_MASTER_STATUS HIỂN THỊ TRẠNG THÁI CHÍNH
SHOW_SLAVE_STATUS HIỂN THỊ TRẠNG THÁI PHỤ LỤC
SHOW_STATUS HIỂN THỊ TRẠNG THÁI [TOÀN CẦU]
SHOW_VARIABLES HIỂN THỊ CÁC BIẾN [TOÀN CẦU]

DỮ LIỆU NGUỒN


Mỗi lần innotop trích xuất các giá trị để tạo một bảng (xem "EXPRESSIONS" và "TABLES"), nó
làm như vậy từ một nguồn dữ liệu cụ thể. Phần lớn là do dữ liệu phức tạp được trích xuất từ
HIỂN THỊ TRẠNG THÁI INNODB, điều này hơi lộn xộn. SHOW INNODB STATUS chứa hỗn hợp
các giá trị đơn và các giá trị lặp lại tạo thành các tập dữ liệu lồng nhau.

Bất cứ khi nào innotop tìm nạp dữ liệu từ MySQL, nó sẽ thêm hai bit bổ sung vào mỗi bộ: cxn và
Thời gian hoạt động_hires. cxn là tên của kết nối chứa dữ liệu. Thời gian hoạt động_hires
là phiên bản có độ phân giải cao của biến trạng thái Thời gian hoạt động của máy chủ, điều này rất quan trọng nếu
cài đặt "khoảng" của bạn là dưới giây.

Dưới đây là các loại nguồn dữ liệu mà dữ liệu được trích xuất:

STATUS_VARIABLES
Đây là danh mục rộng nhất, chứa nhiều loại dữ liệu nhất. Nó bắt đầu với
sự kết hợp giữa TRẠNG THÁI HIỂN THỊ và BIẾN HIỂN THỊ, nhưng có thể bao gồm các nguồn khác
nếu cần, chẳng hạn như HIỂN THỊ TRẠNG THÁI CHÍNH và HIỂN THỊ TRẠNG THÁI PHỤ LỤC, cũng như nhiều tính năng
các giá trị không lặp lại từ SHOW INNODB STATUS.

DEADLOCK_LOCKS
Dữ liệu này được trích xuất từ ​​danh sách giao dịch trong KHÓA CHẾT ĐƯỢC PHÁT HIỆN MỚI NHẤT
phần HIỂN THỊ TRẠNG THÁI INNODB. Nó được lồng sâu hai cấp độ: giao dịch, sau đó
ổ khóa.

DEADLOCK_TRANSACTIONS
Dữ liệu này được lấy từ danh sách giao dịch trong phần DEADLOCK ĐƯỢC PHÁT HIỆN MỚI NHẤT của HIỂN THỊ
TÌNH TRẠNG INNODB. Nó được lồng sâu một cấp.

GIẢI THÍCH
Dữ liệu này lấy từ tập kết quả được trả về bởi EXPLAIN.

INNODB_TRANSACTIONS
Dữ liệu này được lấy từ phần GIAO DỊCH của TRẠNG THÁI HIỂN THỊ INNODB.

IO_THREADS
Dữ liệu này lấy từ danh sách các luồng trong phần FILE I/O của SHOW INNODB
TRẠNG THÁI.

INNODB_LOCKS
Dữ liệu này lấy từ phần GIAO DỊCH của TÌNH TRẠNG HIỂN THỊ INNODB và được lồng hai
cấp độ sâu.

OPEN_TABLES
Dữ liệu này được lấy từ SHOW OPEN TABLES.

DANH SÁCH TIẾN TRÌNH
Dữ liệu này được lấy từ SHOW FULL PROCESSLIST.

OS_WAIT_ARRAY
Dữ liệu này lấy từ phần SEMAPHORES của SHOW INNODB STATUS và được lồng vào một cấp
sâu. Nó xuất phát từ những dòng trông như thế này:

--Chủ đề 1568861104 đã đợi ở dòng btr0cur.c 424 ....

MYSQL QUYỀN RIÊNG TƯ


· Bạn phải kết nối với MySQL với tư cách là người dùng có đặc quyền SIÊU cho nhiều
chức năng.

· Nếu bạn không có đặc quyền SUPER, bạn vẫn có thể chạy một số chức năng, nhưng sẽ không
nhất thiết phải xem tất cả các dữ liệu giống nhau.

· Bạn cần có đặc quyền PROCESS để xem danh sách các truy vấn hiện đang chạy ở chế độ Q.

· Bạn cần có đặc quyền để khởi động và dừng máy chủ nô lệ.

· Bạn cần có đặc quyền thích hợp để tạo và loại bỏ các bảng bế tắc nếu cần (xem
"KẾT NỐI MÁY CHỦ").

WELFARE YÊU CẦU


Tất nhiên là bạn cần Perl để chạy innotop. Bạn cũng cần một vài mô-đun Perl: DBI,
DBD::mysql, Term::ReadKey và Time::HiRes. Những thứ này nên được bao gồm trong hầu hết Perl
các bản phân phối, nhưng trong trường hợp không có, tôi khuyên bạn nên sử dụng các phiên bản được phân phối cùng với
hệ điều hành hoặc bản phân phối Perl, không phải từ CPAN. Thuật ngữ::ReadKey nói riêng có
được biết là gây ra sự cố nếu được cài đặt từ CPAN.

Nếu bạn có Term::ANSIColor, innotop sẽ sử dụng nó để định dạng tiêu đề dễ đọc hơn và
một cách gọn nhẹ. (Trong Microsoft Windows, bạn cũng cần Win32::Console::ANSI cho thiết bị đầu cuối
mã định dạng được vinh danh). Nếu bạn cài đặt Term::ReadLine thì tốt nhất
Term::ReadLine::Gnu, bạn sẽ nhận được hỗ trợ tự động hoàn thành tốt đẹp.

Tôi chạy innotop trên Gentoo GNU/Linux, Debian và Ubuntu và tôi đã nhận được phản hồi từ mọi người
chạy thành công nó trên Red Hat, CentOS, Solaris và Mac OSX. Tôi không thấy lý do nào cả
tại sao nó không hoạt động trên các hệ điều hành UNIX-ish khác, nhưng tôi không biết chắc chắn. Nó cũng
chạy trên Windows dưới ActivePerl mà không gặp vấn đề gì.

innotop đã được sử dụng trên các phiên bản MySQL 3.23.58, 4.0.27, 4.1.0, 4.1.22, 5.0.26, 5.1.15,
và 5.2.3. Nếu nó không chạy đúng với bạn thì đó là một lỗi cần được báo cáo.

Sử dụng innotop trực tuyến bằng dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

  • 1
    Chân đế
    Chân đế
    Chân đế là một mã nguồn mở hiện đại, miễn phí
    trình soạn thảo văn bản được tạo đặc biệt cho Web
    Phát triển. Được viết bằng HTML, CSS và
    JavaScript với các công cụ trực quan tập trung và
    chuẩn bị...
    Tải xuống dấu ngoặc
  • 2
    Trình biên dịch Pascal miễn phí
    Trình biên dịch Pascal miễn phí
    Trình biên dịch Pascal 32/64/16-bit dành cho
    Win32/64/CE, Linux, Mac OS X/iOS,
    Android, FreeBSD, OS/2, Game Boy
    Nâng cao, Nintendo NDS và DOS;
    tương thích ngữ nghĩa với...
    Tải xuống Trình biên dịch Pascal miễn phí
  • 3
    Thông tin kỹ thuật số Canon EOS
    Thông tin kỹ thuật số Canon EOS
    Canon không có số lượng màn trập
    có trong thông tin EXIF ​​của một
    tệp hình ảnh, trái ngược với Nikon và
    ống nhòm. Không có cơ sở chính thức nào của Canon
    ứng dụng ...
    Tải xuống thông tin Canon EOS DIGITAL
  • 4
    rEFInd
    rEFInd
    rEFInd là một nhánh của khởi động rEFIt
    người quản lý. Giống như rEFIt, rEFInd có thể
    tự động phát hiện khởi động EFI đã cài đặt của bạn
    trình tải và nó trình bày một giao diện đồ họa đẹp mắt
    menu tùy chọn khởi động ...
    Tải xuống rEFInd
  • 5
    Thể hiệnLuke GSI
    Thể hiệnLuke GSI
    Trang tải xuống SourceForge này là để
    cấp cho người dùng tải xuống nguồn của tôi được xây dựng
    GSI, dựa trên công trình vĩ đại của phhusson
    công việc. Tôi xây dựng cả Android Pie và
    Android 1 ...
    Tải xuống ExpressLuke GSI
  • 6
    Trình phát nhạc
    Trình phát nhạc
    Music Caster là một trình phát nhạc dạng khay
    cho phép bạn truyền nhạc địa phương của mình sang một
    Thiết bị Google Cast. Trong lần chạy đầu tiên,
    bạn sẽ cần phải nhấp vào mũi tên trong
    nhiệm vụ ...
    Tải xuống Music Caster
  • Khác »

Lệnh Linux

Ad