public static string Serialize(InfluxPoint point) { var tags = point.Tags; var fields = point.Fields; var allTags = string.Join(",", TagsFormatter.Format(tags)); var allFields = string.Join(",", FieldFormatter.Format(fields)); var tagsPart = allTags.Length > 0 ? $",{allTags}" : allTags; var measurement = KeyFormatter.Format(point.Measurement); return($"{measurement}{tagsPart} {allFields} {FieldValueFormatter.FormatTimestamp(point.UtcTimestamp)}".Trim()); }
public string SerializeMetric(Metric metric) { var value = FormattedMetricValue(metric.Type, metric.Value, metric.Sample); var measurement = MeasurementBuilder.BuildMeasurement(metric.Name); var tags = metric.Tags; var tagsValue = tags == null ? null : string.Join(",", TagsFormatter.Format(tags)); var format = string.IsNullOrWhiteSpace(tagsValue) ? StatsdFormat : StatsdTagsFormat; var datagram = string.Format(format, measurement, value, tagsValue); return(datagram); }