...
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 Type | Data Type | Description |
---|---|---|
activity.start | activities/s | The number of activities that started |
activity.end | activities/s | The number of activities that finished |
activity.time | seconds/s | The 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 Type | Data Type | Description |
---|---|---|
data.exec.time | seconds/s | Time spent executing database statements. |
data.read.time | seconds/s | Time spent reading from a database. |
data.read.ops | ops/s | Number of database read operations / second |
data.read.items | items/s | Number of items (records) read from database / second |
data.write.time | seconds/s | Time spent writing to a database. |
data.write.ops | ops/s | Number of database write operations / second |
data.write.items | items/s | Number of items (records) written to database / second |
Data Generation
Data Generation stats record details of stream data generation.
Stats Type | Data Type | Description |
---|---|---|
csf.create.time | seconds/s | Time spent creating candidate sets |
csf.find.time | seconds/s | Time spent finding data for candidate sets |
csf.process.time | seconds/s | Time spent processing candidate sets to create stream items. |
generate.time | items/s | Number of items generated / second |
generate.items | seconds/s | Time 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 Type | Data Type | Description |
---|---|---|
output.enqueue.time | seconds/s | Time spent adding generated items to the output queue |
output.dequeue.time | seconds/s | Time spent taking generated items from the output queue |
output.dequeue.items | items/s | The number of items/s taken from the output queue |
output.wait.time | seconds/s | Time spent waiting for the output writer |
output.write.time | seconds/s | Time spent writing out items |
output.write.items | items/s | The number of items written out / second |
output.reject.items | items/s | The number of items rejected / second |
Pipes (Pull)
These stats types record various aspects of the behaviour of pull pipes
Stats Type | Data Type | Description |
---|---|---|
pipe.pull.idle.time | seconds/s | Time spent idle |
pipe.pull.prepare.time | seconds/s | Time spent preparing (creating pipe candidate sets) |
pipe.pull.prepared.time | seconds/s | Time spent after preparation |
pipe.pull.process.time | seconds/s | Time spent creating candidate sets |
pipe.pull.processed.time | seconds/s | Time spent after processing |
pipe.pull.read.time | seconds/s | Time spent reading |
pipe.pull.readresponse.time | seconds/s | Time spent processing read responses |
pipe.pull.submitted.time | seconds/s | Time spent submitting read requests |
Pipes (Lookups)
These stats types record various aspects of the behaviour of lookup pipes.
Stats Type | Data Type | Description |
---|---|---|
lookup.added.items | items/s | The number of items added to a pipe cache per second |
lookup.clash.ops | ops | The number of lookups where another process was reading data for the same lookup |
lookup.miss.ops | ops/s | The number of lookups per second not satisfied by data already in the pipe cache |
lookup.removed.items | items/s | The number of items removed from a pipe cache per second |
lookup.size.items | items | The number of items in a pipe cache |
pipe.lookup.ops | ops/s | The number of lookups / second |
pipe.lookup.time | seconds/s | The time spent doing lookups / second |
System Performance
System stats record aspects of system behaviour.
Stats Type | Data Type | Description |
---|---|---|
java.memory.free | bytes | The amount of java memory that is free |
java.memory.used | bytes | The amount of java memory that is used |
java.memory.total | bytes | The total amount of java memory |
system.cpu | busy | The 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 Type | Data Type | Description |
---|---|---|
workqueue.cspt.size | tasks | The number of tasks in the CSPT work queue |
workqueue.dgr.size | tasks | The number of tasks in the DGR work queue |
workqueue.pdp.size | tasks | The number of tasks in the PDP work queue |
workqueue.prepare.size | tasks | The number of tasks in the PREPARE work queue |
workqueue.read.size | tasks | The number of tasks in the READ work queue |
workqueue.write.size | tasks | The number of tasks in the WRITE work queue |
workqueue.other.size | tasks | The number of tasks in the OTHER work queue |
workqueue.export.size | tasks | The number of tasks in the EXPORT work queue |
workqueue.view.size | tasks | The 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; |