code: public final synchronized MetricsRecord createRecord(String recordName) {
      if (bufferedData.get(recordName) == null) {
        bufferedData.put(recordName, new RecordMap());
      }
      return newRecord(recordName);
    }
docs: Creates a new AbstractMetricsRecord instance with the given <code>recordName</code>.
  Throws an exception if the metrics implementation is configured with a fixed
  set of record names and <code>recordName</code> is not in that set.
  
  @param recordName the name of the record
  @throws MetricsException if recordName conflicts with configuration data