code: public void checkpoint(String description, Object... args) {
      if (enabled) {
        long currentCheckpointNanos = System.nanoTime();
        checkpoints.add(new Checkpoint(noTabsOrSpaces(description), currentCheckpointNanos - lastCheckpointNanos, args));
        lastCheckpointNanos = currentCheckpointNanos;
      }
    }
docs: Set a mark for timing. It is strongly recommended to use a short,
  simple alphanumeric description. For example, "sent" or "didThat".
  With this version you can provide additional arguments, such as
  byte counts, which will be appended comma-separated within brackets.
  For example, {@code checkpoint("sent", 25, 3)} will result in a
  description "sent[25,3]". The string evaluation and concatenation is
  lazy, and won't be done if this metric is disabled.
  
  @param description a label for this mark; may not be null; spaces
  and tabs will be converted to underscores
  @param args additional information to append to the description; will
  print "null" if null; evaluated with String.valueOf() lazily
  and sanitized of most non-alphanumeric characters