|
APIs in Category: perf |
API version 5.0 |
| 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: By default, this is false.
- lines without any data source
- charts without any lines
- views without any charts
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: By default, this is false.
- lines without any data source
- charts without any lines
- views without any charts
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: 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.
- 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.
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: 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:
- 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.
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 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.
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: 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.
- 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.
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'.
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.
- 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.
[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: 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:
- 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.
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 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.
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: 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.
- 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.
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'.
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.
- 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.
[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: 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:
- 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.
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 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.
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: 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.
- 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.
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: 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.
- 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.
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]