PhixFlow Help

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

PhixFlow generates processing statistics which are saved to the database. These statics are for use by administrators and designers who are tuning for performance.

See System Configuration for how to enable and manage stats generation.

Processing Statistics

The following statistics are currently recorded and available as data records in the STATS table. (See STATS record definition)

The performance statistics are classified by 3 major dimensions:

Initiator

The initiator is the object representing the user activity that caused the system activity.

Initiators include

  • (Running an) Action
  • (Running a) Task Plan
  • (Running a) Stream
  • (Viewing data for a) Stream View
  • System, for internal activities and things that can't be allocated to any specific cause e.g. memory and CPU usage.

Where one initiator could include another, the activity is recorded against the initiator closest to the user

e.g. the user runs an Action which runs a Task Plan - the initiator is the Action.

e.g. the user runs the same Task Plan directly - the initiator is the Task Plan

With the exception of System, the initiator is identified by name, type and id.

Context

The context is the most detailed object to which the activity can be attributed.

Contexts include

  • Stream Action
  • Task Plan
  • Stream
  • Pipe
  • File / Database / Http Collector
  • File / Database / Http Exporter
  • System

With the exception of System, the context is identified by name, full name, type and id.

The full name is a dot-separated list of objects from the highest level to the lowest, ending in the context object.

Stats Type / Data Type

Stats Type is the specific aspect of system behaviour being measured.

Data Type

Data Type contains the units of the measurement.

Data types that represent a snapshot value are shown as the plural unit e.g. the Data Type for the amount of Java memory used is 'bytes'.

Data Types that represent a rate, or amount of throughput are shown as the average rate per second e.g. the data type for the number of items generated in a stream is 'items/s' i.e. items per second. The value is calculated by dividing the total number or amount recorded in the sampling period and dividing it by the duration of the sampling period in seconds. The rate per second is shown rather than the absolute number so that if the sampling period is changed, the numbers (the rate per second) stay the same

Data Types include

Data TypeDescription
activities/sActivities per second
secondsA simple time value, e.g. a maximum wait time for a database statement to execute
seconds/s

Seconds per second. Stats that record times cumulative times (e.g. the total of internal wait times) are normalised per second.

Where this applies to a single-threaded stats type, the value will always be between 0.0 and 1.0, where a value near 1.0 means that that part of the system is waiting nearly 100% of the time.

itemsA number of items (records), e.g. the number of items in a pipe cache.
items/sThe number of items processed per second e.g. the number of items generated per second.
ops/sA number of operations per second (e.g. databaes reads)
bytesA total number of bytes, e.g. the number of bytes of Java memory used.
busyThe fraction of the time that a resource is busy e.g. the CPU utilisation.

Stats Type + Data Type

Most Stats Types record a single Data Type

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
csf.createseconds/sTime spent creating candidate sets
csf.findseconds/sTime spent finding data for candidate sets
csf.processseconds/sTime spent processing candidate sets to create stream items.
data.execseconds/sTime spent executing database statements.
data.readseconds/sTime spent reading from a database.
data.readops/sNumber of database read operations / second
data.readitems/sNumber of items (records) read from database / second
data.writeseconds/sTime spent writing to a database.
data.writeops/sNumber of database write operations / second
data.writeitems/sNumber of items (records) written to database / second
generateitems/sNumber of items generated / second
generateseconds/sTime spend per second generating items 
output.enqueueseconds/sTime spent adding generated items to the output queue
output.dequeueseconds/sTime spent taking generated items from the output queue
output.dequeueitems/sThe number of items/s taken from the output queue
output.waitseconds/sTime spent waiting for the output writer
output.writeseconds/sTime spent writing out items
output.writeitems/sThe number of items written out / second
output.rejectitems/sThe number of items rejected / second
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
lookup.addeditems/sThe number of items added to a pipe cache per second
lookup.clashopsThe number of lookups where another process was reading data for the same lookup
lookup.missops/sThe number of lookups per second not satisfied by data already in the pipe cache
lookup.removeditems/sThe number of items removed from a pipe cache per second
lookup.sizeitemsThe number of items in a pipe cache
pipe.lookupops/sThe number of lookups / second
pipe.lookupseconds/sThe time spent doing lookups / second
pipe.pull.idle

pipe.pull.prepare

pipe.pull.prepared

pipe.pull.process

pipe.pull.processed

pipe.pull.read

pipe.pull.readresponse

pipe.pull.submitted

system.cpubusyThe fraction of the time that the cpu is busy
workqueue.cspt.size






















Activity Statistics

Activity Statistics are recorded from TaskPlans executed, Actions triggered.

STATS_TYPE
INITIATOR_TYPE
INITIATOR_ID
INITIATOR_NAMECONTEXT_TYPECONTEXT_IDCONTEXT_NAMEFULL_CONTEXTDATA_TYPEDATA_VALUE
ActivityTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action name


TaskPlan/Action NamenumStarted

{Number of tasks started in this timeslot. The timeslot is set in the System Configuration > System Tuning Tab

Stats DB Logging Seconds field}

ActivityTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action name


TaskPlan/Action NamenumActive{Number of tasks still running at the end of this timeslot. The timeslot is set in the System Configuration > System Tuning Tab -

Stats DB Logging Seconds field}

ActivityTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action name


TaskPlan/Action NamenumEnded{Number of tasks ended in this timeslot. The timeslot is set in the System Configuration > System Tuning Tab - Stats DB Logging Seconds field}
ActivityTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action name


TaskPlan/Action NamesumDuration (seconds){Total duration of task ending in this timeslot. The timeslot is set in the System Configuration > System Tuning Tab -

Stats DB Logging Seconds field}

Stream Statistics

This is a record of data volumes written to Streams and Exporters

STATS_TYPE
INITIATOR_TYPE
INITIATOR_ID
INITIATOR_NAMECONTEXT_TYPECONTEXT_IDCONTEXT_NAMEFULL_CONTEXTDATA_TYPEDATA_VALUE
StreamTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action nameStreamStream IDStream NameTaskPlan/Action Name.Stream NameinsertCount{Count of database insert batches}
StreamTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action nameStreamStream IDStream NameTaskPlan/Action Name.Stream NameinsertVolume{Volume of individual records inserted}
StreamTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action nameStreamStream IDStream NameTaskPlan/Action Name.Stream Name

insertVolumeBytes

(bytes)

{Volume of records bytes inserted}
StreamTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action nameStreamStream IDStream NameTaskPlan/Action Name.Stream Name

insertTimeTotal

(seconds)

{Time taken to insert records}
StreamTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action nameStreamStream IDStream NameTaskPlan/Action Name.Stream NameupdateCount{Count of database updated batches}
StreamTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action nameStreamStream IDStream NameTaskPlan/Action Name.Stream NameupdateVolume{Volume of individual records updated}
StreamTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action nameStreamStream IDStream NameTaskPlan/Action Name.Stream Name

updateVolumeBytes

(bytes)

{Volume of records bytes updated}
StreamTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action nameStreamStream IDStream NameTaskPlan/Action Name.Stream Name

updateTimeTotal

(seconds)

{Time taken to update records}

The timeslot is set in the System Configuration > System Tuning Tab

Stats DB Logging Seconds field

Pipe Statistics

This is a record of Pipe Read Statistics

STATS_TYPE
INITIATOR_TYPE
INITIATOR_ID
INITIATOR_NAMECONTEXT_TYPECONTEXT_IDCONTEXT_NAMEFULL_CONTEXTDATA_TYPEDATA_VALUE
PipeTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action namePipePipe IDPipe NameTaskPlan/Action Name.Stream Name.pipe NamereadCount{Numer of reads}
PipeTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action namePipePipe IDPipe NameTaskPlan/Action Name.Stream Name.pipe Name

readTime

(seconds)

{Time taken to read}
PipeTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action namePipePipe IDPipe NameTaskPlan/Action Name.Stream Name.pipe Name

readTimeMax

(seconds)

{Maximum read time}
PipeTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action namePipePipe IDPipe NameTaskPlan/Action Name.Stream Name.pipe NamereadRecCount{Number of records read}

This is a record of Pipe Queue Statistics

STATS_TYPE
INITIATOR_TYPE
INITIATOR_ID
INITIATOR_NAMECONTEXT_TYPECONTEXT_IDCONTEXT_NAMEFULL_CONTEXTDATA_TYPEDATA_VALUE
PipeTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action namePipePipe IDPipe NameTaskPlan/Action Name.Stream Name.pipe Name

sumEnqueueTime

(seconds)

{Time take to add to queue}
PipeTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action namePipePipe IDPipe NameTaskPlan/Action Name.Stream Name.pipe NameenqueueCount{Pipe added to queue}
PipeTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action namePipePipe IDPipe NameTaskPlan/Action Name.Stream Name.pipe Name

sumDequeueTime

(seconds)

{Time take to remove from queue}
PipeTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action namePipePipe IDPipe NameTaskPlan/Action Name.Stream Name.pipe NamedequeueCount{Pipe removed from queue}

This is a record of Pipe Lookup Statistics

STATS_TYPE
INITIATOR_TYPE
INITIATOR_ID
INITIATOR_NAMECONTEXT_TYPECONTEXT_IDCONTEXT_NAMEFULL_CONTEXTDATA_TYPEDATA_VALUE
PipeTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action namePipePipe IDPipe NameTaskPlan/Action Name.Stream Name.pipe NamecacheSize{Size of lookup pipe cache}
PipeTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action namePipePipe IDPipe NameTaskPlan/Action Name.Stream Name.pipe NameaddedToCache{Lookup pipe added to cache}
PipeTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action namePipePipe IDPipe NameTaskPlan/Action Name.Stream Name.pipe NameremovedFromCache{Lookup pipe removed from cache}
PipeTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action namePipePipe IDPipe NameTaskPlan/Action Name.Stream Name.pipe NamecacheHits{Count a read done from cache}
PipeTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action namePipePipe IDPipe NameTaskPlan/Action Name.Stream Name.pipe NamecacheMisses{Count a read not yet from the cache}
PipeTaskPlan, Action

TaskPlan/Action ID

TaskPlan/Action namePipePipe IDPipe NameTaskPlan/Action Name.Stream Name.pipe NamecacheParallelMisses{Total reads from cache by two simulatneous processes}

Database Statistics Record Structure

The table structure for STATS is as follows:

Member
Class
Description
stats_typeenum

Statistics Type:

E.g. 'Activity, Pipe, PipeLookup, PipeQueue, Stream'

fromDtmDatetimeThe start time of the period that this measure refers to
toDtmDatetimeThe end time of the period that this measure refers to
initiator_typeString

The object initiating the activity - eg. "TaskPlan", or "Action"

initiator_idUidThe ID of the initiating TaskPlan or Action / other object.
initiator_nameString

The name of the initiating TaskPlan or Action / other object.

context_typeStringThe activity triggered by the initiator. eg "Stream"
context_idUid

e.g. The "Streams" ID that Analysis was run on.

context_nameStringeg. The name of the stream that Analysis was run on.`
full_contextString

This a dotted notation indicating the full context.

eg. TaskPlan1.Stream X.in

data_typeStringThe type of statistics data being recorded for this stats type. Eg. totalRecordsWritten, totalWriteTime.
data_valueDouble

The value of the statistic being recorded for the given data_type.

  • No labels