kèo bóng đá cúp c2 9.3.25 Tài liệu | ||||
---|---|---|---|---|
prev | UP | Chương 27. | NEXT |
kèo bóng đá cúp c2cung cấp các cơ sở
Một số điểm thăm dò hoặc điểm theo dõi đã được đưa vàokèo bóng đá cúp c2; người dùng
Hiện tại,DTRACETiện ích được hỗ trợ, vào thời điểm đóSystemTapDự án cho Linux cung cấp tương đương DTRACE và cũng có thể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ảikèo bóng đá cúp c2. Để bao gồm DTRACE--Enable-dtraceđếnPhần 15.4Để biết thêm thông tin.
Một số đầu dò tiêu chuẩn được cung cấp trong mã nguồn, nhưBảng 27-15;Bảng 27-16Hiển thịkèo bóng đá cúp c2's
Bảng 27-15. Các đầu dò DTRACE tích hợp
tên | tham số | Mô tả |
---|---|---|
giao dịch-khởi động | (LocalTransactionId) | Đầu dò bắn kèo bóng đá cúp c2 bắt đầu một giao dịch mới. arg0 là |
giao dịch-commit | (LocalTransactionId) | Đầu dò bắn kèo bóng đá cúp c2 giao dịch hoàn thành thành công. |
Giao dịch-Abort | (LocalTransactionId) | Đầu dò bắn kèo bóng đá cúp c2 giao dịch hoàn thành không thành công. |
Query-Start | (const char *) | Đầu dò bắn kèo bóng đá cúp c2 xử lý truy vấn được bắt đầu. |
Truy vấn-Done | (const char *) | Đầu dò bắn kèo bóng đá cúp c2 xử lý hoàn tất truy vấn. |
Query-Parse-Start | (const char *) | Đầu dò bắn kèo bóng đá cúp c2 phân tích cú pháp truy vấn được bắt đầu. arg0 |
Query-parse-Done | (const char *) | Đầu dò bắn kèo bóng đá cúp c2 phân tích cú pháp truy vấn hoàn tất. arg0 |
Query-rewrite-start | (const char *) | Đầu dò bắn kèo bóng đá cúp c2 viết lại truy vấn được bắt đầu. arg0 |
Query-rewrite-Done | (const char *) | Đầu dò bắn kèo bóng đá cúp c2 viết lại truy vấn hoàn tất. |
Query-Plan-Start | () | Đầu dò bắn kèo bóng đá cúp c2 lập kế hoạch truy vấn được bắt đầu. |
Query-Plan-Done | () | Đầu dò bắn kèo bóng đá cúp c2 lập kế hoạch truy vấn hoàn tất. |
Query-Execute-Start | () | Đầu dò bắn kèo bóng đá cúp c2 thực hiện truy vấn được bắt đầu. |
Query-Execute-Done | () | Đầu dò bắn kèo bóng đá cúp c2 thực hiện truy vấn là |
Statement-Status | (const char *) | Đầu dò bắn bất cứ lúc nào quá trình máy chủ cập nhậtpg_stat_activity.trạng thái. arg0 là chuỗi trạng thái mới. |
điểm kiểm tra-start | (int) | Đầu dò bắn kèo bóng đá cúp c2 điểm kiểm tra được bắt đầu. Arg0 giữ |
Checkpoint-Done | (int, int, int, int, int) | Đầu dò bắn kèo bóng đá cúp c2 hoàn tất điểm kiểm tra. (Các đầu dò |
CLOG-Checkpoint-Start | (bool) | Đầu dò bắn kèo bóng đá cúp c2 phần tắc của điểm kiểm tra là |
CLOG-Checkpoint-Done | (bool) | Đầu dò bắn kèo bóng đá cúp c2 phần tắc của điểm kiểm tra là |
Subtrans-Checkpoint-Start | (bool) | Đầu dò bắn kèo bóng đá cúp c2 phần phụ của điểm kiểm tra là |
Subtrans-Checkpoint-Done | (bool) | Đầu dò bắn kèo bóng đá cúp c2 phần phụ của điểm kiểm tra là |
Multixact-Checkpoint-Start | (bool) | Đầu dò bắn kèo bóng đá cúp c2 phần multixact của điểm kiểm tra là |
Multixact-Checkpoint-Done | (bool) | Đầu dò bắn kèo bóng đá cúp c2 phần multixact của điểm kiểm tra là |
Buffer-Checkpoint-Start | (int) | Đầu dò bắn kèo bóng đá cúp c2 phần viết bộ đệm của A của A |
Buffer-sync-start | (int, int) | Đầu dò bắn kèo bóng đá cúp c2 chúng ta bắt đầu viết bộ đệm bẩn trong kèo bóng đá cúp c2 |
Buffer-sync-written | (int) | Đầu dò bắn sau mỗi bộ đệm được viết trong |
Buffer-sync-Done | (int, int, int) | Đầu dò bắn kèo bóng đá cúp c2 tất cả các bộ đệm bẩn đã được viết. arg0 |
Buffer-Checkpoint-Sync-Start | () | Đầu dò bắn sau kèo bóng đá cúp c2 bộ đệm bẩn đã được ghi vào |
Buffer-Checkpoint-Done | () | Đầu dò bắn kèo bóng đá cúp c2 đồng bộ hóa bộ đệm với đĩa là |
Twophase-Checkpoint-Start | () | Đầu dò bắn kèo bóng đá cúp c2 phần hai pha của điểm kiểm tra là |
Twophase-Checkpoint-Done | () | Đầu dò bắn kèo bóng đá cúp c2 phần hai pha của điểm kiểm tra là |
Buffer-read-start | (forknumber, blocknumber, oid, oid, oid, int, bool) | Đầu dò bắn kèo bóng đá cúp c2 bắt đầu đọc bộ đệm. arg0 và arg1 |
Buffer-Read-Done | Đầu dò bắn kèo bóng đá cúp c2 đọc bộ đệm hoàn tất. arg0 và arg1 | |
bộ đệm-flush-start | (forknumber, blocknumber, oid, oid, oid) | Đầu dò bắn trước kèo bóng đá cúp c2 đưa ra bất kỳ yêu cầu ghi nào cho một chia sẻ |
Buffer-Flush-Done | (forknumber, blocknumber, oid, oid, oid) | Đầu dò bắn kèo bóng đá cúp c2 hoàn thành yêu cầu ghi. (Lưu ý rằng |
19233_19259 | (forknumber, blocknumber, oid, oid, oid) | Đầu dò bắn kèo bóng đá cúp c2 quá trình máy chủ bắt đầu viết một hình bẩnShared_buffersquá nhỏ hoặc tham số điều kèo bóng đá cúp c2ển BGWRITER cần điều chỉnh.) |
Buffer-write-di-done | (forknumber, blocknumber, oid, oid, oid) | Đầu dò bắn kèo bóng đá cúp c2 một bộ đệm bẩn hoàn tất. Các |
Wal-Buffer-Write-Dirty-Start | () | Đầu dò bắn kèo bóng đá cúp c2 quá trình máy chủ bắt đầu viết một hình bẩnWal_bufferscũng vậy |
Wal-Buffer-Write-Died-Done | () | Đầu dò kích hoạt kèo bóng đá cúp c2 viết bộ đệm wal bẩn |
XLOG-Insert | (Char không dấu, Char không dấu) | Đầu dò bắn kèo bóng đá cúp c2 bản ghi WAL được chèn. arg0 là |
XLOG-SWITCH | () | Đầu dò bắn kèo bóng đá cúp c2 yêu cầu chuyển đổi phân đoạn Wal. |
smgr-md-read-start | Đầu dò bắn kèo bóng đá cúp c2 bắt đầu đọc một khối từ A | |
smgr-md-read-Done | (forknumber, blocknumber, oid, oid, oid, int, int, int) | Đầu dò bắn kèo bóng đá cúp c2 hoàn tất việc đọc khối. arg0 và arg1 |
smgr-md-write-start | (forknumber, blocknumber, oid, oid, oid, int) | Đầu dò bắn kèo bóng đá cúp c2 bắt đầu viết một khối vào một mối quan hệ. |
smgr-md-write-done | (forknumber, blocknumber, oid, oid, oid, int, int, int) | Đầu dò bắn kèo bóng đá cúp c2 ghi khối hoàn tất. arg0 và arg1 |
Sort-Start | (int, bool, int, int, bool) | Đầu dò bắn kèo bóng đá cúp c2 hoạt động sắp xếp được bắt đầu. arg0 |
Sort-Done | (bool, dài) | Đầu dò bắn kèo bóng đá cúp c2 sắp xếp hoàn thành. Arg0 đúng với |
lwlock-acquire | (lwlockid, lwlockmode) | Đầu dò bắn kèo bóng đá cúp c2 có được LWLOCK. arg0 là |
LWLOCK-RELEASE | (lwlockid) | Đầu dò bắn kèo bóng đá cúp c2 LWLOCK đã được phát hành (nhưng lưu ý |
lwlock-wait-start | (lwlockid, lwlockmode) | Đầu dò bắn kèo bóng đá cúp c2 không có LWLOCK ngay lập tức |
LWLOCK-WAIT-DONE | (lwlockid, lwlockmode) | Đầu dò bắn kèo bóng đá cúp c2 quy trình máy chủ đã được phát hành từ |
lwlock-condacquire | (lwlockid, lwlockmode) | 24527_24710 |
lwlock-condacquire-fail | (lwlockid, lwlockmode) | Đầu dò bắn kèo bóng đá cúp c2 LWLOCK không được mua lại thành công |
Khóa-Wait-Start | Đầu dò bắn kèo bóng đá cúp c2 yêu cầu khóa nặng (LMGR | |
Lock-Wait-Done | Đầu dò bắn kèo bóng đá cúp c2 yêu cầu khóa nặng (LMGR | |
Holdlock-Found | () | Đầu dò bắn kèo bóng đá cúp c2 bế tắc do bế tắc |
Ví dụ dưới đây hiển thị tập lệnh DTRACE để phân tíchPG_STAT_DATABASETrước và sau A
#!/Usr/sbin/dtrace -Qs
kèo bóng đá cúp c2 được thực thi, tập lệnh D cho đầu ra như:
# ./txn_count.d `pGrep -n postgres` hoặc.
Lưu ý:SystemTap sử dụng một ký hiệu khác cho dấu vết
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 nhà phát triển
Quyết định tên và dữ liệu thăm dò được cung cấp thông qua
Thêm định nghĩa đầu dò vàoSRC/Backend/Utils/Probes.D
Bao gồmpg_trace.hNếu nó khôngTrace_PostgresqlMacros thăm dò tại
Recompile và xác minh rằng các đầu dò mới có sẵn
Ví dụ:Đây là một ví dụ về cách bạn sẽ thêm một đầu dò
Quyết định rằng đầu dò sẽ được đặt tênGiao dịch-Bắt đầuvà yêu cầu tham số loại
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 tên thăm dò. Trong aGiao dịch-khởi độnglà tên để tài liệu cho
Tại thời điểm biên dịch,Giao dịchISTrace_Postgresql_Transaction_Start(Lưu ýpg_trace.h. Thêm cuộc gọi macro vào
Trace_Postgresql_Transaction_Start (vxid.localtransactionid);
Sau kèo bóng đá cúp c2 biên dịch lại và chạy nhị phân mới, hãy kiểm tra xem bạn có
# DTRACE -LN giao dịch bắt đầu
Có một vài điều cần cẩn thận kèo bóng đá cúp c2 thêm dấu vết
Bạn nên cẩn thận rằng các loại dữ liệu được chỉ định cho đầu dò
Trên hầu hết các nền tảng, nếukèo bóng đá cúp c2được xây dựng với--Enable-dtrace, Các đối số cho một macro theo dõi sẽNgay cả kèo bóng đá cúp c2 không có dấu vết nào. Điều này thường không đáng lo ngại nếu bạn là
if (trace_postgresql_transaction_start_enables ()))
Mỗi macro theo dõi có tương ứngĐã bậtMacro.