Skip to content

Commit 0970699

Browse files
Core: Sample HttpBidderRequester Logs (#3546)
1 parent d714f28 commit 0970699

3 files changed

Lines changed: 16 additions & 8 deletions

File tree

src/main/java/org/prebid/server/bidder/HttpBidderRequester.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.prebid.server.exception.PreBidException;
2727
import org.prebid.server.execution.Timeout;
2828
import org.prebid.server.json.JacksonMapper;
29+
import org.prebid.server.log.ConditionalLogger;
2930
import org.prebid.server.log.Logger;
3031
import org.prebid.server.log.LoggerFactory;
3132
import org.prebid.server.model.CaseInsensitiveMultiMap;
@@ -62,24 +63,28 @@
6263
public class HttpBidderRequester {
6364

6465
private static final Logger logger = LoggerFactory.getLogger(HttpBidderRequester.class);
66+
private static final ConditionalLogger conditionalLogger = new ConditionalLogger(logger);
6567

6668
private final HttpClient httpClient;
6769
private final BidderRequestCompletionTrackerFactory completionTrackerFactory;
6870
private final BidderErrorNotifier bidderErrorNotifier;
6971
private final HttpBidderRequestEnricher requestEnricher;
7072
private final JacksonMapper mapper;
73+
private final double logSamplingRate;
7174

7275
public HttpBidderRequester(HttpClient httpClient,
7376
BidderRequestCompletionTrackerFactory completionTrackerFactory,
7477
BidderErrorNotifier bidderErrorNotifier,
7578
HttpBidderRequestEnricher requestEnricher,
76-
JacksonMapper mapper) {
79+
JacksonMapper mapper,
80+
double logSamplingRate) {
7781

7882
this.httpClient = Objects.requireNonNull(httpClient);
7983
this.completionTrackerFactory = completionTrackerFactoryOrFallback(completionTrackerFactory);
8084
this.bidderErrorNotifier = Objects.requireNonNull(bidderErrorNotifier);
8185
this.requestEnricher = Objects.requireNonNull(requestEnricher);
8286
this.mapper = Objects.requireNonNull(mapper);
87+
this.logSamplingRate = logSamplingRate;
8388
}
8489

8590
/**
@@ -241,9 +246,9 @@ private static byte[] gzip(byte[] value) {
241246
/**
242247
* Produces {@link Future} with {@link BidderCall} containing request and error description.
243248
*/
244-
private static <T> Future<BidderCall<T>> failResponse(Throwable exception, HttpRequest<T> httpRequest) {
245-
logger.warn("Error occurred while sending HTTP request to a bidder url: {} with message: {}",
246-
httpRequest.getUri(), exception.getMessage());
249+
private <T> Future<BidderCall<T>> failResponse(Throwable exception, HttpRequest<T> httpRequest) {
250+
conditionalLogger.warn("Error occurred while sending HTTP request to a bidder url: %s with message: %s"
251+
.formatted(httpRequest.getUri(), exception.getMessage()), logSamplingRate);
247252
logger.debug("Error occurred while sending HTTP request to a bidder url: {}",
248253
exception, httpRequest.getUri());
249254

src/main/java/org/prebid/server/spring/config/ServiceConfiguration.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -752,11 +752,13 @@ HttpBidderRequester httpBidderRequester(
752752
HttpBidderRequestEnricher requestEnricher,
753753
JacksonMapper mapper) {
754754

755-
return new HttpBidderRequester(httpClient,
755+
return new HttpBidderRequester(
756+
httpClient,
756757
bidderRequestCompletionTrackerFactory,
757758
bidderErrorNotifier,
758759
requestEnricher,
759-
mapper);
760+
mapper,
761+
logSamplingRate);
760762
}
761763

762764
@Bean

src/test/java/org/prebid/server/bidder/HttpBidderRequesterTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ public void setUp() {
117117
expiredTimeout = timeoutFactory.create(clock.instant().minusMillis(1500L).toEpochMilli(), 1000L);
118118

119119
target = new HttpBidderRequester(
120-
httpClient, null, bidderErrorNotifier, requestEnricher, jacksonMapper);
120+
httpClient, null, bidderErrorNotifier, requestEnricher, jacksonMapper, 0.0);
121121
given(bidder.makeBidderResponse(any(BidderCall.class), any(BidRequest.class))).willCallRealMethod();
122122
}
123123

@@ -506,7 +506,8 @@ public void processBids(List<BidderBid> bids) {
506506
},
507507
bidderErrorNotifier,
508508
requestEnricher,
509-
jacksonMapper);
509+
jacksonMapper,
510+
0.0);
510511

511512
final BidRequest bidRequest = bidRequestWithDeals("deal1", "deal2");
512513
final BidderRequest bidderRequest = BidderRequest.builder()

0 commit comments

Comments
 (0)