Browse Source

Enable/disable usage stats per customer from config

pull/4476/head
Viacheslav Klimov 5 years ago
committed by Andrew Shvayka
parent
commit
3db3385571
  1. 1
      application/src/main/resources/thingsboard.yml
  2. 4
      common/queue/src/main/java/org/thingsboard/server/queue/usagestats/DefaultTbApiUsageClient.java

1
application/src/main/resources/thingsboard.yml

@ -124,6 +124,7 @@ usage:
stats:
report:
enabled: "${USAGE_STATS_REPORT_ENABLED:true}"
enabled_per_customer: "${USAGE_STATS_REPORT_PER_CUSTOMER_ENABLED:false}"
interval: "${USAGE_STATS_REPORT_INTERVAL:10}"
check:
cycle: "${USAGE_STATS_CHECK_CYCLE:60000}"

4
common/queue/src/main/java/org/thingsboard/server/queue/usagestats/DefaultTbApiUsageClient.java

@ -50,6 +50,8 @@ public class DefaultTbApiUsageClient implements TbApiUsageClient {
@Value("${usage.stats.report.enabled:true}")
private boolean enabled;
@Value("${usage.stats.report.enabled_per_customer:false}")
private boolean enabledPerCustomer;
@Value("${usage.stats.report.interval:10}")
private int interval;
@ -135,7 +137,7 @@ public class DefaultTbApiUsageClient implements TbApiUsageClient {
statsForKey.computeIfAbsent(new OwnerId(tenantId), id -> new AtomicLong()).addAndGet(value);
statsForKey.computeIfAbsent(new OwnerId(TenantId.SYS_TENANT_ID), id -> new AtomicLong()).addAndGet(value);
if (customerId != null && !customerId.isNullUid()) {
if (enabledPerCustomer && customerId != null && !customerId.isNullUid()) {
statsForKey.computeIfAbsent(new OwnerId(tenantId, customerId), id -> new AtomicLong()).addAndGet(value);
}
}

Loading…
Cancel
Save