Quick Links: Site Home | Documentation

Debugger Command 140203, Performance Counters


Several agents and programs include simple performance counters that record number of calls, elapsed time, peak parallel use and other metrics. The debugger command 140203 causes agents to return current counter values.

Reply Packet Structure

The reply packet contains zero or more GSTA packets where each GSTA packet contains the details of a single counter.

Field #NameDescription
110NameThe name of the counter
111CountNumber of samples
112TicksNumber of timer ticks used while executing the task. 1 tick is a millisecond. The precision of Ticks is not very accurate so use caution if trying to get precise performance metrics from this field
113MaxActiveMaximum number of parallel occurances of this task running at the same time
114CurActiveCurrent number of this task executing
120SlowestTicksNumber of ticks used by the slowest recorded execution
121SlowestTimeDate/Time the slowest task was detected.
150ReturnState0Unknown return state.
151ReturnState1Return state = Yes
152ReturnState2Return state = No
153-159ReturnState3 .. 9Additional return states. The meaning of these states is left to each counter

In addition to counting and timing, each task can indicate the overall return status, such as whether it worked or failed. ReturnState0 is increased when the task does not set a return state. ReturnState1 increments when the task works, ReturnState2 when the task fails. States 3 to 9 are available for individual tasks to report any state they wish. Each task run can only increase one ReturnState field.

Example Reply (XML format)

<DATS>
  <f100>140203</f100>
  <f110>3468</f110>
  <f111>RetailLogic</f111>
  <f112>3128</f112>
  <GSTA>
    <Name>TaskRunnerBUCK</Name>
    <Count>10</Count>
    <Ticks>52190</Ticks>
    <MaxActive>5</MaxActive>
    <CurActive>0</CurActive>
    <SlowestTicks>22968</SlowestTicks>
    <SlowestTime>2017|2|1|9|45|47||</SlowestTime>
    <ReturnState0>0</ReturnState0>
    <ReturnState1>10</ReturnState1>
    <ReturnState2>0</ReturnState2>
    <ReturnState3>0</ReturnState3>
    <ReturnState4>0</ReturnState4>
    <ReturnState5>0</ReturnState5>
    <ReturnState6>0</ReturnState6>
    <ReturnState7>0</ReturnState7>
    <ReturnState8>0</ReturnState8>
    <ReturnState9>0</ReturnState9>
  </GSTA>
  <GSTA>
    <Name>TaskRunnerDATI</Name>
    <Count>2</Count>
    <Ticks>3376</Ticks>
    <MaxActive>1</MaxActive>
    <CurActive>0</CurActive>
    <SlowestTicks>3313</SlowestTicks>
    <SlowestTime>2017|2|1|9|46|51||</SlowestTime>
    <ReturnState0>0</ReturnState0>
    <ReturnState1>2</ReturnState1>
    <ReturnState2>0</ReturnState2>
    <ReturnState3>0</ReturnState3>
    <ReturnState4>0</ReturnState4>
    <ReturnState5>0</ReturnState5>
    <ReturnState6>0</ReturnState6>
    <ReturnState7>0</ReturnState7>
    <ReturnState8>0</ReturnState8>
    <ReturnState9>0</ReturnState9>
  </GSTA>
</DATS>

Known Counters

RetailLogic TaskRunnerBUCK

Counts the overall use of any BUCK (read) request processed by RetailLogic. This execution is multi threaded. In rare cases one BUCK request may call another BUCK request and the times will reflect both occurances.

RetailLogic TaskRunnerDATI

Counts the overall use of any DATI (write/edit) request processed by RetailLogic.

RetailLogic TaskRunnerPINB

Counts the overall use of any PINB request processed by RetailLogic. This counter can suffer from false counting if RetailLogic starts to process a request and then decides not to complete it. False counting causes minor variation on idle/busy time reports but does not affect Count or Ticks

Address Address.Validate

Increased each time the API address.validate is called.

WordsPb Email.Validate

Increased each time the API email.validate is called.

WordsPb Name.Validate

Increased each time the API name.validate is called.

Files FilesWebFetch

Indicates a physical files was read and processed. This would generally be a HTM, CSS, JS or image file. This counter is counting all file access performed by Files Agent.

Files dictionary.spellcheck

Indicates a string was passed to be spell checked

Files dictionary.english.spellcheck

Indicates an english string was passed to be spell checked

Http HttpRequests

Raw count on all HTTP requests submitted for processing. Some HTTP requests are by their nature long running so the elapsed counters include both fast and slow type queries

GdsMsAccess Access.SQL1

Raw statistics on all general purpose SQL select statements performed against Access databases. This includes both fast queries and slower background queries that do not affect user operation

GdsMsAccess Access.SQL.Update

Raw statistics on all general purpose SQL update statements performed against Access databases.

GdsDbOdbc ODBC.SQL1

Raw statistics on all general purpose SQL select statements performed against ODBC connected databases. This includes both fast queries and slower background queries that do not affect user operation

GdsDbOdbc ODBC.SQL.Update

Raw statistics on all general purpose SQL update statements performed against ODBC connected databases.