name = get('name');
run('select disk');
disks = list();
for (j = 0; j < disks.length; j++) {
run('select ' + disks[j]);
if (get('use') == params.type) {
params.disks.push(name + '/' +
get('label'));
}
run('cd ..');
}
run('cd ../..');
}
if (params.disks.length === 0)
throw ('No ' + params.type + ' disks found');
run('cd /');
}
}, {
step: 'Creating worksheet',
execute: function (params) {
/*
* In this step, we're ready to actually create the worksheet
* itself: we have the disks of the specified type and
* we know that we can create the worksheet. Note that we
* create several datasets: first, I/O bytes broken down
* by disk, with each disk of the specified type highlighted
* as a drilldown. Then, we create a separate dataset for
* each disk of the specified type. Finally, note that we
* aren't saving the datasets -- we'll let the user do that
* from the created worksheet if they so desire. (It would
* be straightforward to add a boolean parameter to this
* workflow that allows that last behavior to be optionally
* changed.)
*/
var disks = [], i;
run('analytics worksheets');
run('create "' + params.worksheet + '"');
run('select name="' + params.worksheet + '"');
run('dataset');
run('set name=io.bytes[disk]');
for (i = 0; i < params.disks.length; i++)
disks.push('"' + params.disks[i] + '"');
run('set drilldowns=' + disks.join(','));
run('commit');
for (i = 0; i < params.disks.length; i++) {
run('dataset');
run('set name="io.bytes[disk=' +
params.disks[i] + ']"');
Ejemplo: selección de tipo de dispositivo
Capítulo 3. Mantenimiento del sistema
315