Applicable Delphix Engine Versions
- 5.0.x
- 5.1.x
Issue
There are times when it may be desirable to obtain analytics information about the Delphix Engine CPU, that is formatted differently than what is available from the Delphix User Interface (UI).
Troubleshooting
You can obtain running information by looking in the GUI > Resources > Performance Analytics. You will see the graph for CPU, if 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 delphix_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
analytics
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)
name
, collectionAxes
and statisticType (if you are unsure you can run help <command> 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>
Related Links
- Performance Analytics Tool API Reference.
- Additional API and CLI information can be obtained by logging into you Delphix Engine as delphix_admin then select Help > API Documentation