code: protected void update(MetricsRecordImpl record) {
      String recordName = record.getRecordName();
      TagMap tagTable = record.getTagTable();
      Map<String,MetricValue> metricUpdates = record.getMetricTable();
          
      RecordMap recordMap = getRecordMap(recordName);
      synchronized (recordMap) {
        MetricMap metricMap = recordMap.get(tagTable);
        if (metricMap == null) {
          metricMap = new MetricMap();
          TagMap tagMap = new TagMap(tagTable); // clone tags
          recordMap.put(tagMap, metricMap);
        }
  
        Set<Entry<String, MetricValue>> entrySet = metricUpdates.entrySet();
        for (Entry<String, MetricValue> entry : entrySet) {
          String metricName = entry.getKey ();
          MetricValue updateValue = entry.getValue ();
          Number updateNumber = updateValue.getNumber();
          Number currentNumber = metricMap.get(metricName);
          if (currentNumber == null || updateValue.isAbsolute()) {
            metricMap.put(metricName, updateNumber);
          }
          else {
            Number newNumber = sum(updateNumber, currentNumber);
            metricMap.put(metricName, newNumber);
          }
        }
      }
    }
docs: Called by MetricsRecordImpl.update().  Creates or updates a row in
  the internal table of metric data.