APIs in Category: perf
API version 3.6R2

 
perf-assoc-view-list-iter-end
perf-assoc-view-list-iter-next
perf-assoc-view-list-iter-start
perf-counter-group-create
perf-counter-group-destroy
perf-counter-group-get-data
perf-counter-group-get-dynamic-data-sources
perf-counter-group-list-info
perf-counter-group-list-iter-end
perf-counter-group-list-iter-next
perf-counter-group-list-iter-start
perf-counter-group-modify
perf-counter-group-start
perf-counter-group-stop
perf-disable-data-collection
perf-disable-object-update
perf-enable-data-collection
perf-enable-object-update
perf-get-counter-list-not-in-view
perf-get-server-status
perf-object-counter-list-info
perf-object-instance-list-iter-end
perf-object-instance-list-iter-next
perf-object-instance-list-iter-start
perf-object-list-info
perf-status-get
perf-threshold-create
perf-threshold-delete
perf-threshold-list-info-iter-end
perf-threshold-list-info-iter-next
perf-threshold-list-info-iter-start
perf-threshold-modify
perf-view-associated-objects-list
perf-view-create
perf-view-destroy
perf-view-get-data
perf-view-list-iter-end
perf-view-list-iter-next
perf-view-list-iter-start
perf-view-modify
perf-view-object-association-add
perf-view-object-association-delete

NetApp Manage ONTAP
 
perf-assoc-view-list-iter-end [top]

Terminate a view list iteration and clean up any saved info by a previous call to perf-assoc-view-list-iter-start
Input Name Range Type Description
tag string
Tag from a previous perf-assoc-view-list-iter-start.
 Errno  Description
 EINVALIDTAG

 
perf-assoc-view-list-iter-next [top]
Returns objects from a previous call to perf-assoc-view-list-iter-start
Input Name Range Type Description
maximum integer
The maximum number of entries to retrieve. Range: [1..2^31-1]
tag string
Tag from a previous perf-view-list-info-iter-start.
 
Output Name Range Type Description
records integer
The number of records actually returned. Range: [1..2^31-1]
views perf-view[]
A list of views
 Errno  Description
 EINVALIDTAG
 EINVALIDINPUTERROR

 
perf-assoc-view-list-iter-start [top]
Initiates a query for a list of performance views.
Input Name Range Type Description
assoc-obj-type perf-assoc-obj-type
optional
If specified, only views with a matching associated object type will be returned. This is ignored if object-name-or-id is specified. Otherwise, all performance views will be returned (subject to the other optional parameters).
object-name-or-id obj-name-or-id
optional
Name or identifier of an object to list views for. If not specified, all views will be returned (subject to the other optional parameters). The allowed object types for this argument are
  • Resource Group
  • Data set
  • Resource Pool
  • Host
  • vFiler
  • Aggregate
  • Volume
  • Qtree
  • Lun
verbose boolean
optional
If this is set to false, only a few fields for each view is returned instead of the entire metadata Default is true The following fields will be returned for each view
    view-name view-type
view-type string
optional
Indicates the type of views to be returned. If not specified, all types of views will be returned (subject to the other optional parameters). Possible values are
    "custom_view" "canned_view" "summary_view"
 
Output Name Range Type Description
records integer
Number indicating how many items are available for future retrieval via calls to perf-view-list-iter-next
tag string
Tag to be used in subsequent calls to perf-view-list-iter-next or perf-view-list-iter-end
 Errno  Description
 EOBJECTNOTFOUNDERROR
 EINTERNALERROR
 EAPIERROR
 EACCESSDENIED
 EDATABASEERROR
 EOBJECTAMBIGUOUS
 EINVALIDINPUTERROR

 
perf-counter-group-create [top]
Creates a counter group. Global DFM.PerfView.Write is required to create historical counter group. To create a real-time counter group Global DFM.PerfView.RealTimeRead is required.
Input Name Range Type Description
counter-group perf-counter-group
The counter group to create.
 Errno  Description
 EAPIPRIVILEDGE
 EAPINOTLICENSED

 
perf-counter-group-destroy [top]
Destroys a counter group. Privilege to destroy a historical counter group is Global DFM.PerfView.Delete. And to destroy a real-time counter group, Global DFM.PerfView.RealTimeRead is required.
Input Name Range Type Description
appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards.
counter-group-name string
Name of counter group to destroy. All the views that are using the counter group are automatically destroyed.
group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified.
 Errno  Description
 EAPIPRIVILEDGE
 EAPINOTLICENSED

 
perf-counter-group-get-data [top]
Retrieve a set of data for a set of data sources from a specific counter group. The data is extracted for the given time interval bounded by start-time and end-time. This API is suitable for extracting the data for a single line in a chart (graph). Privilege required is DFM.Database.Read. For viewing real-time data Global DFM.PerfView.RealTimeRead is also required.
Input Name Range Type Description
appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards.
counter-group-name string
Counter group name from which we want to fetch data.
data-group perf-data-group
A definition of the data source(s) requested, plus an optional consolidation method.
end-time integer
optional
Time stamp marking the end of requested data. The timestamp value is the time in seconds since 00:00:00 Jan 1, 1970, UTC. If unspecified, server should end with the latest available data.
group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified.
sample-rate integer
optional
The desired interval between samples, in seconds. If the available samples have higher resolution than the one specified, multiple samples are consolidated into one sample to achieve the desired resolution, using the specified time-consolidation-method. If unspecified, the data returned will be at the sample-rate specified upon creation of the counter group.
start-time integer
optional
Time stamp marking the beginning of requested data. The timestamp value is the time in seconds since 00:00:00 Jan 1, 1970, UTC. If unspecified, server should begin with the earliest available data.
time-consolidation-method string
optional
A function to apply across the data to achieve the desired time resolution, if the requested sample-rate is different from the actual sample-rate of the data. The values can be average, min, max, or last. The default is last.
 
Output Name Range Type Description
counter-data string
The retrieved data - possibly consolidated, but just a single array. The format is a series of comma-separated timestamp:value pairs. The timestamp value is the time in seconds since 00:00:00 Jan 1, 1970, UTC. The values may have optional decimal extensions, for example 1064439599:127,1064439600:98.6,1064439601:12
unit string
optional
Unit of counter-data. This element will not be present if the unit is not known. Some possible values are per_sec, percent, b_per_sec, kb_per_sec, msecs, usecs. Maximum Length: 32 characters.
 Errno  Description
 EAPIPRIVILEDGE
 EAPINOTLICENSED

 
perf-counter-group-get-dynamic-data-sources [top]
Retrieve a list of top-n data sources for a counter. Privilege required is read.
Input Name Range Type Description
appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards.
counter-group-name string
Counter group name from which we want to fetch data.
dynamic-data-sources perf-dynamic-data-sources
Criteria for choosing top-n instances for a counter.
group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified.
 
Output Name Range Type Description
data-sources perf-data-source[]
Identifiers for the data sources correspoing to dynamic instances. Each perf-data-source represents one instance.
 Errno  Description
 EAPIPRIVILEDGE
 EGROUPDOESNOTEXIST
 EAPINOTLICENSED

 
perf-counter-group-list-info [top]
Retrieve one or more counter groups. Privilege required is read.
Input Name Range Type Description
appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards.
counter-group-name string
optional
Counter group name to retrieve. If unspecified, all counter groups will be retrieved.
custom-only boolean
optional
If TRUE, returns only custom counter groups, by default FALSE.
group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified.
meta-data-only boolean
optional
If TRUE, do not return any perf-data-sources with the perf-counter-group. By default FALSE.
 
Output Name Range Type Description
counter-groups perf-counter-group[]
Counter group(s) retrieved.
 Errno  Description
 EAPIPRIVILEDGE
 EAPINOTLICENSED

 
perf-counter-group-list-iter-end [top]
Terminate a counter group list iteration and clean up any saved info. Privilege required is read.
Input Name Range Type Description
tag string
The tag from a previous perf-counter-group-list-iter- call.
 Errno  Description
 EAPIPRIVILEDGE

 
perf-counter-group-list-iter-next [top]
Returns items from a previous call to perf-counter-group-list-iter-start. Privilege required is read.
Input Name Range Type Description
maximum integer
The maximum number of entries to retrieve.
tag string
The tag from a previous perf-counter-group-list-iter- call.
 
Output Name Range Type Description
counter-groups perf-counter-group[]
Counter group(s) retrieved.
 Errno  Description
 EAPIPRIVILEDGE

 
perf-counter-group-list-iter-start [top]
Initiates a query for a list of performance counter group names. Privilege required is read.
Input Name Range Type Description
appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards.
counter-group-name string
optional
Counter group name to retrieve. If unspecified, all counter groups will be retrieved.
custom-only boolean
optional
if TRUE, only custom groups will be retrieved, by default false
group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified.
meta-data-only boolean
optional
If TRUE, do not include any perf-data-sources with each perf-counter-groups.
 Errno  Description
 EAPIPRIVILEDGE

 
perf-counter-group-modify [top]
Modify an existing counter group. For default counter groups the only modifiable parameter is sample-buffer. All other inputs are ignored and hence remain unchanged. Privilege required is read/write.
Input Name Range Type Description
appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards.
counter-group perf-counter-group
The new counter group information. Note that the new counter group name may be different from the old counter group name. If different, the new counter group name must not already exist.
counter-group-name string
The name of the counter group to modify.
group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified.
 Errno  Description
 EAPIPRIVILEDGE
 EAPINOTLICENSED

 
perf-counter-group-start [top]
Start data collection for one counter group. Privilege required is Global DFM.PerfView.Write for normal views and Global DFM.PerfView.RealTimeRead for real-time views.
Input Name Range Type Description
appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards.
counter-group-name string
Counter group name to start data collection for. This must not be a default counter group.
group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified.
 Errno  Description
 EAPIPRIVILEDGE
 EAPINOTLICENSED

 
perf-counter-group-stop [top]
Stop data collection for one counter group. Privilege required is Global DFM.PerfView.Write for normal views and Global DFM.PerfView.RealTimeRead for real-time views.
Input Name Range Type Description
appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards.
counter-group-name string
Counter group name to stop data collection for. This must not be a default counter group.
group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified.
 Errno  Description
 EAPIPRIVILEDGE
 EAPINOTLICENSED

 
perf-disable-data-collection [top]
Disables DFM performance advisor data collection.
Input Name Range Type Description
is-async boolean
optional
Returns immediately without waiting for DFM performance advisor to disable the data collection completely (when set to true). By default this API is synchronous.
 Errno  Description
 EINTERNALERROR
 EAPIERROR
 EACCESSDENIED
 EDATABASEERROR

 
perf-disable-object-update [top]
Disables any modification to DFM performance advisor views, counter groups and object instances.
 Errno  Description
 EINTERNALERROR
 EAPIERROR
 EACCESSDENIED
 EDATABASEERROR

 
perf-enable-data-collection [top]
Enables DFM performance advisor data collection.
 Errno  Description
 EINTERNALERROR
 EAPIERROR
 EACCESSDENIED
 EDATABASEERROR

 
perf-enable-object-update [top]
Enables modifications to DFM performance advisor views, counter groups and object instances.
 Errno  Description
 EINTERNALERROR
 EAPIERROR
 EACCESSDENIED
 EDATABASEERROR

 
perf-get-counter-list-not-in-view [top]
Given an array of performance objects and counters, the API will return a list of all counters that are not part of any view.
Input Name Range Type Description
object-counter-list perf-object-counter-info[]
Array of perf-object-counter-info elements for which information is needed, to know whether they belong to any view or not.
 
Output Name Range Type Description
orphan-object-counter-list perf-object-counter-info[]
Array of perf-object-counter-info elements that are not part of any view.
 Errno  Description
 EINTERNALERROR
 EAPIPRIVILEDGE
 ECOUNTERDOESNOTEXIST
 EOBJECTDOESNOTEXIST
 EACCESSDENIED
 EINVALIDINPUTERROR

 
perf-get-server-status [top]
Returns the status of DFM Performance Advisor.
Output Name Range Type Description
status perf-server-status
Specifies the status of Performance Advisor.
 Errno  Description
 EINTERNALERROR
 EAPIERROR
 EACCESSDENIED
 EDATABASEERROR

 
perf-object-counter-list-info [top]
Retrieve information about a performance object's counters. (No iterator-based equivalent exists for this API because the number of object counters is fewer than two hundred in number.) Privilege required is read.
Input Name Range Type Description
appliance-name-or-id string
optional
The name or unique ID for the appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next API. The API will accept a vfiler name or id from DFM 3.3 onwards.
object-name string
Name of the performance object to retrieve counters for. Object names are broad classes of system components and protocols, like NFS, VOLUME, DISK, ...
 
Output Name Range Type Description
counters perf-counter[]
Counters retrieved.
 Errno  Description
 EAPIPRIVILEDGE

 
perf-object-instance-list-iter-end [top]
Terminate an instance list iteration and clean up any saved info. Privilege required is read.
Input Name Range Type Description
tag string
The tag from a previous perf-object-instance-list-iter- call.
 Errno  Description
 EAPIPRIVILEDGE

 
perf-object-instance-list-iter-next [top]
Returns items from a previous call to perf-object-instance-list-iter-start Privilege required is read.
Input Name Range Type Description
maximum integer
The maximum number of entries to retrieve.
tag string
The tag from a previous perf-object-instance-list-iter- call.
 
Output Name Range Type Description
instances perf-instance[]
A list of instances.
 Errno  Description
 EAPIPRIVILEDGE

 
perf-object-instance-list-iter-start [top]
Initiates a query for a list of performance object instance names. Privilege required is read.
Input Name Range Type Description
appliance-name-or-id string
Name (or unique ID) of the appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next API. The API will accept a vfiler name or id from DFM 3.3 onwards.
object-name string
Name of the performance object to retrieve instances for. Object names are broad classes of system components and protocols, like NFS, VOLUME, DISK, ...
 
Output Name Range Type Description
records integer
Number indicating how many items are avialble for future retrieval with perf-object-instance-list-iter-next.
tag string
Tag to be used in subsequent calls to perf-object-instance-list-iter-next or perf-object-instance-list-iter-end.
 Errno  Description
 EAPIPRIVILEDGE

 
perf-object-list-info [top]
Get a list of performance objects. (No iterator-based equivalent exists for this API because the number of performance objects is fewer than twenty in number.) Privilege required is read.
Input Name Range Type Description
appliance-name-or-id string
optional
Name (or unique ID) of the appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next API. The API will accept a vfiler name or id from DFM 3.3 onwards.
 
Output Name Range Type Description
objects perf-object[]
A list of performance objects.
 Errno  Description
 EAPIPRIVILEDGE

 
perf-status-get [top]
Returns the DFM performance advisor status
Input Name Range Type Description
host-name-or-id string
DFM name or id of the host
 
Output Name Range Type Description
data-unavailable-reason perf-status-error[]
optional
This element is included only if is-data-available is set to false and indicates the reason(s) for failure.
is-data-available boolean
Returns if the performance data can be collected for this host
 Errno  Description
 EAPIPRIVILEDGE
 EAPIERROR

 
perf-threshold-create [top]
Sets threshold values on one or more objects based on a performance counter. Privilege required is DFM.Database.Write. Threshold will be set only if the User has DFM.Database.Write permission over the object specified.
Input Name Range Type Description
threshold-info threshold-info
Information about a threshold that needs to be set.
 
Output Name Range Type Description
threshold-id threshold-id
If the threshold does not exist and is being created for the first time, then this parameter is present in the output. If a threshold already exists, then an error is returned instead of this parameter.
 Errno  Description
 EAPINOTLICENSED
 EAPIPRIVILEDGE
 ECOUNTERDOESNOTEXIST
 EINTERNALERROR
 EINVALIDINPUTERROR
 EOBJECTDOESNOTEXIST
 ETHRESHOLDEXIST
 EACCESSDENIED
 EOBJECTNOTFOUND

 
perf-threshold-delete [top]
Removes threshold set on a counter. Privilege required is DFM.Database.Write. Threshold will be deleted only if the User has DFM.Database.Write permissions over the object specified.
Input Name Range Type Description
threshold-id threshold-id
The unique identifier of a threshold that needs to be deleted.
 Errno  Description
 EAPINOTLICENSED
 EAPIPRIVILEDGE
 EINTERNALERROR
 EINVALIDINPUTERROR
 EACCESSDENIED
 EDATABASEERROR

 
perf-threshold-list-info-iter-end [top]
Terminate a counter-thresholds-list iteration and clean up any saved info. Privilege required is DFM.Database.Read. Only thresholds on objects over which the user has DFM.Database.Read permissions will be returned.
Input Name Range Type Description
tag string
The tag from a previous perf-threshold-list-iter call.
 Errno  Description
 EAPIPRIVILEDGE
 EINVALIDTAG

 
perf-threshold-list-info-iter-next [top]
The perf-threshold-list-info-iter-* list of APIs are used to retrieve the list of all counters on which thresholds have been set. It loads the list of counters on which thresholds have been set into a temporary store. The API returns a tag that identifies that temporary store so that subsequent APIs can be used to iterate over the threshold related counters in the temporary store. Privilege required is DFM.Database.Read. Only thresholds on objects over which the user has DFM.Database.Read permissions will be returned.
Input Name Range Type Description
maximum integer
The maximum number of entries to retrieve.

Range: [1..2^31-1]

tag string
The tag from a previous perf-threshold-list-iter call.
 
Output Name Range Type Description
attributes-list threshold-info[]
List of performance thresholds.
 Errno  Description
 EAPIPRIVILEDGE
 EINVALIDTAG

 
perf-threshold-list-info-iter-start [top]
The perf-threshold-list-info-iter-* list of APIs are used to retrieve the list of all counters on which thresholds have been set. It loads the list of counters on which thresholds have been set into a temporary store. The API returns a tag that identifies a temporary store so that subsequent APIs can be used to iterate over the threshold related counters in the temporary store. Privilege required is DFM.Database.Read. Only thresholds on objects over which the User has DFM.Database.Read permissions will be returned.
Input Name Range Type Description
query threshold-info
optional
Attributes of the thresholds that need to be listed. If none of the parameters are specified, then all the thresholds will be listed.

If a single threshold-id is specified, then only information relevant to that threshold will be returned and the rest of the parameters will be ignored.

If only an object-name-or-id is specified, then only thresholds set on that object will be returned. Ex. if object-name-or-id identifies a volume, thresholds set on that volume only will be returned. If object-name-or-id resolves to more than one volume, thresholds set on all of them will be returned. If no object-name-or-id is provided, all thresholds will be listed.

Likewise, if only perf-object-counter is specified, only thresholds that belong to this counter-name and object type will be returned. If no counter-name is specified, thresholds set on any counter is returned.

If both object-name-or-id and perf-object-counter is specified, then only thresholds set on a combination of all these parameters will be listed.

The rest of the parameters in threshold-info are ignored.

 
Output Name Range Type Description
records integer
Number indicating how many items are available for future retrieval via calls to perf-threshold-list-info-iter-next
tag string
Tag to be used in subsequent calls to perf-threshold-list-info-iter-next. It is an opaque handle used by the DFM station to identify a temporary store.
 Errno  Description
 EACCESSDENIED
 EAPIERROR
 EAPINOTLICENSED
 EAPIPRIVILEDGE
 ECOUNTERDOESNOTEXIST
 EINTERNALERROR
 EINVALIDINPUTERROR
 EOBJECTDOESNOTEXIST

 
perf-threshold-modify [top]
Allows modification of threshold value and threshold interval that have been set before. Privilege required is DFM.Database.Write.
Input Name Range Type Description
attributes threshold-info
Attributes of a threshold that needs to be modified. If the threshold-id is specified, then object-name-or-id and perf-object-counter are ignored. If the threshold-id is not specified, then object-name-or-id and perf-object-counter are mandatory. The rest of the parameters are optional. If the threshold-value specified is in a different metric, then the threshold-unit needs to be specified for appropriate conversion.
 Errno  Description
 EAPINOTLICENSED
 EAPIPRIVILEDGE
 ECOUNTERDOESNOTEXIST
 EINTERNALERROR
 EINVALIDINPUTERROR
 EOBJECTDOESNOTEXIST
 EACCESSDENIED
 EDATABASEERROR

 
perf-view-associated-objects-list [top]
List all the objects associated with the view.
Input Name Range Type Description
view-name string
The view for which to list associated objects
 
Output Name Range Type Description
objects object-info[]
The objects that are associated with the view
 Errno  Description
 EOBJECTNOTFOUND
 EINTERNALERROR
 EAPIERROR
 EDATABASEERROR
 EINVALIDINPUTERROR

 
perf-view-create [top]
Create a performance view. A performance view consists of one or more charts, but each view refers to only a single counter group. Global DFM.PerfView.Write RBAC capability is required to create normal views while Global DFM.PerfView.RealTimeRead is required to create real-time view.
Input Name Range Type Description
data-sources perf-data-source[]
optional
Identifiers for the data sources to be retrieved in later queries. The data-sources can not contain 'group' data source. i.e. instance-name must be specified for each perf-data-source. The data-sources should not contain a data source that specifies label-names field. This is because counter group always collects data for the whole counter i.e. for all labels. perf-data-source is not required for default counter groups. The perf-counter-group-modify API ignores this element for default counter groups.
real-time boolean
optional
Designates whether the counter group is real-time, in other words, if no user is getting data from the group, then the counter group will no longer get data. By default FALSE.
view perf-view
A performance view to create.
 Errno  Description
 EAPIPRIVILEDGE
 EAPINOTLICENSED
 EPERFUPDATEDISABLED

 
perf-view-destroy [top]
Destroy a performance view. Global DFM.PerfView.Delete is required for destroying normal views while Global DFM.PerfView.RealTimeRead is required for destroying real-time views.
Input Name Range Type Description
appliance-name-or-id string
optional
Name (or unique ID) of the appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next API. The API will accept a vfiler name or id from DFM 3.3 onwards.
group-name-or-id string
optional
The group that this view is associated with. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs.
is-counter-group-also-deleted boolean
optional
Also destroy the associated counter group. Default is false. This option is ignored if the counter group is default.
view-name string
Name of the view to be destroyed.
 Errno  Description
 EAPIPRIVILEDGE
 EAPINOTLICENSED

 
perf-view-get-data [top]
Retrieve data for a single data-source from a specific performance view. The data is extracted for the given time interval bounded by start-time and end-time.
Input Name Range Type Description
direction string
optional
This field is used only when duration is specified It is used to derive the time period for which data is to be retrieved. Possible values are 'forward' and 'backward' If the value is set to 'forward', then data for the oldest duration is returned If the value is set to 'backward', then most recent data is returned Default value is 'backward'
duration integer
optional
The duration for which the data is to be returned. The time period is calculated based on the offset flag. Range: [0..(2^32)-1]
dynamic-object-info perf-dynamic-data-sources
optional
This defines what objects are to be displayed for dynamic charts like top-N objects
end-time integer
optional
Time stamp marking the end of requested data. The timestamp value is the time in seconds since 00:00:00 Jan 1, 1970, UTC. If unspecified, server should end with the latest available data Range: [0..(2^32)-1]
instance perf-counter-instance
optional
The object instance for which data is to be retrieved
is-dynamic boolean
optional
Indicates if top n data sources should be returned Default is false
number-samples integer
optional
The total number of samples to be returned. The sample-rate will be calculated based on the start-time and end-time If the available samples have higher resolution than the one specified, multiple samples are consolidated into one sample to achieve the desired resolution, using the specified time-consolidation-method. If unspecified, the number of samples returned will be based on the sample-rate specified upon creation of the view. Either sample-rate or number-samples should be specified, but not both Range: [1..(2^32)-1]
sample-rate integer
optional
The desired interval between samples, in seconds. If the available samples have higher resolution than the one specified, multiple samples are consolidated into one sample to achieve the desired resolution, using the specified time-consolidation-method. If unspecified, the data returned will be at the sample-rate specified upon creation of the view Range: [1..(2^32)-1]
start-time integer
optional
Time stamp marking the beginning of requested data. The timestamp value is the time in seconds since 00:00:00 Jan 1, 1970, UTC. If unspecified, server should begin with the earliest available data. Range: [0..(2^32)-1]
time-consolidation-method string
optional
A function to apply across the data to achieve the desired time resolution, if the requested sample-rate is different from the actual sample-rate of the data. Possible values : 'average' 'min' 'max' 'last' Default is 'last'
view-name string
The view from which data is to be retrieved Maximum length is 255
 
Output Name Range Type Description
counter-data string
optional
A single array of the retrieved data. The format is a series of comma-separated timestamp:value pairs. The timestamp value is the time in seconds since 00:00:00 Jan 1, 1970, UTC. The values may have optional decimal extensions, for example 1064439599:127,1064439600:98.6,1064439601:12
dynamic-data dynamic-data[]
optional
Contains data for top-N objects
unit string
optional
Unit of counter-data. This element will not be present if the unit is not known. Some possible values are per_sec, percent, b_per_sec, kb_per_sec, msecs, usecs. Maximum Length: 32 characters.
 Errno  Description
 EOBJECTNOTFOUNDERROR
 EINTERNALERROR
 EAPIERROR
 EACCESSDENIED
 EDATABASEERROR
 EINVALIDINPUTERROR

 
perf-view-list-iter-end [top]
Terminate a view list iteration and clean up any saved info. Privilege required is read.
Input Name Range Type Description
tag string
Tag from a previous perf-view-list-iter-start
 Errno  Description
 EAPIPRIVILEDGE
 EAPINOTLICENSED

 
perf-view-list-iter-next [top]
Retrieve items from a previous call to perf-view-list-iter-start Privilege required is read.
Input Name Range Type Description
maximum integer
The maximum number of entries to retrieve.
tag string
The tag from a previous perf-view-list-iter- call.
 
Output Name Range Type Description
views perf-view[]
A list of views.
 Errno  Description
 EAPIPRIVILEDGE
 EAPINOTLICENSED

 
perf-view-list-iter-start [top]
Initiates a query for a list of performance views. Privilege required is read.
Input Name Range Type Description
appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards. Only the views for matching appliance are returned.
custom-only boolean
optional
If TRUE, returns only custom views, by default FALSE.
group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the group-list-iter-next APIs. This is ignored if appliance-name-or-id has been specified. Only the views for matching group are returned.
instance-name string
optional
If specified, only views with a matching instance will be returned. Otherwise, all performance views will be returned (subject to the other optional parameters). You must specify appliance-name-or-id and object-name when specifying instance-name.
object-name string
optional
If specified, only views with a matching object will be returned. Otherwise, all performance views will be returned (subject to the other optional parameters).
view-name string
optional
If view-name is specified, only the indicated view will be retrieved. Otherwise, all performance views will be returned (subject to the other optional parameters).
 
Output Name Range Type Description
records integer
Number indicating how many items are available for future retrieval via calls to perf-view-list-iter-next
tag string
Tag to be used in subsequent calls to perf-view-list-iter-next or perf-view-list-iter-end
 Errno  Description
 EAPIPRIVILEDGE
 EAPINOTLICENSED

 
perf-view-modify [top]
Modify an existing performance view. Global DFM.PerfView.Write RBAC capability is required to modify performance views.
Input Name Range Type Description
appliance-name-or-id string
optional
Name (or unique ID) of the appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next API. The API will accept a vfiler name or id from DFM 3.3 onwards.
group-name-or-id string
optional
The group that this view is associated with. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs.
view perf-view
The new performance view information. Note that the new performance view name may be different from the old performance view name. If the new name is different, the new name must not already exist.
view-name string
Name of the performance view to modify.
 Errno  Description
 EAPIPRIVILEDGE
 EAPINOTLICENSED

 
perf-view-object-association-add [top]
Associates an object with a view
Input Name Range Type Description
object-name-or-id obj-name-or-id
The object to be associated with the view
view-name string
The view for which the association is to be set
 Errno  Description
 EOBJECTNOTFOUNDERROR
 EINTERNALERROR
 EAPIERROR
 EACCESSDENIED
 EOBJECTNOTFOUNDERROR
 EOBJECTAMBIGUOUS
 EDATABASEERROR
 EINVALIDINPUTERROR

 
perf-view-object-association-delete [top]
Removes the association of an object with a view
Input Name Range Type Description
object-name-or-id obj-name-or-id
The object to be dis-associated with the view
view-name string
The view for which the association is to be deleted
 Errno  Description
 EOBJECTNOTFOUNDERROR
 EINTERNALERROR
 EAPIERROR
 EACCESSDENIED
 EDATABASEERROR
 EOBJECTAMBIGUOUS
 EINVALIDINPUTERROR

 
Element definition: dynamic-data [top]
Contains data for top-N objects
Name Range Type Description
hostname obj-name
optional
Name of the host. Will not be set when the objects are selected within a host
instance-name perf-instance
optional
Name of the perf instance. Will not be set for single instance objects like system, nfsv3
obj-id obj-id
optional
Identifier of the object. Will not be set for unmanaged objects
value string
Value for the object Max Length is 32

 
Element definition: obj-name-or-id [top]
Name or internal ID of a DFM object. This typedef is an alias for the builtin ZAPI type string. An obj-name-or-id must contain between 1 and 64 characters, and must conform to one of the following formats:
  • It must have the format of an obj-name, or
  • It must be the decimal numeric string form of a positive integer whose value is in the range [1..2^31 - 1].
Elements of type obj-name-or-id are used only as inputs to ZAPIs. The value must match either the name or internal ID of an existing DFM object. The ZAPI must specify the object's DFM object type (e.g. data set, host, DP policy, etc.). Some ZAPIs allow the object to be one of several different types.

If the format of an obj-name-or-id input element does not conform, or the value does not match the name or ID of an existing object, then generally the ZAPI documents that it fails with error code EOBJECTNOTFOUND. A ZAPI may return more specific error codes. In such cases, the ZAPI specification must document its behavior.

If a ZAPI can accept a null value (e.g. reference to no object at all) for such an element, then the element is declared optional, and the absence of the input element represents a null value.

[none]

 
Element definition: object-info [top]
Associated object's information
Name Range Type Description
object-full-name obj-full-name
The full name of the object that is associated with the view
object-id obj-id
The object that is associated with the view
object-name obj-name
object-name is the name of the DFM object
object-type string
Type of the DFM object. The possible values are
  • "resource_group"
  • "data_set"
  • "resource_pool"
  • "filer"
  • "vfiler"
  • "volume"
  • "qtree"
  • "lun"
  • "aggregate"
  • "interface"

 
Element definition: perf-assoc-obj-type [top]
Name of the object type. The possible values are
  • "resource_group"
  • "data_set"
  • "resource_pool"
  • "filer"
  • "vfiler"
  • "volume"
  • "qtree"
  • "lun"
  • "aggregate"
  • "disk"
  • "interface"
  • "processor"
  • "target"
[none]

 
Element definition: perf-counter [top]
Describes a performance counter (a measurable quantity on a performance object). This might be, for example, the number of writes per second on a specific volume.
Name Range Type Description
base-counter string
optional
Name of the counter used as the denominator to calculate values of counters involving percentages. For additional details, please refer to the ONTAP API perf-object-counter-list-info
desc string
Description of the counter
is-display boolean
optional
If TRUE, this counter can be displayed to the user. If FALSE, this counter is a base counter used as the denominator to calculate values of counters involving percentages. The base counters should not be displayed to the user. Default value is TRUE.
labels perf-label[]
optional
A list of labels for this counter. For additional details, please refer to the ONTAP API perf-object-counter-list-info
name string
Name of the counter
privilege-level string
optional
The counter privilege level, can be "basic", "advanced" or "diag". Any counter with a privilege level of "diag" is not guaranteed to work, to exist in future releases, or to remain unchanged.
properties string
optional
Properties of the counter. For additional details, please refer to the ONTAP API perf-object-counter-list-info
type string
optional
Type of the counter. For additional details, please refer to the ONTAP API perf-object-counter-list-info
unit string
optional
Unit of the counter. For additional details, please refer to the ONTAP API perf-object-counter-list-info

 
Element definition: perf-counter-group [top]
A counter group. A counter group is a collection of measurable data sources coupled with an associated sampling rate and sample history.
Name Range Type Description
appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards.
counter-group-name string
Name of the counter group.
data-sources perf-data-source[]
optional
Identifiers for the data sources to be retrieved in later queries. The data-sources can not contain 'group' data source. i.e. instance-name must be specified for each perf-data-source. The data-sources should not contain a data source that specifies label-names field. This is because counter group always collects data for the whole counter i.e. for all labels. perf-data-source is not required for default counter groups. The perf-counter-group-modify API ignores this element for default counter groups.
end-time integer
optional
Present in output only. Indicates the timestamp of the last available data sample. The timestamp value is the time in seconds since 00:00:00 Jan 1, 1970, UTC.
group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified.
is-default boolean
optional
Indicates whether the counter group is a "default" counter group. Defaults to false.
is-stopped boolean
optional
Present in output only. Indicates whether data collection has been stopped for the counter group using perf-counter-group-stop API. When this field is false, it indicates server's intention to collect data for the counter group. But many other factors can affect whether data is actually collected or not.
real-time boolean
optional
Designates whether the counter group is real-time, in other words, if no user is getting data from the group, then the counter group will no longer get data. By default FALSE.
sample-buffer integer
optional
Length of sample buffer to retain, in seconds. If unspecified on input, the value will be chosen by the server.
sample-rate integer
optional
Length of interval between samples, in seconds. Defaults to one minute.
space-consumed integer
optional
Present in output only. Indicates the amount of server storage currently consumed by the counter group data, in bytes.
start-time integer
optional
Present in output only. Indicates the timestamp of the first available data sample. The timestamp value is the time in seconds since 00:00:00 Jan 1, 1970, UTC.

 
Element definition: perf-counter-instance [top]
Defines a perf counter for a specific instance.
Name Range Type Description
counter-info perf-object-counter
The counter for which data is to be retrieved
instance-name string
optional
For unmanaged object, this will be the name of the instance. In this case, object-name-or-id will be the id for the storage system Maximum length is 255
object-name-or-id obj-name-or-id
The object for which data is to be retrieved or the id of the parent storage system, if instance-name is specified

 
Element definition: perf-data-group [top]
Definition of a set of data sources and a consolidation method.
Name Range Type Description
data-group-method string
optional
A function to apply across the data sources. Valid values are average (average of all sources), total (sum of all sources). The default is total (which for one data source is just the value of the single data source).
data-sources perf-data-source[]
Identifiers for the data sources to be retrieved in later queries. The data-sources should be either one 'group' data source, or many (one or more) of 'instance' data sources. If data-sources contains a data source that has an array counter, specify label-names field of perf-data-source to select a single element of the array.

 
Element definition: perf-data-source [top]
An unique identifier for a source of data. When optional instance-name field is not specified, perf-data-source represents all relevant instances in an appliance or in a group.
Name Range Type Description
appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards.
counter-name string
The name of the counter measured. Counters are specifc measurable quantities on an instance of a performance object, for example the number of write operations on a volume.
group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified.
instance-name string
optional
The name of the specific object referenced (vol2, disk2, ...). If this field is specified, appliance-name-or-id must also be specified. If this field is not specified, it is considered as a wildcard that implies combining data for all instances of an appliance or a group.
label-names string
optional
An optional list of comma-separated label names. These represent an index into the array of values when a counter has more than one value (as implicitly indicated by the number of labels). The values should be the name of the label (for example 'getattr' for the 'nfs_v3_ops' counter). In some cases, the array of labels is multi-dimensional, in which case there should be one label name from each row in the array of labels. Each entry should be comma-separated. If unspecified, the default value is blank. In that case, its interpretation depends on the context.
object-full-name obj-full-name
optional
The object id for the specific object referenced
object-name string
The name of the referenced object. Object names are broad classes of system components and protocols, like NFS, VOLUME, DISK, ...
object-name-or-id obj-name-or-id
optional
The object id for the specific object referenced
object-type string
optional
Type of the DFM object. The possible values are
  • "filer"
  • "vfiler"
  • "volume"
  • "qtree"
  • "lun"
  • "aggregate"

 
Element definition: perf-dynamic-data-sources [top]
A specification for selecting top-n instances for a single counter. Data for each instance is drawn on the chart as one line. e.g. top 5 busy filers in a group.
Name Range Type Description
data-source perf-data-source
Describes the properties of instances that should be considered for top-n query. The data-source must be 'group' data source i.e. instance-name field must be empty. If data-source has an array counter, specify label-names field to select a single element of the array.
maximum-instances integer
optional
Maximum number of instances to pick. Default is 5.
sort-order string
optional
The sort order when comparing data from different instances. After sorting data in this order, top maximum-instances are picked. Valid values are "ascending" and "descending". Default is "descending".
time-interval integer
optional
When considering the historical data samples, how far back in time (in seconds) we should go. Default is 300.

 
Element definition: perf-instance [top]
Describes an instance. An instance is a manifestation of a performance object. For example, the performance object might be "VOLUME" whereas the instance might be "vol0".
Name Range Type Description
instance-name string
Name of the instance.

 
Element definition: perf-object [top]
A performance object. A performance object is a (somewhat abstract) representation of a class of measurable items. These are roughly akin to system subcomponents or protocols, for example "VOLUME", "DISK" or "NFS". These are broad classes and do not represent specific instances.
Name Range Type Description
object-name string
Name of the performance object.

 
Element definition: perf-object-counter-info [top]
Performance Counters can be a combination of an object and a counter.
Name Range Type Description
object-name-or-id obj-name-or-id
object-name or object-id for which counter information is being collected.
perf-object-counter perf-object-counter
Attributes of the counter being collected.

 
Element definition: perf-server-status [top]
Describes the status of perf server.
Name Range Type Description
data-collection-status string
Specifies the status of data collection. Possible values are "enabled","disabled" and "disabling"
object-update-status string
Specifies the status of object updates. Possible values are "enabled" and "disabled"
server-status string
Specifies the status of Performance Advisor. Possible values are "enabled" and "disabled". Status will be "enabled" only when both data-collection-status and object-update-status are enabled.

 
Element definition: perf-status-error [top]
Possible resons for data unavailability.
Name Range Type Description
error string
The following are the possible reasons: 1) "perf-advisor-not-enabled" This indicates that the performance advisor is not enabled on DFM. 2) "host-bad-credentials" This indicates that the authetication credentials for the host are incorrect. 3) "host-no-credentials" This indicated that the host login is empty. 4) "host-not-reachable" This indicates that the host is down and hence not reachable. 5) "host-transport-incorrect" This indicates that the host transport is in compatible with the performance advisor transport. 6) "filer-os-version-less-than-6.5" This indicates that the filer is running OS with a release version less than 6.5. 7) "filer-data-unavailable" This indicates that DFM has not discovered instances of performance objects on the filer yet.

 
Element definition: perf-view [top]
A performance view.
Name Range Type Description
appliance-name-or-id string
optional
Name (or unique ID) of the appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next API. The API will accept a vfiler name or id from DFM 3.3 onwards.
are-events-shown boolean
optional
Indicates whether an event block should be shown as part of the view. Defaults to false.
assoc-obj-type perf-assoc-obj-type[]
optional
Indicates all the object-type that the view provides information for. Could be more than one for custom views
charts perf-chart[]
The charts (graphs) appearing in this view.
counter-group-name string
optional
Name of the referenced counter group.
group-name-or-id string
optional
The group that this view is associated with. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs.
is-default boolean
optional
Indicates whether the view is a "default" performance view. Defaults to false.
is-stopped boolean
optional
Indicates whether data collection is stopped for the view. Defaults to false.
sample-buffer integer
optional
Length of sample buffer to retain, in seconds. If unspecified on input, the value will be chosen by the server.
sample-rate integer
optional
Length of interval between samples, in seconds. Defaults to one minute.
view-name string
Name of the view.
view-type string
optional
Indicates the type of view Possible values are
    "custom_view" "canned_view" "summary_view"

 
Element definition: threshold-id [top]
A unique numeric identifier used to specify a threshold. This parameter is mandatory when modifying a threshold. This typedef is an alias for the builtin ZAPI type integer. Range: [1..2^31-1]
[none]

 
Element definition: threshold-info [top]
Defines all the attributes of a threshold.
Name Range Type Description
is-enabled boolean
optional
Specifies if the Threshold is enabled. Default value is TRUE when setting or modifying a threshold.
object-full-name obj-full-name
Fully qualified name of the object. It is used as an output parameter while listing thresholds. This parameter is unused for all other APIs.
object-name-or-id obj-name-or-id
optional
The name or id of the object on which the threshold is to be created. Note that the API allows you to set only a single threshold at a time. So, container objects like Resource Group, Data set, Resource pool cannot be specified here. It is a mandatory parameter when setting a threshold. For the modify APIs, it is ignored if threshold-id is also specified. While listing thresholds, this parameter will always contain the object-id.

The allowed object types for this argument are

  • 'Host'
  • 'Aggregate'
  • 'Volume'
  • 'Qtree'
  • 'Lun'
perf-object-counter perf-object-counter
optional
Specifies a combination of an object and a counter. When setting a threshold the first time, it is a mandatory parameter. For the modify APIs, it is ignored if threshold-id is also specified.
threshold-id threshold-id
optional
ID of the threshold. Element is ignored while creating a threshold but is mandatory when modifying them.
threshold-interval integer
optional
The amount of time in seconds for which an event generation is suppressed before deciding that a counter has crossed a specified threshold and an event needs to be generated. The same interval will also be used to generate a normal event. If a value of zero is specified, any temporary spikes in counter values above the threshold will generate an event, if the counter values are sampled at that point of time. This parameter is mandatory when setting a threshold.

Range: [0..2^31-1]

threshold-type string
optional
The type of threshold, can be upper or lower. In case of an Upper threshold type, the counter value must exceed the threshold value for at least the specified amount of time for an event to be generated. In case of a Lower threshold type, the counter value must fall below the threshold value for at least the specified amount of time for an event to be generated. Note that as the threshold types are mutually exclusive, so only one threshold type may be specified. Default value is 'upper' when setting or modifying a threshold.

Possible values:'upper', 'lower'

threshold-unit string
optional
Unit of the counter. This parameter is mandatory when setting or modifying a threshold. The Possible Values are:

Possible values: per_sec, b_per_sec (bytes/s), kb_per_sec (Kbytes/s), mb_per_sec (Mbytes/s), percent, millisec, microsec, sec, or none.

Note that the metric used for a counter may vary depending upon the Data ONTAP version. *

threshold-value integer
optional
The threshold value of a counter is used to generate an event if the observed counter value breaches this value. This parameter is mandatory when setting a threshold.

Range: [1..2^31-1]


 
Element definition: obj-full-name [top]
Full name of a DFM object. This typedef is an alias for the builtin ZAPI type string. An object full name conforms to all the rules of an obj-name, except that the full name may be up to 255 characters long.

DFM creates full names by concatenating an object name with any parent object names, so as to create a unique name for an object. The format of full names is as follows:

  • Host full names are the either the fully-qualified domain name or the IP address in dotted-decimal format of the host.
  • Aggregate full names are the host name and the aggregate name, separated by a colon, e.g. hostname:aggr0.
  • Volume full names are the host name and the volume name, separated by ":/", e.g. hostname:/volume. Note this does not include "/vol". Volume and aggregate full names are distinguished by the presence of a forward slash after the colon.
  • Qtree full names are the containing volume full name and the qtree name, separated by a slash, e.g. hostname:/volume/qtree. The data not contained by any qtree may be represented by "-", e.g. hostname:/volume/-.
  • Lun Path full names are either a volume or qtree full name and the LUN path, separated by a slash, e.g. hostname:/volume/LUN or hostname:/volume/qtree/LUN.
  • Network full names are a network address block in CIDR format, e.g. 1.2.3.0/8.
  • OSSV Directory full names are the OSSV host name and the OSSV path, separated by a colon, e.g. host-lnx:/usr/local or host-w2k:c:/temp
  • Include any others here...
  • Initiator Group full names are host name and the initiator group name, separated by a colon, e.g. hostname:igroup.

For any DFM object not listed above, the obj-name and obj-full-name are identical.

[none]

 
Element definition: obj-id [top]
Identification number (ID) for a DFM object. This typedef is an alias for the builtin ZAPI type integer. Object IDs are unsigned integers in the range [1..2^31 - 1]. In some contexts, an object ID is also allowed to be 0, which is interpreted as a null value, e.g., a reference to no object at all.

The ID for a DFM object is always assigned by the system; the user is never allowed to assign an ID to an object. Therefore, an input element of type obj-id is always used to refer to an existing object by its ID. The ZAPI must specify the object's DFM object type (e.g. data set, host, DP policy, etc.). Some ZAPIs allow the object to be one of several different types.

If the value of an obj-id input element does not match the ID of any existing DFM object of the specified type or types, then typically the ZAPI fails with error code EOBJECTNOTFOUND. A ZAPI may deviate from this general rule, for example, it may return a more specific error code. In either case, the ZAPI specification must document its behavior.

[none]

 
Element definition: obj-name [top]
Name of a DFM object. This typedef is an alias for the builtin ZAPI type string. An object name must conform to the following format:
  • It must contain between 1 and 64 characters.
  • It may start with any character and may contain any combination of characters, except that it may not consist solely of decimal digits ('0' through '9').
  • In some contexts, a name may be the empty string (""), which is interpreted as a null value, e.g., a reference to no object at all.
The behavior of a ZAPI when it encounters an error involving an obj-name input element depends on how the ZAPI uses the input element. Here are the general rules:
  • If the input name element is used to create a new object with the given name, or rename an existing object to that name, and the name does not conform to the above format, then the ZAPI fails with error code EINVALIDINPUTERROR. Note that because EINVALIDINPUTERROR is such a common error code, ZAPI specifications are not required to document cases when they may return it.
  • If the input name element is used to refer to an existing object with that name, and there is no object with that name, then the ZAPI fails with error code EOBJECTNOTFOUND. Generally the ZAPI specification documents cases when it may return this error code.
A ZAPI may deviate from these general rules, for example, it may return more specific error codes. In such cases, the ZAPI specification must document its behavior.

If an input name element is used to refer to an existing object, then the ZAPI specification must specify which DFM object type (e.g. data set, host, DP policy, etc.) is allowed. Some ZAPIs allow the object to be one of several different types. See the description of obj-full-name for examples of valid input formats.

Note that there is no requirement that all object names must be unique. However, the names for some specific types of objects are constrained such that no two objects of that type may have the same name. For example, this constraint applies to data sets, DP schedules, and DP policies. This means that no two data sets may have the same name, but a data set may have the same name as a DP schedule or DP policy.

In general, object names are compared in a case-insensitive manner. This means that, for example, "MyObject" and "MYOBJECT" are considered to be the same name for purposes of: creating new objects, renaming existing objects, or looking up an object by name. On the other hand, ZAPIs that return an obj-name generally do not change the capitalization at all. For example, if an object's name has been set to "MyObject", then list iteration ZAPIs that return the object's name return it as "MyObject" rather than "MYOBJECT" or "myobject".

ZAPIs that operate on obj-name values and do not follow these general rules about case sensitivity must document the rules that they do follow.

One important exception to these general rules is that volumes, qtrees, OSSV directories, SRM paths, interfaces, FCP targets and FC switch ports all have case-sensitive names. When looking up objects of these types by name, the case must match the object name.

[none]

 
Element definition: obj-name-or-id [top]
Name or internal ID of a DFM object. This typedef is an alias for the builtin ZAPI type string. An obj-name-or-id must contain between 1 and 64 characters, and must conform to one of the following formats:
  • It must have the format of an obj-name, or
  • It must be the decimal numeric string form of a positive integer whose value is in the range [1..2^31 - 1].
Elements of type obj-name-or-id are used only as inputs to ZAPIs. The value must match either the name or internal ID of an existing DFM object. The ZAPI must specify the object's DFM object type (e.g. data set, host, DP policy, etc.). Some ZAPIs allow the object to be one of several different types.

If the format of an obj-name-or-id input element does not conform, or the value does not match the name or ID of an existing object, then generally the ZAPI documents that it fails with error code EOBJECTNOTFOUND. A ZAPI may return more specific error codes. In such cases, the ZAPI specification must document its behavior.

If a ZAPI can accept a null value (e.g. reference to no object at all) for such an element, then the element is declared optional, and the absence of the input element represents a null value.

[none]

 
Element definition: perf-assoc-obj-type [top]
Name of the object type. The possible values are
  • "resource_group"
  • "data_set"
  • "resource_pool"
  • "filer"
  • "vfiler"
  • "volume"
  • "qtree"
  • "lun"
  • "aggregate"
  • "disk"
  • "interface"
  • "processor"
  • "target"
[none]

 
Element definition: perf-chart [top]
Information about a chart. A chart is a display (graph) with one or more data sources (lines).
Name Range Type Description
chart-name string
Name of the chart. This is intended to be a user-visible label like "CPU Graph". It should be unique to the performance view.
dynamic-data-sources perf-dynamic-data-sources
optional
Lines representing dynamic members. Data for each data source is drawn as one line in the chart.
lines perf-line[]
optional
Line definitions.
maximum-y integer
optional
An optional maximum value for the y axis. The units are arbitrary and determined by the client. This may be used to help guide the chart construction in the client.
type string
optional
Type of the chart. Arbitrary string meaningful to the client only.

 
Element definition: perf-data-source [top]
An unique identifier for a source of data. When optional instance-name field is not specified, perf-data-source represents all relevant instances in an appliance or in a group.
Name Range Type Description
appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards.
counter-name string
The name of the counter measured. Counters are specifc measurable quantities on an instance of a performance object, for example the number of write operations on a volume.
group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified.
instance-name string
optional
The name of the specific object referenced (vol2, disk2, ...). If this field is specified, appliance-name-or-id must also be specified. If this field is not specified, it is considered as a wildcard that implies combining data for all instances of an appliance or a group.
label-names string
optional
An optional list of comma-separated label names. These represent an index into the array of values when a counter has more than one value (as implicitly indicated by the number of labels). The values should be the name of the label (for example 'getattr' for the 'nfs_v3_ops' counter). In some cases, the array of labels is multi-dimensional, in which case there should be one label name from each row in the array of labels. Each entry should be comma-separated. If unspecified, the default value is blank. In that case, its interpretation depends on the context.
object-full-name obj-full-name
optional
The object id for the specific object referenced
object-name string
The name of the referenced object. Object names are broad classes of system components and protocols, like NFS, VOLUME, DISK, ...
object-name-or-id obj-name-or-id
optional
The object id for the specific object referenced
object-type string
optional
Type of the DFM object. The possible values are
  • "filer"
  • "vfiler"
  • "volume"
  • "qtree"
  • "lun"
  • "aggregate"

 
Element definition: perf-dynamic-data-sources [top]
A specification for selecting top-n instances for a single counter. Data for each instance is drawn on the chart as one line. e.g. top 5 busy filers in a group.
Name Range Type Description
data-source perf-data-source
Describes the properties of instances that should be considered for top-n query. The data-source must be 'group' data source i.e. instance-name field must be empty. If data-source has an array counter, specify label-names field to select a single element of the array.
maximum-instances integer
optional
Maximum number of instances to pick. Default is 5.
sort-order string
optional
The sort order when comparing data from different instances. After sorting data in this order, top maximum-instances are picked. Valid values are "ascending" and "descending". Default is "descending".
time-interval integer
optional
When considering the historical data samples, how far back in time (in seconds) we should go. Default is 300.

 
Element definition: perf-label [top]
When a counter has more than one value (an array), the labels describe the indvidual array entries, and define an implicit indexing scheme into the array. The array may be multi-dimensional, in which case each occurrence of a perf-label represents a dimension in the array of labels.
Name Range Type Description
label-names string
A comma-separated list of labels, representing a row in the array of labels.

 
Element definition: perf-object-counter [top]
Performance Counters can be a combination of an object and a counter.
Name Range Type Description
counter-description string
optional
Description of the counter on which the threshold has been set.
counter-name string
The name of the counter measured. Counters are specifc measurable quantities on an instance of a performance object like avg_latency, nfs_ops.

Maximum length of 255 characters.

label-names string
optional
An optional list of comma-separated label names. These represent an index into the array of values when a counter has more than one value (as implicitly indicated by the number of labels). The values should be the name of the label (for example 'getattr' for the 'nfs_v3_ops' counter). In some cases, the array of labels is multi-dimensional, in which case there should be one label name from each row in the array of labels. Each entry should be comma-separated. If unspecified, the default value is blank. In that case, its interpretation depends on the context. Maximum length of 255 characters
object-type string
object-type is the name of the object classification as defined by ONTAP counter manager.

Maximum length of 255 characters.


 
Element definition: threshold-id [top]
A unique numeric identifier used to specify a threshold. This parameter is mandatory when modifying a threshold. This typedef is an alias for the builtin ZAPI type integer. Range: [1..2^31-1]
[none]

 
Element definition: obj-full-name [top]
Full name of a DFM object. This typedef is an alias for the builtin ZAPI type string. An object full name conforms to all the rules of an obj-name, except that the full name may be up to 255 characters long.

DFM creates full names by concatenating an object name with any parent object names, so as to create a unique name for an object. The format of full names is as follows:

  • Host full names are the either the fully-qualified domain name or the IP address in dotted-decimal format of the host.
  • Aggregate full names are the host name and the aggregate name, separated by a colon, e.g. hostname:aggr0.
  • Volume full names are the host name and the volume name, separated by ":/", e.g. hostname:/volume. Note this does not include "/vol". Volume and aggregate full names are distinguished by the presence of a forward slash after the colon.
  • Qtree full names are the containing volume full name and the qtree name, separated by a slash, e.g. hostname:/volume/qtree. The data not contained by any qtree may be represented by "-", e.g. hostname:/volume/-.
  • Lun Path full names are either a volume or qtree full name and the LUN path, separated by a slash, e.g. hostname:/volume/LUN or hostname:/volume/qtree/LUN.
  • Network full names are a network address block in CIDR format, e.g. 1.2.3.0/8.
  • OSSV Directory full names are the OSSV host name and the OSSV path, separated by a colon, e.g. host-lnx:/usr/local or host-w2k:c:/temp
  • Include any others here...
  • Initiator Group full names are host name and the initiator group name, separated by a colon, e.g. hostname:igroup.

For any DFM object not listed above, the obj-name and obj-full-name are identical.

[none]

 
Element definition: obj-name-or-id [top]
Name or internal ID of a DFM object. This typedef is an alias for the builtin ZAPI type string. An obj-name-or-id must contain between 1 and 64 characters, and must conform to one of the following formats:
  • It must have the format of an obj-name, or
  • It must be the decimal numeric string form of a positive integer whose value is in the range [1..2^31 - 1].
Elements of type obj-name-or-id are used only as inputs to ZAPIs. The value must match either the name or internal ID of an existing DFM object. The ZAPI must specify the object's DFM object type (e.g. data set, host, DP policy, etc.). Some ZAPIs allow the object to be one of several different types.

If the format of an obj-name-or-id input element does not conform, or the value does not match the name or ID of an existing object, then generally the ZAPI documents that it fails with error code EOBJECTNOTFOUND. A ZAPI may return more specific error codes. In such cases, the ZAPI specification must document its behavior.

If a ZAPI can accept a null value (e.g. reference to no object at all) for such an element, then the element is declared optional, and the absence of the input element represents a null value.

[none]

 
Element definition: perf-data-source [top]
An unique identifier for a source of data. When optional instance-name field is not specified, perf-data-source represents all relevant instances in an appliance or in a group.
Name Range Type Description
appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards.
counter-name string
The name of the counter measured. Counters are specifc measurable quantities on an instance of a performance object, for example the number of write operations on a volume.
group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified.
instance-name string
optional
The name of the specific object referenced (vol2, disk2, ...). If this field is specified, appliance-name-or-id must also be specified. If this field is not specified, it is considered as a wildcard that implies combining data for all instances of an appliance or a group.
label-names string
optional
An optional list of comma-separated label names. These represent an index into the array of values when a counter has more than one value (as implicitly indicated by the number of labels). The values should be the name of the label (for example 'getattr' for the 'nfs_v3_ops' counter). In some cases, the array of labels is multi-dimensional, in which case there should be one label name from each row in the array of labels. Each entry should be comma-separated. If unspecified, the default value is blank. In that case, its interpretation depends on the context.
object-full-name obj-full-name
optional
The object id for the specific object referenced
object-name string
The name of the referenced object. Object names are broad classes of system components and protocols, like NFS, VOLUME, DISK, ...
object-name-or-id obj-name-or-id
optional
The object id for the specific object referenced
object-type string
optional
Type of the DFM object. The possible values are
  • "filer"
  • "vfiler"
  • "volume"
  • "qtree"
  • "lun"
  • "aggregate"

 
Element definition: perf-line [top]
A line of data on the chart. Often a line will have a single data source (e.g. CPU percent busy), but we allow for the capability for many sources to be combined (e.g. average CPU busy over 10 filers).
Name Range Type Description
color string
optional
Color of the line. The values and their interpretation are determined by the client. Recommended usage includes common names like "black" or "blue", as well RGB hex specification like "AAFF00".
data-group perf-data-group
The data source(s) and consolidation method for the line. If data-sources contains a data source that has an array counter, specify label-names field of perf-data-source to select a single element of the array.
line-name string
Name of the line. This is intended to be a user-visible label.
type string
Type of display for the line. The values and their interpretation are determined by the client.

 
Element definition: obj-full-name [top]
Full name of a DFM object. This typedef is an alias for the builtin ZAPI type string. An object full name conforms to all the rules of an obj-name, except that the full name may be up to 255 characters long.

DFM creates full names by concatenating an object name with any parent object names, so as to create a unique name for an object. The format of full names is as follows:

  • Host full names are the either the fully-qualified domain name or the IP address in dotted-decimal format of the host.
  • Aggregate full names are the host name and the aggregate name, separated by a colon, e.g. hostname:aggr0.
  • Volume full names are the host name and the volume name, separated by ":/", e.g. hostname:/volume. Note this does not include "/vol". Volume and aggregate full names are distinguished by the presence of a forward slash after the colon.
  • Qtree full names are the containing volume full name and the qtree name, separated by a slash, e.g. hostname:/volume/qtree. The data not contained by any qtree may be represented by "-", e.g. hostname:/volume/-.
  • Lun Path full names are either a volume or qtree full name and the LUN path, separated by a slash, e.g. hostname:/volume/LUN or hostname:/volume/qtree/LUN.
  • Network full names are a network address block in CIDR format, e.g. 1.2.3.0/8.
  • OSSV Directory full names are the OSSV host name and the OSSV path, separated by a colon, e.g. host-lnx:/usr/local or host-w2k:c:/temp
  • Include any others here...
  • Initiator Group full names are host name and the initiator group name, separated by a colon, e.g. hostname:igroup.

For any DFM object not listed above, the obj-name and obj-full-name are identical.

[none]

 
Element definition: obj-name-or-id [top]
Name or internal ID of a DFM object. This typedef is an alias for the builtin ZAPI type string. An obj-name-or-id must contain between 1 and 64 characters, and must conform to one of the following formats:
  • It must have the format of an obj-name, or
  • It must be the decimal numeric string form of a positive integer whose value is in the range [1..2^31 - 1].
Elements of type obj-name-or-id are used only as inputs to ZAPIs. The value must match either the name or internal ID of an existing DFM object. The ZAPI must specify the object's DFM object type (e.g. data set, host, DP policy, etc.). Some ZAPIs allow the object to be one of several different types.

If the format of an obj-name-or-id input element does not conform, or the value does not match the name or ID of an existing object, then generally the ZAPI documents that it fails with error code EOBJECTNOTFOUND. A ZAPI may return more specific error codes. In such cases, the ZAPI specification must document its behavior.

If a ZAPI can accept a null value (e.g. reference to no object at all) for such an element, then the element is declared optional, and the absence of the input element represents a null value.

[none]

 
Element definition: perf-data-group [top]
Definition of a set of data sources and a consolidation method.
Name Range Type Description
data-group-method string
optional
A function to apply across the data sources. Valid values are average (average of all sources), total (sum of all sources). The default is total (which for one data source is just the value of the single data source).
data-sources perf-data-source[]
Identifiers for the data sources to be retrieved in later queries. The data-sources should be either one 'group' data source, or many (one or more) of 'instance' data sources. If data-sources contains a data source that has an array counter, specify label-names field of perf-data-source to select a single element of the array.

 
Element definition: perf-data-source [top]
An unique identifier for a source of data. When optional instance-name field is not specified, perf-data-source represents all relevant instances in an appliance or in a group.
Name Range Type Description
appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards.
counter-name string
The name of the counter measured. Counters are specifc measurable quantities on an instance of a performance object, for example the number of write operations on a volume.
group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified.
instance-name string
optional
The name of the specific object referenced (vol2, disk2, ...). If this field is specified, appliance-name-or-id must also be specified. If this field is not specified, it is considered as a wildcard that implies combining data for all instances of an appliance or a group.
label-names string
optional
An optional list of comma-separated label names. These represent an index into the array of values when a counter has more than one value (as implicitly indicated by the number of labels). The values should be the name of the label (for example 'getattr' for the 'nfs_v3_ops' counter). In some cases, the array of labels is multi-dimensional, in which case there should be one label name from each row in the array of labels. Each entry should be comma-separated. If unspecified, the default value is blank. In that case, its interpretation depends on the context.
object-full-name obj-full-name
optional
The object id for the specific object referenced
object-name string
The name of the referenced object. Object names are broad classes of system components and protocols, like NFS, VOLUME, DISK, ...
object-name-or-id obj-name-or-id
optional
The object id for the specific object referenced
object-type string
optional
Type of the DFM object. The possible values are
  • "filer"
  • "vfiler"
  • "volume"
  • "qtree"
  • "lun"
  • "aggregate"

 
Element definition: obj-full-name [top]
Full name of a DFM object. This typedef is an alias for the builtin ZAPI type string. An object full name conforms to all the rules of an obj-name, except that the full name may be up to 255 characters long.

DFM creates full names by concatenating an object name with any parent object names, so as to create a unique name for an object. The format of full names is as follows:

  • Host full names are the either the fully-qualified domain name or the IP address in dotted-decimal format of the host.
  • Aggregate full names are the host name and the aggregate name, separated by a colon, e.g. hostname:aggr0.
  • Volume full names are the host name and the volume name, separated by ":/", e.g. hostname:/volume. Note this does not include "/vol". Volume and aggregate full names are distinguished by the presence of a forward slash after the colon.
  • Qtree full names are the containing volume full name and the qtree name, separated by a slash, e.g. hostname:/volume/qtree. The data not contained by any qtree may be represented by "-", e.g. hostname:/volume/-.
  • Lun Path full names are either a volume or qtree full name and the LUN path, separated by a slash, e.g. hostname:/volume/LUN or hostname:/volume/qtree/LUN.
  • Network full names are a network address block in CIDR format, e.g. 1.2.3.0/8.
  • OSSV Directory full names are the OSSV host name and the OSSV path, separated by a colon, e.g. host-lnx:/usr/local or host-w2k:c:/temp
  • Include any others here...
  • Initiator Group full names are host name and the initiator group name, separated by a colon, e.g. hostname:igroup.

For any DFM object not listed above, the obj-name and obj-full-name are identical.

[none]

 
Element definition: obj-name-or-id [top]
Name or internal ID of a DFM object. This typedef is an alias for the builtin ZAPI type string. An obj-name-or-id must contain between 1 and 64 characters, and must conform to one of the following formats:
  • It must have the format of an obj-name, or
  • It must be the decimal numeric string form of a positive integer whose value is in the range [1..2^31 - 1].
Elements of type obj-name-or-id are used only as inputs to ZAPIs. The value must match either the name or internal ID of an existing DFM object. The ZAPI must specify the object's DFM object type (e.g. data set, host, DP policy, etc.). Some ZAPIs allow the object to be one of several different types.

If the format of an obj-name-or-id input element does not conform, or the value does not match the name or ID of an existing object, then generally the ZAPI documents that it fails with error code EOBJECTNOTFOUND. A ZAPI may return more specific error codes. In such cases, the ZAPI specification must document its behavior.

If a ZAPI can accept a null value (e.g. reference to no object at all) for such an element, then the element is declared optional, and the absence of the input element represents a null value.

[none]