This is an automated email from the ASF dual-hosted git repository.
masaori pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/master by this push:
new 597e2e87ce Fix stripe metrics in the exclusive span case (#11023)
597e2e87ce is described below
commit 597e2e87ce256231e633619b82bae104ddfdd6c4
Author: Masaori Koshiba <[email protected]>
AuthorDate: Thu Feb 1 09:07:06 2024 +0900
Fix stripe metrics in the exclusive span case (#11023)
---
src/iocore/cache/Cache.cc | 5 +----
.../cache/gold/storage_metrics_2_stdout.gold | 7 +++++++
tests/gold_tests/cache/storage-metrics.test.py | 19 ++++++++++++++++---
3 files changed, 24 insertions(+), 7 deletions(-)
diff --git a/src/iocore/cache/Cache.cc b/src/iocore/cache/Cache.cc
index 5811a0577f..3e0beecbde 100644
--- a/src/iocore/cache/Cache.cc
+++ b/src/iocore/cache/Cache.cc
@@ -1492,7 +1492,6 @@ cplist_reconfigure()
int volume_number;
off_t size_in_blocks;
ConfigVol *config_vol;
- int assignedVol = 0; // Number of assigned volumes
gnstripes = 0;
if (config_volumes.num_volumes == 0) {
@@ -1550,8 +1549,6 @@ cplist_reconfigure()
// in such a way forced volumes will not impact volume percentage
calculations.
if (-1 == gdisks[i]->forced_volume_num) {
tot_space_in_blks += (gdisks[i]->num_usable_blocks / blocks_per_vol) *
blocks_per_vol;
- } else {
- ++assignedVol;
}
}
@@ -1721,7 +1718,7 @@ cplist_reconfigure()
}
}
- Metrics::Gauge::store(cache_rsb.stripes, gnstripes + assignedVol);
+ Metrics::Gauge::store(cache_rsb.stripes, gnstripes);
return 0;
}
diff --git a/tests/gold_tests/cache/gold/storage_metrics_2_stdout.gold
b/tests/gold_tests/cache/gold/storage_metrics_2_stdout.gold
new file mode 100644
index 0000000000..2d018dada8
--- /dev/null
+++ b/tests/gold_tests/cache/gold/storage_metrics_2_stdout.gold
@@ -0,0 +1,7 @@
+``
+proxy.process.cache.stripes 1
+``
+proxy.process.cache.span.online 1
+``
+proxy.process.cache.volume_1.stripes 1
+``
diff --git a/tests/gold_tests/cache/storage-metrics.test.py
b/tests/gold_tests/cache/storage-metrics.test.py
index 87c5451d35..27a293f379 100644
--- a/tests/gold_tests/cache/storage-metrics.test.py
+++ b/tests/gold_tests/cache/storage-metrics.test.py
@@ -32,8 +32,7 @@ storage 256M
"volume": '''
# empty
'''
- },
- {
+ }, {
"case": 1,
"description": "four equally devided volumes",
"storage": '''
@@ -46,7 +45,19 @@ volume=2 scheme=http size=25%
volume=3 scheme=http size=25%
volume=4 scheme=http size=25%
'''
- },
+ }, {
+ "case": 2,
+ "description": "exclusive span",
+ "storage": '''
+storage 256M volume=1
+''',
+ "volume": '''
+volume=1 scheme=http size=262144
+''',
+ "hosting": '''
+hostname=* volume=1
+'''
+ }
]
@@ -65,6 +76,8 @@ class StorageMetricsTest:
ts = Test.MakeATSProcess(f"ts_{i}")
ts.Disk.storage_config.AddLine(config["storage"])
ts.Disk.volume_config.AddLine(config["volume"])
+ if "hosting" in config:
+ ts.Disk.hosting_config.AddLine(config["hosting"])
ts.Disk.records_config.update({
'proxy.config.diags.debug.enabled': 1,
'proxy.config.diags.debug.tags': 'cache',