Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add flexcache keyperf template #3309

Merged
merged 1 commit into from
Nov 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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