Đây là lệnh pj_dump có thể được 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 giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS
CHƯƠNG TRÌNH:
TÊN
pj_dump - kết xuất tệp theo dõi paje ở định dạng văn bản giống CSV
SYNOPSIS
pj_dump [LỰA CHỌN] [FILE]
MÔ TẢ
Sản phẩm pj_dump(1) lệnh dịch tệp theo dõi paje FILE sang định dạng văn bản giống CSV
(được mô tả dưới đây). Đây là một chương trình hữu ích để phân tích hành vi của song song và
các ứng dụng phân phối đã được theo dõi bằng cách sử dụng một số thư viện tạo ra các tệp theo dõi trong
định dạng tệp Paje. Sau khi bạn kết xuất nội dung của tệp theo dõi Paje ở dạng CSV giống như
theo cách bạn có thể tự do phân tích nội dung của dấu vết theo cách bạn muốn. Bạn có thể sử dụng R
ví dụ để vẽ biểu đồ phân tán và biểu đồ gantt. Nếu như FILE không được cung cấp, thì
đầu vào tiêu chuẩn được sử dụng.
Theo mặc định, pj_dump sẽ đọc tệp theo dõi từ đầu cho đến khi kết thúc tệp là
tìm. Trong suốt quá trình này, pj_dump dựa vào thư viện Paje để tạo lại trong bộ nhớ
hành vi được đăng ký trong các tệp theo dõi. Điều này có nghĩa rằng pj_dump sẽ ghi vào bộ nhớ
tất cả nội dung của tệp theo dõi, ngay cả khi đầu vào rất lớn. Khi tất cả các nội dung
của tệp theo dõi được mô phỏng, pj_dump đưa thông tin vào dạng văn bản giống CSV
định dạng được mô tả bên dưới trong phần MÔ TẢ ĐẦU RA.
Bạn có thể thay đổi hành vi mặc định của pj_dump bằng cách cung cấp các thông số --start = BẮT ĐẦU
và --end = HẾT trong đó START và END là các dấu thời gian hợp lệ của dấu vết đầu vào. Nếu được cung cấp, nó
chỉ lưu trữ nội dung của dấu vết giữa START và END. Lưu ý rằng ngay cả khi được sử dụng,
pj_dump sẽ mô phỏng toàn bộ tệp theo dõi để giữ cùng một ngữ nghĩa của hành vi. Nữa
cách để thay đổi hành vi mặc định là thông qua --stop-at = TIME tham số. Nếu được cung cấp,
pj_dump sẽ đọc tệp theo dõi lên đến dấu thời gian TIME (xem xét rằng tệp theo dõi là
hoàn toàn theo thời gian đặt hàng) và vứt bỏ những gì đã được mô phỏng cho đến lúc đó. Các - không nghiêm ngặt
nên tránh chuyển đổi và chỉ có thể được sử dụng với các tệp theo dõi Paje cũ với trường cũ
tên trong định nghĩa sự kiện. Các --ignore-chưa đầy đủ-liên kết chuyển đổi làm pj_dump bỏ qua
liên kết không hoàn chỉnh một cách âm thầm. Thông tin chi tiết về công tắc này bên dưới, trong MÔ TẢ ĐẦU RA
phần.
LỰA CHỌN
pj_dump chấp nhận các tùy chọn sau:
-một, - đứng đầu=THỜI GIAN
Dừng mô phỏng dấu vết lúc TIME.
-S, --bắt đầu= BẮT ĐẦU
Dump bắt đầu ở dấu thời gian BẮT ĐẦU (thay vì dấu thời gian 0).
-e, --kết thúc=END
Dump kết thúc dấu thời gian END (thay vì End Of File).
-N, - không nghiêm ngặt
Hỗ trợ tên trường cũ trong định nghĩa sự kiện.
-z, --ignore-chưa đầy đủ-liên kết
Bỏ qua các liên kết không đầy đủ mà không có cảnh báo.
-bạn, --đã xác định người dùng
Kết xuất các trường do người dùng xác định. Xem phần LĨNH VỰC ĐƯỢC NGƯỜI DÙNG ĐỊNH NGHĨA bên dưới.
-NS, --uốn cong
Sử dụng trình đọc tệp thay thế dựa trên flex / bison (thử nghiệm).
- ?, --Cứu giúp
Hiển thị tất cả các tùy chọn có sẵn.
--sử dụng
Đưa ra một tin nhắn sử dụng ngắn.
ĐẦU VÀO MÔ TẢ
Sản phẩm pj_dump(1) lệnh yêu cầu một đầu vào tuân theo định dạng tệp Paje (như được mô tả trong
tài liệu PDF được liệt kê trong phần NGUỒN LỰC của trang này). Nếu FILE không được cung cấp,
pj_dump(1) sẽ cố gắng đọc từ đầu vào chuẩn.
OUTPUT MÔ TẢ
Sẽ dễ hiểu hơn những gì được viết ở đây nếu bạn đã quen với Paje
thuật ngữ (Vùng chứa, Trạng thái, Biến, Liên kết, Sự kiện và thông tin đính kèm với mỗi
trong số này). Hãy xem mô tả của Định dạng tệp Paje (liên kết bên dưới trong
Phần NGUỒN LỰC) để biết thêm chi tiết.
Nội dung của các dòng được tạo bởi pj_dump(1) lệnh được phân tách bằng dấu phẩy,
xác định các cột. Vì vậy, một dòng như thế này:
Vùng chứa, 0, LINK, 0, 4.48514, 4.48514, 9
có bảy cột. Cột đầu tiên luôn là một trong số: Vùng chứa, Trạng thái, Biến, Sự kiện hoặc
Liên kết. Các cột còn lại của dòng có thông tin cụ thể tùy thuộc vào
cột. Dưới đây là mô tả tổng hợp về năm loại đường khác nhau mà bạn sẽ thấy là
đầu ra của pj_dump(1):
Container, parentContainer, containerType, startTime, endTime, thời lượng, tên
Trạng thái, vùng chứa, Loại trạng thái, Thời gian bắt đầu, Thời gian kết thúc, thời lượng, sự thay đổi, giá trị
Biến, vùng chứa, variableType, startTime, endTime, thời lượng, giá trị
Sự kiện, vùng chứa, Loại sự kiện, thời gian, giá trị
Liên kết, vùng chứa, linkType, startTime, endTime, thời lượng, giá trị, startContainer, endContainer
Xem mô tả chi tiết bên dưới với các ví dụ cho từng loại.
Container
Tất cả các dòng bắt đầu bằng Container trông như thế này:
Vùng chứa, 0, HOST, 0, 4.48514, 4.48514, Tremblay
1. "Vùng chứa"
2. "0" - Tên của vùng chứa mẹ
3. "HOST" - Loại vùng chứa này
4. "0" - Thời gian bắt đầu
5. "4.48514" - Thời gian kết thúc
6. "4.48514" -Thời lượng
7. "Tremblay" - Tên của vùng chứa này
Tiểu bang
Tất cả các dòng bắt đầu bằng Tiểu bang trông như thế này:
State, node48, SERVICE, 691, 692, 1, 0, đã đặt trước
1. "Nhà nước"
2. "node48" - Tên của vùng chứa
3. "DỊCH VỤ" - Loại trạng thái này
4. "691" - Thời gian bắt đầu
5. "692" - Thời gian kết thúc
6. "1" - Thời lượng
7. "0" - Mức độ im lặng
8. "đặt trước" - Giá trị của trạng thái
Biến
Tất cả các dòng bắt đầu bằng Biến trông như thế này:
Biến, Tremblay, pcompute, 2.15357, 2.17013, 0.016554, 9.8095e + 07
1. "Biến"
2. "Tremblay" - Tên của vùng chứa
3. "pcompute" - Tên của biến
4. "2.15357" - Thời gian bắt đầu
5. "2.17013" - Thời gian kết thúc
6. "0.016554" - Thời lượng
7. "9.8095e + 07" - Giá trị của biến
Sự kiện
Tất cả các dòng bắt đầu bằng Sự kiện trông như thế này:
Sự kiện, Tremblay, msmark, 3.4286, finish_send_tasks
1. "Sự kiện"
2. "Tremblay" - Tên của vùng chứa
3. "msmark" - Tên của sự kiện
4. "3.4286" - Thời điểm tức thì khi sự kiện này diễn ra
5. "finish_send_tasks" - Giá trị của sự kiện
liên kết
Tất cả các dòng bắt đầu bằng liên kết trông như thế này:
Liên kết, 0, 0-HOST1-LINK4, 0, 0, 0, G, Tremblay, 9
1. "Liên kết"
2. "0" - Tên của vùng chứa
3. "0-HOST1-LINK4" - Loại liên kết này
4. "0" - Thời gian bắt đầu
5. "0" - Thời gian kết thúc
6. "0" - Thời lượng
7. "G" - Giá trị của liên kết này
8. "Tremblay" - Vùng chứa bắt đầu
9. "9" - Vùng chứa kết thúc
Không đầy đủ Liên kết
Theo mô tả của Định dạng tệp Paje, một liên kết được hình thành bởi hai sự kiện:
PajeStartLink và PajeEndLink. Các sự kiện này được Trình mô phỏng Paje đối sánh bằng cách sử dụng
khóa được cung cấp trong tệp theo dõi. Nếu thiếu một trong hai sự kiện này đối với
một số lý do tùy ý và tệp theo dõi kết thúc (hoặc vùng chứa bị phá hủy), bạn sẽ
có một mô phỏng với chưa hoàn thiện liên kết. Nói chung, Trình mô phỏng Paje, và bởi
hậu quả pj_dump, hãy coi những liên kết này là lỗi và liệt kê chúng trong phần sau
cách thức:
$ pj_dump ~ / tracefile.paje
Danh sách các liên kết không đầy đủ trong vùng chứa '0':
Liên kết, 0, MSG_PROCESS_TASK_LINK, 0, -1, 0, SR, đài truyền hình-12, NULL
Liên kết, 0, MSG_PROCESS_TASK_LINK, 0.00013, -1, 0, SR, đài truyền hình-13, NULL
Liên kết, 0, MSG_PROCESS_TASK_LINK, 0.002868, -1, 0, SR, đài truyền hình-13, NULL
(...)
PajeLinkException: Các liên kết không đầy đủ ở cuối vùng chứa có tên '0'
Hành động tốt nhất khi điều này xảy ra là sửa trình đánh dấu hoặc trình chuyển đổi đã tạo
dấu vết, vì nó có thể chỉ ra một số lỗi trong quá trình thực thi. Nếu bạn nghĩ
rằng lỗi này có thể chấp nhận được, bạn có thể cung cấp -z chuyển sang pj_dump nói với
Paje Simulator để bỏ qua các liên kết chưa hoàn chỉnh. Tất cả các tệp theo dõi sẽ được kết xuất và tất cả
các lỗi liên quan đến các liên kết không hoàn chỉnh sẽ được bỏ qua một cách im lặng. Sử dụng cẩn thận.
ĐÃ XÁC ĐỊNH NGƯỜI DÙNG LĨNH VỰC
Các trường do người dùng xác định là một tính năng của định dạng tệp theo dõi Paje để bổ sung thêm
thông tin trong dấu vết không thuộc lĩnh vực truyền thống của mỗi sự kiện
Định nghĩa. Định nghĩa sự kiện với bốn trường do người dùng xác định (Kích thước, Tham số, Dấu chân và
Tag) trông như thế này:
% EventDef PajeSetState 20
% Thời gian ngày
% Chuỗi vùng chứa
% Loại chuỗi
% Giá trị chuỗi
% Kích thước chuỗi
Chuỗi% tham số
Chuỗi% dấu chân
% Chuỗi thẻ
% EndEventDef
Kết xuất của các trường do người dùng xác định bị vô hiệu hóa theo mặc định trong pj_dump. Người dùng có thể kích hoạt
họ đi qua -u (Hoặc --đã xác định người dùng) như đối số. Khi làm như vậy, đầu ra giống CSV của
pj_dump sẽ được thay đổi so với định nghĩa ở trên (xem MÔ TẢ ĐẦU RA). ngoài ra
kết xuất các trường mặc định cho từng thực thể và vùng chứa của dấu vết, CSV sẽ có
các trường bổ sung tương ứng với các trường do người dùng xác định. Thứ tự mà chúng xuất hiện
trong đầu ra tuân theo thứ tự của định nghĩa sự kiện tương ứng. Vì vậy, một Tiểu bang xác định
với định nghĩa sự kiện 20 ở trên sẽ có bốn trường bổ sung trong CSV giống như
đầu ra.
TÀI NGUYÊN
Mô tả về tệp theo dõi Paje:
http://paje.sourceforge.net/download/publication/lang-paje.pdf
Trang web chính: http://github.com/schnorr/pajeng/
BÁO CÁO GIỎI
Báo cáo lỗi pj_dump chohttp://github.com/schnorr/pajeng/issues>
BẢN QUYỀN
Bản quyền (C) 2012-2014 Lucas M. Schnorr. Sử dụng miễn phí phần mềm này được cấp theo
các điều khoản của Giấy phép Công cộng GNU (GPL).
Sử dụng pj_dump trực tuyến bằng các dịch vụ onworks.net