Skip to content

Commit

Permalink
feat: add flexcache keyperf template
Browse files Browse the repository at this point in the history
  • Loading branch information
rahulguptajss committed Nov 20, 2024
1 parent d6443e0 commit d6c69d6
Show file tree
Hide file tree
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
Expand Up @@ -50,6 +50,7 @@ var (
"svm_cifs": "cifs_service",
"svm_nfs": "nfs_service",
"lif": "ip_interface",
"flexcache": "volume",
}
swaggerBytes []byte
excludePerfTemplates = map[string]struct{}{
Expand Down
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
Expand Up @@ -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
Expand Down
6 changes: 6 additions & 0 deletions conf/keyperf/static_counter_definitions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Up @@ -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
Expand Down Expand Up @@ -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 |


Expand Down Expand Up @@ -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 |


Expand Down Expand Up @@ -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 |
|--------|----------|--------|---------|
Expand Down

0 comments on commit d6c69d6

Please sign in to comment.