|
|
|
@ -41,6 +41,7 @@ import org.thingsboard.rule.engine.api.notification.SlackService; |
|
|
|
import org.thingsboard.rule.engine.api.sms.SmsSenderFactory; |
|
|
|
import org.thingsboard.script.api.js.JsInvokeService; |
|
|
|
import org.thingsboard.script.api.tbel.TbelInvokeService; |
|
|
|
import org.thingsboard.server.actors.calculatedField.CalculatedFieldException; |
|
|
|
import org.thingsboard.server.actors.service.ActorService; |
|
|
|
import org.thingsboard.server.actors.tenant.DebugTbRateLimits; |
|
|
|
import org.thingsboard.server.cache.limits.RateLimitService; |
|
|
|
@ -97,8 +98,8 @@ import org.thingsboard.server.dao.ota.OtaPackageService; |
|
|
|
import org.thingsboard.server.dao.queue.QueueService; |
|
|
|
import org.thingsboard.server.dao.queue.QueueStatsService; |
|
|
|
import org.thingsboard.server.dao.relation.RelationService; |
|
|
|
import org.thingsboard.server.dao.resource.TbResourceDataCache; |
|
|
|
import org.thingsboard.server.dao.resource.ResourceService; |
|
|
|
import org.thingsboard.server.dao.resource.TbResourceDataCache; |
|
|
|
import org.thingsboard.server.dao.rule.RuleChainService; |
|
|
|
import org.thingsboard.server.dao.rule.RuleNodeStateService; |
|
|
|
import org.thingsboard.server.dao.tenant.TbTenantProfileCache; |
|
|
|
@ -824,6 +825,18 @@ public class ActorSystemContext { |
|
|
|
Futures.addCallback(future, RULE_CHAIN_DEBUG_EVENT_ERROR_CALLBACK, MoreExecutors.directExecutor()); |
|
|
|
} |
|
|
|
|
|
|
|
public void persistCalculatedFieldDebugError(CalculatedFieldException cfe) { |
|
|
|
String message; |
|
|
|
if (cfe.getErrorMessage() != null) { |
|
|
|
message = cfe.getErrorMessage(); |
|
|
|
} else if (cfe.getCause() != null) { |
|
|
|
message = cfe.getCause().getMessage(); |
|
|
|
} else { |
|
|
|
message = "N/A"; |
|
|
|
} |
|
|
|
persistCalculatedFieldDebugEvent(cfe.getCtx().getTenantId(), cfe.getCtx().getCfId(), cfe.getEventEntity(), cfe.getArguments(), cfe.getMsgId(), cfe.getMsgType(), null, message); |
|
|
|
} |
|
|
|
|
|
|
|
public void persistCalculatedFieldDebugEvent(TenantId tenantId, CalculatedFieldId calculatedFieldId, EntityId entityId, Map<String, ArgumentEntry> arguments, UUID tbMsgId, TbMsgType tbMsgType, String result, String errorMessage) { |
|
|
|
if (checkLimits(tenantId)) { |
|
|
|
try { |
|
|
|
|