public GraphitePayloadBuilder(
     IGraphiteNameFormatter metricNameFormatter = null,
     MetricValueDataKeys dataKeys = null,
     DateTime?timestamp           = null)
 {
     _timestamp           = timestamp;
     _payload             = new GraphitePayload();
     _metricNameFormatter = metricNameFormatter ?? FormattingConstants.GraphiteDefaults.MetricNameFormatter;
     DataKeys             = dataKeys ?? new MetricValueDataKeys(
         FormattingConstants.GraphiteDefaults.CustomHistogramDataKeys,
         FormattingConstants.GraphiteDefaults.CustomMeterDataKeys,
         FormattingConstants.GraphiteDefaults.CustomApdexKeys,
         FormattingConstants.GraphiteDefaults.CustomCounterDataKeys);
 }
        public static string Format(this GraphitePayload payload, IGraphiteNameFormatter formatter)
        {
            if (formatter == null)
            {
                return(null);
            }

            var sb = new StringBuilder();

            foreach (var formatted in payload.SelectMany(formatter.Format))
            {
                sb.Append(formatted);
                sb.Append("\n");
            }

            return(sb.ToString());
        }
 internal GraphiteSettings(IGraphiteNameFormatter nameFormatter = null)
 {
     MetricNameFormatter = nameFormatter ?? new DefaultGraphiteNameFormatter();
 }