code: public synchronized Metric add(String name, String description, MeasurableStat stat, MetricConfig config) {
          MetricConfig statConfig = (config == null ? this.config : config);
          TehutiMetric metric = new TehutiMetric(this,
                                               Utils.notNull(name),
                                               Utils.notNull(description),
                                               Utils.notNull(stat),
                                               statConfig,
                                               time);
          this.registry.registerMetric(metric);
          this.metrics.add(metric);
          this.stats.add(stat);
          this.statConfigs.put(stat, statConfig);
          return metric;
      }
docs: Register a metric with this sensor
  @param name The name of the metric
  @param description A description used when reporting the value
  @param stat The statistic to keep
  @param config A special configuration for this metric. If null use the sensor default configuration.
  @return a {@link Metric} instance representing the registered metric