Jest to polecenie pj_dump, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS
PROGRAM:
IMIĘ
pj_dump - zrzuca plik śledzenia paje w formacie tekstowym podobnym do CSV
STRESZCZENIE
pj_dump [OPCJE] [FILE]
OPIS
pj_dump(1) polecenie tłumaczy plik śledzenia paje FILE do formatu tekstowego podobnego do CSV
(Opisane poniżej). Jest to przydatny program do analizy zachowania równoległych i
rozproszone aplikacje, które były śledzone przy użyciu biblioteki generującej pliki śledzenia
format pliku Paje. Po zrzuceniu zawartości pliku śledzenia Paje w formacie CSV
sposób, możesz dowolnie analizować zawartość śladu. Możesz użyć r
na przykład do rysowania wykresów punktowych i wykresów Gantta. Jeśli FILE nie jest zapewniony, wówczas
używane jest standardowe wejście.
Domyślnie pj_dump odczyta plik śledzenia od początku do końca pliku
znaleziony. Podczas tego procesu pj_dump opiera się na bibliotece Paje, aby odtworzyć w pamięci plik
zachowanie zarejestrowane w plikach śledzenia. To znaczy że pj_dump zapisze w pamięci
całą zawartość pliku śledzenia, nawet jeśli dane wejściowe są bardzo duże. Raz cała zawartość
pliku śledzenia są symulowane, pj_dump zrzuca informacje w formacie tekstowym przypominającym plik CSV
formacie opisanym poniżej w sekcji OPIS WYJŚCIA.
Możesz zmienić domyślne zachowanie pj_dump poprzez podanie parametrów --start=START
oraz --koniec=KONIEC gdzie START i END są prawidłowymi znacznikami czasu śladu wejściowego. Jeśli jest zapewniony, to
zrzuca tylko zawartość śladu pomiędzy START i END. Należy pamiętać, że nawet w przypadku użycia
pj_dump przeprowadzi symulację całego pliku śledzenia, aby zachować tę samą semantykę zachowania. Inny
sposobem na zmianę domyślnego zachowania jest użycie --stop-o=CZAS parametr. Jeśli podano,
pj_dump odczyta plik śledzenia do znacznika czasu TIME (biorąc pod uwagę, że plik śledzenia to
całkowicie uporządkowany czasowo) i zrzuca to, co zostało do tego czasu symulowane. The --nie-ścisłe
należy unikać przełącznika i można go używać tylko ze starymi plikami śledzenia Paje ze starym polem
nazwy w definicjach zdarzeń. The --ignoruj-niekompletne-linki przełącznik marki pj_dump ignorować
niekompletne linki po cichu. Więcej szczegółów na temat tego przełącznika poniżej w OPISIE WYJŚCIA
OPCJE
pj_dump akceptuje następujące opcje:
-za, --Zatrzymaj się przy=CZAS
Zatrzymaj symulację śledzenia o godzinie TIME.
-tak, --początek=START
Zrzut rozpoczyna się od znacznika czasu START (zamiast znacznika czasu 0).
-mi, --kończyć się=KONIEC
Zrzut kończy się znacznikiem czasu END (zamiast końca pliku).
-N, --nie-ścisłe
Obsługa starych nazw pól w definicjach zdarzeń.
-z, --ignoruj-niekompletne-linki
Ignoruj niekompletne linki bez ostrzeżeń.
-ty, --określony przez użytkownika
Zrzuć pola zdefiniowane przez użytkownika. Zobacz sekcję POLA DEFINIOWANE PRZEZ UŻYTKOWNIKA poniżej.
-F, --przewód
Użyj alternatywnego czytnika plików opartego na flex/bison (eksperymentalnie).
-?, --help
Pokaż wszystkie dostępne opcje.
--stosowanie
Podaj krótką wiadomość dotyczącą użytkowania.
WEJŚCIE OPIS
pj_dump(1) polecenie oczekuje danych wejściowych zgodnych z formatem pliku Paje (zgodnie z opisem w
dokument PDF wymieniony w sekcji ZASOBY na tej stronie). Jeżeli nie podano PLIKU,
pj_dump(1) spróbuje odczytać ze standardowego wejścia.
WYDAJNOŚĆ OPIS
Łatwiej jest zrozumieć, co tu jest napisane, jeśli znasz Paje
terminologia (kontener, stan, zmienna, łącze, zdarzenie i informacje do nich dołączone).
tych). Zajrzyj do opisu formatu pliku Paje (link poniżej w pliku
ZASOBY) w celu uzyskania dalszych szczegółów.
Zawartość linii wygenerowanych przez pj_dump(1) polecenia oddziela się przecinkami,
definiowanie kolumn. A więc taka linijka:
Kontener, 0, LINK, 0, 4.48514, 4.48514, 9
ma siedem kolumn. Pierwsza kolumna zawsze zawiera: Kontener, Stan, Zmienna, Zdarzenie lub
Połączyć. Pozostałe kolumny wiersza zawierają określone informacje w zależności od pierwszej
kolumna. Oto syntetyczny opis pięciu różnych typów linii, które znajdziesz jako
wyjście z pj_dump(1):
Kontener, kontener nadrzędny, typ kontenera, czas startu, czas zakończenia, czas trwania, nazwa
Stan, kontener, stateType, startTime, endTime, czas trwania, imbrykacja, wartość
Zmienna, kontener, typ zmiennej, czas rozpoczęcia, czas zakończenia, czas trwania, wartość
Zdarzenie, kontener, typ zdarzenia, czas, wartość
Link, kontener, linkType, startTime, endTime, czas trwania, wartość, startContainer, endContainer
Poniżej znajdziesz szczegółowy opis z przykładami dla każdego z nich.
Pojemnik
Wszystkie linie zaczynające się od Pojemnik wygląda jak to:
Kontener, 0, HOST, 0, 4.48514, 4.48514, Tremblay
1. „Kontener”
2. „0” – Nazwa kontenera nadrzędnego
3. „HOST” – typ tego kontenera
4. „0” – Czas rozpoczęcia
5. „4.48514” – Czas zakończenia
6. „4.48514” – Czas trwania
7. „Tremblay” – nazwa tego kontenera
Miasto
Wszystkie linie zaczynające się od Miasto wygląda jak to:
Stan, węzeł 48, SERVICE, 691, 692, 1, 0, zarezerwowane
1. „Państwo”
2. "node48" - Nazwa kontenera
3. „SERWIS” – Rodzaj tego stanu
4. „691” – Czas rozpoczęcia
5. „692” – Czas zakończenia
6. „1” – Czas trwania
7. „0” – Poziom zwilżenia
8. "zarezerwowany" - Wartość stanu
Zmienna
Wszystkie linie zaczynające się od Zmienna wygląda jak to:
Zmienna, Tremblay, pcompute, 2.15357, 2.17013, 0.016554, 9.8095e+07
1. „Zmienna”
2. „Tremblay” – nazwa kontenera
3. "pcompute" - Nazwa zmiennej
4. „2.15357” – Czas rozpoczęcia
5. „2.17013” – Czas zakończenia
6. „0.016554” – Czas trwania
7. "9.8095e+07" - Wartość zmiennej
wydarzenie
Wszystkie linie zaczynające się od wydarzenie wygląda jak to:
Zdarzenie, Tremblay, msmark, 3.4286, wykończenie_wysyłania_zadań
1. „Wydarzenie”
2. „Tremblay” – nazwa kontenera
3. "msmark" - Nazwa wydarzenia
4. „3.4286” – Moment w czasie, w którym miało miejsce to wydarzenie
5. "finish_send_tasks" - Wartość zdarzenia
Połączyć
Wszystkie linie zaczynające się od Połączyć wygląda jak to:
Link, 0, 0-HOST1-LINK4, 0, 0, 0, G, Tremblay, 9
1. „Łącze”
2. „0” – nazwa kontenera
3. „0-HOST1-LINK4” – Typ tego łącza
4. „0” – Czas rozpoczęcia
5. „0” – Czas zakończenia
6. „0” – Czas trwania
7. „G” – Wartość tego łącza
8. „Tremblay” – Kontener startowy
9. „9” – Kontener końcowy
Niekompletny Linki
Zgodnie z opisem formatu pliku Paje, łącze tworzą dwa zdarzenia:
PajeStartLink i PajeEndLink. Zdarzenia te są dopasowywane przez symulator Paje za pomocą pliku
klucz podany w pliku śledzenia. Jeśli brakuje jednego z tych dwóch zdarzeń
z dowolnego powodu i plik śledzenia zakończy się (lub kontener zostanie zniszczony), tak się stanie
mieć symulację z niekompletny linki. Generalnie Paje Simulator i wg
konsekwencja pj_dump, potraktuj te łącza jako błędy i wypisz je poniżej
sposób:
$ pj_dump ~/tracefile.paje
Lista niekompletnych linków w kontenerze '0':
Link, 0, MSG_PROCESS_TASK_LINK, 0, -1, 0, SR, nadawca-12, NULL
Link, 0, MSG_PROCESS_TASK_LINK, 0.00013, -1, 0, SR, nadawca-13, NULL
Link, 0, MSG_PROCESS_TASK_LINK, 0.002868, -1, 0, SR, nadawca-13, NULL
(...)
PajeLinkException: Niekompletne linki na końcu kontenera o nazwie „0”
Najlepszym rozwiązaniem w takiej sytuacji jest naprawa wygenerowanego modułu śledzącego lub konwertera
śledzenia, ponieważ wskazuje to prawdopodobnie na jakiś błąd podczas wykonywania. Jeśli myślisz
że ten błąd jest akceptowalny, możesz podać -z Przełącz na pj_dump powiedzieć
Paje Simulator, aby ignorować niekompletne linki. Cały plik śledzenia zostanie zrzucony i wszystko
błędy dotyczące niekompletnych linków będą dyskretnie ignorowane. Używaj ostrożnie.
OKREŚLONY PRZEZ UŻYTKOWNIKA POLA
Pola zdefiniowane przez użytkownika to funkcja formatu pliku śledzenia Paje, która umożliwia dodanie dodatkowych
w śladzie informację, która nie należy do tradycyjnych pól każdego zdarzenia
definicja. Definicja zdarzenia z czterema polami zdefiniowanymi przez użytkownika (Rozmiar, Parametry, Rozmiar i
Tag) wygląda tak:
%EventDef PajeSetState 20
% Data i godzina
% Ciąg kontenera
% Wpisz ciąg
% Ciąg wartości
% Ciąg znaków
% Ciąg parametrów
% Ciąg śladu
% Ciąg znacznika
%EndEventDef
Zrzut pól zdefiniowanych przez użytkownika jest domyślnie wyłączony w pj_dump. Użytkownik może aktywować
ich przechodząc -u (lub --określony przez użytkownika) jako argument. Robiąc to, wyjście podobne do CSV
pj_dump zostanie zmieniony w stosunku do powyższej definicji (patrz OPIS WYJŚCIA). Oprócz
zrzucając domyślne pola dla każdej jednostki i kontenera śledzenia, plik CSV będzie miał
dodatkowe pola odpowiadające polom zdefiniowanym przez użytkownika. Kolejność, w jakiej się pojawiają
na wyjściu przestrzega kolejności odpowiedniej definicji zdarzenia. Więc a Miasto zdefiniowane
z definicją zdarzenia 20 powyżej będzie miała cztery dodatkowe pola w formacie CSV
wyjście.
ZASOBY
Opis pliku śledzenia Paje:
http://paje.sourceforge.net/download/publication/lang-paje.pdf
Strona główna: http://github.com/schnorr/pajeng/
RAPORTOWANIE ROBAKI
Zgłaszaj błędy pj_dump dohttp://github.com/schnorr/pajeng/issues>
PRAWA AUTORSKIE
Prawa autorskie (C) 2012-2014 Lucas M. Schnorr. Bezpłatne korzystanie z tego oprogramowania jest przyznawane w ramach
warunki Powszechnej Licencji Publicznej GNU (GPL).
Użyj pj_dump online, korzystając z usług onworks.net
