public void logStartStream(Kind kind, long cOffset, long endCOffset,
      long unlockUntilCOffset) {
    if (log == null) return;
    int offset = this.offset;
    if (offset + 3 > log.length) return;
    log[offset] = makeIntPair(START_STREAM, kind.ordinal());
    log[offset + 1] = cOffset;
    long unlockLen = unlockUntilCOffset - cOffset;
    int unlockLenToSave = unlockLen >= 0 && unlockLen < Integer.MAX_VALUE
        ? (int)unlockLen : Integer.MAX_VALUE;
    log[offset + 2] = makeIntPair(unlockLenToSave, (int)(endCOffset - cOffset));
    this.offset += 3;
  }
Single threaded IO trace.
Note: this can be made MTT merely by using an AtomicInteger, and storing a thread ID.
ql/src/java/org/apache/hadoop/hive/ql/io/orc/encoded/IoTrace.java