// dataToMetricDescriptor return a *wire.MetricDescriptor based on data. func dataToMetricDescriptor(data metric.Data) *wire.MetricDescriptor { … } // getDescription returns the description of data. func getDescription(data metric.Data) string { … } // getLabelKeys returns a slice of *wire.LabelKeys based on the keys // in data. func getLabelKeys(data metric.Data) []*wire.LabelKey { … } // dataToMetricDescriptorType returns a wire.MetricDescriptor_Type based on the // underlying type of data. func dataToMetricDescriptorType(data metric.Data) wire.MetricDescriptor_Type { … } // dataToTimeseries returns a slice of *wire.TimeSeries based on the // points in data. func dataToTimeseries(data metric.Data, start time.Time) []*wire.TimeSeries { … } // numRows returns the number of rows in data. func numRows(data metric.Data) int { … } // dataToPoints returns an array of *wire.Points based on the point(s) // in data at index i. func dataToPoints(data metric.Data, i int) []*wire.Point { … } // distributionToPoints returns an array of *wire.Points containing a // wire.PointDistributionValue representing a distribution with the // supplied counts, count, and sum. func distributionToPoints(counts []int64, count int64, sum float64, bucketBounds []float64, end time.Time) []*wire.Point { … } // infoKeysToLabelKeys returns an array of *wire.LabelKeys containing the // string values of the elements of labelKeys. func infoKeysToLabelKeys(infoKeys []label.Key) []*wire.LabelKey { … }