Commit 0ccf7f13d16c4ff2a346727337bdc0d9f7351cc6

Authored by vzikratyi
Committed by Andrew Shvayka
1 parent d98bbacd

Moved 'stats' to separate module

Showing 35 changed files with 158 additions and 64 deletions
... ... @@ -98,6 +98,10 @@
98 98 <artifactId>queue</artifactId>
99 99 </dependency>
100 100 <dependency>
  101 + <groupId>org.thingsboard.common</groupId>
  102 + <artifactId>stats</artifactId>
  103 + </dependency>
  104 + <dependency>
101 105 <groupId>org.thingsboard</groupId>
102 106 <artifactId>dao</artifactId>
103 107 <type>test-jar</type>
... ...
... ... @@ -29,7 +29,8 @@ import java.util.Arrays;
29 29 @ComponentScan({"org.thingsboard.server.install",
30 30 "org.thingsboard.server.service.component",
31 31 "org.thingsboard.server.service.install",
32   - "org.thingsboard.server.dao"})
  32 + "org.thingsboard.server.dao",
  33 + "org.thingsboard.server.common.stats"})
33 34 public class ThingsboardInstallApplication {
34 35
35 36 private static final String SPRING_CONFIG_NAME_KEY = "--spring.config.name";
... ...
... ... @@ -31,7 +31,7 @@ import org.thingsboard.server.queue.TbQueueConsumer;
31 31 import org.thingsboard.server.queue.common.TbProtoQueueMsg;
32 32 import org.thingsboard.server.queue.discovery.PartitionChangeEvent;
33 33 import org.thingsboard.server.queue.provider.TbCoreQueueFactory;
34   -import org.thingsboard.server.common.msg.stats.StatsFactory;
  34 +import org.thingsboard.server.common.stats.StatsFactory;
35 35 import org.thingsboard.server.queue.util.TbCoreComponent;
36 36 import org.thingsboard.server.service.encoding.DataDecodingEncodingService;
37 37 import org.thingsboard.server.service.queue.processing.AbstractConsumerService;
... ...
... ... @@ -42,7 +42,7 @@ import org.thingsboard.server.queue.discovery.PartitionChangeEvent;
42 42 import org.thingsboard.server.queue.provider.TbRuleEngineQueueFactory;
43 43 import org.thingsboard.server.queue.settings.TbQueueRuleEngineSettings;
44 44 import org.thingsboard.server.queue.settings.TbRuleEngineQueueConfiguration;
45   -import org.thingsboard.server.common.msg.stats.StatsFactory;
  45 +import org.thingsboard.server.common.stats.StatsFactory;
46 46 import org.thingsboard.server.queue.util.TbRuleEngineComponent;
47 47 import org.thingsboard.server.service.encoding.DataDecodingEncodingService;
48 48 import org.thingsboard.server.service.queue.processing.AbstractConsumerService;
... ...
... ... @@ -17,9 +17,9 @@ package org.thingsboard.server.service.queue;
17 17
18 18 import lombok.extern.slf4j.Slf4j;
19 19 import org.thingsboard.server.gen.transport.TransportProtos;
20   -import org.thingsboard.server.common.msg.stats.StatsCounter;
21   -import org.thingsboard.server.common.msg.stats.StatsFactory;
22   -import org.thingsboard.server.common.msg.stats.StatsType;
  20 +import org.thingsboard.server.common.stats.StatsCounter;
  21 +import org.thingsboard.server.common.stats.StatsFactory;
  22 +import org.thingsboard.server.common.stats.StatsType;
23 23
24 24 import java.util.*;
25 25
... ...
... ... @@ -20,10 +20,10 @@ import org.thingsboard.server.common.data.id.TenantId;
20 20 import org.thingsboard.server.common.msg.queue.RuleEngineException;
21 21 import org.thingsboard.server.gen.transport.TransportProtos.ToRuleEngineMsg;
22 22 import org.thingsboard.server.queue.common.TbProtoQueueMsg;
23   -import org.thingsboard.server.common.msg.stats.StatsFactory;
  23 +import org.thingsboard.server.common.stats.StatsFactory;
24 24 import org.thingsboard.server.service.queue.processing.TbRuleEngineProcessingResult;
25   -import org.thingsboard.server.common.msg.stats.StatsCounter;
26   -import org.thingsboard.server.common.msg.stats.StatsType;
  25 +import org.thingsboard.server.common.stats.StatsCounter;
  26 +import org.thingsboard.server.common.stats.StatsType;
27 27
28 28 import java.util.*;
29 29 import java.util.concurrent.ConcurrentHashMap;
... ...
... ... @@ -18,9 +18,9 @@ package org.thingsboard.server.service.stats;
18 18 import org.springframework.beans.factory.annotation.Autowired;
19 19 import org.springframework.stereotype.Service;
20 20 import org.thingsboard.server.actors.JsInvokeStats;
21   -import org.thingsboard.server.common.msg.stats.StatsCounter;
22   -import org.thingsboard.server.common.msg.stats.StatsFactory;
23   -import org.thingsboard.server.common.msg.stats.StatsType;
  21 +import org.thingsboard.server.common.stats.StatsCounter;
  22 +import org.thingsboard.server.common.stats.StatsFactory;
  23 +import org.thingsboard.server.common.stats.StatsType;
24 24
25 25 import javax.annotation.PostConstruct;
26 26
... ...
... ... @@ -20,9 +20,9 @@ import org.springframework.beans.factory.annotation.Value;
20 20 import org.springframework.boot.context.event.ApplicationReadyEvent;
21 21 import org.springframework.context.event.EventListener;
22 22 import org.springframework.stereotype.Service;
23   -import org.thingsboard.server.common.msg.stats.MessagesStats;
24   -import org.thingsboard.server.common.msg.stats.StatsFactory;
25   -import org.thingsboard.server.common.msg.stats.StatsType;
  23 +import org.thingsboard.server.common.stats.MessagesStats;
  24 +import org.thingsboard.server.common.stats.StatsFactory;
  25 +import org.thingsboard.server.common.stats.StatsType;
26 26 import org.thingsboard.server.queue.TbQueueConsumer;
27 27 import org.thingsboard.server.queue.TbQueueProducer;
28 28 import org.thingsboard.server.queue.TbQueueResponseTemplate;
... ...
... ... @@ -69,21 +69,6 @@
69 69 <artifactId>protobuf-java</artifactId>
70 70 <scope>provided</scope>
71 71 </dependency>
72   -
73   - <!--TODO is this a good idea to put actuator here?-->
74   - <dependency>
75   - <groupId>org.springframework.boot</groupId>
76   - <artifactId>spring-boot-starter-actuator</artifactId>
77   - </dependency>
78   - <dependency>
79   - <groupId>io.micrometer</groupId>
80   - <artifactId>micrometer-core</artifactId>
81   - </dependency>
82   - <dependency>
83   - <groupId>io.micrometer</groupId>
84   - <artifactId>micrometer-registry-prometheus</artifactId>
85   - </dependency>
86   -
87 72 <dependency>
88 73 <groupId>junit</groupId>
89 74 <artifactId>junit</artifactId>
... ...
... ... @@ -41,6 +41,7 @@
41 41 <module>queue</module>
42 42 <module>transport</module>
43 43 <module>dao-api</module>
  44 + <module>stats</module>
44 45 </modules>
45 46
46 47 </project>
... ...
... ... @@ -49,6 +49,10 @@
49 49 <artifactId>message</artifactId>
50 50 </dependency>
51 51 <dependency>
  52 + <groupId>org.thingsboard.common</groupId>
  53 + <artifactId>stats</artifactId>
  54 + </dependency>
  55 + <dependency>
52 56 <groupId>org.apache.kafka</groupId>
53 57 <artifactId>kafka-clients</artifactId>
54 58 </dependency>
... ...
... ... @@ -16,7 +16,7 @@
16 16 package org.thingsboard.server.queue;
17 17
18 18 import com.google.common.util.concurrent.ListenableFuture;
19   -import org.thingsboard.server.common.msg.stats.MessagesStats;
  19 +import org.thingsboard.server.common.stats.MessagesStats;
20 20
21 21 public interface TbQueueRequestTemplate<Request extends TbQueueMsg, Response extends TbQueueMsg> {
22 22
... ...
... ... @@ -28,7 +28,7 @@ import org.thingsboard.server.queue.TbQueueMsg;
28 28 import org.thingsboard.server.queue.TbQueueMsgMetadata;
29 29 import org.thingsboard.server.queue.TbQueueProducer;
30 30 import org.thingsboard.server.queue.TbQueueRequestTemplate;
31   -import org.thingsboard.server.common.msg.stats.MessagesStats;
  31 +import org.thingsboard.server.common.stats.MessagesStats;
32 32
33 33 import java.util.List;
34 34 import java.util.UUID;
... ...
... ... @@ -23,7 +23,7 @@ import org.thingsboard.server.queue.TbQueueHandler;
23 23 import org.thingsboard.server.queue.TbQueueMsg;
24 24 import org.thingsboard.server.queue.TbQueueProducer;
25 25 import org.thingsboard.server.queue.TbQueueResponseTemplate;
26   -import org.thingsboard.server.common.msg.stats.MessagesStats;
  26 +import org.thingsboard.server.common.stats.MessagesStats;
27 27
28 28 import java.util.List;
29 29 import java.util.UUID;
... ...
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!--
  3 +
  4 + Copyright © 2016-2020 The Thingsboard Authors
  5 +
  6 + Licensed under the Apache License, Version 2.0 (the "License");
  7 + you may not use this file except in compliance with the License.
  8 + You may obtain a copy of the License at
  9 +
  10 + http://www.apache.org/licenses/LICENSE-2.0
  11 +
  12 + Unless required by applicable law or agreed to in writing, software
  13 + distributed under the License is distributed on an "AS IS" BASIS,
  14 + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15 + See the License for the specific language governing permissions and
  16 + limitations under the License.
  17 +
  18 +-->
  19 +<project xmlns="http://maven.apache.org/POM/4.0.0"
  20 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  21 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  22 + <modelVersion>4.0.0</modelVersion>
  23 + <parent>
  24 + <groupId>org.thingsboard</groupId>
  25 + <version>2.5.3-SNAPSHOT</version>
  26 + <artifactId>common</artifactId>
  27 + </parent>
  28 + <groupId>org.thingsboard.common</groupId>
  29 + <artifactId>stats</artifactId>
  30 + <packaging>jar</packaging>
  31 +
  32 + <name>Thingsboard Server Stats</name>
  33 + <url>https://thingsboard.io</url>
  34 +
  35 + <properties>
  36 + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  37 + <main.dir>${basedir}/../..</main.dir>
  38 + </properties>
  39 +
  40 + <dependencies>
  41 + <dependency>
  42 + <groupId>com.google.guava</groupId>
  43 + <artifactId>guava</artifactId>
  44 + <scope>provided</scope>
  45 + </dependency>
  46 + <dependency>
  47 + <groupId>org.slf4j</groupId>
  48 + <artifactId>slf4j-api</artifactId>
  49 + </dependency>
  50 + <dependency>
  51 + <groupId>org.slf4j</groupId>
  52 + <artifactId>log4j-over-slf4j</artifactId>
  53 + </dependency>
  54 + <dependency>
  55 + <groupId>ch.qos.logback</groupId>
  56 + <artifactId>logback-core</artifactId>
  57 + </dependency>
  58 + <dependency>
  59 + <groupId>ch.qos.logback</groupId>
  60 + <artifactId>logback-classic</artifactId>
  61 + </dependency>
  62 + <dependency>
  63 + <groupId>org.springframework.boot</groupId>
  64 + <artifactId>spring-boot-starter-actuator</artifactId>
  65 + </dependency>
  66 + <dependency>
  67 + <groupId>io.micrometer</groupId>
  68 + <artifactId>micrometer-core</artifactId>
  69 + </dependency>
  70 + <dependency>
  71 + <groupId>io.micrometer</groupId>
  72 + <artifactId>micrometer-registry-prometheus</artifactId>
  73 + </dependency>
  74 +
  75 + <dependency>
  76 + <groupId>junit</groupId>
  77 + <artifactId>junit</artifactId>
  78 + <scope>test</scope>
  79 + </dependency>
  80 + <dependency>
  81 + <groupId>org.mockito</groupId>
  82 + <artifactId>mockito-all</artifactId>
  83 + <scope>test</scope>
  84 + </dependency>
  85 + </dependencies>
  86 +
  87 + <build>
  88 + <plugins>
  89 + </plugins>
  90 + </build>
  91 +
  92 +</project>
\ No newline at end of file
... ...
common/stats/src/main/java/org/thingsboard/server/common/stats/DefaultCounter.java renamed from common/message/src/main/java/org/thingsboard/server/common/msg/stats/DefaultCounter.java
... ... @@ -13,7 +13,7 @@
13 13 * See the License for the specific language governing permissions and
14 14 * limitations under the License.
15 15 */
16   -package org.thingsboard.server.common.msg.stats;
  16 +package org.thingsboard.server.common.stats;
17 17
18 18 import io.micrometer.core.instrument.Counter;
19 19
... ...
common/stats/src/main/java/org/thingsboard/server/common/stats/DefaultMessagesStats.java renamed from common/message/src/main/java/org/thingsboard/server/common/msg/stats/DefaultMessagesStats.java
... ... @@ -13,7 +13,7 @@
13 13 * See the License for the specific language governing permissions and
14 14 * limitations under the License.
15 15 */
16   -package org.thingsboard.server.common.msg.stats;
  16 +package org.thingsboard.server.common.stats;
17 17
18 18 public class DefaultMessagesStats implements MessagesStats {
19 19 private final StatsCounter totalCounter;
... ...
common/stats/src/main/java/org/thingsboard/server/common/stats/DefaultStatsFactory.java renamed from common/message/src/main/java/org/thingsboard/server/common/msg/stats/DefaultStatsFactory.java
... ... @@ -13,7 +13,7 @@
13 13 * See the License for the specific language governing permissions and
14 14 * limitations under the License.
15 15 */
16   -package org.thingsboard.server.common.msg.stats;
  16 +package org.thingsboard.server.common.stats;
17 17
18 18 import io.micrometer.core.instrument.Counter;
19 19 import io.micrometer.core.instrument.MeterRegistry;
... ...
common/stats/src/main/java/org/thingsboard/server/common/stats/MessagesStats.java renamed from common/message/src/main/java/org/thingsboard/server/common/msg/stats/MessagesStats.java
... ... @@ -13,7 +13,7 @@
13 13 * See the License for the specific language governing permissions and
14 14 * limitations under the License.
15 15 */
16   -package org.thingsboard.server.common.msg.stats;
  16 +package org.thingsboard.server.common.stats;
17 17
18 18 public interface MessagesStats {
19 19 default void incrementTotal() {
... ...
common/stats/src/main/java/org/thingsboard/server/common/stats/StatsCounter.java renamed from common/message/src/main/java/org/thingsboard/server/common/msg/stats/StatsCounter.java
... ... @@ -13,7 +13,7 @@
13 13 * See the License for the specific language governing permissions and
14 14 * limitations under the License.
15 15 */
16   -package org.thingsboard.server.common.msg.stats;
  16 +package org.thingsboard.server.common.stats;
17 17
18 18 import io.micrometer.core.instrument.Counter;
19 19
... ...
common/stats/src/main/java/org/thingsboard/server/common/stats/StatsFactory.java renamed from common/message/src/main/java/org/thingsboard/server/common/msg/stats/StatsFactory.java
... ... @@ -13,7 +13,7 @@
13 13 * See the License for the specific language governing permissions and
14 14 * limitations under the License.
15 15 */
16   -package org.thingsboard.server.common.msg.stats;
  16 +package org.thingsboard.server.common.stats;
17 17
18 18 public interface StatsFactory {
19 19 StatsCounter createStatsCounter(String key, String statsName);
... ...
common/stats/src/main/java/org/thingsboard/server/common/stats/StatsType.java renamed from common/message/src/main/java/org/thingsboard/server/common/msg/stats/StatsType.java
... ... @@ -13,7 +13,7 @@
13 13 * See the License for the specific language governing permissions and
14 14 * limitations under the License.
15 15 */
16   -package org.thingsboard.server.common.msg.stats;
  16 +package org.thingsboard.server.common.stats;
17 17
18 18 public enum StatsType {
19 19 RULE_ENGINE("ruleEngine"), CORE("core"), TRANSPORT("transport"), JS_INVOKE("jsInvoke"), RATE_EXECUTOR("rateExecutor");
... ...
... ... @@ -42,6 +42,10 @@
42 42 </dependency>
43 43 <dependency>
44 44 <groupId>org.thingsboard.common</groupId>
  45 + <artifactId>stats</artifactId>
  46 + </dependency>
  47 + <dependency>
  48 + <groupId>org.thingsboard.common</groupId>
45 49 <artifactId>data</artifactId>
46 50 </dependency>
47 51 <dependency>
... ...
... ... @@ -55,9 +55,9 @@ import org.thingsboard.server.queue.discovery.PartitionService;
55 55 import org.thingsboard.server.queue.discovery.TbServiceInfoProvider;
56 56 import org.thingsboard.server.queue.provider.TbQueueProducerProvider;
57 57 import org.thingsboard.server.queue.provider.TbTransportQueueFactory;
58   -import org.thingsboard.server.common.msg.stats.MessagesStats;
59   -import org.thingsboard.server.common.msg.stats.StatsFactory;
60   -import org.thingsboard.server.common.msg.stats.StatsType;
  58 +import org.thingsboard.server.common.stats.MessagesStats;
  59 +import org.thingsboard.server.common.stats.StatsFactory;
  60 +import org.thingsboard.server.common.stats.StatsType;
61 61
62 62 import javax.annotation.PostConstruct;
63 63 import javax.annotation.PreDestroy;
... ...
... ... @@ -45,6 +45,10 @@
45 45 </dependency>
46 46 <dependency>
47 47 <groupId>org.thingsboard.common</groupId>
  48 + <artifactId>stats</artifactId>
  49 + </dependency>
  50 + <dependency>
  51 + <groupId>org.thingsboard.common</groupId>
48 52 <artifactId>dao-api</artifactId>
49 53 </dependency>
50 54 <dependency>
... ...
... ... @@ -24,9 +24,9 @@ import org.springframework.beans.factory.annotation.Value;
24 24 import org.springframework.scheduling.annotation.Scheduled;
25 25 import org.springframework.stereotype.Component;
26 26 import org.thingsboard.server.common.data.id.TenantId;
27   -import org.thingsboard.server.common.msg.stats.DefaultCounter;
28   -import org.thingsboard.server.common.msg.stats.StatsCounter;
29   -import org.thingsboard.server.common.msg.stats.StatsFactory;
  27 +import org.thingsboard.server.common.stats.DefaultCounter;
  28 +import org.thingsboard.server.common.stats.StatsCounter;
  29 +import org.thingsboard.server.common.stats.StatsFactory;
30 30 import org.thingsboard.server.dao.entity.EntityService;
31 31 import org.thingsboard.server.dao.util.AbstractBufferedRateExecutor;
32 32 import org.thingsboard.server.dao.util.AsyncTaskContext;
... ...
... ... @@ -19,7 +19,7 @@ import com.google.common.util.concurrent.ListenableFuture;
19 19 import com.google.common.util.concurrent.SettableFuture;
20 20 import lombok.extern.slf4j.Slf4j;
21 21 import org.thingsboard.common.util.ThingsBoardThreadFactory;
22   -import org.thingsboard.server.common.msg.stats.MessagesStats;
  22 +import org.thingsboard.server.common.stats.MessagesStats;
23 23
24 24 import java.util.ArrayList;
25 25 import java.util.List;
... ... @@ -28,7 +28,6 @@ import java.util.concurrent.ExecutorService;
28 28 import java.util.concurrent.Executors;
29 29 import java.util.concurrent.LinkedBlockingQueue;
30 30 import java.util.concurrent.TimeUnit;
31   -import java.util.concurrent.atomic.AtomicInteger;
32 31 import java.util.function.Consumer;
33 32 import java.util.stream.Collectors;
34 33
... ...
... ... @@ -18,7 +18,7 @@ package org.thingsboard.server.dao.sql;
18 18 import lombok.Builder;
19 19 import lombok.Data;
20 20 import lombok.extern.slf4j.Slf4j;
21   -import org.thingsboard.server.common.msg.stats.MessagesStats;
  21 +import org.thingsboard.server.common.stats.MessagesStats;
22 22
23 23 @Slf4j
24 24 @Data
... ...
... ... @@ -26,7 +26,7 @@ import org.thingsboard.server.common.data.UUIDConverter;
26 26 import org.thingsboard.server.common.data.id.EntityId;
27 27 import org.thingsboard.server.common.data.id.TenantId;
28 28 import org.thingsboard.server.common.data.kv.AttributeKvEntry;
29   -import org.thingsboard.server.common.msg.stats.StatsFactory;
  29 +import org.thingsboard.server.common.stats.StatsFactory;
30 30 import org.thingsboard.server.dao.DaoUtil;
31 31 import org.thingsboard.server.dao.attributes.AttributesDao;
32 32 import org.thingsboard.server.dao.model.sql.AttributeKvCompositeKey;
... ...
... ... @@ -30,7 +30,7 @@ import org.thingsboard.server.common.data.kv.Aggregation;
30 30 import org.thingsboard.server.common.data.kv.DeleteTsKvQuery;
31 31 import org.thingsboard.server.common.data.kv.ReadTsKvQuery;
32 32 import org.thingsboard.server.common.data.kv.TsKvEntry;
33   -import org.thingsboard.server.common.msg.stats.StatsFactory;
  33 +import org.thingsboard.server.common.stats.StatsFactory;
34 34 import org.thingsboard.server.dao.DaoUtil;
35 35 import org.thingsboard.server.dao.model.sqlts.ts.TsKvEntity;
36 36 import org.thingsboard.server.dao.sql.TbSqlBlockingQueue;
... ...
... ... @@ -34,7 +34,7 @@ import org.thingsboard.server.common.data.kv.DeleteTsKvQuery;
34 34 import org.thingsboard.server.common.data.kv.ReadTsKvQuery;
35 35 import org.thingsboard.server.common.data.kv.StringDataEntry;
36 36 import org.thingsboard.server.common.data.kv.TsKvEntry;
37   -import org.thingsboard.server.common.msg.stats.StatsFactory;
  37 +import org.thingsboard.server.common.stats.StatsFactory;
38 38 import org.thingsboard.server.dao.DaoUtil;
39 39 import org.thingsboard.server.dao.model.sqlts.dictionary.TsKvDictionary;
40 40 import org.thingsboard.server.dao.model.sqlts.dictionary.TsKvDictionaryCompositeKey;
... ...
... ... @@ -31,7 +31,7 @@ import org.thingsboard.server.common.data.kv.Aggregation;
31 31 import org.thingsboard.server.common.data.kv.DeleteTsKvQuery;
32 32 import org.thingsboard.server.common.data.kv.ReadTsKvQuery;
33 33 import org.thingsboard.server.common.data.kv.TsKvEntry;
34   -import org.thingsboard.server.common.msg.stats.StatsFactory;
  34 +import org.thingsboard.server.common.stats.StatsFactory;
35 35 import org.thingsboard.server.dao.DaoUtil;
36 36 import org.thingsboard.server.dao.model.sqlts.timescale.ts.TimescaleTsKvEntity;
37 37 import org.thingsboard.server.dao.sql.TbSqlBlockingQueueParams;
... ...
... ... @@ -23,16 +23,12 @@ import com.google.common.util.concurrent.SettableFuture;
23 23 import lombok.extern.slf4j.Slf4j;
24 24 import org.thingsboard.common.util.ThingsBoardThreadFactory;
25 25 import org.thingsboard.server.common.data.id.TenantId;
26   -import org.thingsboard.server.common.msg.stats.DefaultCounter;
27   -import org.thingsboard.server.common.msg.stats.StatsCounter;
28   -import org.thingsboard.server.common.msg.stats.StatsFactory;
29   -import org.thingsboard.server.common.msg.stats.StatsType;
  26 +import org.thingsboard.server.common.stats.StatsFactory;
  27 +import org.thingsboard.server.common.stats.StatsType;
30 28 import org.thingsboard.server.common.msg.tools.TbRateLimits;
31 29 import org.thingsboard.server.dao.nosql.CassandraStatementTask;
32 30
33 31 import javax.annotation.Nullable;
34   -import java.util.ArrayList;
35   -import java.util.List;
36 32 import java.util.UUID;
37 33 import java.util.concurrent.*;
38 34 import java.util.concurrent.atomic.AtomicInteger;
... ...
... ... @@ -18,16 +18,15 @@ package org.thingsboard.server.dao.util;
18 18 import lombok.Getter;
19 19 import lombok.extern.slf4j.Slf4j;
20 20 import org.thingsboard.server.common.data.id.TenantId;
21   -import org.thingsboard.server.common.msg.stats.DefaultCounter;
22   -import org.thingsboard.server.common.msg.stats.StatsCounter;
23   -import org.thingsboard.server.common.msg.stats.StatsFactory;
24   -import org.thingsboard.server.common.msg.stats.StatsType;
  21 +import org.thingsboard.server.common.stats.DefaultCounter;
  22 +import org.thingsboard.server.common.stats.StatsCounter;
  23 +import org.thingsboard.server.common.stats.StatsFactory;
  24 +import org.thingsboard.server.common.stats.StatsType;
25 25
26 26 import java.util.ArrayList;
27 27 import java.util.List;
28 28 import java.util.concurrent.ConcurrentHashMap;
29 29 import java.util.concurrent.ConcurrentMap;
30   -import java.util.concurrent.atomic.AtomicInteger;
31 30
32 31 @Slf4j
33 32 @Getter
... ...
... ... @@ -839,6 +839,11 @@
839 839 <version>${project.version}</version>
840 840 </dependency>
841 841 <dependency>
  842 + <groupId>org.thingsboard.common</groupId>
  843 + <artifactId>stats</artifactId>
  844 + <version>${project.version}</version>
  845 + </dependency>
  846 + <dependency>
842 847 <groupId>org.thingsboard</groupId>
843 848 <artifactId>tools</artifactId>
844 849 <version>${project.version}</version>
... ...