APIs in Category: perf
API version 5.0

 
perf-assoc-view-list-iter-end
perf-assoc-view-list-iter-next
perf-assoc-view-list-iter-start
perf-client-stats-list-info-iter-end
perf-client-stats-list-info-iter-next
perf-client-stats-list-info-iter-start
perf-client-stats-purge
perf-collect-client-operation-statistics
perf-copy-counter-configuration
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-diag-troubleshoot
perf-disable-data-collection
perf-disable-object-update
perf-enable-data-collection
perf-enable-object-update
perf-get-counter-data
perf-get-counter-dependents
perf-get-counter-list-not-in-view
perf-get-default-view
perf-get-server-status
perf-object-counter-list-info
perf-object-dependent-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-set-default-view
perf-status-get
perf-threshold-create
perf-threshold-create2
perf-threshold-delete
perf-threshold-list-info-iter-end
perf-threshold-list-info-iter-next
perf-threshold-list-info-iter-start
perf-threshold-list-info2-iter-end
perf-threshold-list-info2-iter-next
perf-threshold-list-info2-iter-start
perf-threshold-modify
perf-threshold-modify2
perf-threshold-template-attach-objects
perf-threshold-template-create
perf-threshold-template-delete
perf-threshold-template-detach-objects
perf-threshold-template-list-info-iter-end
perf-threshold-template-list-info-iter-next
perf-threshold-template-list-info-iter-start
perf-threshold-template-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).
include-empty-views boolean
optional
If false, the following will be removed from the output views:
  • lines without any data source
  • charts without any lines
  • views without any charts
By default, this is false.
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
  • Dataset
  • 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
  • assoc-obj-type
view-type view-type
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).
 
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
 EOBJECTNOTFOUND
 EINTERNALERROR
 EAPIERROR
 EACCESSDENIED
 EDATABASEERROR
 EOBJECTAMBIGUOUS
 EINVALIDINPUTERROR

 
perf-client-stats-list-info-iter-end [top]
Ends an iteration started by perf-client-stats-list-info-iter-start
Input Name Range Type Description
tag string
The tag from a previous call to perf-client-stats-list-info-iter-start
 Errno  Description
 EACCESSDENIED
 EDATABASEERROR
 EINVALIDINPUTERROR
 EINVALIDTAG

 
perf-client-stats-list-info-iter-next [top]
Returns the per-client statistics loaded in a previous call to perf-client-stats-list-info-iter-start
Input Name Range Type Description
maximum integer
optional
The number of records to retrieve in this iteration. If not specified, a default value of 20 is assumed. Range: [ 1 .. 2^31 - 1 ]
tag string
The tag from a previous call to perf-client-stats-list-info-iter-start
 
Output Name Range Type Description
hosts-client-stats host-client-stats[]
The per-client operation statistics.
records integer
The number of records returned. Range: [ 0 .. 2^31 - 1 ]
 Errno  Description
 EACCESSDENIED
 EDATABASEERROR
 EINVALIDINPUTERROR
 EINVALIDTAG

 
perf-client-stats-list-info-iter-start [top]
Iterates over the historical data of stored client statistics for storage systems. If no input filters are specified, all the available collections of statistics will be returned.
Input Name Range Type Description
end-time timestamp
optional
If specified, only client statistics retrieved at or before this time will be returned. The time is specified in seconds from Epoch.
last-only boolean
optional
A convenience input to fetch only the last recorded collection for all hosts, if object-name-or-id is not specified, or a specific host if object-name-or-id is specified. If specified, start-time and end-time will be ignored, and this cannot be specified in conjunction with stat-id.
object-name-or-id obj-name-or-id
optional
Specifies the name or id of the object for which historical client statistics are to be retrieved. If not specified, the statistics will be returned for all available objects. The object must be a storage system.
start-time timestamp
optional
If specified, only client statistics retrieved at or after this time will be returned. The time is specified in seconds from Epoch.
stat-id stat-id
optional
If specified, only the collection of statistics with this id will be returned and all other inputs will be ignored.
 
Output Name Range Type Description
records integer
The number of records retrieved. Range: [ 0 .. 2^31 - 1 ]
tag string
The tag to be used in subsequent calls to perf-client-stats-list-info-iter-next or perf-client-stats-list-info-iter-end.
 Errno  Description
 EACCESSDENIED
 EDATABASEERROR
 EINVALIDINPUTERROR

 
perf-client-stats-purge [top]
Remove collected client stats from the database. If no input is specified, all collections for hosts on which the user can perform the DFM.Database.Write operation will be purged.
Input Name Range Type Description
end-time timestamp
optional
If specified, all statistics collection collected before this time will be removed. The timestamp must be specified in seconds from Epoch.
object-name-or-id obj-name-or-id
optional
Specifies the name or id, in the DFM database, of the object for which statistics collections should be purged. The object must be a storage system.
start-time timestamp
optional
If specified, all statistics collection collected after this time will be removed. The timestamp must be specified in seconds from Epoch.
stat-id stat-id
optional
Specifies the id, in the DFM database, of the collection to be removed. If specified, all other inputs will be ignored. The user must have the capability to perform the DFM.Database.Write operation on the storage system for which the collection with this id was collected.
 
Output Name Range Type Description
deleted-stats-count integer
Returns the number of collections of statistics purged from the database. Range: [0 .. 2^31-1]
 Errno  Description
 EACCESSDENIED
 EDATABASEERROR
 EINVALIDINPUTERROR

 
perf-collect-client-operation-statistics [top]
Collect per-client NFS and CIFS operation statistics for a storage system. The collection of such statistics will be enabled on all vFiler units on the storage system for a short period of time, and the collected values will then be summarized and returned for the storage system as a whole. This ZAPI is synchronous and will not return an error even if there are errors collecting per-client statistics from some or all vFiler units on the storage system.
Input Name Range Type Description
collection-period integer
optional
Specifies, in seconds, the period of time for which the collection of statistics should be enabled on the filer. If not specified, a default value of 15 will be assumed. The API will be blocked for at least this period of time. In case of heavily loaded storage systems, the duration of blocking may be significantly higher. Range: [15 .. 60]
object-name-or-id obj-name-or-id
The name or id of the object on which the collection of per-client statistics is to be enabled. The object must be a storage system.
 
Output Name Range Type Description
errors client-stat-error[]
optional
Returns errors encountered while collecting the per-client statistics, if any.
stat-id stat-id
Returns the id, in the DFM database, of the collection of statistics stored.
 Errno  Description
 EACCESSDENIED
 EDATABASEERROR
 EINVALIDINPUTERROR
 EBADCREDENTIALS

 
perf-copy-counter-configuration [top]
Propagates source host's current data collection settings to destination hosts. When counter configuration is copied to destination hosts, even if it fails for one host, it proceeds further with the next available host in the destination list. Privilege required is DFM.Database.Write.
Input Name Range Type Description
destination-objects obj-name-or-id[]
Name or identifier of an object, allowed object types for this argument are Host, Resource Group.
preview boolean
optional
If this flag is true, it performs a dry run before actually committing the changes. It returns a list of counters, host details in case of any discrepancies between source, destination hosts. By default true.
source-host-name-or-id host-name-or-id
optional
DFM hostname or id, the allowed value for this argument is a valid storage system.
src-is-default boolean
optional
This flag allows the destination objects to attach to the default configuration. Default value is set to FALSE.
 
Output Name Range Type Description
copy-result destination-host-info[]
Result of copy operation. This element will be included irrespective of preview flag settings. On successful copy operation 'copy-result' will include only 'host-name, host-id' elements. In case of failure the output includes additional element 'error-reason'.
missing-host-object-counters perf-missing-host-object-counter[]
optional
List of counters not available with destination hosts. The output will include these elements only if preview flag is set to true and there is a discrepancy between source, destination hosts.
purged-host-object-counters perf-purged-host-object-counter[]
optional
List of counters for which historical data will be purged. The output will include these elements only if preview flag is set to true and there is a discrepancy between source, destination hosts.
 Errno  Description
 EAPIPRIVILEDGE
 EAPIERROR
 EINTERNALERROR
 EOBJECTNOTFOUND
 EACCESSDENIED
 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
 EAPILICENSE

 
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 storage system. 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
 EAPILICENSE

 
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 storage system. 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
 EAPILICENSE

 
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 storage system. 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
 EAPILICENSE

 
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 storage system. 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. Either appliance-name-or-id or object-name-or-id should be specified, but not both. object-name-or-id is preferred as usage of appliance-name-or-id, group-name-or-id is deprecated.
consolidate-hosts boolean
optional
If true, then information for all the hosts is consolidated and returned instead of information for individual hosts.
counter-group-name string
optional
Counter group name to retrieve. If unspecified, all counter groups will be retrieved.
counter-info-only boolean
optional
If true, the output element perf-counter-group, includes only the list of enabled counters of the host with object type derived from the counter group name. In this case data-sources will not be returned. By default false.
custom-only boolean
optional
If true, returns only custom counter groups, by default false.
disabled-counter-info-only boolean
optional
If TRUE, returns counter information of the presently disabled counters. Default value is 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 or object-name-or-id is specified. This field defaults to global group if appliance-name-or-id or object-name-or-id is not specified. object-name-or-id is preferred as usage of group-name-or-id is deprecated.
include-calculated-stats boolean
optional
This option is valid only if either 'counter-info-only' or 'disabled-counter-info-only' is set to TRUE. If this flag is set to TRUE, the counter information will include calculated stats counters otherwise by default it will exclude those counters.
meta-data-only boolean
optional
If true, do not return any perf-data-sources with the perf-counter-group. By default false.
object-name-or-id obj-name-or-id
optional
If specified, output contains the counter-info element with list of enabled counters belonging to supplied counter-group-name. If counter-group-name is not set then output includes counters information for all counter groups of the hosting filer. Either appliance-name-or-id or object-name-or-id should be specified, but not both. object-name-or-id is preferred as usage of appliance-name-or-id, group-name-or-id is deprecated.
 
Output Name Range Type Description
counter-groups perf-counter-group[]
Counter group(s) retrieved.
 Errno  Description
 EAPIPRIVILEDGE
 EAPIERROR
 EAPILICENSE

 
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.
records integer
The number of records actually returned. Range: [1..2^31-1]
 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 storage system. 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. User can modify the sample-interval, sample-buffer and the counter set of an existing counter group at the individual host level. Modifying a counter set of a counter group means user can selectively enable/disable counters according to the requirement of collecting data. If a counter is disabled data will not be collected for that counter and this gives the flexibility of controlling load on a storage system. This zapi will only enable the counters mentioned in the 'data-sources' part of the input parameter 'perf-counter-group' and rest of the counters of the counter group will be automatically disabled. User can also disable all the counters of a counter group by setting the flag 'is-disable-all' in the input parameter 'perf-counter-group'. Enabling/disabling counters is not allowed for calculated stats counters in default counter groups. Privilege required is DFM.Database.Write.
Input Name Range Type Description
appliance-name-or-id string
optional
The name (or unique ID) of the source storage system. 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
 EAPILICENSE

 
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 storage system. 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
 EAPILICENSE

 
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 storage system. 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
 EAPILICENSE

 
perf-diag-troubleshoot [top]
This API shall troubleshoot the DFM object for performance related issues and provides the recommendations to help resolve them.
Input Name Range Type Description
duration integer
optional
The recent time in seconds for which the data has to be analyzed Either duration or start-time/end-time has be specified but not both. An error will be returned if at least one of them is not supplied.
end-time integer
optional
Time stamp marking the end of diagnosis window The timestamp value is the time in seconds since 00:00:00 Jan 1, 1970, UTC. Range: [0..(2^32)-1] Either duration or start-time/end-time has to be specified but not both. An error will be returned if at least one of them is not supplied.
object-name-or-id obj-name-or-id
object-name or id of the following objects that needs troubleshooting.
  • Storage System
start-time integer
optional
Time stamp marking the beginning of diagnosis window The timestamp value is the time in seconds since 00:00:00 Jan 1, 1970, UTC. Range: [0..(2^32)-1] Either duration or start-time/end-time has to be specified but not both. An error will be returned if at least one of them is not supplied.
 
Output Name Range Type Description
categories perf-diag-category[]
List of root causes or performance problems.
 Errno  Description
 EINTERNALERROR
 EAPIERROR
 EACCESSDENIED
 EDATABASEERROR
 EINVALIDINPUTERROR

 
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.
is-persistent boolean
optional
If true the disabling of Performance Advisor is saved in the database. If false, the disbling is temporary and the setting is not saved in the database. If the server restarts the data collection begins again.
 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-data [top]
Retrieve data for all the related objects for the given object and the specified performance counters.
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. If the value is set to 'forward', then the starting time is the time stamp of the oldest data. The ending time is the sum of time stamp of the oldest data and the duration. If the value is set to 'backward', then the starting time is the difference between time stamp of the most recent data and the duration. The ending time is the time stamp of the most recent data. If the value is set to 'backward-from-now', then the starting time is the difference between current time and the duration. The ending time is the current time. Default value is 'backward'
duration integer
optional
The duration for which the data is to be returned, in seconds. The time period is calculated based on the direction flag. Duration should not be specified when either start-time or end-time is specified. If specfied, EINVALIDINPUTERROR error will be returned. Range: [0..(2^32)-1]
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-counter-info instance-counter-info
This defines what counter data to be returned for the specified instances.
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 in the counter group that the counter is present. 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'
  • time-filter time-filter
    optional
    Time based filter to reading data. This filter will be applied on the range derived from the start-time/end-time/duration/direction fields. This field is used only for metrics calculations, if metrics field is not specified in the input this field will be ignored.
     
    Output Name Range Type Description
    invalid-counter-instances invalid-counter-instance[]
    optional
    A list of invalid counter instance pairs, for which performance data could not be fetched.
    perf-instances perf-instance-counter-data[]
    optional
    List of instances. Each element of this list contains the counter data for an instance.
     Errno  Description
     EOBJECTNOTFOUND
     EINTERNALERROR
     EAPIERROR
     EACCESSDENIED
     EDATABASEERROR
     EINVALIDINPUTERROR

     
    perf-get-counter-dependents [top]
    Find out the Operations Manager reports, Performance Advisor custom views, Performance Advisor threshold templates and Performance Advisor thresholds which depend on the specified performance counters.
    Input Name Range Type Description
    counters perf-object-counter[]
    The list of counters.
    host-name-or-id host-name-or-id
    optional
    The host name or id. If this parameter is specified, custom views attached to object instances will be returned in addition to the custom views attached with object types.
     
    Output Name Range Type Description
    base-counters perf-object-counter[]
    optional
    The list of counters to which at least one of the input counters are dependent.
    dependent-counters perf-object-counter[]
    optional
    The list of counters dependent on at least one of the input counters. This dependent counter list will contain both the calculated stats as well as the basic counters.
    reports perf-report[]
    optional
    The list of report names that have at least one of the input counters.
    threshold-templates threshold-template[]
    optional
    The list of threshold template names that have at least one of the input counters.
    thresholds perf-threshold[]
    optional
    The list of thresholds that have at least one of the input counters.
    views perf-view[]
    optional
    The list of custom views that have at least one of the input counters.
     Errno  Description
     EAPIERROR
     EACCESSDENIED
     EDATABASEERROR
     EINVALIDINPUTERROR

     
    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
     EOBJECTNOTFOUND
     EACCESSDENIED
     EINVALIDINPUTERROR

     
    perf-get-default-view [top]
    Gets the default view for an object.
    Input Name Range Type Description
    object-name-or-id obj-name-or-id
    optional
    Specifies the object for which the view is to be retrieved. If not present, then Global Group is assumed.
     
    Output Name Range Type Description
    view-name string
    The view-name which is to be displayed by default for the object. Maximum length is 255 characters
     Errno  Description
     EINTERNALERROR
     EAPIERROR
     EACCESSDENIED
     EDATABASEERROR

     
    perf-get-server-status [top]
    Returns the status of DFM Performance Advisor.
    Output Name Range Type Description
    perf-server-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 storage system. 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.
    include-calculated-stats boolean
    optional
    If set to false the output will exclude the calculated stats counters. By default the value is true i.e will always include calculated stats.
    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-dependent-counter-list-info [top]
    Retrieve information about a performance object's dependent counters. Privilege required is read.
    Input Name Range Type Description
    appliance-name-or-id string
    optional
    The name or unique ID for the storage system. 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 dependent counters. Object names are broad classes of system components and protocols, like NFS, VOLUME, DISK, ...
     
    Output Name Range Type Description
    dependent-counters perf-dependent-counter-info[]
    List of dependent counters.
     Errno  Description
     EAPIPRIVILEDGE
     EAPIERROR
     EINTERNALERROR
     EOBJECTNOTFOUND
     EACCESSDENIED

     
    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.
    records integer
    The number of records actually returned. Range: [1..2^31-1]
     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 storage system. 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 storage system. 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-set-default-view [top]
    Sets the default view for an object.
    Input Name Range Type Description
    object-name-or-id obj-name-or-id
    optional
    Specifies the object for which the view is to be set. If not specfied, then the Global Group is assumed.
    view-name string
    The view-name which is to be displayed by default for the object. Maximum length is 255.
     Errno  Description
     EINTERNALERROR
     EAPIERROR
     EACCESSDENIED
     EDATABASEERROR

     
    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
     EAPILICENSE
     EAPIPRIVILEDGE
     EINTERNALERROR
     EINVALIDINPUTERROR
     ETHRESHOLDEXIST
     EACCESSDENIED
     EOBJECTNOTFOUND

     
    perf-threshold-create2 [top]
    Creates one threshold composed of one or more counters, and optionally applies it to an object. The user must have the capability to perform the DFM.Database.Write operation on the object on which the threshold is applied.
    Input Name Range Type Description
    object-name-or-id obj-name-or-id
    Specifies the object on which the threshold is to be applied. When applying a threshold to an object, in case of container objects (like groups) or parent objects (like storage systems), if a counter is specified on a child object, the threshold applies to all such children. For example, if aggr:cp_reads is specified as one of the counters in the threshold and there is no counter of an object which is a child of an aggregate (viz. volume or qtree), and the object-name-or-id is that of a storage system, the threshold applies to all present and future aggregates on the storage system.
    threshold-info2 threshold-info2
    Specifies the attributes of the threshold to be created.
     
    Output Name Range Type Description
    threshold-id threshold-id
    Specifies the id of the threshold that is created.
     Errno  Description
     EACCESSDENIED
     EDATABASEERROR
     EAPIERROR
     EINTERNALERROR
     EINVALIDINPUTERROR

     
    perf-threshold-delete [top]
    Removes threshold set on a counter. The user must have the capability to perform the DFM.Database.Delete operation on the object on which the threshold is directly applied.

    This ZAPI cannot be used to delete template thresholds, and perf-threshold-template-modify should be used for that purpose.

    Input Name Range Type Description
    threshold-id threshold-id
    The unique identifier of a threshold that needs to be deleted.
     Errno  Description
     EAPILICENSE
     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.
    records integer
    The number of records actually returned. Range: [0..2^31-1].
     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
     EAPILICENSE
     EAPIPRIVILEDGE
     EINTERNALERROR
     EINVALIDINPUTERROR
     EOBJECTNOTFOUND

     
    perf-threshold-list-info2-iter-end [top]
    Terminate a perf-thresholds-list-info2 iteration and clean up any saved info.
    Input Name Range Type Description
    tag string
    The tag from a previous perf-threshold-list-info2-iter-start call.
     Errno  Description
     EAPIPRIVILEDGE
     EINVALIDTAG

     
    perf-threshold-list-info2-iter-next [top]
    The perf-threshold-list-info2-iter-* list of APIs are used to retrieve the list of all objects on which thresholds have been set.
    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-info2-iter-start call.
     
    Output Name Range Type Description
    attributes-list threshold-info2[]
    List of performance thresholds.
    records integer
    The number of records actually returned. Range: [0..2^31-1].
     Errno  Description
     EAPIPRIVILEDGE
     EINVALIDTAG

     
    perf-threshold-list-info2-iter-start [top]
    The perf-threshold-list-info2-iter-* list of APIs are used to retrieve the list of objects on which thresholds have been set. It loads the list of thresholds into a temporary store. The API returns a tag that identifies the temporary store so that subsequent APIs can be used to iterate over the thresholds in it. The user must have the capability to perform the DFM.Database.Read operation on the object on which the threshold is applied, and only thresholds which are applied on such objects will be returned.
    Input Name Range Type Description
    object-name-or-id obj-name-or-id
    optional
    If specified, only thresholds set on this object will be returned. This includes thresholds that apply to this object via inheritance. For example, if there is a threshold on an aggregate counter applied to a filer, and obj-name-or-id identifies an aggregate in that filer, the threshold will be returned.
    threshold-id threshold-id
    optional
    If specified, only information relevant to the threshold with this id will be returned. This parameter takes precedence over all others, and it may not be specified in combination with any of the other arguments.
     
    Output Name Range Type Description
    records integer
    Number indicating how many items are available for future retrieval via calls to perf-threshold-list-info2-iter-next
    tag string
    Tag to be used in subsequent calls to perf-threshold-list-info2-iter-next. It is an opaque handle used by the DFM station to identify a temporary store.
     Errno  Description
     EACCESSDENIED
     EAPIERROR
     EAPILICENSE
     EAPIPRIVILEDGE
     EINTERNALERROR
     EINVALIDINPUTERROR
     EOBJECTNOTFOUND

     
    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
     EAPILICENSE
     EAPIPRIVILEDGE
     EINTERNALERROR
     EINVALIDINPUTERROR
     EOBJECTNOTFOUND
     EACCESSDENIED
     EDATABASEERROR

     
    perf-threshold-modify2 [top]
    Modify an existing threshold. This ZAPI should be used only for changing the parameters of a threshold, not for changing the objects it is not applied on. The objects-info structure is ignored in this ZAPI. This ZAPI cannot be used to modify template thresholds, and perf-threshold-template-modify should be used for that purpose. The user must have the capability to perform the DFM.Database.Write operation on the object on which the threshold is applied.
    Input Name Range Type Description
    threshold-info2 threshold-info2
    Information on the threshold to modify. The threshold-id parameter must be specified to modify a threshold.
     Errno  Description
     EACCESSDENIED
     EDATABASEERROR
     EAPIERROR
     EINTERNALERROR
     EINVALIDINPUTERROR

     
    perf-threshold-template-attach-objects [top]
    Attach one or more objects to a performance template. Either all input objects get attached or none of them get attached. The specified objects will get associated to the applicable thresholds in the template. Objects cannot be attached if the template has no thresholds. Objects already attached to the template are left unchanged. The user must have the capability to perform the DFM.Database.Write operation on the object to which the template is to be attached.
    Input Name Range Type Description
    new-objects object-info[]
    optional
    The list of objects to be attached to the template. At least one object should be specified.
    template-name-or-id string
    Name or id of a performance template
     Errno  Description
     EAPILICENSE
     EAPIPRIVILEDGE
     EINTERNALERROR
     EINVALIDINPUTERROR
     EACCESSDENIED
     EDATABASEERROR
     EOBJECTNOTFOUND

     
    perf-threshold-template-create [top]
    Creates a template for perf thresholds.
    Input Name Range Type Description
    member-thresholds threshold-info2[]
    optional
    Specifies the thresholds that are to be part of this template.
    template-description string
    optional
    Description of the template.
    template-name string
    Name of the template.
     
    Output Name Range Type Description
    template-id integer
    This returns the id of the template that is created Range: [1..2^32-1]
     Errno  Description
     EACCESSDENIED
     EDATABASEERROR
     EAPIERROR
     EINTERNALERROR
     EINVALIDINPUTERROR
     EPERFTEMPLATEEXISTS

     
    perf-threshold-template-delete [top]
    Deletes a template.
    Input Name Range Type Description
    template-name-or-id string
    The name or id of the template that is to be deleted.
     
    Output Name Range Type Description
    template-id integer
    The id of the deleted template. Range: [1..2^32-1]
    template-name string
    The name of the deleted template.
     Errno  Description
     EAPILICENSE
     EAPIPRIVILEDGE
     EINTERNALERROR
     EINVALIDINPUTERROR
     EACCESSDENIED
     EDATABASEERROR

     
    perf-threshold-template-detach-objects [top]
    Detaches one or more objects from a performance template. Either all or none of the input objects get detached. The user must have the capability to perform the DFM.Database.Write operation on the object which is to be detached from the template.
    Input Name Range Type Description
    objects object-info[]
    optional
    The list of objects to be detached from the template. At least one object should be specified.
    template-name-or-id string
    Name or id of a performance template
     Errno  Description
     EAPILICENSE
     EAPIPRIVILEDGE
     EINTERNALERROR
     EINVALIDINPUTERROR
     EACCESSDENIED
     EDATABASEERROR
     EOBJECTNOTFOUND

     
    perf-threshold-template-list-info-iter-end [top]
    Terminate a perf-threshold-template-list iteration and clean up any saved information.
    Input Name Range Type Description
    tag string
    The tag from a previous perf-threshold-template-list-iter-start call.
     Errno  Description
     EAPIPRIVILEDGE
     EINVALIDTAG

     
    perf-threshold-template-list-info-iter-next [top]
    The perf-threshold-template-list-info-iter-* list of APIs are used to retrieve the list of all objects on which thresholds have been set.
    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-template-list-info-iter-start call.
     
    Output Name Range Type Description
    records integer
    The number of records actually returned. Range: [0..2^31-1].
    threshold-templates threshold-template-info[]
    List of performance thresholds.
     Errno  Description
     EAPIPRIVILEDGE
     EINVALIDTAG

     
    perf-threshold-template-list-info-iter-start [top]
    The perf-threshold-template-list-info-iter-* list of APIs are used to retrieve the list of all threshold templates that have been created. It loads the templates 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.
    Input Name Range Type Description
    include-objects boolean
    optional
    If true, the output will include objects on which the template(s) apply. Only the direct objects will be returned. Only objects on which the user has the capability to perform the DFM.Database.Read operation will be returned. Default value is false.
    include-thresholds boolean
    optional
    If true, the output will include the thresholds that are part of the template. Default value is false.
    template-name-or-id string
    optional
    Return information of a specific template
     
    Output Name Range Type Description
    records integer
    Number indicating how many items are available for future retrieval via calls to perf-threshold-template-list-info-iter-next.
    tag string
    Tag to be used in subsequent calls to perf-threshold-template-list-info-iter-next. It is an opaque handle used by the DFM station to identify a temporary store.
     Errno  Description
     EACCESSDENIED
     EAPIERROR
     EAPILICENSE
     EINTERNALERROR
     EINVALIDINPUTERROR
     EOBJECTNOTFOUND

     
    perf-threshold-template-modify [top]
    The perf-threshold-template-modify zapi is used to modify an existing threshold template. It can be used to add, remove or modify thresholds in the template or modify attributes of the template
    Input Name Range Type Description
    is-enabled boolean
    optional
    This specifies if the template is enabled or not. If not specified, the enabled/disabled state of the template is not modified.
    member-thresholds threshold-info2[]
    optional
    Specifies the thresholds that are to be part of this template.
    template-description string
    optional
    A new description for the template, if the description is to be modified.
    template-id integer
    Specifies the id of the template that is to be modified. Range: [1..2^32-1]
    template-name string
    optional
    The new name for the template, if the name is to be modified.
     Errno  Description
     EAPILICENSE
     EINTERNALERROR
     EINVALIDINPUTERROR
     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
     EAPILICENSE
     EPERFUPDATEDISABLED
     EINVALIDINPUTERROR

     
    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 storage system. 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
     EAPILICENSE

     
    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. If the value is set to 'forward', then the starting time is the time stamp of the oldest data. The ending time is the sum of time stamp of the oldest data and the duration. If the value is set to 'backward', then the starting time is the difference between time stamp of the most recent data and the duration. The ending time is the time stamp of the most recent data. If the value is set to 'backward-from-now', then the starting time is the difference between current time and the duration. The ending time is the current time. Default value is 'backward'
    duration integer
    optional
    The duration for which the data is to be returned, in seconds. The time period is calculated based on the direction flag. Duration should not be specified when either start-time or end-time is specified. If specfied, EINVALIDINPUTERROR error will be returned. 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
     EOBJECTNOTFOUND
     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
     EAPILICENSE

     
    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
    records integer
    The number of records actually returned. Range: [1..2^31-1]
    views perf-view[]
    A list of views.
     Errno  Description
     EAPIPRIVILEDGE
     EAPILICENSE

     
    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 storage system. 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 storage system 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.
    include-empty-views boolean
    optional
    If false, the following will be removed from the output views:
    • lines without any data source
    • charts without any lines
    • views without any charts
    By default, this is false.
    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
     EAPILICENSE

     
    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 storage system. 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
     EAPILICENSE

     
    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
     EOBJECTNOTFOUND
     EINTERNALERROR
     EAPIERROR
     EACCESSDENIED
     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
     EOBJECTNOTFOUND
     EINTERNALERROR
     EAPIERROR
     EACCESSDENIED
     EDATABASEERROR
     EOBJECTAMBIGUOUS
     EINVALIDINPUTERROR

     
    Element definition: client-stat-error [top]
    Describes an error encountered while collecting per-client statistics on the storage system or vfiler.
    Name Range Type Description
    cifs-error string
    optional
    Error encountered while collecting CIFS per-client statistics
    nfs-error string
    optional
    Error encountered while collecting NFS per-client statistics
    object-name obj-name
    The name of the vFiler unit or storage system for which this error was encountered.

     
    Element definition: destination-host-info [top]
    Name Range Type Description
    error-reason string
    optional
    If the copy operation failed, this element will have the reason for the failure. This element will not be present when the copy operation was sucessful.
    host-id obj-id
    Identifier of the destination storage system.
    host-name obj-full-name
    Name of the destination storage system.

     
    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: host-client-stats [top]
    Contains the per-client operations on a host.
    Name Range Type Description
    collection-period integer
    The duration, in seconds, for which the collection of per-client statistics was enabled. Range: [ 15 .. 60 ]
    object-id obj-id
    The id, in the DFM database, of the storage system for which these client statistics have been collected.
    object-name obj-name
    The name of the storage system for which the per-client statistics were collected.
    start-time timestamp
    The time at which the collection of per-client statistics was enabled, in seconds from Epoch time.
    stat-id stat-id
    The id, in the DFM datbase, of this collection of statistics.
    stats client-stats[]
    Contains the operations performed by the top 20 clients operating on the host. If 20 clients are not available, the operations for the maximum available clients will be present.

     
    Element definition: host-name-or-id [top]
    DFM host. A host can be a storage system, a vFiler unit, a switch, or an agent. Value can be a DFM object name (maximum 255 characters), a fully qualified domain name (FQDN)(maximum 255 characters), the ip address, or the DFM id [1..2^31-1].
    [none]

     
    Element definition: instance-counter-info [top]
    A specification for returning data for the given instances and counters.
    Name Range Type Description
    counter-info perf-object-counter[]
    optional.
    List of performance counters whose values will be retrieved.
    instance-name string
    optional
    For unmanaged objects, this will be the name of the instance. When this input is specified, the object-name-or-id should have the name or id of the storage system. Maximum length is 255
    object-name-or-id obj-name-or-id
    optional
    If specified, all related instances of the object-type mentioned in the perf-object-counter under this object are returned. For example, if obj-name-or-id is a host and object-type in the perf-object-counter is qtree, this would mean all qtree under the host. If the obj-name-or-id is aggregate, all qtrees under the aggregate.

     
    Element definition: invalid-counter-instance [top]
    A performance counter, an object instance pair.
    Name Range Type Description
    counter-info perf-object-counter
    Specification of the performance counter.
    err-code string
    The string to specify the reason why this counter instance pair is invalid. Possible values are: "invalid_instance": The instance provided is invalid. "invalid_object_type": The object type provided is invalid. "no_instances_available": No instances found for the provided counter. "invalid_counter": The counter specified is not valid. "counter_unavailable": The counter specified is unavailable for this storage system. "incompatible_counter_instance": The counter and instance are incompatible (For example: data requested for a network interface counter but an aggregate is provided as instance).
    err-reason string
    The reason why this instance pair is invalid.
    host-id obj-id
    optional
    Name of the storage system to which the instance belongs to.
    instance-name string
    optional
    Name of the instance.

     
    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].
    • In case of application resources from the Host Service, this field can contain unique identifier assigned to the object by the Host Service e.g. for a Virtual Machine, it can be a GUID of the VM. One exception is when such unique identifier is a decimal numeric string containing only digits from 0 through 9. In that case, you cannot use such identifier as obj-name-or-id input.
    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. dataset, 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
    optional
    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
    optional
    object-name is the name of the DFM object
    object-type string
    optional
    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 storage system. 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.
    counter-info perf-object-counter[]
    optional
    Counters retrieved.
    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.
    data-sources-to-be-disabled perf-data-source[]
    optional
    The data sources to be disabled. Presently this parameter is valid for the default cgs. If 'data-sources' field contains a valid data sources to be enabled on this counter group, this field should not be specified.
    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-disable-all boolean
    optional
    Indicates whether to disable all the counters in the counter group. Default is 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.
    number-records integer
    optional
    Present in output only. Indicates the number of records currently collected for the counter group and storage system. This information is sent in the output only if the host information is not consolidated
    perf-file-name string
    optional
    Present in output only. This indicates the name of the file that contains the performance information for the counter group and storage system. This information is sent in the output only if the host information is not consolidated
    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.Range: [0..2^64-1].
    space-projected integer
    optional
    Present in output only. Indicates the maximum amount of server storage required by the counter group data, in bytes. Range: [0..2^64-1].
    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 a storage system or in a group.
    Name Range Type Description
    appliance-name-or-id string
    optional
    The name (or unique ID) of the source storage system. 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 a storage system 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. For dynamic data sources, this will specify the container from which objects will be selected
    object-type string
    optional
    Type of the DFM object. The possible values are
    • "filer"
    • "vfiler"
    • "volume"
    • "qtree"
    • "lun"
    • "aggregate"

     
    Element definition: perf-dependent-counter-info [top]
    Describes a performance counter and its dependent counters list, for example system:load_inbound_mbps is dependent on system:net_data_recv, fcp:fcp_write_data, iscsi:iscsi_write_data counters.
    Name Range Type Description
    counter-name string
    Name of the counter.
    object-counters perf-object-counter[]
    optional
    List of dependents for this counter.

     
    Element definition: perf-diag-category [top]
    Diagnosis Category.
    Name Range Type Description
    category-name string
    Name of the category
    category-status obj-status
    Violation status of the category The possible status for a Diagnosis Category are "information" (If none of its health checks are violated), "warning" (If it contains only performance tips) and "error" (If atleast one of its health checks are violated). Details of 'Performance tips' shall not be included in the category output if it is not violated.
    health-checks perf-health-check[]
    List of Performance Health Checks and performance improvement tips.

     
    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 storage systems in a group.
    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-source perf-data-source
    optional
    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.
    select-all-instances boolean
    optional
    If true, this will pick all the instances being considered. If maximum-instances element is present and select-all-instances is true, then select-all-instances will be considered over maximum-instances. By default this is false.
    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-instance-counter-data [top]
    Array of counter values of an instance.
    Name Range Type Description
    counters perf-counter-data[]
    List of counter values for this instance.
    instance-name string
    optional
    Name of the instance to get counter values for.
    object-id obj-id
    Identifier of the object

     
    Element definition: perf-missing-host-object-counter [top]
    Counters not available with a particular host.
    Name Range Type Description
    host-name-or-id host-name-or-id
    DFM host name.
    missing-object-counters perf-object-counter[]
    List of unavailable counters.

     
    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
    assoc-obj-type perf-assoc-obj-type
    Name of the DFM object to which the performance object is associated. Performance objects that have single instances such as "system", "cifs", "nfsv3", etc are associated with DFM object "filer". Other performance objects are associated with respective DFM object types.
    object-name string
    Name of the performance object.

     
    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.

    is-calculated-stats boolean
    optional
    This field says whether the counter is a calculated stat counter or not.
    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
    metrics metric[]
    optional
    Container of metric requested. Only perf-get-counter-data uses this field, for all other ZAPIs this field is ignored.
    object-type string
    object-type is the name of the object classification as defined by ONTAP counter manager.

    Maximum length of 255 characters.

    perf-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
    time-consolidation-method string
    optional
    This element will be used by perf-get-counter-data ZAPI only. A function to apply across the data for this counter 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'

     
    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-purged-host-object-counter [top]
    Lists the effected counters deatils for a particular host.
    Name Range Type Description
    host-name-or-id host-name-or-id
    DFM host name.
    purged-object-counters-details perf-purged-object-counters-details[]
    Lists the effected counters details.

     
    Element definition: perf-report [top]
    The description of a performance report.
    Name Range Type Description
    report-name string
    Name of the report.

     
    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 storage system 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 storage system yet.

     
    Element definition: perf-threshold [top]
    The description of a performance threshold.
    Name Range Type Description
    perf-threshold-name string
    Name of the threshold event.

     
    Element definition: perf-view [top]
    A performance view.
    Name Range Type Description
    appliance-name-or-id string
    optional
    Name (or unique ID) of the storage system. 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[]
    optional
    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 view-type
    optional
    Indicates the type of view. If unspecified during view creation, it defaults to "custom_view".

     
    Element definition: stat-id [top]
    The id, in the DFM database, of a collection of per-client statistics. Range: [ 1 .. 2^31 - 1 ]
    [none]

     
    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, Dataset, 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^64-1]


     
    Element definition: threshold-info2 [top]
    Defines a performance counter based threshold.
    Name Range Type Description
    counter-thresholds counter-threshold-info[]
    List of thresholds on counters.
    is-enabled boolean
    optional
    If true, the threshold is enabled and events will be generated if it is breached. Default value is true.
    is-indirect boolean
    optional
    Specifies whether the threshold applies on the object directly or through inheritance. For example, if the threshold is applied on a storage system, but applies on qtree in it because of the constituent counters, is-indirect will be set to true. This value is relevant only when the threshold details are returned; and is ignored when creating or modifying a threshold. It is, therefore, ignored in input.
    objects-info object-info[]
    optional
    Contains the id, the full name and type of the object on which the threshold is applied directly.
    resource-property-conditions resource-property-condition[]
    optional
    Specifies conditions on properties of the objects to which this threshold applies.
    template-id integer
    optional
    This returns the id of the template to which this threshold belongs. Range: [1..2^32-1]
    template-name string
    optional
    Specifies the name of the template to which this threshold belongs.
    threshold-event-name string
    Specifies the name of the event that is raised when the threshold is breached. The default name is derived from the counter.
    threshold-id threshold-id
    optional
    The ID, in the DFM database, of the threshold. This element should not be specified when creating a threshold, but is always returned when querying.
    threshold-interval integer
    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]


     
    Element definition: threshold-template [top]
    The description of a threshold template.
    Name Range Type Description
    template-name string
    Name of the template.

     
    Element definition: threshold-template-info [top]
    Contains info on performance threshold templates
    Name Range Type Description
    applied-objects object-info[]
    optional
    is-enabled boolean
    optional
    This specifies if the template is enabled or not.
    member-thresholds threshold-info2[]
    optional
    Specifies the thresholds that are to be part of this template.
    template-description string
    optional
    Description of the template.
    template-id integer
    This returns the id of the template that is created Range: [1..2^32-1]
    template-name string
    optional
    Name of the template.

     
    Element definition: time-filter [top]
    Filter data based on selected time range.
    Name Range Type Description
    days day[]
    optional
    Days of week. Default: no day filter
    months month[]
    optional
    Months of year. Default: no month filter
    time-ranges time-range[]
    optional
    Range in minutes of day. Default: no time-range filter

     
    Element definition: timestamp [top]
    Seconds since 1/1/1970 in UTC. Range: [0..2^31-1].
    [none]

     
    Element definition: view-type [top]
    Type of the view. Possible values are:
    • custom_view - User defined view containing counters of specific instances. Creates a custom counter group to hold the performance data.
    • canned_view - Default views.
    • summary_view - Default views.
    • custom_view_instances - User defined view containing counters of specific instances. Doesn't create custom counter group during view creation but uses data from default counter group.
    • custom_view_object_type - User defined view that is attached to a specific associated object type. Exactly one assoc-obj-type element needs to be specified while creating this view. Counters for specific instances cannot be present in the view. Only counters related to the associated object type can be added to it. Doesn't create custom counter group during view creation but uses data from default counter group.
    [none]

     
    Element definition: client-stats [top]
    Contains the per-protocol operations performed by a client on a storage system.
    Name Range Type Description
    cifs-op-stats cifs-op-stats
    optional
    The number of CIFS operations performed by the client.
    client-name-or-ip string
    The name or IP address of the client.
    nfs-op-stats nfs-op-stats
    optional
    The number of NFS operations performed by the client.

     
    Element definition: counter-threshold-info [top]
    Specifies all the attributes of a threshold on a single counter.
    Name Range Type Description
    perf-object-counter perf-object-counter
    Specifies a combination of an object and a counter, e.g. system:cpu_busy.
    threshold-type string
    optional
    Specifies whether an event is to be generated when the value of the counter is above ('upper') or below ('lower') the threshold-value. Possible values are 'upper' and 'lower'. Default is 'upper'
    threshold-unit counter-unit
    Unit of the counter. The metric used for a counter may vary depending on the ONTAP version.
    threshold-value integer
    The threshold value to trigger an event. Range: [0..2^64-1].

     
    Element definition: day [top]
    Day of week. Possible values : 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday' or 'sunday'
    [none]

     
    Element definition: host-name-or-id [top]
    DFM host. A host can be a storage system, a vFiler unit, a switch, or an agent. Value can be a DFM object name (maximum 255 characters), a fully qualified domain name (FQDN)(maximum 255 characters), the ip address, or the DFM id [1..2^31-1].
    [none]

     
    Element definition: metric [top]
    Contains the computation performed and the value
    Name Range Type Description
    id string
    Unique identifier to be set by the user to map the requested metrics to its value when multiple type of metrics are requested for the same counter. This field is not processed and returned as it is in the output. Length not more than 16 characters.
    metric-result string
    optional
    The computed value. The format multiple comma separated timestamp:value. This is an output-only field.
    period integer
    optional
    Computation window in seconds. Valid only when slide field is specified as "step", "rolling" or "cumulative". One metric value is calculated for each window of size period. Range: [1..2^31-1]
    slide string
    optional
    Defines the method to slide the compute window specified by period field. Possible values:
  • "simple": No slide. Compute a single metric for the entire time range.
  • "rolling": Slide the window by one sample at a time. period field has to be specified.
  • "step": Slide the window value equal to period. period field has to be specified.
  • "cumulative": The window keeps growing by the value equal to period
    Default value: "simple"
  • type string
    The computation type Possible values: "mean": Mean of the data for the specified time period. "min": Minimum value "max": Maximum value "value_at_percentile": nth percentile of the samples, where n is specified in the value field.
    value string
    optional
    Valid only when the type field is set to "value_at_percentile" Requested percentile value. This field accepts only positive real numbers as inputs. Range : (0..100]

     
    Element definition: month [top]
    Month of year. Possible values : 'january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november' or 'december'
    [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 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. dataset, 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 built in 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 datasets, DP schedules, and DP policies. This means that no two datasets may have the same name, but a dataset 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].
    • In case of application resources from the Host Service, this field can contain unique identifier assigned to the object by the Host Service e.g. for a Virtual Machine, it can be a GUID of the VM. One exception is when such unique identifier is a decimal numeric string containing only digits from 0 through 9. In that case, you cannot use such identifier as obj-name-or-id input.
    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. dataset, 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: obj-status [top]
    A status value which can be associated with a DFM object. This typedef is an alias for the builtin ZAPI type string. The severity associated with an event has this type.

    Possible values are: 'unknown', 'normal', 'information', 'unmanaged' 'warning', 'error', 'critical', 'emergency'.

    • unknown: An object has an unknown status when it transitions from one state to another. Ideally, an object will have this status briefly. For example, when an object has been added, but not yet discovered.
    • normal: An object has normal status when it is working within the thresholds specified in DFM.
    • information: The information events are normal occurrences on an object for which you can define alarms.
    • unmanaged: An object is considered to be unmanaged when the login and password are not set for the storage system or agent.
    • warning: An object has the warning status when an event related to the object occurred that an administrator should know about. The event will not cause service disruption.
    • error: An object has error status when it does not cause any service disruption, but it may affect performance.
    • critical: An object has critical status when it is still performing, but service disruption may occur if corrective action is not taken immediately.
    • emergency: An object is in emergency status when it stops performing unexpectedly and could lose data.
    In some contexts, it is important that severities are ordered (as above). For example, an alarm might be triggered if an event with a given severity "or worse" occurs. In this example, worse means "after" in the list above.
    [none]

     
    Element definition: object-info [top]
    Associated object's information
    Name Range Type Description
    object-full-name obj-full-name
    optional
    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
    optional
    object-name is the name of the DFM object
    object-type string
    optional
    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-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-counter-data [top]
    Value of the performance counter.
    Name Range Type Description
    counter-data string
    A single Array of retrieved values counter 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.
    counter-name string
    Name of the counter.
    label-names string
    A list of comma-separated label names to completely qualify the counter. This element will be empty for counters without labels.
    metrics metric[]
    optional
    Container of computed metric values. Returned only in the perf-get-counter-data ZAPI when metrics value is requested.
    object-type string
    object-type is the name of the object classification as defined by ONTAP counter manager. Maximum length of 255 characters.
    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.

     
    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 a storage system or in a group.
    Name Range Type Description
    appliance-name-or-id string
    optional
    The name (or unique ID) of the source storage system. 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 a storage system 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. For dynamic data sources, this will specify the container from which objects will be selected
    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 storage systems in a group.
    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-source perf-data-source
    optional
    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.
    select-all-instances boolean
    optional
    If true, this will pick all the instances being considered. If maximum-instances element is present and select-all-instances is true, then select-all-instances will be considered over maximum-instances. By default this is false.
    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-health-check [top]
    A check which if violated could affect the performance of the given object.
    Name Range Type Description
    health-check-name string
    Name of the health check
    health-check-status obj-status
    Violation status of the health check. Possible values are "error", "warning" (in case of performance tip), "information".
    observation string
    Observations found for the health check.
    recommendation string
    Recommendation to avoid the issue. This will be "N/A" if the health-check status is "information".

     
    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.

    is-calculated-stats boolean
    optional
    This field says whether the counter is a calculated stat counter or not.
    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
    metrics metric[]
    optional
    Container of metric requested. Only perf-get-counter-data uses this field, for all other ZAPIs this field is ignored.
    object-type string
    object-type is the name of the object classification as defined by ONTAP counter manager.

    Maximum length of 255 characters.

    perf-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
    time-consolidation-method string
    optional
    This element will be used by perf-get-counter-data ZAPI only. A function to apply across the data for this counter 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'

     
    Element definition: perf-purged-object-counters-details [top]
    Lists the effected counters for each object along with retention period details.
    Name Range Type Description
    current-retention-period integer
    Existing retention period in seconds.
    new-retention-period integer
    New retention period in seconds after applying copy configuration operation.
    purged-object-counters perf-object-counter[]
    List of effected counters for which historical data will be purged.

     
    Element definition: resource-property-condition [top]
    Specifies conditions on resource properties. In case of values for the same property, the conditions are assumed to be either-or conditions. For example, if the conditions "Disk RPM=7200" and "Disk RPM=10000" are specified, the threshold applies to all disks with speed 7200 RPM or 10000 RPM. In case of conditions on different properties, the conditions are assumed to be "and" conditions. For example, if the conditions name = "Disk RPM", value = "10000" and name="Filer Model", value="FAS270" are specified, the threshold applies to all disks with speed 10000 RPM on FAS270 storage systems. During template modification, if no resource properties are specified, existing resource properties, if any, will be cleared.
    Name Range Type Description
    name string
    The name of the resource property.
    value string
    The value that this resource property should have.

     
    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-info2 [top]
    Defines a performance counter based threshold.
    Name Range Type Description
    counter-thresholds counter-threshold-info[]
    List of thresholds on counters.
    is-enabled boolean
    optional
    If true, the threshold is enabled and events will be generated if it is breached. Default value is true.
    is-indirect boolean
    optional
    Specifies whether the threshold applies on the object directly or through inheritance. For example, if the threshold is applied on a storage system, but applies on qtree in it because of the constituent counters, is-indirect will be set to true. This value is relevant only when the threshold details are returned; and is ignored when creating or modifying a threshold. It is, therefore, ignored in input.
    objects-info object-info[]
    optional
    Contains the id, the full name and type of the object on which the threshold is applied directly.
    resource-property-conditions resource-property-condition[]
    optional
    Specifies conditions on properties of the objects to which this threshold applies.
    template-id integer
    optional
    This returns the id of the template to which this threshold belongs. Range: [1..2^32-1]
    template-name string
    optional
    Specifies the name of the template to which this threshold belongs.
    threshold-event-name string
    Specifies the name of the event that is raised when the threshold is breached. The default name is derived from the counter.
    threshold-id threshold-id
    optional
    The ID, in the DFM database, of the threshold. This element should not be specified when creating a threshold, but is always returned when querying.
    threshold-interval integer
    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]


     
    Element definition: time-range [top]
    Holds the 'from' and 'to' range as minutes in a day. Ex: 9.25AM to 4.45PM will become from=565 and to=1005
    Name Range Type Description
    from integer
    Start time in minute of day. Ex: 9.25AM corresponds to (9*60)+25 => 565 Range: [0..1439]
    to integer
    End time in minute of day. Ex: 4.45PM corresponds to (16*60)+45 => 1005 Range: [0..1439]

     
    Element definition: cifs-op-stats [top]
    Contains the CIFS operations performed by the client on the storage system.
    Name Range Type Description
    other-operations integer
    Specifies operations that do not fall into either read or write categories. Range: [ 0 .. 2^31 - 1 ]
    read-operations integer
    The number of read operations performed by the client on the storage system. Range: [ 0 .. 2^31 - 1 ]
    write-operations integer
    The number of write operations performed by the client on the storage system. Range: [ 0 .. 2^31 - 1 ]

     
    Element definition: counter-threshold-info [top]
    Specifies all the attributes of a threshold on a single counter.
    Name Range Type Description
    perf-object-counter perf-object-counter
    Specifies a combination of an object and a counter, e.g. system:cpu_busy.
    threshold-type string
    optional
    Specifies whether an event is to be generated when the value of the counter is above ('upper') or below ('lower') the threshold-value. Possible values are 'upper' and 'lower'. Default is 'upper'
    threshold-unit counter-unit
    Unit of the counter. The metric used for a counter may vary depending on the ONTAP version.
    threshold-value integer
    The threshold value to trigger an event. Range: [0..2^64-1].

     
    Element definition: counter-unit [top]
    A unit in which a counter is measured. Possible values are per_sec, b_per_sec (bytes/s), kb_per_sec (kb/s), mb_per_sec (mb/s), percent, millisec (milliseconds), microsec (microseconds), sec (seconds) and none.
    [none]

     
    Element definition: metric [top]
    Contains the computation performed and the value
    Name Range Type Description
    id string
    Unique identifier to be set by the user to map the requested metrics to its value when multiple type of metrics are requested for the same counter. This field is not processed and returned as it is in the output. Length not more than 16 characters.
    metric-result string
    optional
    The computed value. The format multiple comma separated timestamp:value. This is an output-only field.
    period integer
    optional
    Computation window in seconds. Valid only when slide field is specified as "step", "rolling" or "cumulative". One metric value is calculated for each window of size period. Range: [1..2^31-1]
    slide string
    optional
    Defines the method to slide the compute window specified by period field. Possible values:
  • "simple": No slide. Compute a single metric for the entire time range.
  • "rolling": Slide the window by one sample at a time. period field has to be specified.
  • "step": Slide the window value equal to period. period field has to be specified.
  • "cumulative": The window keeps growing by the value equal to period
    Default value: "simple"
  • type string
    The computation type Possible values: "mean": Mean of the data for the specified time period. "min": Minimum value "max": Maximum value "value_at_percentile": nth percentile of the samples, where n is specified in the value field.
    value string
    optional
    Valid only when the type field is set to "value_at_percentile" Requested percentile value. This field accepts only positive real numbers as inputs. Range : (0..100]

     
    Element definition: nfs-op-stats [top]
    Contains the NFS operations performed by the client on the storage system.
    Name Range Type Description
    other-operations integer
    Specifies operations that do not fall into either read or write categories. Range: [ 0 .. 2^31 - 1 ]
    read-operations integer
    The number of read operations performed by the client on the storage system. Range: [ 0 .. 2^31 - 1 ]
    write-operations integer
    The number of write operations performed by the client on the storage system. Range: [ 0 .. 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 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. dataset, 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 built in 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 datasets, DP schedules, and DP policies. This means that no two datasets may have the same name, but a dataset 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].
    • In case of application resources from the Host Service, this field can contain unique identifier assigned to the object by the Host Service e.g. for a Virtual Machine, it can be a GUID of the VM. One exception is when such unique identifier is a decimal numeric string containing only digits from 0 through 9. In that case, you cannot use such identifier as obj-name-or-id input.
    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. dataset, 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: obj-status [top]
    A status value which can be associated with a DFM object. This typedef is an alias for the builtin ZAPI type string. The severity associated with an event has this type.

    Possible values are: 'unknown', 'normal', 'information', 'unmanaged' 'warning', 'error', 'critical', 'emergency'.

    • unknown: An object has an unknown status when it transitions from one state to another. Ideally, an object will have this status briefly. For example, when an object has been added, but not yet discovered.
    • normal: An object has normal status when it is working within the thresholds specified in DFM.
    • information: The information events are normal occurrences on an object for which you can define alarms.
    • unmanaged: An object is considered to be unmanaged when the login and password are not set for the storage system or agent.
    • warning: An object has the warning status when an event related to the object occurred that an administrator should know about. The event will not cause service disruption.
    • error: An object has error status when it does not cause any service disruption, but it may affect performance.
    • critical: An object has critical status when it is still performing, but service disruption may occur if corrective action is not taken immediately.
    • emergency: An object is in emergency status when it stops performing unexpectedly and could lose data.
    In some contexts, it is important that severities are ordered (as above). For example, an alarm might be triggered if an event with a given severity "or worse" occurs. In this example, worse means "after" in the list above.
    [none]

     
    Element definition: object-info [top]
    Associated object's information
    Name Range Type Description
    object-full-name obj-full-name
    optional
    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
    optional
    object-name is the name of the DFM object
    object-type string
    optional
    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-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 a storage system or in a group.
    Name Range Type Description
    appliance-name-or-id string
    optional
    The name (or unique ID) of the source storage system. 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 a storage system 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. For dynamic data sources, this will specify the container from which objects will be selected
    object-type string
    optional
    Type of the DFM object. The possible values are
    • "filer"
    • "vfiler"
    • "volume"
    • "qtree"
    • "lun"
    • "aggregate"

     
    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-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 storage systems).
    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: 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.

    is-calculated-stats boolean
    optional
    This field says whether the counter is a calculated stat counter or not.
    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
    metrics metric[]
    optional
    Container of metric requested. Only perf-get-counter-data uses this field, for all other ZAPIs this field is ignored.
    object-type string
    object-type is the name of the object classification as defined by ONTAP counter manager.

    Maximum length of 255 characters.

    perf-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
    time-consolidation-method string
    optional
    This element will be used by perf-get-counter-data ZAPI only. A function to apply across the data for this counter 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'

     
    Element definition: resource-property-condition [top]
    Specifies conditions on resource properties. In case of values for the same property, the conditions are assumed to be either-or conditions. For example, if the conditions "Disk RPM=7200" and "Disk RPM=10000" are specified, the threshold applies to all disks with speed 7200 RPM or 10000 RPM. In case of conditions on different properties, the conditions are assumed to be "and" conditions. For example, if the conditions name = "Disk RPM", value = "10000" and name="Filer Model", value="FAS270" are specified, the threshold applies to all disks with speed 10000 RPM on FAS270 storage systems. During template modification, if no resource properties are specified, existing resource properties, if any, will be cleared.
    Name Range Type Description
    name string
    The name of the resource property.
    value string
    The value that this resource property should have.

     
    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: metric [top]
    Contains the computation performed and the value
    Name Range Type Description
    id string
    Unique identifier to be set by the user to map the requested metrics to its value when multiple type of metrics are requested for the same counter. This field is not processed and returned as it is in the output. Length not more than 16 characters.
    metric-result string
    optional
    The computed value. The format multiple comma separated timestamp:value. This is an output-only field.
    period integer
    optional
    Computation window in seconds. Valid only when slide field is specified as "step", "rolling" or "cumulative". One metric value is calculated for each window of size period. Range: [1..2^31-1]
    slide string
    optional
    Defines the method to slide the compute window specified by period field. Possible values:
  • "simple": No slide. Compute a single metric for the entire time range.
  • "rolling": Slide the window by one sample at a time. period field has to be specified.
  • "step": Slide the window value equal to period. period field has to be specified.
  • "cumulative": The window keeps growing by the value equal to period
    Default value: "simple"
  • type string
    The computation type Possible values: "mean": Mean of the data for the specified time period. "min": Minimum value "max": Maximum value "value_at_percentile": nth percentile of the samples, where n is specified in the value field.
    value string
    optional
    Valid only when the type field is set to "value_at_percentile" Requested percentile value. This field accepts only positive real numbers as inputs. Range : (0..100]

     
    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 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. dataset, 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 built in 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 datasets, DP schedules, and DP policies. This means that no two datasets may have the same name, but a dataset 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].
    • In case of application resources from the Host Service, this field can contain unique identifier assigned to the object by the Host Service e.g. for a Virtual Machine, it can be a GUID of the VM. One exception is when such unique identifier is a decimal numeric string containing only digits from 0 through 9. In that case, you cannot use such identifier as obj-name-or-id input.
    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. dataset, 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 a storage system or in a group.
    Name Range Type Description
    appliance-name-or-id string
    optional
    The name (or unique ID) of the source storage system. 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 a storage system 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. For dynamic data sources, this will specify the container from which objects will be selected
    object-type string
    optional
    Type of the DFM object. The possible values are
    • "filer"
    • "vfiler"
    • "volume"
    • "qtree"
    • "lun"
    • "aggregate"

     
    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: 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 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].
    • In case of application resources from the Host Service, this field can contain unique identifier assigned to the object by the Host Service e.g. for a Virtual Machine, it can be a GUID of the VM. One exception is when such unique identifier is a decimal numeric string containing only digits from 0 through 9. In that case, you cannot use such identifier as obj-name-or-id input.
    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. dataset, 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]