1111#include < aws/core/monitoring/MonitoringFactory.h>
1212#include < aws/core/monitoring/MonitoringManager.h>
1313#include < aws/core/monitoring/DefaultMonitoring.h>
14+ #include < aws/core/utils/StringUtils.h>
15+ #include < aws/core/utils/memory/stl/AWSStringStream.h>
1416
1517using namespace Aws ::Client;
1618using namespace Aws ::Http;
@@ -335,11 +337,13 @@ TEST_F(MonitoringTestSuite, TestHttpClientMetrics)
335337
336338TEST_F (MonitoringTestSuite, TestUserAgentCompressionTracking)
337339{
340+ std::cout << " === Starting compression test ===" << std::endl;
338341 HeaderValueCollection responseHeaders;
339342 AmazonWebServiceRequestMock request;
340343
341344 // Create large request body to trigger compression
342345 std::string largeBody (20000 , ' A' );
346+ std::cout << " Created body with size: " << largeBody.size () << " bytes" << std::endl;
343347 auto bodyStream = Aws::MakeShared<Aws::StringStream>(ALLOCATION_TAG);
344348 *bodyStream << largeBody;
345349 request.SetBody (bodyStream);
@@ -352,11 +356,33 @@ TEST_F(MonitoringTestSuite, TestUserAgentCompressionTracking)
352356 EXPECT_TRUE (requestSeen.HasUserAgent ());
353357 const auto & userAgent = requestSeen.GetUserAgent ();
354358 EXPECT_TRUE (!userAgent.empty ());
359+
360+ std::cout << " User Agent: " << userAgent << std::endl;
361+
362+ // Check if Content-Encoding header was set
363+ if (requestSeen.HasHeader (" Content-Encoding" )) {
364+ std::cout << " Content-Encoding: " << requestSeen.GetHeaderValue (" Content-Encoding" ) << std::endl;
365+ } else {
366+ std::cout << " No Content-Encoding header found" << std::endl;
367+ }
368+
355369 const auto userAgentParsed = Aws::Utils::StringUtils::Split (userAgent, ' ' );
370+ std::cout << " User agent parts: " ;
371+ for (const auto & part : userAgentParsed) {
372+ std::cout << " [" << part << " ] " ;
373+ }
374+ std::cout << std::endl;
356375
357376 // Check for gzip compression business metric (L) in user agent
358377 auto businessMetrics = std::find_if (userAgentParsed.begin (), userAgentParsed.end (),
359378 [](const Aws::String& value) { return value.find (" m/" ) != Aws::String::npos && value.find (" L" ) != Aws::String::npos; });
379+
380+ if (businessMetrics != userAgentParsed.end ()) {
381+ std::cout << " Found business metrics: " << *businessMetrics << std::endl;
382+ } else {
383+ std::cout << " Business metrics with 'L' not found" << std::endl;
384+ }
385+
360386 EXPECT_TRUE (businessMetrics != userAgentParsed.end ());
361387}
362388
0 commit comments