Claus Ibsen created CAMEL-23617:
-----------------------------------

             Summary: camel-core - Add option to capture message payload size 
for observation
                 Key: CAMEL-23617
                 URL: https://issues.apache.org/jira/browse/CAMEL-23617
             Project: Camel
          Issue Type: New Feature
          Components: camel-core
            Reporter: Claus Ibsen


When integrating then message payload sizes matters. Are they tiny, or big 
payloads, or are there no additional headers, or is there bloat in the headers.

Do the payload vary over time and so on.

However not all message payloads can capture this information. The payload may 
be Java objects, non repeatable streaming so the act of knowing the size would 
cause to read the entire stream (in effecient), etc.

So we need a way to configure different settings/levels so the user can decide 
what to use
 * global for all routes
 * per specified route
 * filter based on content-type
 * whether streamed payload is included (can use stream caching to re-read)
 * etc

And this information should then be exposed in the message, maybe via a Trait 
API or as java api on Message itself. 

Also this information can then be used on JMX MBeans where we can use this to 
calculcate min/max/mean payload and header sizes, per context, per route, and 
even processor level

And then also expose this in DevConsoles so CLI and Camel TUI can show this.

And also add some SPI api in camel-api that allows to plugin custom logic so 
end users can implement their own in case they have special kind of messages 
and they want to calculcate payload size/headers for those.

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to