\item print\_timestamp.sh - add time and date information in all \textit{print} instructions, in the files listed in a file given as argument.
\item set\_DEBUG.sh - sets DEBUG flag to a given value, in the files listed in file given as argument.
\item set\_DEBUG\_NORMAL.sh - sets DEBUG\_NORMAL flag to a given value, in the files listed in file given as argument.
-\item modify\_Connecter.sh - redirect print instructions to stderr in \textit{Core/BitTornado/BT1/Connecter.py}
+\item modify\_Connecter.sh - redirect print instructions to stderr in
+
+\textit{Core/BitTornado/BT1/Connecter.py}
\item make\_changes.sh - uses the above described scripts to make all the necessary changes
\item undo\_changes.sh - uses the above described scripts to undo all the changes made, except the redirection of prints in \textit{Connecter.py}
\end{enumerate}
the parsed data in the database.
All these scripts receive as arguments a client id corresponding to a row in \textit{clients} table, the log file
-and the database.
+and the database. An instance of DatabaseCommander checks the \textit{client\_id} and an instance of DatabaseWriter based on the \textit{database} argument is used to write the messages information (timestamp, message type etc).
+
\subsubsection {Tribler logs parsing}
[TODO]
-Example of a status line (shown here split into two line):
+
+Example of a status line (shown here split into two lines):
\begin{verbatim}
03-Nov-2009 12:18:55 aqua.mpeg DLSTATUS_DOWNLOADING 29.84%
None up 0.00KB/s down 4414.39KB/s eta 12 peers 2
\end{verbatim}
+
+The verbose parser searches a given log for the following bit torrent messages taking into consideration
+the direction of the message, that indicated if it is received or send from/to a peer:
+ \begin{itemize}
+ \item BT\_REQUEST - both directions
+ \item BT\_CHOKE - receive direction
+ \item BT\_UNCHOKE - receive direction
+ \item BT\_HAVE - receive direction
+ \item BT\_PIECE - receive direction
+ \item BT\_BITFIELD - receive direction
+ \item BT\_CANCEL - send direction
+ \item BT\_INTERESTED -receive direction
+ \end{itemize}
+
Examples of protocol message lines:
-[TODO]
+\begin{verbatim}
+ 20-10-2009 12:56:39 Downloader: new_request 52 98304 16384 to 141.85.37.41 14398
+ 27-11-2009 18:01:22 connecter: Got REQUEST( 1218 ) from 87.0.15.75
+ 14-11-2009 23:11:13 connecter: Got PIECE( 141 ) from 141.85.37.41
+ 14-11-2009 23:11:24 sent cancel: 130: 114688-131072
+\end{verbatim}
+
+Due to the many types of messages and their high frequency of being transmitted, the verbose log file can get to
+large sizes of hundreds of MB, even a few GB. Therefore parsing such files demands much time than parsing the status log,
+on our test files, getting to 20-30 minutes for logs of approximately 300MB on dual core 2GHz processors, 2G RAM.
+
\title{An Extensive Reporting, Storage and Analysis Infrastructure for BitTorrent}
-\author{Adriana Draghici, Sandu Popa Marius, Razvan Deaconescu\\
+\author{Adriana Draghici, Marius Sandu-Popa, Razvan Deaconescu, Nicolae \c{T}apu\c{s}\\
University Politehnica of Bucharest\\
Computer Science and Engineering Department \\
Splaiul Independen\c{t}ei nr. 313, Bucharest, Romania \\
- \emph{\{adriana.draghici, marius.sandupopa\}}@cti.pub.ro, razvan.deaconescu@cs.pub.ro \\
+ \emph{\{adriana.draghici, marius.sandupopa\}}@cti.pub.ro \\
+ \emph{\{razvan.deaconescu, ntapus\}}@cs.pub.ro \\
}
\date{February 11, 2010}