documentation/examples/remote_storage/remote_storage_adapter/influxdb/client.go
func mergeSamples(a, b []prompb.Sample) []prompb.Sample {
	result := make([]prompb.Sample, 0, len(a)+len(b))
	i, j := 0, 0
	for i < len(a) && j < len(b) {
		if a[i].Timestamp < b[j].Timestamp {
			result = append(result, a[i])
			i++
		} else if a[i].Timestamp > b[j].Timestamp {
			result = append(result, b[j])
			j++
		} else {
			result = append(result, a[i])
			i++
			j++
		}
	}
	result = append(result, a[i:]...)
	result = append(result, b[j:]...)
	return result
}
func mergeSamples(a, b []prompb.Sample) []prompb.Sample {
	result := make([]prompb.Sample, 0, len(a)+len(b))
	i, j := 0, 0
	for i < len(a) && j < len(b) {
		if a[i].Timestamp < b[j].Timestamp {
			result = append(result, a[i])
			i++
		} else if a[i].Timestamp > b[j].Timestamp {
			result = append(result, b[j])
			j++
		} else {
			result = append(result, a[i])
			i++
			j++
		}
	}
	result = append(result, a[i:]...)
	result = append(result, b[j:]...)
	return result
}
func mergeSamples ( a , b [ ] prompb . Sample ) [ ] prompb . Sample { result := make ( [ ] prompb . Sample , 0 , len ( a ) + len ( b ) ) i , j := 0 , 0 for i < len ( a ) && j < len ( b ) { if a [ i ] . Timestamp < b [ j ] . Timestamp { result = append ( result , a [ i ] ) i ++ } else if a [ i ] . Timestamp > b [ j ] . Timestamp { result = append ( result , b [ j ] ) j ++ } else { result = append ( result , a [ i ] ) i ++ j ++ } } result = append ( result , a [ i : ] ... ) result = append ( result , b [ j : ] ... ) return result }
// mergeSamples merges two lists of sample pairs and removes duplicate
// timestamps. It assumes that both lists are sorted by timestamp.
mergeSamples merges two lists of sample pairs and removes duplicate timestamps . It assumes that both lists are sorted by timestamp .