Skip to content

Commit

Permalink
feat: add flexcache keyperf template
Browse files Browse the repository at this point in the history
rahulguptajss authored and cgrinds committed Nov 21, 2024

Unverified

No user is associated with the committer email.
1 parent bc52ae5 commit cac4dec
Showing 5 changed files with 38 additions and 4 deletions.
1 change: 1 addition & 0 deletions cmd/tools/generate/counter.go
Original file line number Diff line number Diff line change
@@ -50,6 +50,7 @@ var (
"svm_cifs": "cifs_service",
"svm_nfs": "nfs_service",
"lif": "ip_interface",
"flexcache": "volume",
}
swaggerBytes []byte
excludePerfTemplates = map[string]struct{}{
23 changes: 23 additions & 0 deletions conf/keyperf/9.15.0/flexcache.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: FlexCache
query: api/storage/volumes
object: flexcache

counters:
- ^^name => volume
- ^^svm.name => svm
- ^statistics.flexcache_raw.status => status
- statistics.flexcache_raw.cache_miss_blocks => blocks_retrieved_from_origin
- statistics.flexcache_raw.client_requested_blocks => blocks_requested_from_client
- statistics.flexcache_raw.timestamp(timestamp) => timestamp
- filter:
- statistics.flexcache_raw.timestamp=!"-"

plugins:
- MetricAgent:
compute_metric:
- miss_percent PERCENT blocks_retrieved_from_origin blocks_requested_from_client

export_options:
instance_keys:
- svm
- volume
1 change: 1 addition & 0 deletions conf/keyperf/default.yaml
Original file line number Diff line number Diff line change
@@ -9,6 +9,7 @@ objects:
Aggregate: aggr.yaml
CIFSvserver: cifs_vserver.yaml
Cluster: cluster.yaml
FlexCache: flexcache.yaml
LIF: lif.yaml
NFSv3: nfsv3.yaml
NFSv41: nfsv4_1.yaml
6 changes: 6 additions & 0 deletions conf/keyperf/static_counter_definitions.yaml
Original file line number Diff line number Diff line change
@@ -5,4 +5,10 @@ objects:
type: percent
base_counter: statistics.processor_utilization_base
- name: statistics.processor_utilization_base
type: delta
flexcache:
counter_definitions:
- name: statistics.flexcache_raw.client_requested_blocks
type: delta
- name: statistics.flexcache_raw.cache_miss_blocks
type: delta
11 changes: 7 additions & 4 deletions docs/ontap-metrics.md
Original file line number Diff line number Diff line change
@@ -7,7 +7,7 @@ These can be generated on demand by running `bin/harvest grafana metrics`. See
- More information about ONTAP REST performance counters can be found [here](https://docs.netapp.com/us-en/ontap-pcmap-9121/index.html).

```
Creation Date : 2024-Nov-15
Creation Date : 2024-Nov-19
ONTAP Version: 9.15.1
```
## Understanding the structure
@@ -2898,19 +2898,21 @@ Percentage of blocks overwritten to write-cache among all disk writes.

### flexcache_blocks_requested_from_client

Total number of blocks requested from client
Total blocks requested by the client.

| API | Endpoint | Metric | Template |
|--------|----------|--------|---------|
| KeyPerf | `api/storage/volumes` | `statistics.flexcache_raw.client_requested_blocks`<br><span class="key">Unit:</span> <br><span class="key">Type:</span> delta<br><span class="key">Base:</span> | conf/keyperf/9.15.0/flexcache.yaml |
| ZAPI | `perf-object-get-instances flexcache_per_volume` | `blocks_requested_from_client`<br><span class="key">Unit:</span> none<br><span class="key">Type:</span> delta<br><span class="key">Base:</span> | conf/zapiperf/cdot/9.8.0/flexcache.yaml |


### flexcache_blocks_retrieved_from_origin

Total number of blocks retrieved from origin
Blocks retrieved from origin in case of a cache miss. This can be divided by the raw client_requested_blocks and multiplied by 100 to calculate the cache miss percentage.

| API | Endpoint | Metric | Template |
|--------|----------|--------|---------|
| KeyPerf | `api/storage/volumes` | `statistics.flexcache_raw.cache_miss_blocks`<br><span class="key">Unit:</span> <br><span class="key">Type:</span> delta<br><span class="key">Base:</span> | conf/keyperf/9.15.0/flexcache.yaml |
| ZAPI | `perf-object-get-instances flexcache_per_volume` | `blocks_retrieved_from_origin`<br><span class="key">Unit:</span> none<br><span class="key">Type:</span> delta<br><span class="key">Base:</span> | conf/zapiperf/cdot/9.8.0/flexcache.yaml |


@@ -2983,6 +2985,7 @@ This metric represents the percentage of block requests from a client that resul

| API | Endpoint | Metric | Template |
|--------|----------|--------|---------|
| KeyPerf | `api/storage/volumes` | `blocks_retrieved_from_origin, blocks_requested_from_client`<br><span class="key">Unit:</span> <br><span class="key">Type:</span> <br><span class="key">Base:</span> | conf/keyperf/9.15.0/flexcache.yaml |
| ZAPI | `flexcache_per_volume` | `blocks_retrieved_from_origin, blocks_requested_from_client`<br><span class="key">Unit:</span> <br><span class="key">Type:</span> <br><span class="key">Base:</span> | conf/zapiperf/cdot/9.8.0/flexcache.yaml |


@@ -3051,7 +3054,7 @@ Total number of reconciled lock entries at cache side.

### flexcache_size

Physical size of the FlexCache. The recommended size for a FlexCache is 10% of the origin volume. The minimum FlexCache constituent size is 1GB.
Physical size of the volume, in bytes. The minimum size for a FlexVol volume is 20MB and the minimum size for a FlexGroup volume is 200MB per constituent. The recommended size for a FlexGroup volume is a minimum of 100GB per constituent. For all volumes, the default size is equal to the minimum size.

| API | Endpoint | Metric | Template |
|--------|----------|--------|---------|

0 comments on commit cac4dec

Please sign in to comment.