Merge "MergeMetrics: Add debug logs"
diff --git a/java/com/google/gerrit/server/query/change/MagicLabelPredicates.java b/java/com/google/gerrit/server/query/change/MagicLabelPredicates.java
index 82d8717..9ee4852 100644
--- a/java/com/google/gerrit/server/query/change/MagicLabelPredicates.java
+++ b/java/com/google/gerrit/server/query/change/MagicLabelPredicates.java
@@ -16,6 +16,7 @@
import static com.google.gerrit.server.query.change.EqualsLabelPredicates.type;
+import com.google.common.flogger.FluentLogger;
import com.google.gerrit.common.Nullable;
import com.google.gerrit.entities.Account;
import com.google.gerrit.entities.Change;
@@ -30,6 +31,8 @@
import java.util.Optional;
public class MagicLabelPredicates {
+ private static final FluentLogger logger = FluentLogger.forEnclosingClass();
+
public static class PostFilterMagicLabelPredicate extends PostFilterPredicate<ChangeData> {
private static class PostFilterMatcher extends Matcher {
public PostFilterMatcher(
@@ -177,6 +180,7 @@
}
public boolean ignoresUploaderApprovals() {
+ logger.atFine().log("account = %d", account.get());
return account.equals(ChangeQueryBuilder.NON_UPLOADER_ACCOUNT_ID)
|| account.equals(ChangeQueryBuilder.NON_CONTRIBUTOR_ACCOUNT_ID);
}
diff --git a/java/com/google/gerrit/server/submit/MergeMetrics.java b/java/com/google/gerrit/server/submit/MergeMetrics.java
index e9832fd..4c7a197 100644
--- a/java/com/google/gerrit/server/submit/MergeMetrics.java
+++ b/java/com/google/gerrit/server/submit/MergeMetrics.java
@@ -14,6 +14,7 @@
package com.google.gerrit.server.submit;
+import com.google.common.flogger.FluentLogger;
import com.google.gerrit.entities.SubmitRequirement;
import com.google.gerrit.index.query.Predicate;
import com.google.gerrit.index.query.QueryParseException;
@@ -28,6 +29,8 @@
/** Metrics are recorded when a change is merged (aka submitted). */
public class MergeMetrics {
+ private static final FluentLogger logger = FluentLogger.forEnclosingClass();
+
private final Provider<SubmitRequirementChangeQueryBuilder> submitRequirementChangequeryBuilder;
// TODO: This metric is for measuring the impact of allowing users to rebase changes on behalf of
@@ -81,12 +84,19 @@
// impersonated. Impersonating the uploader is only allowed on rebase by rebasing on behalf of
// the uploader. Hence if the current patch set has different accounts as uploader and real
// uploader we can assume that it was created by rebase on behalf of the uploader.
- return !cd.currentPatchSet().uploader().equals(cd.currentPatchSet().realUploader());
+ boolean isRebaseOnBehalfOfUploader =
+ !cd.currentPatchSet().uploader().equals(cd.currentPatchSet().realUploader());
+ logger.atFine().log("isRebaseOnBehalfOfUploader = %s", isRebaseOnBehalfOfUploader);
+ return isRebaseOnBehalfOfUploader;
}
private boolean hasCodeReviewApprovalOfRealUploader(ChangeData cd) {
- return cd.currentApprovals().stream()
- .anyMatch(psa -> psa.accountId().equals(cd.currentPatchSet().realUploader()));
+ boolean hasCodeReviewApprovalOfRealUploader =
+ cd.currentApprovals().stream()
+ .anyMatch(psa -> psa.accountId().equals(cd.currentPatchSet().realUploader()));
+ logger.atFine().log(
+ "hasCodeReviewApprovalOfRealUploader = %s", hasCodeReviewApprovalOfRealUploader);
+ return hasCodeReviewApprovalOfRealUploader;
}
private boolean ignoresCodeReviewApprovalsOfUploader(ChangeData cd) {
@@ -105,6 +115,9 @@
}
private boolean ignoresCodeReviewApprovalsOfUploader(Predicate<ChangeData> predicate) {
+ logger.atFine().log(
+ "predicate = (%s) %s (child count = %d)",
+ predicate.getClass().getName(), predicate, predicate.getChildCount());
if (predicate.getChildCount() == 0) {
// Submit requirements may require a Code-Review approval but ignore approvals by the
// uploader. This is done by using a label predicate with 'user=non_uploader' or