@Override
  public void print(final SessionState.LogHelper console) {
    try {
      waitForReturnSessionEvent();
      boolean first = false;
      console.printInfo("");
      console.printInfo(WM_EVENTS_TITLE);

      for (final WmEvent wmEvent : queryWmEvents) {
        if (!first) {
          console.printInfo("");
          console.printInfo("QueryId: " + queryId);
          console.printInfo("SessionId: " + queryWmEvents.get(0).getWmTezSessionInfo().getSessionId());
          console.printInfo("Applied Triggers: " + getAppliedTriggers());
          console.printInfo(SEPARATOR);
          console.printInfo(WM_EVENTS_TABLE_HEADER);
          console.printInfo(SEPARATOR);
          first = true;
        }
        WmEvent.WmTezSessionInfo wmTezSessionInfo = wmEvent.getWmTezSessionInfo();
        String row = String.format(WM_EVENTS_HEADER_FORMAT,
          wmEvent.getEventType(),
          Instant.ofEpochMilli(wmEvent.getEventStartTimestamp()).toString(),
          Instant.ofEpochMilli(wmEvent.getEventEndTimestamp()).toString(),
          wmEvent.getElapsedTime(),
          DECIMAL_FORMAT.format(wmTezSessionInfo.getClusterPercent()),
          wmTezSessionInfo.getPoolName());
        console.printInfo(row);
      }
      console.printInfo(SEPARATOR);
      console.printInfo("");
    } catch (Exception e) {
      LOG.warn("Unable to print WM events summary", e);
    }
  }
Some context information that are required for rule evaluation.
ql/src/java/org/apache/hadoop/hive/ql/wm/WmContext.java