soi kèo bóng đá truoctran 9.0.23 Tài liệu | ||||
---|---|---|---|---|
prev | UP | Chương 27. | NEXT |
soi kèo bóng đá truoctrancung cấp
Một số điểm thăm dò hoặc điểm theo dõi đã được đưa vàosoi kèo bóng đá truoctran; các
Hiện tại, chỉDTRACETiện ích được hỗ trợ, có sẵn trênSystemTapDự án cho Linux cũng cung cấp một DTRACE tương đương. Hỗ trợSRC/bao gồm/Utils/Probes.h.
Theo mặc định, các đầu dò không khả dụng, vì vậy bạn sẽ cần phảisoi kèo bóng đá truoctran. ĐẾN--Enable-dtraceĐể cấu hình. Nhìn thấyPhần 15,5Để biết thêm
Một số đầu dò tiêu chuẩn được cung cấp trong mã nguồn,Bảng 27-3.soi kèo bóng đá truoctran
Bảng 27-3. Các đầu dò DTRACE tích hợp
tên | tham số | Mô tả |
---|---|---|
giao dịch-khởi động | (LocalTransactionId) | Đầu soi kèo bóng đá truoctran bắt đầu một giao dịch mới. |
giao dịch-commit | (LocalTransactionId) | Đầu soi kèo bóng đá truoctran giao dịch hoàn thành |
Giao dịch-Abort | (LocalTransactionId) | Đầu soi kèo bóng đá truoctran giao dịch hoàn thành |
Query-Start | (const char *) | Đầu soi kèo bóng đá truoctran xử lý truy vấn là |
Truy vấn-Done | (const char *) | Đầu soi kèo bóng đá truoctran xử lý truy vấn là |
Query-Parse-Start | (const char *) | Đầu soi kèo bóng đá truoctran phân tích cú pháp truy vấn là |
Query-parse-Done | (const char *) | Đầu soi kèo bóng đá truoctran phân tích cú pháp truy vấn là |
Query-rewrite-start | (const char *) | Đầu soi kèo bóng đá truoctran viết lại truy vấn là |
Query-rewrite-Done | (const char *) | Đầu soi kèo bóng đá truoctran viết lại truy vấn là |
Query-Plan-Start | () | Đầu soi kèo bóng đá truoctran lập kế hoạch truy vấn là |
Query-Plan-Done | () | Đầu soi kèo bóng đá truoctran lập kế hoạch truy vấn là |
Query-Execute-Start | () | Đầu soi kèo bóng đá truoctran thực hiện truy vấn là |
Query-Execute-Done | () | Đầu soi kèo bóng đá truoctran thực hiện truy vấn là |
Statement-Status | (const char *) | Đầu dò bắn bất cứ khi nào quá trình máy chủ cập nhậtpg_stat_activity.current_querytrạng thái. arg0 là |
điểm kiểm tra-start | (int) | Đầu soi kèo bóng đá truoctran điểm kiểm tra được bắt đầu. arg0 |
Checkpoint-Done | (int, int, int, int, int) | Đầu soi kèo bóng đá truoctran hoàn thành điểm kiểm tra. |
CLOG-Checkpoint-Start | (bool) | Đầu soi kèo bóng đá truoctran phần tắc của a |
CLOG-Checkpoint-Done | (bool) | Đầu soi kèo bóng đá truoctran phần tắc của A của A |
Subtrans-Checkpoint-Start | (bool) | Đầu soi kèo bóng đá truoctran phần con của A |
Subtrans-Checkpoint-Done | (bool) | Đầu soi kèo bóng đá truoctran phần phụ của A của A |
Multixact-Checkpoint-Start | (bool) | Đầu soi kèo bóng đá truoctran phần đa biến của A của A |
Multixact-Checkpoint-Done | (bool) | Đầu soi kèo bóng đá truoctran phần đa biến của A của A |
Buffer-Checkpoint-Start | (int) | Đầu soi kèo bóng đá truoctran phần viết bộ đệm của |
Buffer-sync-start | (int, int) | thăm soi kèo bóng đá truoctran chúng ta bắt đầu viết bẩn |
bộ đệm-sync-written | (int) | Đầu dò bắn sau mỗi bộ đệm được viết |
Buffer-sync-Done | (int, int, int) | thăm soi kèo bóng đá truoctran tất cả các bộ đệm bẩn đã |
Buffer-Checkpoint-sync-start | () | Đầu dò bắn sau khi bộ đệm bẩn đã |
Buffer-Checkpoint-Done | () | Đầu soi kèo bóng đá truoctran đồng bộ hóa bộ đệm với đĩa là |
Twophase-Checkpoint-Start | () | Đầu soi kèo bóng đá truoctran phần hai pha của a |
Twophase-Checkpoint-Done | () | Đầu soi kèo bóng đá truoctran phần hai pha của a |
Buffer-read-start | (forknumber, blocknumber, oid, oid, oid, bool, | Đầu soi kèo bóng đá truoctran bắt đầu đọc bộ đệm. |
Buffer-Read-Done | (forknumber, blocknumber, oid, oid, oid, bool, | Đầu soi kèo bóng đá truoctran bộ đệm đọc hoàn tất. |
bộ đệm-flush-start | (forknumber, blocknumber, oid, oid, oid) | Đầu dò bắn trước khi đưa ra bất kỳ yêu cầu ghi nào |
Buffer-Flush-Done | (forknumber, blocknumber, oid, oid, oid) | Đầu soi kèo bóng đá truoctran yêu cầu ghi hoàn tất. |
22735_22761 | (forknumber, blocknumber, oid, oid, oid) | Đầu soi kèo bóng đá truoctran quá trình máy chủ bắt đầuShared_buffersquá nhỏ hoặc các tham số điều khiển bgwriter cần |
Buffer-write-didt-done | (forknumber, blocknumber, oid, oid, oid) | Đầu soi kèo bóng đá truoctran viết Buffer bẩn |
Wal-Buffer-Write-Didy-Start | () | Đầu soi kèo bóng đá truoctran khi quá trình máy chủ bắt đầuWal_buffersquá nhỏ.) |
Wal-Buffer-Write-Dast-Done | () | Đầu soi kèo bóng đá truoctran viết bộ đệm wal bẩn |
XLOG-Insert | (Char không dấu, Char không dấu) | Đầu soi kèo bóng đá truoctran bản ghi WAL được chèn. |
XLOG-SWITCH | () | Đầu soi kèo bóng đá truoctran chuyển đổi phân đoạn Wal |
smgr-md-read-start | (forknumber, blocknumber, oid, oid, oid) | Đầu soi kèo bóng đá truoctran bắt đầu đọc một khối |
smgr-md-read-done | (forknumber, blocknumber, oid, oid, oid, int, | Đầu soi kèo bóng đá truoctran hoàn tất việc đọc khối. |
smgr-md-write-start | (forknumber, blocknumber, oid, oid, oid) | Đầu soi kèo bóng đá truoctran bắt đầu viết một khối thành |
smgr-md-write-done | (forknumber, blocknumber, oid, oid, oid, int, | Đầu soi kèo bóng đá truoctran ghi khối hoàn tất. |
Sort-Start | (int, bool, int, int, bool) | Đầu soi kèo bóng đá truoctran hoạt động sắp xếp được bắt đầu. |
Sort-Done | (bool, dài) | Đầu soi kèo bóng đá truoctran sắp xếp hoàn thành. arg0 là |
lwlock-acquire | (lwlockid, lwlockmode) | Đầu soi kèo bóng đá truoctran có được LWLOCK. |
LWLOCK-RELEASE | (lwlockid) | Đầu soi kèo bóng đá truoctran LWLOCK đã được phát hành |
lwlock-wait-start | (lwlockid, lwlockmode) | Đầu soi kèo bóng đá truoctran LWLOCK không ngay lập tức |
LWLOCK-WAIT-DONE | (lwlockid, lwlockmode) | Đầu soi kèo bóng đá truoctran quá trình máy chủ |
lwlock-condacquire | (lwlockid, lwlockmode) | Đầu soi kèo bóng đá truoctran LWLOCK thành công |
lwlock-condacquire-fail | (lwlockid, lwlockmode) | Đầu soi kèo bóng đá truoctran không khóa |
Khóa-Wait-Start | (unsign int, unsign int, unsign int, unsign | Đầu soi kèo bóng đá truoctran yêu cầu đối với một hạng nặng |
Lock-Wait-Done | (unsign int, unsign int, unsign int, unsign | Đầu soi kèo bóng đá truoctran yêu cầu đối với một hạng nặng |
Holdlock-Found | () | Đầu soi kèo bóng đá truoctran bế tắc bởi |
Ví dụ dưới đây hiển thị tập lệnh DTRACE để phân tíchPG_STAT_DATABASETrước và sau khi kiểm tra hiệu suất:
#!/Usr/sbin/dtrace -Qs
Khi được thực thi, tập lệnh D
# ./txn_count.d `pGrep -n postgres` hoặc.
Lưu ý:SystemTap sử dụng một ký hiệu khác cho
Bạn nên nhớ rằng các tập lệnh DTRACE cần phải được cẩn thận
Có thể tìm thấy thêm các tập lệnh trong PGFoundryDTRACE.
Các đầu dò mới có thể được xác định trong mã bất cứ nơi nào
Quyết định về tên và dữ liệu thăm dò được cung cấp
Thêm định nghĩa đầu dò vàoSRC/Backend/Utils/Probes.D
Bao gồmpg_trace.hNếu cóTrace_PostgresqlMacros thăm dò tại
Recompile và xác minh rằng các đầu dò mới là
Ví dụ:Đây là một ví dụ về cách bạn sẽ thêm một
Quyết định rằng đầu dò sẽ được đặt tênGiao dịch-Bắt đầuvà yêu cầu tham số
Thêm định nghĩa đầu dò vàoSRC/Backend/Utils/Probes.D:
Giao dịch thăm dò artart (localTransactionId);
Lưu ý việc sử dụng gạch chân kép trong đầu dòGiao dịch-khởi độnglà tên của
Tại thời điểm biên dịch,Giao dịchđược chuyển đổi thành macroTrace_Postgresql_Transaction_Start(Thông báopg_trace.h. Thêm
36965_37029
Sau khi biên dịch lại và chạy nhị phân mới, hãy kiểm tra
# DTRACE -LN Giao dịch -Bắt đầu
Có một vài điều cần cẩn thận khi thêm dấu vết
Bạn nên chăm sóc các loại dữ liệu được chỉ định cho a
Trên hầu hết các nền tảng, nếusoi kèo bóng đá truoctranđược xây dựng với--Enable-dtrace, Các đối số cho một dấu vếtNgay cả khi không. Điều này thường không có giá trị
if (trace_postgresql_transaction_start_enables ()))
Mỗi macro theo dõi có tương ứngĐã bậtMacro.