const ( // the order in which these appear determines the // order of the fields in the resultant TSV TsvName tsvField = iota TsvTags TsvMetricType // The hostName of the server flushing the data TsvVeneurHostname TsvInterval TsvTimestamp TsvValue // This is the _partition field // required by the Redshift IncrementalLoader. // For our purposes, the current date is a good partition. TsvPartition )
const PartitionDateFormat = "20060102"
const RedshiftDateFormat = "2006-01-02 03:04:05"
EncodeInterMetricCSV generates a newline-terminated CSV row that describes the data represented by the InterMetric. The caller is responsible for setting w.Comma as the appropriate delimiter. For performance, encodeCSV does not flush after every call; the caller is expected to flush at the end of the operation cycle
func EncodeInterMetricsCSV(metrics samplers.InterMetric, delimiter rune, includeHeaders bool, hostname string, interval int) (io.ReadSeeker, error)
EncodeInterMetricsCSV returns a reader containing the gzipped CSV representation of the InterMetric data, one row per InterMetric. the AWS sdk requires seekable input, so we return a ReadSeeker here