HP MSA 1040 HP MSA 1040 CLI Reference Guide (762782-001, March 2014) - Page 19

XML API optimization

Page 19 highlights

XML API optimization The following are two ways to optimize XML API performance: • Use embedded objects. This allows one object to contain not only properties but also other objects. In general, parsing a structure such as this is easier as the association between objects is simpler. This is an alternative to using COMP elements. • Use brief mode. In brief mode, which is disabled by default, returns a subset of attributes of object properties. The name and type attributes are always returned. Other properties can be obtained by using the meta command with the basetype of the object. This optimization reduces the number of bytes transmitted for each request and allows caching of CLI metadata. Brief mode can be enabled or disabled by using the set cli-parameters command. In the following example, which uses brief mode, embedded objects contain media-specific detail for ports: # show ports hostport_A1 A 1 A1 FC 6 FC(-) target-ID Disconnected 6 255 Auto 3 N/A 4 There is no host connection to this host port. - No action is required. Loop 0 hostport_A2 ... Success 0 Command completed successfully. 0 2012-01-27 12:11:10 1281442270 Using the XML API 19

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336
  • 337
  • 338
  • 339
  • 340
  • 341
  • 342
  • 343
  • 344
  • 345
  • 346
  • 347
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • 354
  • 355
  • 356
  • 357
  • 358
  • 359
  • 360
  • 361
  • 362
  • 363
  • 364
  • 365
  • 366
  • 367
  • 368
  • 369
  • 370
  • 371
  • 372
  • 373
  • 374
  • 375
  • 376
  • 377
  • 378
  • 379
  • 380
  • 381
  • 382
  • 383
  • 384
  • 385
  • 386
  • 387
  • 388
  • 389
  • 390
  • 391
  • 392
  • 393
  • 394
  • 395
  • 396
  • 397
  • 398
  • 399
  • 400
  • 401
  • 402
  • 403
  • 404
  • 405
  • 406
  • 407
  • 408
  • 409
  • 410
  • 411
  • 412
  • 413
  • 414
  • 415
  • 416
  • 417
  • 418
  • 419
  • 420
  • 421
  • 422
  • 423
  • 424
  • 425
  • 426
  • 427
  • 428
  • 429
  • 430
  • 431
  • 432
  • 433
  • 434
  • 435
  • 436
  • 437
  • 438
  • 439
  • 440
  • 441
  • 442
  • 443
  • 444
  • 445
  • 446
  • 447
  • 448
  • 449
  • 450
  • 451
  • 452
  • 453
  • 454
  • 455
  • 456
  • 457
  • 458
  • 459
  • 460
  • 461
  • 462
  • 463
  • 464
  • 465
  • 466
  • 467
  • 468
  • 469
  • 470
  • 471
  • 472
  • 473
  • 474
  • 475
  • 476
  • 477
  • 478
  • 479
  • 480
  • 481
  • 482
  • 483
  • 484
  • 485
  • 486
  • 487
  • 488
  • 489
  • 490
  • 491
  • 492
  • 493
  • 494
  • 495
  • 496
  • 497
  • 498
  • 499
  • 500
  • 501
  • 502
  • 503
  • 504
  • 505
  • 506
  • 507
  • 508
  • 509
  • 510
  • 511
  • 512
  • 513
  • 514
  • 515
  • 516
  • 517
  • 518
  • 519
  • 520
  • 521
  • 522

Using the XML API
19
XML API optimization
The following are two ways to optimize XML API performance:
Use embedded objects. This allows one object to contain not only properties but also other objects. In
general, parsing a structure such as this is easier as the association between objects is simpler. This is
an alternative to using
COMP
elements.
Use brief mode. In brief mode, which is disabled by default, returns a subset of attributes of object
properties. The name and type attributes are always returned. Other properties can be obtained by
using the
meta
command with the basetype of the object. This optimization reduces the number of bytes
transmitted for each request and allows caching of CLI metadata. Brief mode can be enabled or
disabled by using the
set cli-parameters
command.
In the following example, which uses brief mode, embedded objects contain media-specific detail for ports:
# show ports
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RESPONSE VERSION="L100">
<OBJECT basetype="port" name="name" oid="1" format="rows">
<PROPERTY name="durable-id">hostport_A1</PROPERTY>
<PROPERTY name="controller" key="true">A</PROPERTY>
<PROPERTY name="controller-numeric" key="true">1</PROPERTY>
<PROPERTY name="port" key="true">A1</PROPERTY>
<PROPERTY name="port-type" type="string">FC</PROPERTY>
<PROPERTY name="port-type-numeric" type="string">6</PROPERTY>
<PROPERTY name="media">FC(-)</PROPERTY>
<PROPERTY name="target-id">
target-ID
</PROPERTY>
<PROPERTY name="status">Disconnected</PROPERTY>
<PROPERTY name="status-numeric">6</PROPERTY>
<PROPERTY name="actual-speed"></PROPERTY>
<PROPERTY name="actual-speed-numeric">255</PROPERTY>
<PROPERTY name="configured-speed">Auto</PROPERTY>
<PROPERTY name="configured-speed-numeric">3</PROPERTY>
<PROPERTY name="health">N/A</PROPERTY>
<PROPERTY name="health-numeric">4</PROPERTY>
<PROPERTY name="health-reason">There is no host connection to this host
port.</PROPERTY>
<PROPERTY name="health-recommendation">- No action is required.</PROPERTY>
<OBJECT basetype="fc-port" name="port-details" oid="2" format="rows">
<PROPERTY name="configured-topology">Loop</PROPERTY>
<PROPERTY name="primary-loop-id">0</PROPERTY>
</OBJECT>
</OBJECT>
<OBJECT basetype="port" name="name" oid="3" format="rows">
<PROPERTY name="durable-id">hostport_A2</PROPERTY>
...
</OBJECT>
<OBJECT basetype="status" name="status" oid="5">
<PROPERTY name="response-type">Success</PROPERTY>
<PROPERTY name="response-type-numeric">0</PROPERTY>
<PROPERTY name="response">Command completed successfully.</PROPERTY>
<PROPERTY name="return-code">0</PROPERTY>
<PROPERTY name="component-id"></PROPERTY>
<PROPERTY name="time-stamp">2012-01-27 12:11:10</PROPERTY>
<PROPERTY name="time-stamp-numeric">1281442270</PROPERTY>
</OBJECT>
</RESPONSE>