Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit e326e95

Browse files
committedMar 11, 2025·
Add MessageContext to the DataUnit
1 parent d78710c commit e326e95

File tree

5 files changed

+29
-11
lines changed

5 files changed

+29
-11
lines changed
 

‎modules/core/src/main/java/org/apache/synapse/aspects/flow/statistics/collectors/CallbackStatisticCollector.java

+4
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ public static void addCallback(MessageContext messageContext, String callbackId)
4646
dataUnit.setCallbackId(callbackId);
4747
dataUnit.setStatisticId(StatisticDataCollectionHelper.getStatisticTraceId(messageContext));
4848
dataUnit.setCurrentIndex(StatisticDataCollectionHelper.getParentFlowPosition(messageContext, null));
49+
dataUnit.setMessageContext(messageContext);
4950

5051
CallbackSentEvent callbackSentEvent = new CallbackSentEvent(dataUnit);
5152
addEventAndIncrementCallbackCount(messageContext, callbackSentEvent);
@@ -73,6 +74,7 @@ public static void callbackCompletionEvent(MessageContext oldMessageContext, Str
7374
dataUnit.setStatisticId(StatisticDataCollectionHelper.getStatisticTraceId(oldMessageContext));
7475
dataUnit.setCurrentIndex(StatisticDataCollectionHelper.getParentFlowPosition(oldMessageContext, null));
7576
dataUnit.setIsOutOnlyFlow(StatisticDataCollectionHelper.isOutOnlyFlow(oldMessageContext));
77+
dataUnit.setMessageContext(oldMessageContext);
7678

7779
CallbackCompletionEvent callbackCompletionEvent = new CallbackCompletionEvent(dataUnit);
7880
addEventAndDecrementCallbackCount(oldMessageContext, callbackCompletionEvent);
@@ -99,6 +101,7 @@ public static void updateParentsForCallback(MessageContext oldMessageContext, St
99101
dataUnit.setStatisticId(StatisticDataCollectionHelper.getStatisticTraceId(oldMessageContext));
100102
dataUnit.setCurrentIndex(StatisticDataCollectionHelper.getParentFlowPosition(oldMessageContext, null));
101103
dataUnit.setIsOutOnlyFlow(StatisticDataCollectionHelper.isOutOnlyFlow(oldMessageContext));
104+
dataUnit.setMessageContext(oldMessageContext);
102105

103106
CallbackReceivedEvent callbackReceivedEvent = new CallbackReceivedEvent(dataUnit);
104107
addEvent(oldMessageContext, callbackReceivedEvent);
@@ -125,6 +128,7 @@ public static void reportCallbackHandlingCompletion(MessageContext synapseOutMsg
125128
dataUnit.setSynapseEnvironment(synapseOutMsgCtx.getEnvironment());
126129
dataUnit.setStatisticId(StatisticDataCollectionHelper.getStatisticTraceId(synapseOutMsgCtx));
127130
dataUnit.setCurrentIndex(StatisticDataCollectionHelper.getParentFlowPosition(synapseOutMsgCtx, null));
131+
dataUnit.setMessageContext(synapseOutMsgCtx);
128132

129133
CallbackHandledEvent callbackHandledEvent = new CallbackHandledEvent(dataUnit);
130134
addEventAndDecrementCallbackCount(synapseOutMsgCtx, callbackHandledEvent);

‎modules/core/src/main/java/org/apache/synapse/aspects/flow/statistics/collectors/CloseEventCollector.java

+2
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ public static void closeEntryEvent(MessageContext messageContext, String compone
105105
}
106106
StatisticDataCollectionHelper
107107
.collectData(messageContext, isContentAltering, isCollectingTracing, statisticDataUnit);
108+
statisticDataUnit.setMessageContext(messageContext);
108109

109110
StatisticsCloseEvent closeEvent = new StatisticsCloseEvent(statisticDataUnit);
110111
if (currentIndex == null) {
@@ -139,6 +140,7 @@ public static void closeFlowForcefully(MessageContext messageContext, boolean er
139140
dataUnit.setSynapseEnvironment(messageContext.getEnvironment());
140141
dataUnit.setStatisticId(StatisticDataCollectionHelper.getStatisticTraceId(messageContext));
141142
dataUnit.setCurrentIndex(StatisticDataCollectionHelper.getParentFlowPosition(messageContext, null));
143+
dataUnit.setMessageContext(messageContext);
142144

143145
EndFlowEvent endFlowEvent = new EndFlowEvent(dataUnit);
144146
if (!error) {

‎modules/core/src/main/java/org/apache/synapse/aspects/flow/statistics/collectors/FaultStatisticCollector.java

+1
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ public static void reportFault(MessageContext messageContext) {
4545
BasicStatisticDataUnit dataUnit = new BasicStatisticDataUnit();
4646
dataUnit.setStatisticId(StatisticDataCollectionHelper.getStatisticTraceId(messageContext));
4747
dataUnit.setCurrentIndex(StatisticDataCollectionHelper.getParentFlowPosition(messageContext, null));
48+
dataUnit.setMessageContext(messageContext);
4849

4950
FaultEvent faultEvent = new FaultEvent(dataUnit);
5051
faultEvent.getDataUnit().generateElasticMetadata(messageContext);

‎modules/core/src/main/java/org/apache/synapse/aspects/flow/statistics/collectors/OpenEventCollector.java

+9-11
Original file line numberDiff line numberDiff line change
@@ -54,21 +54,15 @@ public class OpenEventCollector extends RuntimeStatisticCollector {
5454
*/
5555
public static Integer reportEntryEvent(MessageContext messageContext, String componentName,
5656
AspectConfiguration aspectConfiguration, ComponentType componentType) {
57-
boolean isCollectingStatistics = (aspectConfiguration != null && aspectConfiguration.isStatisticsEnable());
58-
5957
// Enable statistics, if user enabled for all artifacts
60-
if (!isCollectingStatistics) {
61-
isCollectingStatistics = isCollectingStatistics || RuntimeStatisticCollector.isCollectingAllStatistics();
62-
}
58+
boolean isCollectingStatistics = (aspectConfiguration != null && aspectConfiguration.isStatisticsEnable())
59+
|| RuntimeStatisticCollector.isCollectingAllStatistics();
6360

64-
boolean isCollectingTracing = false;
65-
if (isCollectingProperties() || isCollectingPayloads() || isCollectingVariables()) {
66-
isCollectingTracing = (aspectConfiguration != null && aspectConfiguration.isTracingEnabled());
67-
}
61+
boolean isCollectingTracing = (isCollectingProperties() || isCollectingPayloads() || isCollectingVariables())
62+
&& aspectConfiguration != null && aspectConfiguration.isTracingEnabled();
6863

6964
Boolean isFlowStatisticEnabled =
7065
(Boolean) messageContext.getProperty(StatisticsConstants.FLOW_STATISTICS_IS_COLLECTED);//todo try to use single object for "FLOW_TRACE_IS_COLLECTED"
71-
Boolean isTracingEnabled;
7266
if (isCollectingStatistics) {
7367
messageContext.setProperty(StatisticsConstants.FLOW_STATISTICS_IS_COLLECTED, true);
7468
setStatisticsTraceId(messageContext);
@@ -80,7 +74,7 @@ public static Integer reportEntryEvent(MessageContext messageContext, String com
8074
messageContext.setProperty(StatisticsConstants.FLOW_STATISTICS_IS_COLLECTED, false);
8175
}
8276

83-
isTracingEnabled = (Boolean) messageContext.getProperty(StatisticsConstants.FLOW_TRACE_IS_COLLECTED);
77+
Boolean isTracingEnabled = (Boolean) messageContext.getProperty(StatisticsConstants.FLOW_TRACE_IS_COLLECTED);
8478
if (shouldReportStatistic(messageContext)) {
8579
StatisticDataUnit statisticDataUnit = new StatisticDataUnit();
8680
statisticDataUnit.setComponentName(componentName);
@@ -103,6 +97,7 @@ public static Integer reportEntryEvent(MessageContext messageContext, String com
10397
statisticDataUnit.setIsIndividualStatisticCollected(isCollectingStatistics);
10498
}
10599
StatisticDataCollectionHelper.collectData(messageContext, true, isTracingEnabled, statisticDataUnit);
100+
statisticDataUnit.setMessageContext(messageContext);
106101

107102
StatisticsOpenEvent openEvent = new StatisticsOpenEvent(statisticDataUnit);
108103
addEventAndIncrementCount(messageContext, openEvent);
@@ -263,6 +258,7 @@ public static void reportFlowAsynchronousEvent(MessageContext messageContext) {
263258
BasicStatisticDataUnit dataUnit = new BasicStatisticDataUnit();
264259
dataUnit.setStatisticId(StatisticDataCollectionHelper.getStatisticTraceId(messageContext));
265260
dataUnit.setCurrentIndex(StatisticDataCollectionHelper.getParentFlowPosition(messageContext, null));
261+
dataUnit.setMessageContext(messageContext);
266262
AsynchronousExecutionEvent asynchronousExecutionEvent = new AsynchronousExecutionEvent(dataUnit);
267263

268264
if (isOpenTelemetryEnabled()) {
@@ -291,6 +287,7 @@ private static void reportMediatorStatistics(MessageContext messageContext, Stri
291287
statisticDataUnit.setParentIndex(parentIndex);
292288
StatisticDataCollectionHelper
293289
.collectData(messageContext, isContentAltering, isCollectingTracing, statisticDataUnit);
290+
statisticDataUnit.setMessageContext(messageContext);
294291

295292
StatisticsOpenEvent openEvent = new StatisticsOpenEvent(statisticDataUnit);
296293
addEventAndIncrementCount(messageContext, openEvent);
@@ -308,6 +305,7 @@ public static void openContinuationEvents(MessageContext synCtx) {
308305

309306
basicStatisticDataUnit.setCurrentIndex(StatisticDataCollectionHelper.getParentFlowPosition(synCtx, null));
310307
basicStatisticDataUnit.setStatisticId(StatisticDataCollectionHelper.getStatisticTraceId(synCtx));
308+
basicStatisticDataUnit.setMessageContext(synCtx);
311309

312310
ParentReopenEvent parentReopenEvent = new ParentReopenEvent(basicStatisticDataUnit);
313311
addEvent(synCtx, parentReopenEvent);

‎modules/core/src/main/java/org/apache/synapse/aspects/flow/statistics/data/raw/BasicStatisticDataUnit.java

+13
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,11 @@ public class BasicStatisticDataUnit {
6262
*/
6363
private ElasticMetadata elasticMetadata;
6464

65+
/**
66+
* Message context of the message flow.
67+
*/
68+
private MessageContext messageContext;
69+
6570
public String getStatisticId() {
6671
return statisticId;
6772
}
@@ -117,4 +122,12 @@ public void generateElasticMetadata(MessageContext messageContext) {
117122
public ElasticMetadata getElasticMetadata() {
118123
return elasticMetadata;
119124
}
125+
126+
public void setMessageContext(MessageContext messageContext) {
127+
this.messageContext = messageContext;
128+
}
129+
130+
public MessageContext getMessageContext() {
131+
return messageContext;
132+
}
120133
}

0 commit comments

Comments
 (0)
Please sign in to comment.