Commit cee4e5e8d805e6a3b967cd95cdc6fe75c7cd44ab

Authored by Volodymyr Babak
1 parent 173eda71

Improve logging

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