feat: map engineLevel and route-level snapshots in IngestionService
Extract inputBody/outputBody/inputHeaders/outputHeaders from RouteExecution snapshots and pass to ExecutionRecord. Maps engineLevel field. Critical for REGULAR mode where no processor records exist but route-level payloads do.
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
package com.cameleer3.server.core.ingestion;
|
package com.cameleer3.server.core.ingestion;
|
||||||
|
|
||||||
|
import com.cameleer3.common.model.ExchangeSnapshot;
|
||||||
import com.cameleer3.common.model.ProcessorExecution;
|
import com.cameleer3.common.model.ProcessorExecution;
|
||||||
import com.cameleer3.common.model.RouteExecution;
|
import com.cameleer3.common.model.RouteExecution;
|
||||||
import com.cameleer3.server.core.indexing.ExecutionUpdatedEvent;
|
import com.cameleer3.server.core.indexing.ExecutionUpdatedEvent;
|
||||||
@@ -77,6 +78,25 @@ public class IngestionService {
|
|||||||
String diagramHash = diagramStore
|
String diagramHash = diagramStore
|
||||||
.findContentHashForRoute(exec.getRouteId(), agentId)
|
.findContentHashForRoute(exec.getRouteId(), agentId)
|
||||||
.orElse("");
|
.orElse("");
|
||||||
|
|
||||||
|
// Extract route-level snapshots (critical for REGULAR mode where no processors are recorded)
|
||||||
|
String inputBody = null;
|
||||||
|
String outputBody = null;
|
||||||
|
String inputHeaders = null;
|
||||||
|
String outputHeaders = null;
|
||||||
|
|
||||||
|
ExchangeSnapshot inputSnapshot = exec.getInputSnapshot();
|
||||||
|
if (inputSnapshot != null) {
|
||||||
|
inputBody = truncateBody(inputSnapshot.getBody());
|
||||||
|
inputHeaders = toJson(inputSnapshot.getHeaders());
|
||||||
|
}
|
||||||
|
|
||||||
|
ExchangeSnapshot outputSnapshot = exec.getOutputSnapshot();
|
||||||
|
if (outputSnapshot != null) {
|
||||||
|
outputBody = truncateBody(outputSnapshot.getBody());
|
||||||
|
outputHeaders = toJson(outputSnapshot.getHeaders());
|
||||||
|
}
|
||||||
|
|
||||||
return new ExecutionRecord(
|
return new ExecutionRecord(
|
||||||
exec.getExchangeId(), exec.getRouteId(), agentId, applicationName,
|
exec.getExchangeId(), exec.getRouteId(), agentId, applicationName,
|
||||||
exec.getStatus() != null ? exec.getStatus().name() : "RUNNING",
|
exec.getStatus() != null ? exec.getStatus().name() : "RUNNING",
|
||||||
@@ -84,7 +104,9 @@ public class IngestionService {
|
|||||||
exec.getStartTime(), exec.getEndTime(),
|
exec.getStartTime(), exec.getEndTime(),
|
||||||
exec.getDurationMs(),
|
exec.getDurationMs(),
|
||||||
exec.getErrorMessage(), exec.getErrorStackTrace(),
|
exec.getErrorMessage(), exec.getErrorStackTrace(),
|
||||||
diagramHash
|
diagramHash,
|
||||||
|
exec.getEngineLevel(),
|
||||||
|
inputBody, outputBody, inputHeaders, outputHeaders
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user