aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKristofer Karlsson <spkrka@users.noreply.github.com>2020-09-22 07:33:18 +0200
committerGitHub <noreply@github.com>2020-09-22 15:33:18 +1000
commiteab6382e06f16e7efeb1f9b6cb3eb0c79ee62bbc (patch)
treed50dd4cf45008453f9a4283a2d6e225c90aac3a3
parent655ca67a6b5fd2bebca01597b230260a28021493 (diff)
downloadplatform_external_opencensus-java-upstream-master.tar.gz
platform_external_opencensus-java-upstream-master.tar.bz2
platform_external_opencensus-java-upstream-master.zip
Remove finalize from RecordEventsSpanImpl (#2043)upstream-master
Fixes #2045 This will reduce GC pressure since the VM will not call Finalizer.register() when creating Span objects. Since this method is synchronized on a static lock it can be a source of contention. It also avoids contention on the same lock when running runFinalizer() as part of GC
-rw-r--r--buildscripts/checkstyle.xml1
-rw-r--r--impl_core/src/main/java/io/opencensus/implcore/trace/RecordEventsSpanImpl.java11
2 files changed, 0 insertions, 12 deletions
diff --git a/buildscripts/checkstyle.xml b/buildscripts/checkstyle.xml
index 50b146e7..782add8c 100644
--- a/buildscripts/checkstyle.xml
+++ b/buildscripts/checkstyle.xml
@@ -173,7 +173,6 @@
<message key="name.invalidPattern"
value="Interface type name ''{0}'' must match pattern ''{1}''."/>
</module>
- <module name="NoFinalizer"/>
<module name="GenericWhitespace">
<message key="ws.followed"
value="GenericWhitespace ''{0}'' is followed by whitespace."/>
diff --git a/impl_core/src/main/java/io/opencensus/implcore/trace/RecordEventsSpanImpl.java b/impl_core/src/main/java/io/opencensus/implcore/trace/RecordEventsSpanImpl.java
index 4137b89a..eb979eb3 100644
--- a/impl_core/src/main/java/io/opencensus/implcore/trace/RecordEventsSpanImpl.java
+++ b/impl_core/src/main/java/io/opencensus/implcore/trace/RecordEventsSpanImpl.java
@@ -586,15 +586,4 @@ public final class RecordEventsSpanImpl extends Span implements Element<RecordEv
timestampConverter != null ? timestampConverter : TimestampConverter.now(clock);
startNanoTime = clock.nowNanos();
}
-
- @SuppressWarnings("NoFinalizer")
- @Override
- protected void finalize() throws Throwable {
- synchronized (this) {
- if (!hasBeenEnded) {
- logger.log(Level.SEVERE, "Span " + name + " is GC'ed without being ended.");
- }
- }
- super.finalize();
- }
}