This topic describes basic commands and command syntax for using the Performance Analytics tool.
More documentation can be found about each statistic type through the CLI and webservices API, but the following table provides more information about how similar I/O stack statistic types relate to each other.
Statistic Type | Description |
---|
NFS_OPS | Provides information about Network File System operations. This is the entrypoint to the Delphix Engine for all Oracle database file accesses. |
iSCSI_OPS | Provides information about iSCSI operations. This is the entrypoint to the Delphix Engine for all SQL Server file accesses. |
VFS_OPS | This layer sits immediately below NFS_OPS and iSCSI_OPS, and should give almost exactly the same latencies, assuming no unexpected behavior is occurring. |
DxFS_OPS | This layer sits immediately below VFS_OPS, and the two of them should give almost exactly the same latencies. |
DxFS_IO_QUEUE_OPS | This layer sits below DxFS_OPS, but the latencies will differ from that layer because this layer batches together operations to increase throughput. |
DISK_OPS | This layer sits below DxFS_IO_QUEUE_OPS at the bottom of the I/O stack, and measures interactions the Delphix Engine has with disks. |
CPU_UTIL | This is unrelated to the layers of the I/O stack - it measures CPU utilization on the Delphix Engine. |
TCP_STATS | Statistics for all established TCP connections on the Delphix Engine. |
Values are returned when a slice's data is queried. Each axis has a value type, which specifies how the data will be returned.
Value Type | Description |
---|
INTEGER | The value is returned as an integer. For information about what units the integer is measured in, read the documentation for the related datapoint or datapoint stream type. |
BOOLEAN | The value is returned as a boolean. |
STRING | The value is returned as a string. This is used for enum values as well, although the set of strings which can be returned is limited. |
HISTOGRAM | The value is returned as a log-scale histogram. The histogram has size buckets whose minimum and maximum value get doubled. Histograms are returned as JSON maps, where the keys are the minimum value in a bucket and the values are the height of each bucket. Here is an example histogram. Notice that buckets with a height of zero are not included in the JSON object, and that keys and values are represented as strings.
{
"32768": "10",
"65536": "102",
"262144": "15",
"524288": "2"
}
|
Axis constraints are used to limit the data which a slice can collect. Each axis specifies a constraint type which can be used to limit that axis' values.
Constraint Type | Description |
---|
BooleanConstraint | A superclass which constraints on boolean values must extend. Currently, the only subclass is BooleanEqualConstraint , which requires that a boolean axis equal either true or false (depending on user input). |
EnumConstraint | A superclass which constraints on enum values must extend. Currently, the only subclass is EnumEqualConstraint , which requires that an enum axis be equal to a user-specified value. |
IntegerConstraint | A superclass which constraints on integer values must extend. Subclasses include IntegerLessThanConstraint , IntegerGreaterThanConstraint , and IntegerEqualConstraint , which map to the obvious comparators for integers. |
NullConstraint | This class signifies that an axis cannot be constrained. This makes the most sense for axes which provide an average value - placing a constraint on an average doesn't make sense because you are not able to include or discard a particular operation based on what its effects would be on the average of all operations. |
PathConstraint | A superclass which constraints on file path values must extend. Currently, the only subclass is PathDescendantConstraint , which requires that a path value must be a descendant of the specified path (it must be contained within it). This only applies to paths on the Delphix Engine itself, and all paths used must be canonical Unix paths starting from the root of the filesystem. |
StringConstraint | A superclass which constraints on string values must extend. Currently, the only subclass is StringEqualsConstraint , which requires that a string value must equal a user-specified string. |
Command | Description and Usage Examples |
---|
getData | This is used to fetch data from a statistic slice which has been collecting data for a while. It returns a datapoint set, which is composed of datapoint streams, which contain datapoints. For a full description, see the Performance Analytics Tool Overview. |
rememberRange | This is used to ensure that data collected during an ongoing investigation doesn't get deleted unexpectedly. If this is not used, data is only guaranteed to be persisted for 24 hours. If it is used, data will be remembered until a corresponding call to stopRememberingRange is made. |
stopRememberingRange | This is used to allow previously-remembered data to be forgotten. The data will be forgotten on the same schedule as brand new data, so you will have at least 24 hours before data which you have stopped remembering is deleted. This undoes the rememberRange operation. |
pause | This command pauses the collection of a statistic slice, causing no data to be collected until resume is called. |
resume | This command resumes the collection of a statistic slice, undoing a pause operation. |