question

Upvotes
Accepted
1 0 2 1

How to verify that compression is being used?

Hi,

I have configured an OMM Consumer application to use zlib compression using the compressionType parameter set to ZLib in the configuration file.

In the RFA logs I can see a message like the following:

(ComponentName) RSSL_Cons_Adapter: (Severity) Information: Using the following configuration for RSSL_Cons_Connection "Default::Connection_EMEA `treprt1:14003": hostName = "localhost", rsslPort = "14003", interfaceName = "treprt1", compressionType = 1, channelBlocking = false, recvBufSize = 65535, sendBufSize = 65535, writeBufferMaxFragmentLength = 6144, connectionWaitTimeout = 30000, connectionPingTimeout = 30000, guaranteedOutputBuffers = 400, numInputBuffers = 20, tcp_nodelay = True, throttleEnabled = True, throttleType = count, throttleMaxCount = 250, throttleBatchCount = 10, traceMsg = False, traceMsgToFile = True, dictionaryRequestTimeout = 45

The message indicates that the compression parameter was read correctly from the configuration file.

Using the 'adsmon' utility under "Sink Mount Statistic" I see that the connection is using ZLib or using Wireshark/tcpdump.

But on the client side I have not seen a way to verify if compression is being used or not.

Is there any way via logging or otherwise to do so?

treprfarfa-apicompression
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

@Steven

I am not sure if I understand the question.

Do you mean if it possible to programmatically verify if compression is being used? Like function call that check compression type or event that gives compression type?

Hello @Steven,

Thank you for your participation in the forum.

Are any of the replies below satisfactory in resolving your query?

If yes please click the 'Accept' text next to the most appropriate reply. This will guide all community members who have a similar question. Otherwise please post again offering further insight into your question.

Thanks,

-AHS

@Steven

Please be informed that a reply has been verified as correct in answering the question, and has been marked as such.
Thanks,
-AHS

1 Answer

· Write an Answer
Upvotes
Accepted
78.8k 249 52 74

From my finding, the compression information is not available in RFA log and the application is unable to access it.

RFA has a session layer used to manage all connections used by the application. The consumer application is unable to directly access connections to get the compression information. The connection events that the session layer can provide to the application are:

  • OMMConnectionEvent contains connection information, such as connection status, active host name, port, and the version information of connected component
  • OMMConnectionStatsEvent contains information on connection statistics (bytes on wire)

In conclusion, RFA client side is unable to get compression information of the connection.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.