|
APIs in Category: perf |
API version 3.8 |
| perf-assoc-view-list-iter-end | [top] |
Terminate a view list iteration and clean up any saved info by a previous call to perf-assoc-view-list-iter-start
Input Name Range Type Description tag string
Tag from a previous perf-assoc-view-list-iter-start.
Errno Description EINVALIDTAG
| perf-assoc-view-list-iter-next | [top] |
Returns objects from a previous call to perf-assoc-view-list-iter-start
Input Name Range Type Description maximum integer
The maximum number of entries to retrieve. Range: [1..2^31-1] tag string
Tag from a previous perf-view-list-info-iter-start. Output Name Range Type Description records integer
The number of records actually returned. Range: [1..2^31-1] views perf-view[]
A list of views
Errno Description EINVALIDTAG EINVALIDINPUTERROR
| perf-assoc-view-list-iter-start | [top] |
Initiates a query for a list of performance views.
Input Name Range Type Description assoc-obj-type perf-assoc-obj-type
optional
If specified, only views with a matching associated object type will be returned. This is ignored if object-name-or-id is specified. Otherwise, all performance views will be returned (subject to the other optional parameters). object-name-or-id obj-name-or-id
optional
Name or identifier of an object to list views for. If not specified, all views will be returned (subject to the other optional parameters). The allowed object types for this argument are
- Resource Group
- 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 view-type string
optional
Indicates the type of views to be returned. If not specified, all types of views will be returned (subject to the other optional parameters). Possible values are
"custom_view" "canned_view" "summary_view"
Output Name Range Type Description records integer
Number indicating how many items are available for future retrieval via calls to perf-view-list-iter-next tag string
Tag to be used in subsequent calls to perf-view-list-iter-next or perf-view-list-iter-end
Errno Description EOBJECTNOTFOUNDERROR EINTERNALERROR EAPIERROR EACCESSDENIED EDATABASEERROR EOBJECTAMBIGUOUS EINVALIDINPUTERROR
| perf-counter-group-create | [top] |
Creates a counter group. Global DFM.PerfView.Write is required to create historical counter group. To create a real-time counter group Global DFM.PerfView.RealTimeRead is required.
Input Name Range Type Description counter-group perf-counter-group
The counter group to create.
Errno Description EAPIPRIVILEDGE EAPINOTLICENSED
| perf-counter-group-destroy | [top] |
Destroys a counter group. Privilege to destroy a historical counter group is Global DFM.PerfView.Delete. And to destroy a real-time counter group, Global DFM.PerfView.RealTimeRead is required.
Input Name Range Type Description appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards. counter-group-name string
Name of counter group to destroy. All the views that are using the counter group are automatically destroyed. group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified.
Errno Description EAPIPRIVILEDGE EAPINOTLICENSED
| perf-counter-group-get-data | [top] |
Retrieve a set of data for a set of data sources from a specific counter group. The data is extracted for the given time interval bounded by start-time and end-time. This API is suitable for extracting the data for a single line in a chart (graph). Privilege required is DFM.Database.Read. For viewing real-time data Global DFM.PerfView.RealTimeRead is also required.
Input Name Range Type Description appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards. counter-group-name string
Counter group name from which we want to fetch data. data-group perf-data-group
A definition of the data source(s) requested, plus an optional consolidation method. end-time integer
optional
Time stamp marking the end of requested data. The timestamp value is the time in seconds since 00:00:00 Jan 1, 1970, UTC. If unspecified, server should end with the latest available data. group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified. sample-rate integer
optional
The desired interval between samples, in seconds. If the available samples have higher resolution than the one specified, multiple samples are consolidated into one sample to achieve the desired resolution, using the specified time-consolidation-method. If unspecified, the data returned will be at the sample-rate specified upon creation of the counter group. start-time integer
optional
Time stamp marking the beginning of requested data. The timestamp value is the time in seconds since 00:00:00 Jan 1, 1970, UTC. If unspecified, server should begin with the earliest available data. time-consolidation-method string
optional
A function to apply across the data to achieve the desired time resolution, if the requested sample-rate is different from the actual sample-rate of the data. The values can be average, min, max, or last. The default is last. Output Name Range Type Description counter-data string
The retrieved data - possibly consolidated, but just a single array. The format is a series of comma-separated timestamp:value pairs. The timestamp value is the time in seconds since 00:00:00 Jan 1, 1970, UTC. The values may have optional decimal extensions, for example 1064439599:127,1064439600:98.6,1064439601:12 unit string
optional
Unit of counter-data. This element will not be present if the unit is not known. Some possible values are per_sec, percent, b_per_sec, kb_per_sec, msecs, usecs. Maximum Length: 32 characters.
Errno Description EAPIPRIVILEDGE EAPINOTLICENSED
| perf-counter-group-get-dynamic-data-sources | [top] |
Retrieve a list of top-n data sources for a counter. Privilege required is read.
Input Name Range Type Description appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards. counter-group-name string
Counter group name from which we want to fetch data. dynamic-data-sources perf-dynamic-data-sources
Criteria for choosing top-n instances for a counter. group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified. Output Name Range Type Description data-sources perf-data-source[]
Identifiers for the data sources correspoing to dynamic instances. Each perf-data-source represents one instance.
Errno Description EAPIPRIVILEDGE EGROUPDOESNOTEXIST EAPINOTLICENSED
| perf-counter-group-list-info | [top] |
Retrieve one or more counter groups. Privilege required is read.
Input Name Range Type Description appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards. consolidate-hosts boolean
optional
If TRUE, then information for all the hosts is consolidated and returned instead of information for individual hosts Default is TRUE. counter-group-name string
optional
Counter group name to retrieve. If unspecified, all counter groups will be retrieved. custom-only boolean
optional
If TRUE, returns only custom counter groups, by default FALSE. group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified. meta-data-only boolean
optional
If TRUE, do not return any perf-data-sources with the perf-counter-group. By default FALSE. Output Name Range Type Description counter-groups perf-counter-group[]
Counter group(s) retrieved.
Errno Description EAPIPRIVILEDGE EAPINOTLICENSED
| perf-counter-group-list-iter-end | [top] |
Terminate a counter group list iteration and clean up any saved info. Privilege required is read.
Input Name Range Type Description tag string
The tag from a previous perf-counter-group-list-iter- call.
Errno Description EAPIPRIVILEDGE
| perf-counter-group-list-iter-next | [top] |
Returns items from a previous call to perf-counter-group-list-iter-start. Privilege required is read.
Input Name Range Type Description maximum integer
The maximum number of entries to retrieve. tag string
The tag from a previous perf-counter-group-list-iter- call. Output Name Range Type Description counter-groups perf-counter-group[]
Counter group(s) retrieved.
Errno Description EAPIPRIVILEDGE
| perf-counter-group-list-iter-start | [top] |
Initiates a query for a list of performance counter group names. Privilege required is read.
Input Name Range Type Description appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards. counter-group-name string
optional
Counter group name to retrieve. If unspecified, all counter groups will be retrieved. custom-only boolean
optional
if TRUE, only custom groups will be retrieved, by default false group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified. meta-data-only boolean
optional
If TRUE, do not include any perf-data-sources with each perf-counter-groups.
Errno Description EAPIPRIVILEDGE
| perf-counter-group-modify | [top] |
Modify an existing counter group. For default counter groups the only modifiable parameter is sample-buffer. All other inputs are ignored and hence remain unchanged. Privilege required is read/write.
Input Name Range Type Description appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards. counter-group perf-counter-group
The new counter group information. Note that the new counter group name may be different from the old counter group name. If different, the new counter group name must not already exist. counter-group-name string
The name of the counter group to modify. group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified.
Errno Description EAPIPRIVILEDGE EAPINOTLICENSED
| perf-counter-group-start | [top] |
Start data collection for one counter group. Privilege required is Global DFM.PerfView.Write for normal views and Global DFM.PerfView.RealTimeRead for real-time views.
Input Name Range Type Description appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards. counter-group-name string
Counter group name to start data collection for. This must not be a default counter group. group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified.
Errno Description EAPIPRIVILEDGE EAPINOTLICENSED
| perf-counter-group-stop | [top] |
Stop data collection for one counter group. Privilege required is Global DFM.PerfView.Write for normal views and Global DFM.PerfView.RealTimeRead for real-time views.
Input Name Range Type Description appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards. counter-group-name string
Counter group name to stop data collection for. This must not be a default counter group. group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified.
Errno Description EAPIPRIVILEDGE EAPINOTLICENSED
| perf-disable-data-collection | [top] |
Disables DFM performance advisor data collection.
Input Name Range Type Description is-async boolean
optional
Returns immediately without waiting for DFM performance advisor to disable the data collection completely (when set to true). By default this API is synchronous.
Errno Description EINTERNALERROR EAPIERROR EACCESSDENIED EDATABASEERROR
| perf-disable-object-update | [top] |
Disables any modification to DFM performance advisor views, counter groups and object instances.
Errno Description EINTERNALERROR EAPIERROR EACCESSDENIED EDATABASEERROR
| perf-enable-data-collection | [top] |
Enables DFM performance advisor data collection.
Errno Description EINTERNALERROR EAPIERROR EACCESSDENIED EDATABASEERROR
| perf-enable-object-update | [top] |
Enables modifications to DFM performance advisor views, counter groups and object instances.
Errno Description EINTERNALERROR EAPIERROR EACCESSDENIED EDATABASEERROR
| perf-get-counter-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. Possible values are 'forward' and 'backward'. If the value is set to 'forward', then data for the oldest duration is returned. If the value is set to 'backward', then most recent data is returned. Default value is 'backward' duration integer
optional
The duration for which the data is to be returned. The time period is calculated based on the direction flag. 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' Output Name Range Type Description perf-instances perf-instance-counter-data[]
optional
List of instances. Each element of this list contains the counter data for an instance.
Errno Description EOBJECTNOTFOUNDERROR EINTERNALERROR 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 ECOUNTERDOESNOTEXIST EOBJECTDOESNOTEXIST 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 status perf-server-status
Specifies the status of Performance Advisor.
Errno Description EINTERNALERROR EAPIERROR EACCESSDENIED EDATABASEERROR
| perf-object-counter-list-info | [top] |
Retrieve information about a performance object's counters. (No iterator-based equivalent exists for this API because the number of object counters is fewer than two hundred in number.) Privilege required is read.
Input Name Range Type Description appliance-name-or-id string
optional
The name or unique ID for the appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next API. The API will accept a vfiler name or id from DFM 3.3 onwards. object-name string
Name of the performance object to retrieve counters for. Object names are broad classes of system components and protocols, like NFS, VOLUME, DISK, ... Output Name Range Type Description counters perf-counter[]
Counters retrieved.
Errno Description EAPIPRIVILEDGE
| perf-object-instance-list-iter-end | [top] |
Terminate an instance list iteration and clean up any saved info. Privilege required is read.
Input Name Range Type Description tag string
The tag from a previous perf-object-instance-list-iter- call.
Errno Description EAPIPRIVILEDGE
| perf-object-instance-list-iter-next | [top] |
Returns items from a previous call to perf-object-instance-list-iter-start Privilege required is read.
Input Name Range Type Description maximum integer
The maximum number of entries to retrieve. tag string
The tag from a previous perf-object-instance-list-iter- call. Output Name Range Type Description instances perf-instance[]
A list of instances.
Errno Description EAPIPRIVILEDGE
| perf-object-instance-list-iter-start | [top] |
Initiates a query for a list of performance object instance names. Privilege required is read.
Input Name Range Type Description appliance-name-or-id string
Name (or unique ID) of the appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next API. The API will accept a vfiler name or id from DFM 3.3 onwards. object-name string
Name of the performance object to retrieve instances for. Object names are broad classes of system components and protocols, like NFS, VOLUME, DISK, ... Output Name Range Type Description records integer
Number indicating how many items are avialble for future retrieval with perf-object-instance-list-iter-next. tag string
Tag to be used in subsequent calls to perf-object-instance-list-iter-next or perf-object-instance-list-iter-end.
Errno Description EAPIPRIVILEDGE
| perf-object-list-info | [top] |
Get a list of performance objects. (No iterator-based equivalent exists for this API because the number of performance objects is fewer than twenty in number.) Privilege required is read.
Input Name Range Type Description appliance-name-or-id string
optional
Name (or unique ID) of the appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next API. The API will accept a vfiler name or id from DFM 3.3 onwards. Output Name Range Type Description objects perf-object[]
A list of performance objects.
Errno Description EAPIPRIVILEDGE
| perf-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 EAPINOTLICENSED EAPIPRIVILEDGE ECOUNTERDOESNOTEXIST EINTERNALERROR EINVALIDINPUTERROR EOBJECTDOESNOTEXIST 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 ECOUNTERDOESNOTEXIST EINCOMPATIBLECOUNTERS EPROPCOUNTERMISMATCH
| 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 EAPINOTLICENSED EAPIPRIVILEDGE EINTERNALERROR EINVALIDINPUTERROR EACCESSDENIED EDATABASEERROR
| perf-threshold-list-info-iter-end | [top] |
Terminate a counter-thresholds-list iteration and clean up any saved info. Privilege required is DFM.Database.Read. Only thresholds on objects over which the user has DFM.Database.Read permissions will be returned.
Input Name Range Type Description tag string
The tag from a previous perf-threshold-list-iter call.
Errno Description EAPIPRIVILEDGE EINVALIDTAG
| perf-threshold-list-info-iter-next | [top] |
The perf-threshold-list-info-iter-* list of APIs are used to retrieve the list of all counters on which thresholds have been set. It loads the list of counters on which thresholds have been set into a temporary store. The API returns a tag that identifies that temporary store so that subsequent APIs can be used to iterate over the threshold related counters in the temporary store. Privilege required is DFM.Database.Read. Only thresholds on objects over which the user has DFM.Database.Read permissions will be returned.
Input Name Range Type Description maximum integer
The maximum number of entries to retrieve. Range: [1..2^31-1]
tag string
The tag from a previous perf-threshold-list-iter call. Output Name Range Type Description attributes-list threshold-info[]
List of performance thresholds.
Errno Description EAPIPRIVILEDGE EINVALIDTAG
| perf-threshold-list-info-iter-start | [top] |
The perf-threshold-list-info-iter-* list of APIs are used to retrieve the list of all counters on which thresholds have been set. It loads the list of counters on which thresholds have been set into a temporary store. The API returns a tag that identifies a temporary store so that subsequent APIs can be used to iterate over the threshold related counters in the temporary store. Privilege required is DFM.Database.Read. Only thresholds on objects over which the User has DFM.Database.Read permissions will be returned.
Input Name Range Type Description query threshold-info
optional
Attributes of the thresholds that need to be listed. If none of the parameters are specified, then all the thresholds will be listed. If a single threshold-id is specified, then only information relevant to that threshold will be returned and the rest of the parameters will be ignored.
If only an object-name-or-id is specified, then only thresholds set on that object will be returned. Ex. if object-name-or-id identifies a volume, thresholds set on that volume only will be returned. If object-name-or-id resolves to more than one volume, thresholds set on all of them will be returned. If no object-name-or-id is provided, all thresholds will be listed.
Likewise, if only perf-object-counter is specified, only thresholds that belong to this counter-name and object type will be returned. If no counter-name is specified, thresholds set on any counter is returned.
If both object-name-or-id and perf-object-counter is specified, then only thresholds set on a combination of all these parameters will be listed.
The rest of the parameters in threshold-info are ignored.
Output Name Range Type Description records integer
Number indicating how many items are available for future retrieval via calls to perf-threshold-list-info-iter-next tag string
Tag to be used in subsequent calls to perf-threshold-list-info-iter-next. It is an opaque handle used by the DFM station to identify a temporary store.
Errno Description EACCESSDENIED EAPIERROR EAPINOTLICENSED EAPIPRIVILEDGE ECOUNTERDOESNOTEXIST EINTERNALERROR EINVALIDINPUTERROR EOBJECTDOESNOTEXIST
| perf-threshold-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.
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 EAPINOTLICENSED EAPIPRIVILEDGE ECOUNTERDOESNOTEXIST EINTERNALERROR EINVALIDINPUTERROR EOBJECTDOESNOTEXIST
| perf-threshold-modify | [top] |
Allows modification of threshold value and threshold interval that have been set before. Privilege required is DFM.Database.Write.
Input Name Range Type Description attributes threshold-info
Attributes of a threshold that needs to be modified. If the threshold-id is specified, then object-name-or-id and perf-object-counter are ignored. If the threshold-id is not specified, then object-name-or-id and perf-object-counter are mandatory. The rest of the parameters are optional. If the threshold-value specified is in a different metric, then the threshold-unit needs to be specified for appropriate conversion.
Errno Description EAPINOTLICENSED EAPIPRIVILEDGE ECOUNTERDOESNOTEXIST EINTERNALERROR EINVALIDINPUTERROR EOBJECTDOESNOTEXIST EACCESSDENIED EDATABASEERROR
| perf-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 ECOUNTERDOESNOTEXIST ETHRESHOLDDOESNOTEXIST EINCOMPATIBLECOUNTERS
| 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 EAPINOTLICENSED 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 ECOUNTERDOESNOTEXIST 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 EAPINOTLICENSED 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 EAPINOTLICENSED 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 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 EAPINOTLICENSED ECOUNTERDOESNOTEXIST EINTERNALERROR EINVALIDINPUTERROR EOBJECTDOESNOTEXIST
| 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 EAPINOTLICENSED 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 EAPINOTLICENSED EPERFUPDATEDISABLED
| perf-view-destroy | [top] |
Destroy a performance view. Global DFM.PerfView.Delete is required for destroying normal views while Global DFM.PerfView.RealTimeRead is required for destroying real-time views.
Input Name Range Type Description appliance-name-or-id string
optional
Name (or unique ID) of the appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next API. The API will accept a vfiler name or id from DFM 3.3 onwards. group-name-or-id string
optional
The group that this view is associated with. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. is-counter-group-also-deleted boolean
optional
Also destroy the associated counter group. Default is false. This option is ignored if the counter group is default. view-name string
Name of the view to be destroyed.
Errno Description EAPIPRIVILEDGE EAPINOTLICENSED
| perf-view-get-data | [top] |
Retrieve data for a single data-source from a specific performance view. The data is extracted for the given time interval bounded by start-time and end-time.
Input Name Range Type Description direction string
optional
This field is used only when duration is specified It is used to derive the time period for which data is to be retrieved. Possible values are 'forward' and 'backward' If the value is set to 'forward', then data for the oldest duration is returned If the value is set to 'backward', then most recent data is returned Default value is 'backward' duration integer
optional
The duration for which the data is to be returned. The time period is calculated based on the offset flag. Range: [0..(2^32)-1] dynamic-object-info perf-dynamic-data-sources
optional
This defines what objects are to be displayed for dynamic charts like top-N objects end-time integer
optional
Time stamp marking the end of requested data. The timestamp value is the time in seconds since 00:00:00 Jan 1, 1970, UTC. If unspecified, server should end with the latest available data Range: [0..(2^32)-1] instance perf-counter-instance
optional
The object instance for which data is to be retrieved is-dynamic boolean
optional
Indicates if top n data sources should be returned Default is false number-samples integer
optional
The total number of samples to be returned. The sample-rate will be calculated based on the start-time and end-time If the available samples have higher resolution than the one specified, multiple samples are consolidated into one sample to achieve the desired resolution, using the specified time-consolidation-method. If unspecified, the number of samples returned will be based on the sample-rate specified upon creation of the view. Either sample-rate or number-samples should be specified, but not both Range: [1..(2^32)-1] sample-rate integer
optional
The desired interval between samples, in seconds. If the available samples have higher resolution than the one specified, multiple samples are consolidated into one sample to achieve the desired resolution, using the specified time-consolidation-method. If unspecified, the data returned will be at the sample-rate specified upon creation of the view Range: [1..(2^32)-1] start-time integer
optional
Time stamp marking the beginning of requested data. The timestamp value is the time in seconds since 00:00:00 Jan 1, 1970, UTC. If unspecified, server should begin with the earliest available data. Range: [0..(2^32)-1] time-consolidation-method string
optional
A function to apply across the data to achieve the desired time resolution, if the requested sample-rate is different from the actual sample-rate of the data. Possible values : 'average' 'min' 'max' 'last' Default is 'last' view-name string
The view from which data is to be retrieved Maximum length is 255 Output Name Range Type Description counter-data string
optional
A single array of the retrieved data. The format is a series of comma-separated timestamp:value pairs. The timestamp value is the time in seconds since 00:00:00 Jan 1, 1970, UTC. The values may have optional decimal extensions, for example 1064439599:127,1064439600:98.6,1064439601:12 dynamic-data dynamic-data[]
optional
Contains data for top-N objects unit string
optional
Unit of counter-data. This element will not be present if the unit is not known. Some possible values are per_sec, percent, b_per_sec, kb_per_sec, msecs, usecs. Maximum Length: 32 characters.
Errno Description EOBJECTNOTFOUNDERROR EINTERNALERROR EAPIERROR EACCESSDENIED EDATABASEERROR EINVALIDINPUTERROR
| perf-view-list-iter-end | [top] |
Terminate a view list iteration and clean up any saved info. Privilege required is read.
Input Name Range Type Description tag string
Tag from a previous perf-view-list-iter-start
Errno Description EAPIPRIVILEDGE EAPINOTLICENSED
| perf-view-list-iter-next | [top] |
Retrieve items from a previous call to perf-view-list-iter-start Privilege required is read.
Input Name Range Type Description maximum integer
The maximum number of entries to retrieve. tag string
The tag from a previous perf-view-list-iter- call. Output Name Range Type Description views perf-view[]
A list of views.
Errno Description EAPIPRIVILEDGE EAPINOTLICENSED
| perf-view-list-iter-start | [top] |
Initiates a query for a list of performance views. Privilege required is read.
Input Name Range Type Description appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards. Only the views for matching appliance are returned. custom-only boolean
optional
If TRUE, returns only custom views, by default FALSE. group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the group-list-iter-next APIs. This is ignored if appliance-name-or-id has been specified. Only the views for matching group are returned. instance-name string
optional
If specified, only views with a matching instance will be returned. Otherwise, all performance views will be returned (subject to the other optional parameters). You must specify appliance-name-or-id and object-name when specifying instance-name. object-name string
optional
If specified, only views with a matching object will be returned. Otherwise, all performance views will be returned (subject to the other optional parameters). view-name string
optional
If view-name is specified, only the indicated view will be retrieved. Otherwise, all performance views will be returned (subject to the other optional parameters). Output Name Range Type Description records integer
Number indicating how many items are available for future retrieval via calls to perf-view-list-iter-next tag string
Tag to be used in subsequent calls to perf-view-list-iter-next or perf-view-list-iter-end
Errno Description EAPIPRIVILEDGE EAPINOTLICENSED
| perf-view-modify | [top] |
Modify an existing performance view. Global DFM.PerfView.Write RBAC capability is required to modify performance views.
Input Name Range Type Description appliance-name-or-id string
optional
Name (or unique ID) of the appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next API. The API will accept a vfiler name or id from DFM 3.3 onwards. group-name-or-id string
optional
The group that this view is associated with. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. view perf-view
The new performance view information. Note that the new performance view name may be different from the old performance view name. If the new name is different, the new name must not already exist. view-name string
Name of the performance view to modify.
Errno Description EAPIPRIVILEDGE EAPINOTLICENSED
| perf-view-object-association-add | [top] |
Associates an object with a view
Input Name Range Type Description object-name-or-id obj-name-or-id
The object to be associated with the view view-name string
The view for which the association is to be set
Errno Description EOBJECTNOTFOUNDERROR EINTERNALERROR EAPIERROR EACCESSDENIED EOBJECTNOTFOUNDERROR EOBJECTAMBIGUOUS EDATABASEERROR EINVALIDINPUTERROR
| perf-view-object-association-delete | [top] |
Removes the association of an object with a view
Input Name Range Type Description object-name-or-id obj-name-or-id
The object to be dis-associated with the view view-name string
The view for which the association is to be deleted
Errno Description EOBJECTNOTFOUNDERROR EINTERNALERROR EAPIERROR EACCESSDENIED EDATABASEERROR EOBJECTAMBIGUOUS EINVALIDINPUTERROR
| Element definition: dynamic-data | [top] |
Contains data for top-N objects
Name Range Type Description hostname obj-name
optional
Name of the host. Will not be set when the objects are selected within a host instance-name perf-instance
optional
Name of the perf instance. Will not be set for single instance objects like system, nfsv3 obj-id obj-id
optional
Identifier of the object. Will not be set for unmanaged objects value string
Value for the object Max Length is 32
| Element definition: 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. 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: 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].
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 appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards. counter-group-name string
Name of the counter group. data-sources perf-data-source[]
optional
Identifiers for the data sources to be retrieved in later queries. The data-sources can not contain 'group' data source. i.e. instance-name must be specified for each perf-data-source. The data-sources should not contain a data source that specifies label-names field. This is because counter group always collects data for the whole counter i.e. for all labels. perf-data-source is not required for default counter groups. The perf-counter-group-modify API ignores this element for default counter groups. end-time integer
optional
Present in output only. Indicates the timestamp of the last available data sample. The timestamp value is the time in seconds since 00:00:00 Jan 1, 1970, UTC. group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified. is-default boolean
optional
Indicates whether the counter group is a "default" counter group. Defaults to false. is-stopped boolean
optional
Present in output only. Indicates whether data collection has been stopped for the counter group using perf-counter-group-stop API. When this field is false, it indicates server's intention to collect data for the counter group. But many other factors can affect whether data is actually collected or not. number-records integer
optional
Present in output only. Indicates the number of records currently collected for the counter group and appliance. 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 appliance. 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. start-time integer
optional
Present in output only. Indicates the timestamp of the first available data sample. The timestamp value is the time in seconds since 00:00:00 Jan 1, 1970, UTC.
| Element definition: perf-counter-instance | [top] |
Defines a perf counter for a specific instance.
Name Range Type Description counter-info perf-object-counter
The counter for which data is to be retrieved instance-name string
optional
For unmanaged object, this will be the name of the instance. In this case, object-name-or-id will be the id for the storage system Maximum length is 255 object-name-or-id obj-name-or-id
The object for which data is to be retrieved or the id of the parent storage system, if instance-name is specified
| Element definition: perf-data-group | [top] |
Definition of a set of data sources and a consolidation method.
Name Range Type Description data-group-method string
optional
A function to apply across the data sources. Valid values are average (average of all sources), total (sum of all sources). The default is total (which for one data source is just the value of the single data source). data-sources perf-data-source[]
Identifiers for the data sources to be retrieved in later queries. The data-sources should be either one 'group' data source, or many (one or more) of 'instance' data sources. If data-sources contains a data source that has an array counter, specify label-names field of perf-data-source to select a single element of the array.
| Element definition: perf-data-source | [top] |
An unique identifier for a source of data. When optional instance-name field is not specified, perf-data-source represents all relevant instances in an appliance or in a group.
Name Range Type Description appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards. counter-name string
The name of the counter measured. Counters are specifc measurable quantities on an instance of a performance object, for example the number of write operations on a volume. group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified. instance-name string
optional
The name of the specific object referenced (vol2, disk2, ...). If this field is specified, appliance-name-or-id must also be specified. If this field is not specified, it is considered as a wildcard that implies combining data for all instances of an appliance or a group. label-names string
optional
An optional list of comma-separated label names. These represent an index into the array of values when a counter has more than one value (as implicitly indicated by the number of labels). The values should be the name of the label (for example 'getattr' for the 'nfs_v3_ops' counter). In some cases, the array of labels is multi-dimensional, in which case there should be one label name from each row in the array of labels. Each entry should be comma-separated. If unspecified, the default value is blank. In that case, its interpretation depends on the context. object-full-name obj-full-name
optional
The object id for the specific object referenced object-name string
The name of the referenced object. Object names are broad classes of system components and protocols, like NFS, VOLUME, DISK, ... object-name-or-id obj-name-or-id
optional
The object id for the specific object referenced. 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
Describes the properties of instances that should be considered for top-n query. The data-source must be 'group' data source i.e. instance-name field must be empty. If data-source has an array counter, specify label-names field to select a single element of the array. maximum-instances integer
optional
Maximum number of instances to pick. Default is 5. sort-order string
optional
The sort order when comparing data from different instances. After sorting data in this order, top maximum-instances are picked. Valid values are "ascending" and "descending". Default is "descending". time-interval integer
optional
When considering the historical data samples, how far back in time (in seconds) we should go. Default is 300.
| Element definition: perf-instance | [top] |
Describes an instance. An instance is a manifestation of a performance object. For example, the performance object might be "VOLUME" whereas the instance might be "vol0".
Name Range Type Description instance-name string
Name of the instance.
| Element definition: perf-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-object | [top] |
A performance object. A performance object is a (somewhat abstract) representation of a class of measurable items. These are roughly akin to system subcomponents or protocols, for example "VOLUME", "DISK" or "NFS". These are broad classes and do not represent specific instances.
Name Range Type Description object-name string
Name of the performance object.
| Element definition: perf-object-counter-info | [top] |
Performance Counters can be a combination of an object and a counter.
Name Range Type Description object-name-or-id obj-name-or-id
object-name or object-id for which counter information is being collected. perf-object-counter perf-object-counter
Attributes of the counter being collected.
| Element definition: perf-server-status | [top] |
Describes the status of perf server.
Name Range Type Description data-collection-status string
Specifies the status of data collection. Possible values are "enabled","disabled" and "disabling" object-update-status string
Specifies the status of object updates. Possible values are "enabled" and "disabled" server-status string
Specifies the status of Performance Advisor. Possible values are "enabled" and "disabled". Status will be "enabled" only when both data-collection-status and object-update-status are enabled.
| Element definition: perf-status-error | [top] |
Possible resons for data unavailability.
Name Range Type Description error string
The following are the possible reasons: 1) "perf-advisor-not-enabled" This indicates that the performance advisor is not enabled on DFM. 2) "host-bad-credentials" This indicates that the authetication credentials for the host are incorrect. 3) "host-no-credentials" This indicated that the host login is empty. 4) "host-not-reachable" This indicates that the host is down and hence not reachable. 5) "host-transport-incorrect" This indicates that the host transport is in compatible with the performance advisor transport. 6) "filer-os-version-less-than-6.5" This indicates that the 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-view | [top] |
A performance view.
Name Range Type Description appliance-name-or-id string
optional
Name (or unique ID) of the appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next API. The API will accept a vfiler name or id from DFM 3.3 onwards. are-events-shown boolean
optional
Indicates whether an event block should be shown as part of the view. Defaults to false. assoc-obj-type perf-assoc-obj-type[]
optional
Indicates all the object-type that the view provides information for. Could be more than one for custom views charts perf-chart[]
The charts (graphs) appearing in this view. counter-group-name string
optional
Name of the referenced counter group. group-name-or-id string
optional
The group that this view is associated with. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. is-default boolean
optional
Indicates whether the view is a "default" performance view. Defaults to false. is-stopped boolean
optional
Indicates whether data collection is stopped for the view. Defaults to false. sample-buffer integer
optional
Length of sample buffer to retain, in seconds. If unspecified on input, the value will be chosen by the server. sample-rate integer
optional
Length of interval between samples, in seconds. Defaults to one minute. view-name string
Name of the view. view-type string
optional
Indicates the type of view Possible values are
"custom_view" "canned_view" "summary_view"
| Element definition: threshold-id | [top] |
A unique numeric identifier used to specify a threshold. This parameter is mandatory when modifying a threshold. This typedef is an alias for the builtin ZAPI type integer. Range: [1..2^31-1]
[none]
| Element definition: threshold-info | [top] |
Defines all the attributes of a threshold.
Name Range Type Description is-enabled boolean
optional
Specifies if the Threshold is enabled. Default value is TRUE when setting or modifying a threshold. object-full-name obj-full-name
Fully qualified name of the object. It is used as an output parameter while listing thresholds. This parameter is unused for all other APIs. object-name-or-id obj-name-or-id
optional
The name or id of the object on which the threshold is to be created. Note that the API allows you to set only a single threshold at a time. So, container objects like Resource Group, 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^31-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-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: 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.
| 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].
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-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. 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 an appliance or in a group.
Name Range Type Description appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards. counter-name string
The name of the counter measured. Counters are specifc measurable quantities on an instance of a performance object, for example the number of write operations on a volume. group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified. instance-name string
optional
The name of the specific object referenced (vol2, disk2, ...). If this field is specified, appliance-name-or-id must also be specified. If this field is not specified, it is considered as a wildcard that implies combining data for all instances of an appliance or a group. label-names string
optional
An optional list of comma-separated label names. These represent an index into the array of values when a counter has more than one value (as implicitly indicated by the number of labels). The values should be the name of the label (for example 'getattr' for the 'nfs_v3_ops' counter). In some cases, the array of labels is multi-dimensional, in which case there should be one label name from each row in the array of labels. Each entry should be comma-separated. If unspecified, the default value is blank. In that case, its interpretation depends on the context. object-full-name obj-full-name
optional
The object id for the specific object referenced object-name string
The name of the referenced object. Object names are broad classes of system components and protocols, like NFS, VOLUME, DISK, ... object-name-or-id obj-name-or-id
optional
The object id for the specific object referenced. 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
Describes the properties of instances that should be considered for top-n query. The data-source must be 'group' data source i.e. instance-name field must be empty. If data-source has an array counter, specify label-names field to select a single element of the array. maximum-instances integer
optional
Maximum number of instances to pick. Default is 5. sort-order string
optional
The sort order when comparing data from different instances. After sorting data in this order, top maximum-instances are picked. Valid values are "ascending" and "descending". Default is "descending". time-interval integer
optional
When considering the historical data samples, how far back in time (in seconds) we should go. Default is 300.
| Element definition: perf-label | [top] |
When a counter has more than one value (an array), the labels describe the indvidual array entries, and define an implicit indexing scheme into the array. The array may be multi-dimensional, in which case each occurrence of a perf-label represents a dimension in the array of labels.
Name Range Type Description label-names string
A comma-separated list of labels, representing a row in the array of labels.
| Element definition: perf-object-counter | [top] |
Performance Counters can be a combination of an object and a counter.
Name Range Type Description counter-description string
optional
Description of the counter on which the threshold has been set. counter-name string
The name of the counter measured. Counters are specifc measurable quantities on an instance of a performance object like avg_latency, nfs_ops. Maximum length of 255 characters.
label-names string
optional
An optional list of comma-separated label names. These represent an index into the array of values when a counter has more than one value (as implicitly indicated by the number of labels). The values should be the name of the label (for example 'getattr' for the 'nfs_v3_ops' counter). In some cases, the array of labels is multi-dimensional, in which case there should be one label name from each row in the array of labels. Each entry should be comma-separated. If unspecified, the default value is blank. In that case, its interpretation depends on the context. Maximum length of 255 characters object-type string
object-type is the name of the object classification as defined by ONTAP counter manager. Maximum length of 255 characters.
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: 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: 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.
| 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: 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].
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-data-source | [top] |
An unique identifier for a source of data. When optional instance-name field is not specified, perf-data-source represents all relevant instances in an appliance or in a group.
Name Range Type Description appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards. counter-name string
The name of the counter measured. Counters are specifc measurable quantities on an instance of a performance object, for example the number of write operations on a volume. group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified. instance-name string
optional
The name of the specific object referenced (vol2, disk2, ...). If this field is specified, appliance-name-or-id must also be specified. If this field is not specified, it is considered as a wildcard that implies combining data for all instances of an appliance or a group. label-names string
optional
An optional list of comma-separated label names. These represent an index into the array of values when a counter has more than one value (as implicitly indicated by the number of labels). The values should be the name of the label (for example 'getattr' for the 'nfs_v3_ops' counter). In some cases, the array of labels is multi-dimensional, in which case there should be one label name from each row in the array of labels. Each entry should be comma-separated. If unspecified, the default value is blank. In that case, its interpretation depends on the context. object-full-name obj-full-name
optional
The object id for the specific object referenced object-name string
The name of the referenced object. Object names are broad classes of system components and protocols, like NFS, VOLUME, DISK, ... object-name-or-id obj-name-or-id
optional
The object id for the specific object referenced. 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-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.
label-names string
optional
An optional list of comma-separated label names. These represent an index into the array of values when a counter has more than one value (as implicitly indicated by the number of labels). The values should be the name of the label (for example 'getattr' for the 'nfs_v3_ops' counter). In some cases, the array of labels is multi-dimensional, in which case there should be one label name from each row in the array of labels. Each entry should be comma-separated. If unspecified, the default value is blank. In that case, its interpretation depends on the context. Maximum length of 255 characters object-type string
object-type is the name of the object classification as defined by ONTAP counter manager. Maximum length of 255 characters.
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: 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].
If the format of an obj-name-or-id input element does not conform, or the value does not match the name or ID of an existing object, then generally the ZAPI documents that it fails with error code EOBJECTNOTFOUND. A ZAPI may return more specific error codes. In such cases, the ZAPI specification must document its behavior.
If a ZAPI can accept a null value (e.g. reference to no object at all) for such an element, then the element is declared optional, and the absence of the input element represents a null value.
[none]
| Element definition: perf-data-group | [top] |
Definition of a set of data sources and a consolidation method.
Name Range Type Description data-group-method string
optional
A function to apply across the data sources. Valid values are average (average of all sources), total (sum of all sources). The default is total (which for one data source is just the value of the single data source). data-sources perf-data-source[]
Identifiers for the data sources to be retrieved in later queries. The data-sources should be either one 'group' data source, or many (one or more) of 'instance' data sources. If data-sources contains a data source that has an array counter, specify label-names field of perf-data-source to select a single element of the array.
| Element definition: perf-data-source | [top] |
An unique identifier for a source of data. When optional instance-name field is not specified, perf-data-source represents all relevant instances in an appliance or in a group.
Name Range Type Description appliance-name-or-id string
optional
The name (or unique ID) of the source appliance. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in the appliance-info structure from the appliance-list-iter-next. The API will accept a vfiler name or id from DFM 3.3 onwards. counter-name string
The name of the counter measured. Counters are specifc measurable quantities on an instance of a performance object, for example the number of write operations on a volume. group-name-or-id string
optional
The name (or unique ID) of the source group. If a unique ID is supplied, it should originate from an API such as the 'id' field returned in group-list-iter-next APIs. This field is ignored if appliance-name-or-id is specified. This field defaults to global group if appliance-name-or-id is not specified. instance-name string
optional
The name of the specific object referenced (vol2, disk2, ...). If this field is specified, appliance-name-or-id must also be specified. If this field is not specified, it is considered as a wildcard that implies combining data for all instances of an appliance or a group. label-names string
optional
An optional list of comma-separated label names. These represent an index into the array of values when a counter has more than one value (as implicitly indicated by the number of labels). The values should be the name of the label (for example 'getattr' for the 'nfs_v3_ops' counter). In some cases, the array of labels is multi-dimensional, in which case there should be one label name from each row in the array of labels. Each entry should be comma-separated. If unspecified, the default value is blank. In that case, its interpretation depends on the context. object-full-name obj-full-name
optional
The object id for the specific object referenced object-name string
The name of the referenced object. Object names are broad classes of system components and protocols, like NFS, VOLUME, DISK, ... object-name-or-id obj-name-or-id
optional
The object id for the specific object referenced. 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: 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].
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]