Skip to content

Commit c97e4dd

Browse files
authored
Merge pull request #7212 from naveenpaul1/bucket_used_bytes
# BZ 2168010 | Bytes used by Noobaa Bucket in Prometheus metrics
2 parents 06e772a + f007270 commit c97e4dd

File tree

3 files changed

+15
-3
lines changed

3 files changed

+15
-3
lines changed

src/api/stats_api.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -758,7 +758,7 @@ module.exports = {
758758
type: 'array',
759759
items: {
760760
type: 'object',
761-
required: ['bucket_name', 'quota_size_precent', 'quota_quantity_percent', 'capacity_precent', 'is_healthy', 'tagging'],
761+
required: ['bucket_name', 'quota_size_precent', 'quota_quantity_percent', 'capacity_precent', 'is_healthy', 'tagging', 'bucket_used_bytes'],
762762
properties: {
763763
bucket_name: {
764764
type: 'string'
@@ -775,6 +775,9 @@ module.exports = {
775775
is_healthy: {
776776
type: 'boolean'
777777
},
778+
bucket_used_bytes: {
779+
type: 'number'
780+
},
778781
tagging: {
779782
$ref: 'common_api#/definitions/tagging',
780783
},

src/server/analytic_services/prometheus_reports/noobaa_core_report.js

+9-1
Original file line numberDiff line numberDiff line change
@@ -382,6 +382,13 @@ const NOOBAA_CORE_METRICS = js_utils.deep_freeze([{
382382
help: 'Number of error objects replication_id in last replication cycle',
383383
labelNames: ['replication_id']
384384
}
385+
}, {
386+
type: 'Gauge',
387+
name: 'bucket_used_bytes',
388+
configuration: {
389+
help: 'Object Bucket Used Bytes',
390+
labelNames: ['bucket_name']
391+
}
385392
}
386393
]);
387394

@@ -534,6 +541,7 @@ class NooBaaCoreReport extends BasePrometheusReport {
534541
this._metrics.bucket_quantity_quota.reset();
535542
this._metrics.bucket_capacity.reset();
536543
this._metrics.bucket_tagging.reset();
544+
this._metrics.bucket_used_bytes.reset();
537545
buckets_info.forEach(bucket_info => {
538546
const bucket_labels = { bucket_name: bucket_info.bucket_name };
539547
if (bucket_info.tagging && bucket_info.tagging.length) {
@@ -544,7 +552,7 @@ class NooBaaCoreReport extends BasePrometheusReport {
544552
this._metrics.bucket_size_quota.set({ bucket_name: bucket_info.bucket_name }, bucket_info.quota_size_precent);
545553
this._metrics.bucket_quantity_quota.set({ bucket_name: bucket_info.bucket_name }, bucket_info.quota_quantity_percent);
546554
this._metrics.bucket_capacity.set({ bucket_name: bucket_info.bucket_name }, bucket_info.capacity_precent);
547-
555+
this._metrics.bucket_used_bytes.set({ bucket_name: bucket_info.bucket_name }, bucket_info.bucket_used_bytes);
548556
});
549557
}
550558

src/server/system_services/stats_aggregator.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -518,7 +518,8 @@ async function _partial_buckets_info(req) {
518518
capacity_precent: (is_capacity_relevant && bucket_total > 0) ? size_utils.bigint_to_json(bucket_used.multiply(100)
519519
.divide(bucket_total)) : 0,
520520
is_healthy: _.includes(OPTIMAL_MODES, bucket_info.mode),
521-
tagging: bucket_info.tagging || []
521+
tagging: bucket_info.tagging || [],
522+
bucket_used_bytes: bucket_used.valueOf()
522523
});
523524
}
524525

0 commit comments

Comments
 (0)