Browse Source

Minor improvements for event truncation

pull/3568/head
Andrii Shvaika 6 years ago
parent
commit
67f8327cde
  1. 12
      dao/src/main/java/org/thingsboard/server/dao/event/BaseEventService.java

12
dao/src/main/java/org/thingsboard/server/dao/event/BaseEventService.java

@ -37,7 +37,7 @@ import java.util.Optional;
@Slf4j @Slf4j
public class BaseEventService implements EventService { public class BaseEventService implements EventService {
private static final int MAX_DEBUG_EVENT_IN_BYTES = 10 * 1024; private static final int MAX_DEBUG_EVENT_SYMBOLS = 4 * 1024;
@Autowired @Autowired
public EventDao eventDao; public EventDao eventDao;
@ -66,12 +66,12 @@ public class BaseEventService implements EventService {
} }
private void checkAndTruncateDebugEvent(Event event) { private void checkAndTruncateDebugEvent(Event event) {
if (event.getType().startsWith("DEBUG")) { if (event.getType().startsWith("DEBUG") && event.getBody() != null && event.getBody().has("data")) {
String dataStr = event.getBody().get("data").asText(); String dataStr = event.getBody().get("data").asText();
int dataSize = dataStr.getBytes(StandardCharsets.UTF_8).length; int length = dataStr.length();
if (dataSize > MAX_DEBUG_EVENT_IN_BYTES) { if (length > MAX_DEBUG_EVENT_SYMBOLS) {
((ObjectNode) event.getBody()).put("data", dataStr.substring(0, 1024)); ((ObjectNode) event.getBody()).put("data", dataStr.substring(0, MAX_DEBUG_EVENT_SYMBOLS) + "...[truncated " + (length - MAX_DEBUG_EVENT_SYMBOLS) + " symbols]");
log.trace("[{}] Event was truncated.", event.getId()); log.trace("[{}] Event was truncated: {}", event.getId(), dataStr);
} }
} }
} }

Loading…
Cancel
Save