Skip to content

perfObject

A perf object summarises Spiral’s optimisation activity over the past second. It is reported on the error / monitoring stream and is the primary signal of engine health: the current gear, the size of the working set, and the backlog still to be processed.

{
"time": <string>,
"gear": <integer>,
"stops": <integer>,
"todo": { i, u, s },
"Pos/Soln": <real>,
"Soln/Sec": <real>,
"travelCache": { hit, fin, entries, routes, fill } | null,
}
time string
The engine clock at the time of the report (HH:MM:SS; a leading "!" marks simulated time).
gear integer
The current optimisation gear (effort level) Spiral is running at.
stops integer
Stops currently in the working set.
todo { i, u, s }
Backlog counts still to process: i = inserts, u = updates, s = solutions.
Pos/Soln real
Positions examined per solution over the period.
Soln/Sec real
Solutions produced per second over the period.
travelCache { hit, fin, entries, routes, fill }
Travel cache statistics: hit and fin are hit ratios (fin for the calculator's fine answers), entries is the number of drives held, routes the number of calculator routes among them (0 without a calculator), fill the occupancy. See the examples below.

Two settled reports from the same world of a thousand open drives, one run with the OSRM calculator and one without:

hitfinentriesroutesfill
calculator on, after 100 requests0.800.0066973990.106
calculator off1.001.00697300.106

routes counts the calculator’s routes in the cache: it stays at 0 without a calculator and rises as replies arrive. entries and fill describe the cache itself and are the same either way.