diff --git a/litho-core/src/main/java/com/facebook/litho/ComponentHost.java b/litho-core/src/main/java/com/facebook/litho/ComponentHost.java index 332f91395c7..c513e91f976 100644 --- a/litho-core/src/main/java/com/facebook/litho/ComponentHost.java +++ b/litho-core/src/main/java/com/facebook/litho/ComponentHost.java @@ -54,7 +54,6 @@ @DoNotStrip public class ComponentHost extends ViewGroup { - private static final double NS_IN_MS = 1000000.0; private static final int SCRAP_ARRAY_INITIAL_SIZE = 4; private SparseArrayCompat mMountItems; @@ -78,9 +77,6 @@ public class ComponentHost extends ViewGroup { private boolean mSuppressInvalidations; private final InterleavedDispatchDraw mDispatchDraw = new InterleavedDispatchDraw(); - private final DrawStats mDrawStats = new DrawStats(); - - @Nullable private PerfEvent mPerfEvent; private int[] mChildDrawingOrder = new int[0]; private boolean mIsChildDrawingOrderDirty; @@ -147,12 +143,6 @@ long getParentHostMarker() { return mParentHostMarker; } - /** Set a perf event to log additional draw stats for the next draw call only. */ - void setPerfEvent(PerfEvent perfEvent) { - mPerfEvent = perfEvent; - mDrawStats.enableLogging(); - } - /** * Mounts the given {@link MountItem} with unique index. * @param index index of the {@link MountItem}. Guaranteed to be the same index as is passed for @@ -1424,7 +1414,6 @@ private void drawNext() { for (int i = mDrawIndex, size = (mMountItems == null) ? 0 : mMountItems.size(); i < size; i++) { - final long startDrawNs = System.nanoTime(); final MountItem mountItem = mMountItems.valueAt(i); final Object content = mountItem.getContent(); @@ -1442,32 +1431,19 @@ private void drawNext() { } final boolean isTracing = ComponentsSystrace.isTracing(); - final String mountItemName = - isTracing || mDrawStats.mIsLoggingEnabled ? getMountItemName(mountItem) : null; - if (isTracing) { - ComponentsSystrace.beginSection("draw: " + mountItemName); + ComponentsSystrace.beginSection("draw: " + getMountItemName(mountItem)); } ((Drawable) content).draw(mCanvas); if (isTracing) { ComponentsSystrace.endSection(); } - - final long endDrawNs = System.nanoTime(); - if (mDrawStats.mIsLoggingEnabled) { - mDrawStats.mMountItemTimes.add((endDrawNs - startDrawNs) / NS_IN_MS); - mDrawStats.mMountItemNames.add(mountItemName); - } } mDrawIndex = mItemsToDraw; } private void end() { - if (mDrawStats.mIsLoggingEnabled) { - mDrawStats.annotatePerfEvent(mPerfEvent); - mPerfEvent = null; - } mCanvas = null; } } @@ -1502,36 +1478,4 @@ public boolean performAccessibilityAction(int action, Bundle arguments) { return super.performAccessibilityAction(action, arguments); } - - private static class DrawStats { - List mMountItemNames; - List mMountItemTimes; - - boolean mIsLoggingEnabled = false; - private boolean mIsInitialized = false; - - void enableLogging() { - if (!mIsInitialized) { - mMountItemNames = new ArrayList<>(4); - mMountItemTimes = new ArrayList<>(4); - } - - mIsLoggingEnabled = true; - mIsInitialized = true; - } - - private void reset() { - mIsLoggingEnabled = false; - mMountItemNames.clear(); - mMountItemTimes.clear(); - } - - void annotatePerfEvent(PerfEvent perfEvent) { - perfEvent.markerAnnotate( - FrameworkLogEvents.PARAM_DRAWN_CONTENT, mMountItemNames.toArray(new String[0])); - perfEvent.markerAnnotate( - FrameworkLogEvents.PARAM_DRAWN_TIME, mMountItemTimes.toArray(new Double[0])); - reset(); - } - } } diff --git a/litho-core/src/main/java/com/facebook/litho/FrameworkLogEvents.java b/litho-core/src/main/java/com/facebook/litho/FrameworkLogEvents.java index a00afcf03eb..6f09ef03255 100644 --- a/litho-core/src/main/java/com/facebook/litho/FrameworkLogEvents.java +++ b/litho-core/src/main/java/com/facebook/litho/FrameworkLogEvents.java @@ -42,7 +42,7 @@ public interface FrameworkLogEvents { int EVENT_SECTIONS_ON_CREATE_CHILDREN = 14; int EVENT_SECTIONS_SET_ROOT = 15; int EVENT_CALCULATE_LAYOUT_STATE = 16; - int EVENT_DRAW = 17; + // Previously int EVENT_DRAW = 17; Now unused. int EVENT_BENCHMARK_RUN = 18; int EVENT_RESUME_CALCULATE_LAYOUT_STATE = 19; @@ -56,7 +56,6 @@ public interface FrameworkLogEvents { FrameworkLogEvents.EVENT_SECTIONS_ON_CREATE_CHILDREN, FrameworkLogEvents.EVENT_SECTIONS_SET_ROOT, FrameworkLogEvents.EVENT_CALCULATE_LAYOUT_STATE, - FrameworkLogEvents.EVENT_DRAW, FrameworkLogEvents.EVENT_BENCHMARK_RUN, FrameworkLogEvents.EVENT_RESUME_CALCULATE_LAYOUT_STATE, }) diff --git a/litho-core/src/main/java/com/facebook/litho/LithoView.java b/litho-core/src/main/java/com/facebook/litho/LithoView.java index 4a2df7a5bb3..b162c31b047 100644 --- a/litho-core/src/main/java/com/facebook/litho/LithoView.java +++ b/litho-core/src/main/java/com/facebook/litho/LithoView.java @@ -664,35 +664,10 @@ public void setTranslationY(float translationY) { @Override public void draw(Canvas canvas) { - final ComponentsLogger logger = - getComponentTree() == null ? null : getComponentTree().getContext().getLogger(); - final PerfEvent perfEvent = - logger != null - ? LogTreePopulator.populatePerfEventFromLogger( - getComponentContext(), - logger, - logger.newPerformanceEvent(getComponentContext(), FrameworkLogEvents.EVENT_DRAW)) - : null; - if (perfEvent != null) { - setPerfEvent(perfEvent); - } - super.draw(canvas); if (mOnPostDrawListener != null) { - if (perfEvent != null) { - perfEvent.markerPoint("POST_DRAW_START"); - } mOnPostDrawListener.onPostDraw(); - if (perfEvent != null) { - perfEvent.markerPoint("POST_DRAW_END"); - } - } - - if (perfEvent != null) { - perfEvent.markerAnnotate( - FrameworkLogEvents.PARAM_ROOT_COMPONENT, getComponentTree().getRoot().getSimpleName()); - logger.logPerfEvent(perfEvent); } } diff --git a/sample-kotlin/src/main/java/com/fblitho/lithoktsample/logging/SampleComponentsLogger.kt b/sample-kotlin/src/main/java/com/fblitho/lithoktsample/logging/SampleComponentsLogger.kt index 269e4a1d27b..84d309d1b30 100644 --- a/sample-kotlin/src/main/java/com/fblitho/lithoktsample/logging/SampleComponentsLogger.kt +++ b/sample-kotlin/src/main/java/com/fblitho/lithoktsample/logging/SampleComponentsLogger.kt @@ -101,7 +101,6 @@ class SampleComponentsLogger : BaseComponentsLogger() { FrameworkLogEvents.EVENT_SECTIONS_ON_CREATE_CHILDREN -> "SECTIONS_ON_CREATE_CHILDREN" FrameworkLogEvents.EVENT_SECTIONS_SET_ROOT -> "SECTIONS_SET_ROOT" FrameworkLogEvents.EVENT_CALCULATE_LAYOUT_STATE -> "CALCULATE_LAYOUT_STATE" - FrameworkLogEvents.EVENT_DRAW -> "DRAW" else -> "UNKNOWN" }