code: public static Optional<String> wavefrontLine(DateTime ts, GroupName group, MetricName metric, MetricValue metric_value) {
          return wavefrontValue(metric_value)
                  .map(value -> {
                      final Map<String, String> tag_map = tags(group.getTags());
                      final String source = extractTagSource(tag_map);  // Modifies tag_map.
                      return wavefrontLine(ts, group.getPath(), metric, value, source, tag_map);
                  });
      }
docs: Convert a metric to a wavefront string.
  
  Empty metrics and histograms do not emit a value.
  
  Note: the line is not terminated with a newline.