Showing
5 changed files
with
74 additions
and
24 deletions
... | ... | @@ -40,6 +40,7 @@ import org.thingsboard.server.service.edge.EdgeContextComponent; |
40 | 40 | import org.thingsboard.server.service.state.DefaultDeviceStateService; |
41 | 41 | import org.thingsboard.server.service.telemetry.TelemetrySubscriptionService; |
42 | 42 | |
43 | +import javax.annotation.Nullable; | |
43 | 44 | import javax.annotation.PostConstruct; |
44 | 45 | import javax.annotation.PreDestroy; |
45 | 46 | import java.io.File; |
... | ... | @@ -127,7 +128,10 @@ public class EdgeGrpcService extends EdgeRpcServiceGrpc.EdgeRpcServiceImplBase i |
127 | 128 | public void updateEdge(Edge edge) { |
128 | 129 | EdgeGrpcSession session = sessions.get(edge.getId()); |
129 | 130 | if (session != null && session.isConnected()) { |
131 | + log.debug("[{}] Updating configuration for edge [{}] [{}]", edge.getTenantId(), edge.getName(), edge.getId()); | |
130 | 132 | session.onConfigurationUpdate(edge); |
133 | + } else { | |
134 | + log.warn("[{}] Session doesn't exist for edge [{}] [{}]", edge.getTenantId(), edge.getName(), edge.getId()); | |
131 | 135 | } |
132 | 136 | } |
133 | 137 | |
... | ... | @@ -135,12 +139,14 @@ public class EdgeGrpcService extends EdgeRpcServiceGrpc.EdgeRpcServiceImplBase i |
135 | 139 | public void deleteEdge(EdgeId edgeId) { |
136 | 140 | EdgeGrpcSession session = sessions.get(edgeId); |
137 | 141 | if (session != null && session.isConnected()) { |
142 | + log.debug("Closing and removing session for edge [{}]", edgeId); | |
138 | 143 | session.close(); |
139 | 144 | sessions.remove(edgeId); |
140 | 145 | } |
141 | 146 | } |
142 | 147 | |
143 | 148 | private void onEdgeConnect(EdgeId edgeId, EdgeGrpcSession edgeGrpcSession) { |
149 | + log.debug("[{}] onEdgeConnect [{}]", edgeId, edgeGrpcSession.getSessionId()); | |
144 | 150 | sessions.put(edgeId, edgeGrpcSession); |
145 | 151 | save(edgeId, DefaultDeviceStateService.ACTIVITY_STATE, true); |
146 | 152 | save(edgeId, DefaultDeviceStateService.LAST_CONNECT_TIME, System.currentTimeMillis()); |
... | ... | @@ -180,12 +186,14 @@ public class EdgeGrpcService extends EdgeRpcServiceGrpc.EdgeRpcServiceImplBase i |
180 | 186 | } |
181 | 187 | |
182 | 188 | private void onEdgeDisconnect(EdgeId edgeId) { |
189 | + log.debug("[{}] onEdgeDisconnect", edgeId); | |
183 | 190 | sessions.remove(edgeId); |
184 | 191 | save(edgeId, DefaultDeviceStateService.ACTIVITY_STATE, false); |
185 | 192 | save(edgeId, DefaultDeviceStateService.LAST_DISCONNECT_TIME, System.currentTimeMillis()); |
186 | 193 | } |
187 | 194 | |
188 | 195 | private void save(EdgeId edgeId, String key, long value) { |
196 | + log.debug("[{}] Updating long edge telemetry [{}] [{}]", edgeId, key, value); | |
189 | 197 | if (persistToTelemetry) { |
190 | 198 | tsSubService.saveAndNotify( |
191 | 199 | TenantId.SYS_TENANT_ID, edgeId, |
... | ... | @@ -197,6 +205,7 @@ public class EdgeGrpcService extends EdgeRpcServiceGrpc.EdgeRpcServiceImplBase i |
197 | 205 | } |
198 | 206 | |
199 | 207 | private void save(EdgeId edgeId, String key, boolean value) { |
208 | + log.debug("[{}] Updating boolean edge telemetry [{}] [{}]", edgeId, key, value); | |
200 | 209 | if (persistToTelemetry) { |
201 | 210 | tsSubService.saveAndNotify( |
202 | 211 | TenantId.SYS_TENANT_ID, edgeId, |
... | ... | @@ -219,7 +228,7 @@ public class EdgeGrpcService extends EdgeRpcServiceGrpc.EdgeRpcServiceImplBase i |
219 | 228 | } |
220 | 229 | |
221 | 230 | @Override |
222 | - public void onSuccess(@javax.annotation.Nullable Void result) { | |
231 | + public void onSuccess(@Nullable Void result) { | |
223 | 232 | log.trace("[{}] Successfully updated attribute [{}] with value [{}]", edgeId, key, value); |
224 | 233 | } |
225 | 234 | ... | ... |
... | ... | @@ -223,26 +223,29 @@ public final class EdgeGrpcSession implements Closeable { |
223 | 223 | } |
224 | 224 | latch.countDown(); |
225 | 225 | } catch (Exception e) { |
226 | - log.error("Can't process downlink response message [{}]", msg, e); | |
226 | + log.error("[{}] Can't process downlink response message [{}]", this.sessionId, msg, e); | |
227 | 227 | } |
228 | 228 | } |
229 | 229 | |
230 | 230 | private void sendResponseMsg(ResponseMsg responseMsg) { |
231 | + log.trace("[{}] Sending response msg [{}]", this.sessionId, responseMsg); | |
231 | 232 | if (isConnected()) { |
232 | 233 | try { |
233 | 234 | responseMsgLock.lock(); |
234 | 235 | outputStream.onNext(responseMsg); |
235 | 236 | } catch (Exception e) { |
236 | - log.error("Failed to send response message [{}]", responseMsg, e); | |
237 | + log.error("[{}] Failed to send response message [{}]", this.sessionId, responseMsg, e); | |
237 | 238 | connected = false; |
238 | 239 | sessionCloseListener.accept(edge.getId()); |
239 | 240 | } finally { |
240 | 241 | responseMsgLock.unlock(); |
241 | 242 | } |
243 | + log.trace("[{}] Response msg successfully sent [{}]", this.sessionId, responseMsg); | |
242 | 244 | } |
243 | 245 | } |
244 | 246 | |
245 | 247 | void onConfigurationUpdate(Edge edge) { |
248 | + log.debug("[{}] onConfigurationUpdate [{}]", this.sessionId, edge); | |
246 | 249 | try { |
247 | 250 | this.edge = edge; |
248 | 251 | EdgeUpdateMsg edgeConfig = EdgeUpdateMsg.newBuilder() |
... | ... | @@ -251,13 +254,15 @@ public final class EdgeGrpcSession implements Closeable { |
251 | 254 | .setEdgeUpdateMsg(edgeConfig) |
252 | 255 | .build()); |
253 | 256 | } catch (Exception e) { |
254 | - log.error("Failed to construct proto objects!", e); | |
257 | + log.error("[{}] Failed to construct proto objects!", this.sessionId, e); | |
255 | 258 | } |
256 | 259 | } |
257 | 260 | |
258 | 261 | void processHandleMessages() throws ExecutionException, InterruptedException { |
262 | + log.trace("[{}] processHandleMessages started", this.sessionId); | |
259 | 263 | if (isConnected()) { |
260 | 264 | Long queueStartTs = getQueueStartTs().get(); |
265 | + log.trace("[{}] trying to find edge events using queue start ts [{}]", this.sessionId, queueStartTs); | |
261 | 266 | TimePageLink pageLink = new TimePageLink(ctx.getEdgeEventStorageSettings().getMaxReadRecordsCount(), queueStartTs, null, true); |
262 | 267 | TimePageData<EdgeEvent> pageData; |
263 | 268 | UUID ifOffset = null; |
... | ... | @@ -267,7 +272,7 @@ public final class EdgeGrpcSession implements Closeable { |
267 | 272 | if (isConnected() && !pageData.getData().isEmpty()) { |
268 | 273 | log.trace("[{}] [{}] event(s) are going to be processed.", this.sessionId, pageData.getData().size()); |
269 | 274 | List<DownlinkMsg> downlinkMsgsPack = convertToDownlinkMsgsPack(pageData.getData()); |
270 | - log.trace("[{}] downlink msg(s) are going to be send.", downlinkMsgsPack.size()); | |
275 | + log.trace("[{}] [{}] downlink msg(s) are going to be send.", this.sessionId, downlinkMsgsPack.size()); | |
271 | 276 | |
272 | 277 | latch = new CountDownLatch(downlinkMsgsPack.size()); |
273 | 278 | for (DownlinkMsg downlinkMsg : downlinkMsgsPack) { |
... | ... | @@ -280,14 +285,14 @@ public final class EdgeGrpcSession implements Closeable { |
280 | 285 | |
281 | 286 | success = latch.await(10, TimeUnit.SECONDS); |
282 | 287 | if (!success) { |
283 | - log.warn("Failed to deliver the batch: {}", downlinkMsgsPack); | |
288 | + log.warn("[{}] Failed to deliver the batch: {}", this.sessionId, downlinkMsgsPack); | |
284 | 289 | } |
285 | 290 | } |
286 | 291 | if (isConnected() && (!success || pageData.hasNext())) { |
287 | 292 | try { |
288 | 293 | Thread.sleep(ctx.getEdgeEventStorageSettings().getSleepIntervalBetweenBatches()); |
289 | 294 | } catch (InterruptedException e) { |
290 | - log.error("Error during sleep between batches", e); | |
295 | + log.error("[{}] Error during sleep between batches", this.sessionId, e); | |
291 | 296 | } |
292 | 297 | if (success) { |
293 | 298 | pageLink = pageData.getNextPageLink(); |
... | ... | @@ -302,15 +307,16 @@ public final class EdgeGrpcSession implements Closeable { |
302 | 307 | try { |
303 | 308 | Thread.sleep(ctx.getEdgeEventStorageSettings().getNoRecordsSleepInterval()); |
304 | 309 | } catch (InterruptedException e) { |
305 | - log.error("Error during sleep", e); | |
310 | + log.error("[{}] Error during sleep between no records interval", this.sessionId, e); | |
306 | 311 | } |
307 | 312 | } |
313 | + log.trace("[{}] processHandleMessages finished", this.sessionId); | |
308 | 314 | } |
309 | 315 | |
310 | 316 | private List<DownlinkMsg> convertToDownlinkMsgsPack(List<EdgeEvent> edgeEvents) { |
311 | 317 | List<DownlinkMsg> result = new ArrayList<>(); |
312 | 318 | for (EdgeEvent edgeEvent : edgeEvents) { |
313 | - log.trace("Processing edge event [{}]", edgeEvent); | |
319 | + log.trace("[{}] Processing edge event [{}]", this.sessionId, edgeEvent); | |
314 | 320 | try { |
315 | 321 | DownlinkMsg downlinkMsg = null; |
316 | 322 | switch (edgeEvent.getAction()) { |
... | ... | @@ -406,13 +412,14 @@ public final class EdgeGrpcSession implements Closeable { |
406 | 412 | } |
407 | 413 | |
408 | 414 | private void updateQueueStartTs(Long newStartTs) { |
415 | + log.trace("[{}] updating QueueStartTs [{}][{}]", this.sessionId, edge.getId(), newStartTs); | |
409 | 416 | newStartTs = ++newStartTs; // increments ts by 1 - next edge event search starts from current offset + 1 |
410 | 417 | List<AttributeKvEntry> attributes = Collections.singletonList(new BaseAttributeKvEntry(new LongDataEntry(QUEUE_START_TS_ATTR_KEY, newStartTs), System.currentTimeMillis())); |
411 | 418 | ctx.getAttributesService().save(edge.getTenantId(), edge.getId(), DataConstants.SERVER_SCOPE, attributes); |
412 | 419 | } |
413 | 420 | |
414 | 421 | private DownlinkMsg processTelemetryMessage(EdgeEvent edgeEvent) { |
415 | - log.trace("Executing processTelemetryMessage, edgeEvent [{}]", edgeEvent); | |
422 | + log.trace("[{}] Executing processTelemetryMessage, edgeEvent [{}]", this.sessionId, edgeEvent); | |
416 | 423 | EntityId entityId = null; |
417 | 424 | switch (edgeEvent.getType()) { |
418 | 425 | case DEVICE: |
... | ... | @@ -436,11 +443,11 @@ public final class EdgeGrpcSession implements Closeable { |
436 | 443 | } |
437 | 444 | DownlinkMsg downlinkMsg = null; |
438 | 445 | if (entityId != null) { |
439 | - log.debug("Sending telemetry data msg, entityId [{}], body [{}]", edgeEvent.getEntityId(), edgeEvent.getBody()); | |
446 | + log.debug("[{}] Sending telemetry data msg, entityId [{}], body [{}]", this.sessionId, edgeEvent.getEntityId(), edgeEvent.getBody()); | |
440 | 447 | try { |
441 | 448 | downlinkMsg = constructEntityDataProtoMsg(entityId, edgeEvent.getAction(), JsonUtils.parse(mapper.writeValueAsString(edgeEvent.getBody()))); |
442 | 449 | } catch (Exception e) { |
443 | - log.warn("Can't send telemetry data msg, entityId [{}], body [{}]", edgeEvent.getEntityId(), edgeEvent.getBody(), e); | |
450 | + log.warn("[{}] Can't send telemetry data msg, entityId [{}], body [{}]", this.sessionId, edgeEvent.getEntityId(), edgeEvent.getBody(), e); | |
444 | 451 | } |
445 | 452 | } |
446 | 453 | return downlinkMsg; |
... | ... | @@ -450,9 +457,6 @@ public final class EdgeGrpcSession implements Closeable { |
450 | 457 | UpdateMsgType msgType = getResponseMsgType(edgeEvent.getAction()); |
451 | 458 | log.trace("Executing processEntityMessage, edgeEvent [{}], action [{}], msgType [{}]", edgeEvent, action, msgType); |
452 | 459 | switch (edgeEvent.getType()) { |
453 | - case EDGE: | |
454 | - // TODO: voba - add edge update logic | |
455 | - return null; | |
456 | 460 | case DEVICE: |
457 | 461 | return processDevice(edgeEvent, msgType, action); |
458 | 462 | case ASSET: |
... | ... | @@ -523,6 +527,7 @@ public final class EdgeGrpcSession implements Closeable { |
523 | 527 | } |
524 | 528 | break; |
525 | 529 | } |
530 | + log.trace("[{}] device processed [{}]", this.sessionId, downlinkMsg); | |
526 | 531 | return downlinkMsg; |
527 | 532 | } |
528 | 533 | |
... | ... | @@ -554,6 +559,7 @@ public final class EdgeGrpcSession implements Closeable { |
554 | 559 | .build(); |
555 | 560 | break; |
556 | 561 | } |
562 | + log.trace("[{}] asset processed [{}]", this.sessionId, downlinkMsg); | |
557 | 563 | return downlinkMsg; |
558 | 564 | } |
559 | 565 | |
... | ... | @@ -585,6 +591,7 @@ public final class EdgeGrpcSession implements Closeable { |
585 | 591 | .build(); |
586 | 592 | break; |
587 | 593 | } |
594 | + log.trace("[{}] entity view processed [{}]", this.sessionId, downlinkMsg); | |
588 | 595 | return downlinkMsg; |
589 | 596 | } |
590 | 597 | |
... | ... | @@ -619,6 +626,7 @@ public final class EdgeGrpcSession implements Closeable { |
619 | 626 | .build(); |
620 | 627 | break; |
621 | 628 | } |
629 | + log.trace("[{}] dashboard processed [{}]", this.sessionId, downlinkMsg); | |
622 | 630 | return downlinkMsg; |
623 | 631 | } |
624 | 632 | |
... | ... | @@ -645,6 +653,7 @@ public final class EdgeGrpcSession implements Closeable { |
645 | 653 | .build(); |
646 | 654 | break; |
647 | 655 | } |
656 | + log.trace("[{}] customer processed [{}]", this.sessionId, downlinkMsg); | |
648 | 657 | return downlinkMsg; |
649 | 658 | } |
650 | 659 | |
... | ... | @@ -671,6 +680,7 @@ public final class EdgeGrpcSession implements Closeable { |
671 | 680 | .build(); |
672 | 681 | break; |
673 | 682 | } |
683 | + log.trace("[{}] rule chain processed [{}]", this.sessionId, downlinkMsg); | |
674 | 684 | return downlinkMsg; |
675 | 685 | } |
676 | 686 | |
... | ... | @@ -688,6 +698,7 @@ public final class EdgeGrpcSession implements Closeable { |
688 | 698 | .build(); |
689 | 699 | } |
690 | 700 | } |
701 | + log.trace("[{}] rule chain metadata processed [{}]", this.sessionId, downlinkMsg); | |
691 | 702 | return downlinkMsg; |
692 | 703 | } |
693 | 704 | |
... | ... | @@ -720,6 +731,7 @@ public final class EdgeGrpcSession implements Closeable { |
720 | 731 | .build(); |
721 | 732 | } |
722 | 733 | } |
734 | + log.trace("[{}] user processed [{}]", this.sessionId, downlinkMsg); | |
723 | 735 | return downlinkMsg; |
724 | 736 | } |
725 | 737 | |
... | ... | @@ -734,9 +746,11 @@ public final class EdgeGrpcSession implements Closeable { |
734 | 746 | private DownlinkMsg processRelation(EdgeEvent edgeEvent, UpdateMsgType msgType) { |
735 | 747 | EntityRelation entityRelation = mapper.convertValue(edgeEvent.getBody(), EntityRelation.class); |
736 | 748 | RelationUpdateMsg r = ctx.getRelationMsgConstructor().constructRelationUpdatedMsg(msgType, entityRelation); |
737 | - return DownlinkMsg.newBuilder() | |
749 | + DownlinkMsg downlinkMsg = DownlinkMsg.newBuilder() | |
738 | 750 | .addAllRelationUpdateMsg(Collections.singletonList(r)) |
739 | 751 | .build(); |
752 | + log.trace("[{}] relation processed [{}]", this.sessionId, downlinkMsg); | |
753 | + return downlinkMsg; | |
740 | 754 | } |
741 | 755 | |
742 | 756 | private DownlinkMsg processAlarm(EdgeEvent edgeEvent, UpdateMsgType msgType) { |
... | ... | @@ -752,6 +766,7 @@ public final class EdgeGrpcSession implements Closeable { |
752 | 766 | } catch (Exception e) { |
753 | 767 | log.error("Can't process alarm msg [{}] [{}]", edgeEvent, msgType, e); |
754 | 768 | } |
769 | + log.trace("[{}] alarm processed [{}]", this.sessionId, downlinkMsg); | |
755 | 770 | return downlinkMsg; |
756 | 771 | } |
757 | 772 | |
... | ... | @@ -778,6 +793,7 @@ public final class EdgeGrpcSession implements Closeable { |
778 | 793 | .build(); |
779 | 794 | break; |
780 | 795 | } |
796 | + log.trace("[{}] widget bundle processed [{}]", this.sessionId, downlinkMsg); | |
781 | 797 | return downlinkMsg; |
782 | 798 | } |
783 | 799 | |
... | ... | @@ -804,15 +820,18 @@ public final class EdgeGrpcSession implements Closeable { |
804 | 820 | .build(); |
805 | 821 | break; |
806 | 822 | } |
823 | + log.trace("[{}] widget type processed [{}]", this.sessionId, downlinkMsg); | |
807 | 824 | return downlinkMsg; |
808 | 825 | } |
809 | 826 | |
810 | 827 | private DownlinkMsg processAdminSettings(EdgeEvent edgeEvent) { |
811 | 828 | AdminSettings adminSettings = mapper.convertValue(edgeEvent.getBody(), AdminSettings.class); |
812 | 829 | AdminSettingsUpdateMsg t = ctx.getAdminSettingsMsgConstructor().constructAdminSettingsUpdateMsg(adminSettings); |
813 | - return DownlinkMsg.newBuilder() | |
830 | + DownlinkMsg downlinkMsg = DownlinkMsg.newBuilder() | |
814 | 831 | .addAllAdminSettingsUpdateMsg(Collections.singletonList(t)) |
815 | 832 | .build(); |
833 | + log.trace("[{}] admin settings processed [{}]", this.sessionId, downlinkMsg); | |
834 | + return downlinkMsg; | |
816 | 835 | } |
817 | 836 | |
818 | 837 | private UpdateMsgType getResponseMsgType(EdgeEventActionType actionType) { |
... | ... | @@ -841,9 +860,11 @@ public final class EdgeGrpcSession implements Closeable { |
841 | 860 | |
842 | 861 | private DownlinkMsg constructEntityDataProtoMsg(EntityId entityId, EdgeEventActionType actionType, JsonElement entityData) { |
843 | 862 | EntityDataProto entityDataProto = ctx.getEntityDataMsgConstructor().constructEntityDataMsg(entityId, actionType, entityData); |
844 | - DownlinkMsg.Builder builder = DownlinkMsg.newBuilder() | |
845 | - .addAllEntityData(Collections.singletonList(entityDataProto)); | |
846 | - return builder.build(); | |
863 | + DownlinkMsg downlinkMsg = DownlinkMsg.newBuilder() | |
864 | + .addAllEntityData(Collections.singletonList(entityDataProto)) | |
865 | + .build(); | |
866 | + log.trace("[{}] entity data proto processed [{}]", this.sessionId, downlinkMsg); | |
867 | + return downlinkMsg; | |
847 | 868 | } |
848 | 869 | |
849 | 870 | private ListenableFuture<List<Void>> processUplinkMsg(UplinkMsg uplinkMsg) { |
... | ... | @@ -854,7 +875,6 @@ public final class EdgeGrpcSession implements Closeable { |
854 | 875 | result.addAll(ctx.getTelemetryProcessor().onTelemetryUpdate(edge.getTenantId(), entityData)); |
855 | 876 | } |
856 | 877 | } |
857 | - | |
858 | 878 | if (uplinkMsg.getDeviceUpdateMsgList() != null && !uplinkMsg.getDeviceUpdateMsgList().isEmpty()) { |
859 | 879 | for (DeviceUpdateMsg deviceUpdateMsg : uplinkMsg.getDeviceUpdateMsgList()) { |
860 | 880 | result.add(ctx.getDeviceProcessor().onDeviceUpdate(edge.getTenantId(), edge, deviceUpdateMsg)); |
... | ... | @@ -906,12 +926,13 @@ public final class EdgeGrpcSession implements Closeable { |
906 | 926 | } |
907 | 927 | } |
908 | 928 | } catch (Exception e) { |
909 | - log.error("Can't process uplink msg [{}]", uplinkMsg, e); | |
929 | + log.error("[{}] Can't process uplink msg [{}]", this.sessionId, uplinkMsg, e); | |
910 | 930 | } |
911 | 931 | return Futures.allAsList(result); |
912 | 932 | } |
913 | 933 | |
914 | 934 | private ConnectResponseMsg processConnect(ConnectRequestMsg request) { |
935 | + log.trace("[{}] processConnect [{}]", this.sessionId, request); | |
915 | 936 | Optional<Edge> optional = ctx.getEdgeService().findEdgeByRoutingKey(TenantId.SYS_TENANT_ID, request.getEdgeRoutingKey()); |
916 | 937 | if (optional.isPresent()) { |
917 | 938 | edge = optional.get(); |
... | ... | @@ -941,7 +962,7 @@ public final class EdgeGrpcSession implements Closeable { |
941 | 962 | .setConfiguration(EdgeConfiguration.getDefaultInstance()).build(); |
942 | 963 | } |
943 | 964 | |
944 | - private EdgeConfiguration constructEdgeConfigProto(Edge edge) throws JsonProcessingException { | |
965 | + private EdgeConfiguration constructEdgeConfigProto(Edge edge) { | |
945 | 966 | return EdgeConfiguration.newBuilder() |
946 | 967 | .setEdgeIdMSB(edge.getId().getId().getMostSignificantBits()) |
947 | 968 | .setEdgeIdLSB(edge.getId().getId().getLeastSignificantBits()) |
... | ... | @@ -958,6 +979,7 @@ public final class EdgeGrpcSession implements Closeable { |
958 | 979 | |
959 | 980 | @Override |
960 | 981 | public void close() { |
982 | + log.debug("[{}] Closing session", sessionId); | |
961 | 983 | connected = false; |
962 | 984 | try { |
963 | 985 | outputStream.onCompleted(); | ... | ... |
... | ... | @@ -140,6 +140,7 @@ public class DefaultSyncEdgeService implements SyncEdgeService { |
140 | 140 | |
141 | 141 | @Override |
142 | 142 | public void sync(Edge edge) { |
143 | + log.trace("[{}] staring sync process for edge [{}]", edge.getTenantId(), edge.getName()); | |
143 | 144 | try { |
144 | 145 | syncWidgetsBundleAndWidgetTypes(edge); |
145 | 146 | syncAdminSettings(edge); |
... | ... | @@ -155,6 +156,7 @@ public class DefaultSyncEdgeService implements SyncEdgeService { |
155 | 156 | } |
156 | 157 | |
157 | 158 | private void syncRuleChains(Edge edge) { |
159 | + log.trace("[{}] syncRuleChains [{}]", edge.getTenantId(), edge.getName()); | |
158 | 160 | try { |
159 | 161 | ListenableFuture<TimePageData<RuleChain>> future = |
160 | 162 | ruleChainService.findRuleChainsByTenantIdAndEdgeId(edge.getTenantId(), edge.getId(), new TimePageLink(Integer.MAX_VALUE)); |
... | ... | @@ -180,6 +182,7 @@ public class DefaultSyncEdgeService implements SyncEdgeService { |
180 | 182 | } |
181 | 183 | |
182 | 184 | private void syncDevices(Edge edge) { |
185 | + log.trace("[{}] syncDevices [{}]", edge.getTenantId(), edge.getName()); | |
183 | 186 | try { |
184 | 187 | ListenableFuture<TimePageData<Device>> future = |
185 | 188 | deviceService.findDevicesByTenantIdAndEdgeId(edge.getTenantId(), edge.getId(), new TimePageLink(Integer.MAX_VALUE)); |
... | ... | @@ -205,6 +208,7 @@ public class DefaultSyncEdgeService implements SyncEdgeService { |
205 | 208 | } |
206 | 209 | |
207 | 210 | private void syncAssets(Edge edge) { |
211 | + log.trace("[{}] syncAssets [{}]", edge.getTenantId(), edge.getName()); | |
208 | 212 | try { |
209 | 213 | ListenableFuture<TimePageData<Asset>> future = assetService.findAssetsByTenantIdAndEdgeId(edge.getTenantId(), edge.getId(), new TimePageLink(Integer.MAX_VALUE)); |
210 | 214 | Futures.addCallback(future, new FutureCallback<TimePageData<Asset>>() { |
... | ... | @@ -229,6 +233,7 @@ public class DefaultSyncEdgeService implements SyncEdgeService { |
229 | 233 | } |
230 | 234 | |
231 | 235 | private void syncEntityViews(Edge edge) { |
236 | + log.trace("[{}] syncEntityViews [{}]", edge.getTenantId(), edge.getName()); | |
232 | 237 | try { |
233 | 238 | ListenableFuture<TimePageData<EntityView>> future = entityViewService.findEntityViewsByTenantIdAndEdgeId(edge.getTenantId(), edge.getId(), new TimePageLink(Integer.MAX_VALUE)); |
234 | 239 | Futures.addCallback(future, new FutureCallback<TimePageData<EntityView>>() { |
... | ... | @@ -253,6 +258,7 @@ public class DefaultSyncEdgeService implements SyncEdgeService { |
253 | 258 | } |
254 | 259 | |
255 | 260 | private void syncDashboards(Edge edge) { |
261 | + log.trace("[{}] syncDashboards [{}]", edge.getTenantId(), edge.getName()); | |
256 | 262 | try { |
257 | 263 | ListenableFuture<TimePageData<DashboardInfo>> future = dashboardService.findDashboardsByTenantIdAndEdgeId(edge.getTenantId(), edge.getId(), new TimePageLink(Integer.MAX_VALUE)); |
258 | 264 | Futures.addCallback(future, new FutureCallback<TimePageData<DashboardInfo>>() { |
... | ... | @@ -277,6 +283,7 @@ public class DefaultSyncEdgeService implements SyncEdgeService { |
277 | 283 | } |
278 | 284 | |
279 | 285 | private void syncUsers(Edge edge) { |
286 | + log.trace("[{}] syncUsers [{}]", edge.getTenantId(), edge.getName()); | |
280 | 287 | try { |
281 | 288 | TextPageData<User> pageData = userService.findTenantAdmins(edge.getTenantId(), new TextPageLink(Integer.MAX_VALUE)); |
282 | 289 | pushUsersToEdge(pageData, edge); |
... | ... | @@ -291,6 +298,7 @@ public class DefaultSyncEdgeService implements SyncEdgeService { |
291 | 298 | } |
292 | 299 | |
293 | 300 | private void syncWidgetsBundleAndWidgetTypes(Edge edge) { |
301 | + log.trace("[{}] syncWidgetsBundleAndWidgetTypes [{}]", edge.getTenantId(), edge.getName()); | |
294 | 302 | List<WidgetsBundle> widgetsBundlesToPush = new ArrayList<>(); |
295 | 303 | List<WidgetType> widgetTypesToPush = new ArrayList<>(); |
296 | 304 | widgetsBundlesToPush.addAll(widgetsBundleService.findAllTenantWidgetsBundlesByTenantId(edge.getTenantId())); |
... | ... | @@ -309,6 +317,7 @@ public class DefaultSyncEdgeService implements SyncEdgeService { |
309 | 317 | } |
310 | 318 | |
311 | 319 | private void syncAdminSettings(Edge edge) { |
320 | + log.trace("[{}] syncAdminSettings [{}]", edge.getTenantId(), edge.getName()); | |
312 | 321 | try { |
313 | 322 | AdminSettings systemMailSettings = adminSettingsService.findAdminSettingsByKey(TenantId.SYS_TENANT_ID, "mail"); |
314 | 323 | saveEdgeEvent(edge.getTenantId(), edge.getId(), EdgeEventType.ADMIN_SETTINGS, EdgeEventActionType.UPDATED, null, mapper.valueToTree(systemMailSettings)); |
... | ... | @@ -386,6 +395,7 @@ public class DefaultSyncEdgeService implements SyncEdgeService { |
386 | 395 | |
387 | 396 | @Override |
388 | 397 | public ListenableFuture<Void> processRuleChainMetadataRequestMsg(Edge edge, RuleChainMetadataRequestMsg ruleChainMetadataRequestMsg) { |
398 | + log.trace("[{}] processRuleChainMetadataRequestMsg [{}][{}]", edge.getTenantId(), edge.getName(), ruleChainMetadataRequestMsg); | |
389 | 399 | SettableFuture<Void> futureToSet = SettableFuture.create(); |
390 | 400 | if (ruleChainMetadataRequestMsg.getRuleChainIdMSB() != 0 && ruleChainMetadataRequestMsg.getRuleChainIdLSB() != 0) { |
391 | 401 | RuleChainId ruleChainId = |
... | ... | @@ -409,6 +419,7 @@ public class DefaultSyncEdgeService implements SyncEdgeService { |
409 | 419 | |
410 | 420 | @Override |
411 | 421 | public ListenableFuture<Void> processAttributesRequestMsg(Edge edge, AttributesRequestMsg attributesRequestMsg) { |
422 | + log.trace("[{}] processAttributesRequestMsg [{}][{}]", edge.getTenantId(), edge.getName(), attributesRequestMsg); | |
412 | 423 | EntityId entityId = EntityIdFactory.getByTypeAndUuid( |
413 | 424 | EntityType.valueOf(attributesRequestMsg.getEntityType()), |
414 | 425 | new UUID(attributesRequestMsg.getEntityIdMSB(), attributesRequestMsg.getEntityIdLSB())); |
... | ... | @@ -482,6 +493,7 @@ public class DefaultSyncEdgeService implements SyncEdgeService { |
482 | 493 | |
483 | 494 | @Override |
484 | 495 | public ListenableFuture<Void> processRelationRequestMsg(Edge edge, RelationRequestMsg relationRequestMsg) { |
496 | + log.trace("[{}] processRelationRequestMsg [{}][{}]", edge.getTenantId(), edge.getName(), relationRequestMsg); | |
485 | 497 | EntityId entityId = EntityIdFactory.getByTypeAndUuid( |
486 | 498 | EntityType.valueOf(relationRequestMsg.getEntityType()), |
487 | 499 | new UUID(relationRequestMsg.getEntityIdMSB(), relationRequestMsg.getEntityIdLSB())); |
... | ... | @@ -528,6 +540,7 @@ public class DefaultSyncEdgeService implements SyncEdgeService { |
528 | 540 | |
529 | 541 | @Override |
530 | 542 | public ListenableFuture<Void> processDeviceCredentialsRequestMsg(Edge edge, DeviceCredentialsRequestMsg deviceCredentialsRequestMsg) { |
543 | + log.trace("[{}] processDeviceCredentialsRequestMsg [{}][{}]", edge.getTenantId(), edge.getName(), deviceCredentialsRequestMsg); | |
531 | 544 | SettableFuture<Void> futureToSet = SettableFuture.create(); |
532 | 545 | if (deviceCredentialsRequestMsg.getDeviceIdMSB() != 0 && deviceCredentialsRequestMsg.getDeviceIdLSB() != 0) { |
533 | 546 | DeviceId deviceId = new DeviceId(new UUID(deviceCredentialsRequestMsg.getDeviceIdMSB(), deviceCredentialsRequestMsg.getDeviceIdLSB())); |
... | ... | @@ -550,6 +563,7 @@ public class DefaultSyncEdgeService implements SyncEdgeService { |
550 | 563 | |
551 | 564 | @Override |
552 | 565 | public ListenableFuture<Void> processUserCredentialsRequestMsg(Edge edge, UserCredentialsRequestMsg userCredentialsRequestMsg) { |
566 | + log.trace("[{}] processUserCredentialsRequestMsg [{}][{}]", edge.getTenantId(), edge.getName(), userCredentialsRequestMsg); | |
553 | 567 | SettableFuture<Void> futureToSet = SettableFuture.create(); |
554 | 568 | if (userCredentialsRequestMsg.getUserIdMSB() != 0 && userCredentialsRequestMsg.getUserIdLSB() != 0) { |
555 | 569 | UserId userId = new UserId(new UUID(userCredentialsRequestMsg.getUserIdMSB(), userCredentialsRequestMsg.getUserIdLSB())); |
... | ... | @@ -576,7 +590,7 @@ public class DefaultSyncEdgeService implements SyncEdgeService { |
576 | 590 | EdgeEventActionType action, |
577 | 591 | EntityId entityId, |
578 | 592 | JsonNode body) { |
579 | - log.debug("Pushing edge event to edge queue. tenantId [{}], edgeId [{}], type [{}], action[{}], entityId [{}], body [{}]", | |
593 | + log.trace("Pushing edge event to edge queue. tenantId [{}], edgeId [{}], type [{}], action[{}], entityId [{}], body [{}]", | |
580 | 594 | tenantId, edgeId, type, action, entityId, body); |
581 | 595 | |
582 | 596 | EdgeEvent edgeEvent = new EdgeEvent(); | ... | ... |
... | ... | @@ -221,6 +221,7 @@ public class DeviceProcessor extends BaseProcessor { |
221 | 221 | } |
222 | 222 | |
223 | 223 | public ListenableFuture<Void> processDeviceRpcCallResponseMsg(TenantId tenantId, DeviceRpcCallMsg deviceRpcCallMsg) { |
224 | + log.trace("[{}] processDeviceRpcCallResponseMsg [{}]", tenantId, deviceRpcCallMsg); | |
224 | 225 | SettableFuture<Void> futureToSet = SettableFuture.create(); |
225 | 226 | UUID uuid = new UUID(deviceRpcCallMsg.getRequestIdMSB(), deviceRpcCallMsg.getRequestIdLSB()); |
226 | 227 | FromDeviceRpcResponse response; | ... | ... |
... | ... | @@ -174,6 +174,7 @@ public class EdgeServiceImpl extends AbstractEntityService implements EdgeServic |
174 | 174 | |
175 | 175 | @Override |
176 | 176 | public Edge assignEdgeToCustomer(TenantId tenantId, EdgeId edgeId, CustomerId customerId) { |
177 | + log.trace("[{}] Executing assignEdgeToCustomer [{}][{}]", tenantId, edgeId, customerId); | |
177 | 178 | Edge edge = findEdgeById(tenantId, edgeId); |
178 | 179 | edge.setCustomerId(customerId); |
179 | 180 | return saveEdge(edge); |
... | ... | @@ -181,6 +182,7 @@ public class EdgeServiceImpl extends AbstractEntityService implements EdgeServic |
181 | 182 | |
182 | 183 | @Override |
183 | 184 | public Edge unassignEdgeFromCustomer(TenantId tenantId, EdgeId edgeId) { |
185 | + log.trace("[{}] Executing unassignEdgeFromCustomer [{}]", tenantId, edgeId); | |
184 | 186 | Edge edge = findEdgeById(tenantId, edgeId); |
185 | 187 | edge.setCustomerId(null); |
186 | 188 | return saveEdge(edge); |
... | ... | @@ -279,6 +281,7 @@ public class EdgeServiceImpl extends AbstractEntityService implements EdgeServic |
279 | 281 | |
280 | 282 | @Override |
281 | 283 | public ListenableFuture<List<Edge>> findEdgesByQuery(TenantId tenantId, EdgeSearchQuery query) { |
284 | + log.trace("[{}] Executing findEdgesByQuery [{}]", tenantId, query); | |
282 | 285 | ListenableFuture<List<EntityRelation>> relations = relationService.findByQuery(tenantId, query.toEntitySearchQuery()); |
283 | 286 | ListenableFuture<List<Edge>> edges = Futures.transformAsync(relations, r -> { |
284 | 287 | EntitySearchDirection direction = query.toEntitySearchQuery().getParameters().getDirection(); |
... | ... | @@ -455,6 +458,7 @@ public class EdgeServiceImpl extends AbstractEntityService implements EdgeServic |
455 | 458 | |
456 | 459 | @Override |
457 | 460 | public ListenableFuture<List<EdgeId>> findRelatedEdgeIdsByEntityId(TenantId tenantId, EntityId entityId) { |
461 | + log.trace("[{}] Executing findRelatedEdgeIdsByEntityId [{}]", tenantId, entityId); | |
458 | 462 | if (EntityType.TENANT.equals(entityId.getEntityType())) { |
459 | 463 | TextPageData<Edge> edgesByTenantId = findEdgesByTenantId(tenantId, new TextPageLink(Integer.MAX_VALUE)); |
460 | 464 | return Futures.immediateFuture(edgesByTenantId.getData().stream().map(IdBased::getId).collect(Collectors.toList())); | ... | ... |