aboutsummaryrefslogtreecommitdiff
path: root/contrib/zpages
diff options
context:
space:
mode:
authorBogdan Drutu <bdrutu@google.com>2018-07-24 11:04:01 +0200
committerGitHub <noreply@github.com>2018-07-24 11:04:01 +0200
commitb83ea423ea423af12478b2e0adb587125bd234e5 (patch)
tree65e7aa0298bdcc1758a1bac9ed18da4ba3ebd1d0 /contrib/zpages
parentafea7a205f7d7e2edb63555d7a0b42a7fcaa2ccf (diff)
downloadopencensus-java-b83ea423ea423af12478b2e0adb587125bd234e5.tar.gz
Extract constant functions when used in match to reduce number of allocations. (#1336)
* Extract constant functions when used in match to reduce number of allocations. * Fix names for non-constant functions. Fix deprecated warnings. * Add more optimization and clean zipkin exporter. * Use correct name format for RETURN_STRING. * Fix formatting. * Fix import for Nullable.
Diffstat (limited to 'contrib/zpages')
-rw-r--r--contrib/zpages/src/main/java/io/opencensus/contrib/zpages/TracezZPageHandler.java31
1 files changed, 13 insertions, 18 deletions
diff --git a/contrib/zpages/src/main/java/io/opencensus/contrib/zpages/TracezZPageHandler.java b/contrib/zpages/src/main/java/io/opencensus/contrib/zpages/TracezZPageHandler.java
index b0cf579c..8c1aedae 100644
--- a/contrib/zpages/src/main/java/io/opencensus/contrib/zpages/TracezZPageHandler.java
+++ b/contrib/zpages/src/main/java/io/opencensus/contrib/zpages/TracezZPageHandler.java
@@ -672,27 +672,22 @@ final class TracezZPageHandler extends ZPageHandler {
return stringBuilder.toString();
}
+ // The return type needs to be nullable when this function is used as an argument to 'match' in
+ // attributeValueToString, because 'match' doesn't allow covariant return types.
+ private static final Function<Object, /*@Nullable*/ String> returnToString =
+ new Function<Object, /*@Nullable*/ String>() {
+ @Override
+ public String apply(Object input) {
+ return input.toString();
+ }
+ };
+
@javax.annotation.Nullable
private static String attributeValueToString(AttributeValue attributeValue) {
return attributeValue.match(
- new Function<String, /*@Nullable*/ String>() {
- @Override
- public String apply(String stringValue) {
- return stringValue;
- }
- },
- new Function<Boolean, /*@Nullable*/ String>() {
- @Override
- public String apply(Boolean booleanValue) {
- return booleanValue.toString();
- }
- },
- new Function<Long, /*@Nullable*/ String>() {
- @Override
- public String apply(Long longValue) {
- return longValue.toString();
- }
- },
+ returnToString,
+ returnToString,
+ returnToString,
Functions.</*@Nullable*/ String>returnNull());
}