{% extends "base.html" %} {% block content %} <p>See also <a href="https://community.perforce.com/s/article/2525" target="_blank">Interpreting Server Log Files</a></p> <p>When peeking is enabled (typically any server >= 2013.3), see also <a href="https://community.perforce.com/s/article/3842" target="_blank">Peeking track information</a> and <a href="https://community.perforce.com/s/article/3839" target="_blank">Commands supporting lockless reads</a>.</p> <h2>Table: Process</h2> <table class="dataframe"> <tr> <td>Field Name</td> <td>Field Type</td> <td>Notes</td> </tr> <tr> <td>processKey</td> <td>char(50)</td> <td>Prime key for join with TableUse - MD5 hash of line</td> </tr> <tr> <td>lineNumber</td> <td>int</td> <td>Linumber of initial start command in log file</td> </tr> <tr> <td>StartTime</td> <td>date</td> <td>Time command started. Format "YYYY-mm-dd HH:MM:SS"</td> </tr> <tr> <td>EndTime</td> <td>date</td> <td>Time command finished (if finish found). Format "YYYY-mm-dd HH:MM:SS"</td> </tr> <tr> <td>computedLapse</td> <td>float</td> <td>Time in seconds during compute phase of command (only present for some commands)</td> </tr> <tr> <td>CompletedLapse</td> <td>float</td> <td>Time in seconds until commmand completed</td> </tr> <tr> <td>pid</td> <td>int</td> <td>Process id</td> </tr> <tr> <td>User</td> <td>text</td> <td>Perforce user id</td> </tr> <tr> <td>workspace</td> <td>text</td> <td>Name of workspaces in which command was executed</td> </tr> <tr> <td>ip</td> <td>text</td> <td>IP address from which command was executed</td> </tr> <tr> <td>app</td> <td>text</td> <td>String application version - as used in calls to P4API</td> </tr> <tr> <td>cmd</td> <td>text</td> <td>Actual perforce command executed - typically with "user-" prefix</td> </tr> <tr> <td>args</td> <td>text</td> <td>Command arguments (if any)</td> </tr> <tr> <td>uCpu</td> <td>int</td> <td>User CPU used (milliseconds)</td> </tr> <tr> <td>sCpu</td> <td>int</td> <td>System CPU (milliseconds)</td> </tr> <tr> <td>diskIn</td> <td>int</td> <td>Disk blocks (512 bytes) read</td> </tr> <tr> <td>diskOut</td> <td>int</td> <td>Disk blocks (512 bytes) written</td> </tr> <tr> <td>IPCin</td> <td>int</td> <td>IPC messages received</td> </tr> <tr> <td>IPCout</td> <td>int</td> <td>IPC messages sent</td> </tr> <tr> <td>maxRss</td> <td>int</td> <td></td> </tr> <tr> <td>pageFaults</td> <td>int</td> <td>page faults that were serviced by doing I/O</td> </tr> <tr> <td>rpcMsgsIn</td> <td>int</td> <td>Number of RPC messages received</td> </tr> <tr> <td>rpcMsgsOut</td> <td>int</td> <td>Number of RPC messages sent</td> </tr> <tr> <td>rpcSizeIn</td> <td>int</td> <td>Size of RPC messages received (rounded to 1MB)</td> </tr> <tr> <td>rpcSizeOut</td> <td>int</td> <td>Size of RPC messages sent (rounded to 1MB)</td> </tr> <tr> <td>rpcHimarkFwd</td> <td>int</td> <td>RPC send Window size - check for mismatch with receive</td> </tr> <tr> <td>rpcHimarkRev</td> <td>int</td> <td>RPC receive Window size - check for mismatch with send</td> </tr> <tr> <td>rpcSend</td> <td>float</td> <td>Time in seconds sending RPC messages</td> </tr> <tr> <td>rpcRcv</td> <td>float</td> <td>Time in seconds receiving RPC messages</td> </tr> <tr> <td>running</td> <td>int</td> <td>Number of concurrent processes at the same time - only valid if configurable server>=3</td> </tr> <tr> <td>error</td> <td>text</td> <td>Any error message</td> </tr> </table> <h2>Table: tableUse</h2> <table class="dataframe"> <tr> <td>Field Name</td> <td>Field Type</td> <td>Notes</td> </tr> <tr> <td>processKey</td> <td>char(50)</td> <td>Prime key for join with Process - MD5 hash of line</td> </tr> <tr> <td>lineNumber</td> <td>int </td> <td>Part of prime key - required for duplicate commands with same MD5 within same second</td> </tr> <tr> <td>tableName</td> <td>varchar</td> <td>Name of table involved, e.g. db.have, db.user. Includes certain "meta" tables with prefixes: meta/client/change and can have R/W suffixes</td> </tr> <tr> <td>pagesIn</td> <td>int</td> <td>Number of pages read in process-private memory (not filesystem cache)</td> </tr> <tr> <td>pagesOut</td> <td>int</td> <td>Number of pages written in process-private memory (not filesystem cache)</td> </tr> <tr> <td>pagesCached</td> <td>int</td> <td>Number of pages for process-private memory (not filesystem cache)</td> </tr> <tr> <td>pagesSplitInternal</td> <td>int</td> <td>Number of pages for internal B-Tree node splits</td> </tr> <tr> <td>pagesSplitLeaf</td> <td>int</td> <td>Number of pages for leaf B-Tree node splits</td> </tr> <tr> <td>readLocks</td> <td>int</td> <td>Number of read locks for this table</td> </tr> <tr> <td>writeLocks</td> <td>int</td> <td>Number of write locks for this table</td> </tr> <tr> <td>getRows</td> <td>int</td> <td>Number of fetches of rows by key</td> </tr> <tr> <td>posRows</td> <td>int</td> <td>Number of rows used to position for scan</td> </tr> <tr> <td>scanRows</td> <td>int</td> <td>Number of rows scanned</td> </tr> <tr> <td>putRows</td> <td>int</td> <td>Number of rows written</td> </tr> <tr> <td>delRows</td> <td>int</td> <td>Number of rows deleted</td> </tr> <tr> <td>totalReadWait</td> <td>int</td> <td>Total time waiting for read lock (ms)</td> </tr> <tr> <td>totalReadHeld</td> <td>int</td> <td>Total time read lock held (ms)</td> </tr> <tr> <td>totalWriteWait</td> <td>int</td> <td>Total time waiting for write lock (ms)</td> </tr> <tr> <td>totalWriteHeld</td> <td>int</td> <td>Total time write lock held (ms)</td> </tr> <tr> <td>maxReadWait</td> <td>int</td> <td>Maximum time any one read lock was waited for (ms)</td> </tr> <tr> <td>maxReadHeld</td> <td>int</td> <td>Maximum time any one read lock was held (ms)</td> </tr> <tr> <td>maxWriteWait</td> <td>int</td> <td>Maximum time any one write lock was waited for (ms)</td> </tr> <tr> <td>maxWriteHeld</td> <td>int</td> <td>Maximum time any one write lock was held (ms)</td> </tr> <tr> <td>peekCount</td> <td>int</td> <td>How many peeks</td> </tr> <tr> <td>totalPeekWait</td> <td>int</td> <td>Time waiting for peek locks (ms)</td> </tr> <tr> <td>totalPeekHeld</td> <td>int</td> <td>Time peek locks held (ms)</td> </tr> <tr> <td>maxPeekWait</td> <td>int</td> <td>Max time waiting for any one peek lock (ms)</td> </tr> <tr> <td>maxPeekHeld</td> <td>int</td> <td>Max time any one peek lock held (ms)</td> </tr> <tr> <td>triggerLapse</td> <td>float</td> <td>Time (secs) for trigger to run - trigger is part of tablename, e.g. trigger_[triggername]</td> </tr> </table> {% endblock %}
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 27256 | roadkills_r_us | "Forking branch psla of perforce-software-log-analyzer to roadkills_r_us-log-analyzer." | ||
//guest/perforce_software/log-analyzer/psla/psla/app/templates/schema.html | |||||
#2 | 26269 | Robert Cowham |
Added new table fields parsed: pagesSplitInternal, pagesSplitLeaf Indicates possible high CPU due to tabl expansion |
||
#1 | 25216 | Robert Cowham | Branch files to Workshop mandated path for project | ||
//guest/perforce_software/utils/log_analyzer/psla/app/templates/schema.html | |||||
#1 | 24989 | Robert Cowham | Expand schema help for tableuse |