LCOV - code coverage report
Current view: top level - source/extensions/access_loggers/grpc - tcp_grpc_access_log_impl.cc (source / functions) Hit Total Coverage
Test: coverage.dat Lines: 0 20 0.0 %
Date: 2024-01-05 06:35:25 Functions: 0 4 0.0 %

          Line data    Source code
       1             : #include "source/extensions/access_loggers/grpc/tcp_grpc_access_log_impl.h"
       2             : 
       3             : #include "envoy/data/accesslog/v3/accesslog.pb.h"
       4             : #include "envoy/extensions/access_loggers/grpc/v3/als.pb.h"
       5             : 
       6             : #include "source/common/common/assert.h"
       7             : #include "source/common/config/utility.h"
       8             : #include "source/common/network/utility.h"
       9             : #include "source/common/stream_info/utility.h"
      10             : #include "source/extensions/access_loggers/grpc/grpc_access_log_utils.h"
      11             : 
      12             : namespace Envoy {
      13             : namespace Extensions {
      14             : namespace AccessLoggers {
      15             : namespace TcpGrpc {
      16             : 
      17             : TcpGrpcAccessLog::ThreadLocalLogger::ThreadLocalLogger(GrpcCommon::GrpcAccessLoggerSharedPtr logger)
      18           0 :     : logger_(std::move(logger)) {}
      19             : 
      20             : TcpGrpcAccessLog::TcpGrpcAccessLog(AccessLog::FilterPtr&& filter,
      21             :                                    const TcpGrpcAccessLogConfig config,
      22             :                                    ThreadLocal::SlotAllocator& tls,
      23             :                                    GrpcCommon::GrpcAccessLoggerCacheSharedPtr access_logger_cache)
      24             :     : Common::ImplBase(std::move(filter)),
      25             :       config_(std::make_shared<const TcpGrpcAccessLogConfig>(std::move(config))),
      26           0 :       tls_slot_(tls.allocateSlot()), access_logger_cache_(std::move(access_logger_cache)) {
      27           0 :   THROW_IF_NOT_OK(Config::Utility::checkTransportVersion(config_->common_config()));
      28           0 :   tls_slot_->set(
      29           0 :       [config = config_, access_logger_cache = access_logger_cache_](Event::Dispatcher&) {
      30           0 :         return std::make_shared<ThreadLocalLogger>(access_logger_cache->getOrCreateLogger(
      31           0 :             config->common_config(), Common::GrpcAccessLoggerType::TCP));
      32           0 :       });
      33           0 : }
      34             : 
      35             : void TcpGrpcAccessLog::emitLog(const Formatter::HttpFormatterContext& context,
      36           0 :                                const StreamInfo::StreamInfo& stream_info) {
      37             :   // Common log properties.
      38           0 :   envoy::data::accesslog::v3::TCPAccessLogEntry log_entry;
      39           0 :   GrpcCommon::Utility::extractCommonAccessLogProperties(
      40           0 :       *log_entry.mutable_common_properties(), context.requestHeaders(), stream_info,
      41           0 :       config_->common_config(), context.accessLogType());
      42             : 
      43           0 :   envoy::data::accesslog::v3::ConnectionProperties& connection_properties =
      44           0 :       *log_entry.mutable_connection_properties();
      45           0 :   connection_properties.set_received_bytes(stream_info.bytesReceived());
      46           0 :   connection_properties.set_sent_bytes(stream_info.bytesSent());
      47             : 
      48             :   // request_properties->set_request_body_bytes(stream_info.bytesReceived());
      49           0 :   tls_slot_->getTyped<ThreadLocalLogger>().logger_->log(std::move(log_entry));
      50           0 : }
      51             : 
      52             : } // namespace TcpGrpc
      53             : } // namespace AccessLoggers
      54             : } // namespace Extensions
      55             : } // namespace Envoy

Generated by: LCOV version 1.15