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 namecollectionAxes 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>