Skip to content

Commit

Permalink
retry(test): improve user agent strings to provide more information w…
Browse files Browse the repository at this point in the history
…hile debugging (#1121)

When debugging and looking at access logs it is useful to be able to identify individual test cases and test bench operations simply by the user agent string. This change adds test names to operations related to each test, and annotates calls for testbench as such.
  • Loading branch information
BenWhitehead committed Oct 25, 2021
1 parent 53a755b commit c0185f4
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 7 deletions.
Expand Up @@ -18,6 +18,7 @@

import static org.junit.Assert.assertTrue;

import com.google.api.gax.retrying.RetrySettings;
import com.google.api.gax.rpc.FixedHeaderProvider;
import com.google.cloud.NoCredentials;
import com.google.cloud.conformance.storage.v1.InstructionList;
Expand Down Expand Up @@ -141,30 +142,35 @@ private Storage newStorage(boolean forTest) {
.setCredentials(NoCredentials.getInstance())
.setProjectId(testRetryConformance.getProjectId());
builder = PackagePrivateMethodWorkarounds.useDefaultStorageRetryStrategy(builder);
RetrySettings.Builder retrySettingsBuilder =
StorageOptions.getDefaultRetrySettings().toBuilder();
if (forTest) {
builder
.setHeaderProvider(
new FixedHeaderProvider() {
@Override
public Map<String, String> getHeaders() {
return ImmutableMap.of(
"x-retry-test-id", retryTest.id, "User-Agent", "java-conformance-tests/");
"x-retry-test-id", retryTest.id, "User-Agent", fmtUserAgent("test"));
}
})
.setRetrySettings(
StorageOptions.getDefaultRetrySettings().toBuilder().setMaxAttempts(3).build());
.setRetrySettings(retrySettingsBuilder.setMaxAttempts(3).build());
} else {
builder
.setHeaderProvider(
new FixedHeaderProvider() {
@Override
public Map<String, String> getHeaders() {
return ImmutableMap.of("User-Agent", "java-conformance-tests/");
return ImmutableMap.of("User-Agent", fmtUserAgent("non-test"));
}
})
.setRetrySettings(
StorageOptions.getDefaultRetrySettings().toBuilder().setMaxAttempts(1).build());
.setRetrySettings(retrySettingsBuilder.setMaxAttempts(1).build());
}
return builder.build().getService();
}

private String fmtUserAgent(String testDescriptor) {
return String.format(
"%s/ (%s) java-conformance-tests/", testDescriptor, testRetryConformance.getTestName());
}
}
Expand Up @@ -92,7 +92,7 @@ private TestBench(
request -> {
request.setCurlLoggingEnabled(false);
request.getHeaders().setAccept("application/json");
request.getHeaders().setUserAgent("java-conformance-tests/");
request.getHeaders().setUserAgent("test-bench/ java-conformance-tests/");
});
}

Expand Down

0 comments on commit c0185f4

Please sign in to comment.