Skip to main content
Skip table of contents

CLI cookbook: obtaining CPU performance information using CLI

There are times when it may be desirable to obtain analytics information about the Delphix Engine CPU, which is formatted differently than what is available from the Delphix User Interface (UI).

Troubleshooting

You can obtain running information by looking at the GUI > Resources > Performance Analytics. You will see the graph for CPU if the CPU is selected.

When logged into the Delphix Engine command-line interface (CLI) as delphix_admin, you can see the default analytics gathered:

dlpx5120.dcenter> analytics
dlpx5120.dcenter analytics> list
NAME STATISTICTYPE STATE COLLECTIONINTERVAL COLLECTIONAXES 
default.cpu CPU_UTIL RUNNING 1sec idle,kernel,user
default.disk DISK_OPS RUNNING 1sec op,avgLatency,latency,count,throughput
default.iscsi iSCSI_OPS RUNNING 1sec op,latency,count,throughput
default.network NETWORK_INTERFACE_UTIL RUNNING 1sec outBytes,networkInterface,inPackets,inBytes,outPackets
default.nfs NFS_OPS RUNNING 1sec op,latency,count,throughput
default.tcp TCP_STATS RUNNING 1sec congestionWindowSize,localPort,remotePort,receiveWindowSize,inUnorderedBytes,sendWindowSize,retransmittedBytes,outBytes,localAddress,roundTripTime,inBytes,unacknowledgedBytes,remoteAddress

Resolution

You can also obtain some information from the CLI, using the Performance Analytics Tool API Reference.

In order to view this information, you must log in with a user that had Delphix Admin privileges.

Option 1: Running an Existing Analytic

1.Login as admin and run analytics.

dlpx5120.dcenter> analytics
dlpx5120.dcenter analytics> list
NAME STATISTICTYPE STATE COLLECTIONINTERVAL COLLECTIONAXES 
default.cpu CPU_UTIL RUNNING 1sec idle,kernel,user
default.disk DISK_OPS RUNNING 1sec op,avgLatency,latency,count,throughput
default.iscsi iSCSI_OPS RUNNING 1sec op,latency,count,throughput
default.network NETWORK_INTERFACE_UTIL RUNNING 1sec outBytes,networkInterface,inPackets,inBytes,outPackets
default.nfs NFS_OPS RUNNING 1sec op,latency,count,throughput
default.tcp TCP_STATS RUNNING 1sec congestionWindowSize,localPort,remotePort,receiveWindowSize,inUnorderedBytes,sendWindowSize,retransmittedBytes,outBytes,localAddress,roundTripTime,inBytes,unacknowledgedBytes,remoteAddress

Children
statistic

Operations
create

2. To see the available properties for CPU analytics, select and list the default.cpu.

dlpx5120.dcenter analytics> select default.cpu
dlpx5120.dcenter analytics 'default.cpu'> ls
Properties
 type: StatisticSlice
 name: default.cpu
 axisConstraints: (empty)
 collectionAxes: idle,kernel,user
 collectionInterval: 1sec
 dataNode: DATA_NODE-1
 reference: ANALYTICS_STATISTIC_SLICE-1
 state: RUNNING
 statisticType: CPU_UTIL

Operations
delete
getData
pause
rememberRange
resume
stopRememberingRange

3. Specify setopt trace=true in order to see the CpuUtilDatapointStream datapoints.

dlpx5120.dcenter analytics 'default.cpu'> setopt trace=true

=== GET /resources/json/delphix/analytics/ANALYTICS_STATISTIC_SLICE-1 ===
=== RESPONSE ===
{
 "type": "OKResult",
 "status": "OK",
 "result": {
 "type": "StatisticSlice",
 "reference": "ANALYTICS_STATISTIC_SLICE-1",
 "namespace": null,
 "name": "default.cpu",
 "statisticType": "CPU_UTIL",
 "collectionInterval": 1,
 "state": "RUNNING",
 "collectionAxes": [
 "idle",
 "kernel",
 "user"
 ],
 "axisConstraints": [],
 "dataNode": "DATA_NODE-1"
 },
 "job": null,
 "action": null
}
=== END ===

4. Enter getData and commit to obtain the data gathered.

dlpx5120.dcenter analytics 'default.cpu'> getData
=== GET /resources/json/delphix/analytics/ANALYTICS_STATISTIC_SLICE-1 ===
=== RESPONSE ===
{
 "type": "OKResult",
 "status": "OK",
 "result": {
 "type": "StatisticSlice",
 "reference": "ANALYTICS_STATISTIC_SLICE-1",
 "namespace": null,
 "name": "default.cpu",
 "statisticType": "CPU_UTIL",
 "collectionInterval": 1,
 "state": "RUNNING",
 "collectionAxes": [
 "idle",
 "kernel",
 "user"
 ],
 "axisConstraints": [],
 "dataNode": "DATA_NODE-1"
 },
 "job": null,
 "action": null
}
=== END ===

dlpx5120.dcenter analytics 'default.cpu' getData *> commit
=== GET /resources/json/delphix/analytics/ANALYTICS_STATISTIC_SLICE-1/getData ===
=== RESPONSE ===
{
 "type": "OKResult",
 "status": "OK",
 "result": {
 "type": "DatapointSet",
 "resolution": 1,
 "datapointStreams": [
 {
 "type": "CpuUtilDatapointStream",
 "datapoints": [
 {
 "type": "CpuUtilDatapoint",
 "timestamp": "2016-12-06T13:53:30.000Z",
 "idle": 1946,
 "kernel": 33,
 "user": 19,
 "dtrace": null
 },
 {
 "type": "CpuUtilDatapoint",
 "timestamp": "2016-12-06T13:53:31.000Z",
 "idle": 1966,
 "kernel": 17,
 "user": 14,
 "dtrace": null
 },
 {
 "type": "CpuUtilDatapoint",
 "timestamp": "2016-12-06T13:53:32.000Z",
 "idle": 1968,
 "kernel": 17,
 "user": 13,
 "dtrace": null
 },
 {
 "type": "CpuUtilDatapoint",
 "timestamp": "2016-12-06T13:53:33.000Z",
 "idle": 1963,
 "kernel": 19,
 "user": 17,
 "dtrace": null
 },
 {
 "type": "CpuUtilDatapoint",
 "timestamp": "2016-12-06T13:53:34.000Z",
 "idle": 1968,
 "kernel": 16,
 "user": 15,
 "dtrace": null
 },
...
...
 {
 "type": "CpuUtilDatapoint",
 "timestamp": "2016-12-06T19:54:16.000Z",
 "idle": 1922,
 "kernel": 36,
 "user": 41,
 "dtrace": null
 },
 {
 "type": "CpuUtilDatapoint",
 "timestamp": "2016-12-06T19:54:17.000Z",
 "idle": 1953,
 "kernel": 26,
 "user": 20,
 "dtrace": null
 }
 ],
 "cpu": null
 }
 ],
 "overflow": false
 },
 "job": null,
 "action": null
}
=== END ===
 type: DatapointSet
 datapointStreams:
 0:
 type: CpuUtilDatapointStream
 datapoints: [ ... ]
 overflow: false
 resolution: 1sec

Option 2: Creating a New Analytic

1. Log in as admin and then run analytics
2. Run create and list the properties.

dlpx5120.dcenter analytics> create
dlpx5120.dcenter analytics create *> ls
Properties
 type: StatisticSlice
 name: (required)
 axisConstraints: (unset)
 collectionAxes: (required)
 collectionInterval: (unset)
 dataNode: (unset)
 statisticType: (required)

3. Set the required Properties name, collectionAxes and statisticType (if you are unsure you can run help for options) for=""> for options)>

set name=test.cpu
set collectionAxes=kernel
set statisticType=CPU_UTIL

dlpx5120.dcenter analytics create *> ls
Properties
 type: StatisticSlice
 name: test.cpu
 axisConstraints: (unset)
 collectionAxes: kernel
 collectionInterval: (unset)
 dataNode: (unset)
 statisticType: CPU_UTIL

4. Commit to being data collection.

dlpx5120.dcenter analytics create *> commit


=== POST /resources/json/delphix/analytics ===
{
 "type": "StatisticSlice",
 "name": "test.cpu",
 "collectionAxes": [
 "kernel"
 ],
 "statisticType": "CPU_UTIL"
}
=== RESPONSE ===
{
 "type": "OKResult",
 "status": "OK",
 "result": "ANALYTICS_STATISTIC_SLICE-7",
 "job": null,
 "action": "ACTION-656"
}
=== END ===
 `ANALYTICS_STATISTIC_SLICE-7

5. Use ls to see the new test.cpu analytic

dlpx5120.dcenter analytics> ls

NAME STATISTICTYPE STATE COLLECTIONINTERVAL COLLECTIONAXES 
default.cpu CPU_UTIL RUNNING 1sec idle,kernel,user
test.cpu CPU_UTIL RUNNING 1sec kernel
default.disk DISK_OPS RUNNING 1sec op,avgLatency,latency,count,throughput
default.iscsi iSCSI_OPS RUNNING 1sec op,latency,count,throughput
default.network NETWORK_INTERFACE_UTIL RUNNING 1sec outBytes,networkInterface,inPackets,inBytes,outPackets
default.nfs NFS_OPS RUNNING 1sec op,latency,count,throughput
default.tcp TCP_STATS RUNNING 1sec congestionWindowSize,localPort,remotePort,receiveWindowSize,inUnorderedBytes,sendWindowSize,retransmittedBytes,outBytes,localAddress,roundTripTime,inBytes,unacknowledgedBytes,remoteAddress

Children
statistic

Operations
create

6. Select test.cpu and use getData and commit to see the data gathered.

dlpx5120.dcenter analytics> select test.cpu
dlpx5120.dcenter analytics  'test.cpu'> ls
dlpx5120.dcenter analytics  'test.cpu'> getData
dlpx5120.dcenter analytics  'test.cpu' getData *> commit

7. Use delete to stop the collection and delete test.cpu

dlpx5120.dcenter analytics 'test.cpu'> delete
dlpx5120.dcenter analytics 'test.cpu' delete *> commit
=== POST /resources/json/delphix/analytics/ANALYTICS_STATISTIC_SLICE-7/delete ===
{}
=== RESPONSE ===
{
 "type": "OKResult",
 "status": "OK",
 "result": "",
 "job": null,
 "action": "ACTION-657"
}
=== END ===
 
dlpx5120.dcenter analytics> ls

NAME STATISTICTYPE STATE COLLECTIONINTERVAL COLLECTIONAXES 
default.cpu CPU_UTIL RUNNING 1sec idle,kernel,user
default.disk DISK_OPS RUNNING 1sec op,avgLatency,latency,count,throughput
default.iscsi iSCSI_OPS RUNNING 1sec op,latency,count,throughput
default.network NETWORK_INTERFACE_UTIL RUNNING 1sec outBytes,networkInterface,inPackets,inBytes,outPackets
default.nfs NFS_OPS RUNNING 1sec op,latency,count,throughput
default.tcp TCP_STATS RUNNING 1sec congestionWindowSize,localPort,remotePort,receiveWindowSize,inUnorderedBytes,sendWindowSize,retransmittedBytes,outBytes,localAddress,roundTripTime,inBytes,unacknowledgedBytes,remoteAddress

Children
statistic

Operations
create
dlpx5120.dcenter analytics>


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.