Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Activity stats record information about the high-level activities that the system was performing at any time. In general these are user-level actions e.g. running a Task Plan.

Stats TypeData TypeDescription
activity.startactivities/sThe number of activities that started
activity.endactivities/sThe number of activities that finished
activity.timeseconds/sThe time spent running the activities

System Performance

System stats record aspects of system behaviour.

...

Database

Database stats record aggregate values for low-level database operations.

Stats TypeData TypeDescription
data.exec.timeseconds/sTime spent executing database statements.
data.read.timeseconds/sTime spent reading from a database.
data.read.opsops/sNumber of database read operations / second
data.read.itemsitems/sNumber of items (records) read from database / second
data.write.timeseconds/sTime spent writing to a database.
data.write.opsops/sNumber of database write operations / second
data.write.itemsitems/sNumber of items (records) written to database / second

Data Generation

Data Generation stats record details of stream data generation.

Stats TypeData TypeDescription
csf.create.timeseconds/sTime spent creating candidate sets
csf.find.timeseconds/sTime spent finding data for candidate sets
csf.process.timeseconds/sTime spent processing candidate sets to create stream items.
generate.timeitems/sNumber of items generated / second
generate.itemsseconds/sTime spent per second generating items 

Data Output

Data Output stats record details of the output phase of Data Gneration, in which items are written to an output queue so that they can be written out by one or more asynchronous writer processes.

Stats TypeData TypeDescription
output.enqueue.timeseconds/sTime spent adding generated items to the output queue
output.dequeue.timeseconds/sTime spent taking generated items from the output queue
output.dequeue.itemsitems/sThe number of items/s taken from the output queue
output.wait.timeseconds/sTime spent waiting for the output writer
output.write.timeseconds/sTime spent writing out items
output.write.itemsitems/sThe number of items written out / second
output.reject.itemsitems/sThe number of items rejected / second

Pipes (Pull)

These stats types record various aspects of the behaviour of pull pipes

Stats TypeData TypeDescription
pipe.pull.idle.timeseconds/sTime spent idle
pipe.pull.prepare.timeseconds/sTime spent preparing (creating pipe candidate sets)
pipe.pull.prepared.timeseconds/sTime spent after preparation
pipe.pull.process.timeseconds/sTime spent creating candidate sets
pipe.pull.processed.timeseconds/sTime spent after processing
pipe.pull.read.timeseconds/sTime spent reading
pipe.pull.readresponse.timeseconds/sTime spent processing read responses
pipe.pull.submitted.timeseconds/sTime spent submitting read requests

Pipes (Lookups)

These stats types record various aspects of the behaviour of lookup pipes.

Stats TypeData TypeDescription
lookup.added.itemsitems/sThe number of items added to a pipe cache per second
lookup.clash.opsopsThe number of lookups where another process was reading data for the same lookup
lookup.miss.opsops/sThe number of lookups per second not satisfied by data already in the pipe cache
lookup.removed.itemsitems/sThe number of items removed from a pipe cache per second
lookup.size.itemsitemsThe number of items in a pipe cache
pipe.lookup.opsops/sThe number of lookups / second
pipe.lookup.timeseconds/sThe time spent doing lookups / second

System Performance

System stats record aspects of system behaviour.

Stats TypeData TypeDescription
java.memory.freebytesThe amount of java memory that is free
java.memory.usedbytesThe amount of java memory that is used
java.memory.totalbytesThe total amount of java memory
system.cpubusyThe fraction of the time that the cpu is busy

Work Queues

PhixFlow maintains a number of queues for asynchronous task work / task processing.

These statistics record the occupancy levels of these queues, comprising for each queue the number of tasks queued (waiting) + the number running.

Stats TypeData TypeDescription
workqueue.cspt.sizetasksThe number of tasks in the CSPT work queue
workqueue.dgr.sizetasksThe number of tasks in the DGR work queue
workqueue.pdp.sizetasksThe number of tasks in the PDP work queue
workqueue.prepare.sizetasksThe number of tasks in the PREPARE work queue
workqueue.read.sizetasksThe number of tasks in the READ work queue
workqueue.write.sizetasksThe number of tasks in the WRITE work queue
workqueue.other.sizetasksThe number of tasks in the OTHER work queue
workqueue.export.sizetasksThe number of tasks in the EXPORT work queue
workqueue.view.sizetasksThe number of tasks in the VIEW work queue

Examples

These are examples of extracting specific sub-sets of the stats data.

These examples show the use of direct sql statements to extract useful sub-sets of the stats data, but you could also import all data into a Stream and analyse it there.

Monitoring Memory Usage

E.g. to extract Java memory total and free:

Code Block
select *
from stats
where stats_type in ('java.memory.free', 'java.memory.total')
order by to_dtm;

Monitoring Pipe Cache Sizes

E.g. to extract all pipe caches over a certain size:

Code Block
select *
from stats
where stats_type = 'lookup.size.items' and data_value>1000000
order by full_context, to_dtm;