code: public void record(double value, long timeMs) {
          synchronized (this) {
              // Check quota before recording usage if needed.
              checkQuotas(timeMs, true, value);
              // increment all the stats
              for (int i = 0; i < this.stats.size(); i++) {
                  Stat stat = this.stats.get(i);
                  stat.record(statConfigs.get(stat), value, timeMs);
              }
              checkQuotas(timeMs, false, value);
          }
          for (int i = 0; i < parents.length; i++)
              parents[i].record(value, timeMs);
      }
docs: Record a value at a known time. This method is slightly faster than {@link #record(double)} since it will reuse
  the time stamp.
  @param value The value we are recording
  @param timeMs The current POSIX time in milliseconds
  @throws QuotaViolationException if recording this value moves a metric beyond its configured maximum or minimum
  bound