From 62f8c191273e54423210977af3eb2ae7e3bc7e30 Mon Sep 17 00:00:00 2001 From: Zoe Cai Date: Tue, 22 Sep 2020 07:33:18 +0200 Subject: [PATCH] Remove finalize from RecordEventsSpanImpl (#2043) 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 (cherry picked from commit eab6382e06f16e7efeb1f9b6cb3eb0c79ee62bbc) --- buildscripts/checkstyle.xml | 1 - .../implcore/trace/RecordEventsSpanImpl.java | 11 ----------- 2 files changed, 12 deletions(-) diff --git a/buildscripts/checkstyle.xml b/buildscripts/checkstyle.xml index 50b146e70d..782add8c0d 100644 --- a/buildscripts/checkstyle.xml +++ b/buildscripts/checkstyle.xml @@ -173,7 +173,6 @@ - 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 4137b89a38..eb979eb3fb 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 @@ private RecordEventsSpanImpl( 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(); - } }