diff --git a/java/src/com/android/inputmethod/research/ResearchLogger.java b/java/src/com/android/inputmethod/research/ResearchLogger.java
index 6295abe..bae3434 100644
--- a/java/src/com/android/inputmethod/research/ResearchLogger.java
+++ b/java/src/com/android/inputmethod/research/ResearchLogger.java
@@ -706,12 +706,29 @@
         }
     }
 
+    private static final String[] EVENTKEYS_LOG_SEGMENT_START = {
+        "logSegmentStart", "isIncludingPrivateData"
+    };
+    private static final String[] EVENTKEYS_LOG_SEGMENT_END = {
+        "logSegmentEnd"
+    };
     /* package for test */ void publishLogBuffer(final LogBuffer logBuffer,
             final ResearchLog researchLog, final boolean isIncludingPrivateData) {
+        final LogUnit openingLogUnit = new LogUnit();
+        final Object[] values = {
+            isIncludingPrivateData
+        };
+        openingLogUnit.addLogStatement(EVENTKEYS_LOG_SEGMENT_START, values,
+                false /* isPotentiallyPrivate */);
+        researchLog.publish(openingLogUnit, true /* isIncludingPrivateData */);
         LogUnit logUnit;
         while ((logUnit = logBuffer.shiftOut()) != null) {
             researchLog.publish(logUnit, isIncludingPrivateData);
         }
+        final LogUnit closingLogUnit = new LogUnit();
+        closingLogUnit.addLogStatement(EVENTKEYS_LOG_SEGMENT_END, EVENTKEYS_NULLVALUES,
+                false /* isPotentiallyPrivate */);
+        researchLog.publish(closingLogUnit, true /* isIncludingPrivateData */);
     }
 
     private boolean hasOnlyLetters(final String word) {
