diff options
author | Ola Aunrønning <olaa@verizonmedia.com> | 2022-04-22 15:57:26 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-22 15:57:26 +0200 |
commit | 4646ccafd4e6c119b7821b35e4ee648dee9a79e9 (patch) | |
tree | da6cd1bff647355c70fbac32b6f5444381183bb1 /vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/QuotaUsage.java | |
parent | 3e390a207678ffc4add70ab0b05a59c6bebb61c7 (diff) | |
parent | 2c6f9ee65bdcc2da21669f341da4103fddfe92b9 (diff) |
Merge pull request #22194 from vespa-engine/olaa/zms-quota-monitoring
Monitor ZMS quota
Diffstat (limited to 'vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/QuotaUsage.java')
-rw-r--r-- | vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/QuotaUsage.java | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/QuotaUsage.java b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/QuotaUsage.java new file mode 100644 index 00000000000..8e9c7de9272 --- /dev/null +++ b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/QuotaUsage.java @@ -0,0 +1,55 @@ +// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.vespa.athenz.client.zms; + +import com.yahoo.vespa.athenz.client.zms.bindings.StatisticsEntity; + +/** + * @author olaa + */ +public class QuotaUsage { + + private double subdomainUsage; + private double roleUsage; + private double policyUsage; + private double serviceUsage; + private double groupUsage; + + + public QuotaUsage(double subdomainUsage, double roleUsage, double policyUsage, double serviceUsage, double groupUsage) { + this.subdomainUsage = subdomainUsage; + this.roleUsage = roleUsage; + this.policyUsage = policyUsage; + this.serviceUsage = serviceUsage; + this.groupUsage = groupUsage; + } + + public static QuotaUsage calculateUsage(StatisticsEntity used, StatisticsEntity quota) { + return new QuotaUsage( + (double) used.getSubdomains() / quota.getSubdomains(), + (double) used.getRoles() / quota.getRoles(), + (double) used.getPolicies() / quota.getPolicies(), + (double) used.getServices() / quota.getServices(), + (double) used.getGroups() / quota.getGroups() + ); + } + + public double getSubdomainUsage() { + return subdomainUsage; + } + + public double getRoleUsage() { + return roleUsage; + } + + public double getPolicyUsage() { + return policyUsage; + } + + public double getServiceUsage() { + return serviceUsage; + } + + public double getGroupUsage() { + return groupUsage; + } +}
\ No newline at end of file |