github.com/yankunsam/loki/v2@v2.6.3-0.20220817130409-389df5235c27/pkg/util/marshal/tail.go (about) 1 package marshal 2 3 import ( 4 "github.com/grafana/loki/pkg/loghttp" 5 legacy "github.com/grafana/loki/pkg/loghttp/legacy" 6 ) 7 8 // NewTailResponse constructs a TailResponse from a legacy.TailResponse 9 func NewTailResponse(r legacy.TailResponse) (loghttp.TailResponse, error) { 10 var err error 11 ret := loghttp.TailResponse{ 12 Streams: make([]loghttp.Stream, len(r.Streams)), 13 DroppedStreams: make([]loghttp.DroppedStream, len(r.DroppedEntries)), 14 } 15 16 for i, s := range r.Streams { 17 ret.Streams[i], err = NewStream(s) 18 19 if err != nil { 20 return loghttp.TailResponse{}, err 21 } 22 } 23 24 for i, d := range r.DroppedEntries { 25 ret.DroppedStreams[i], err = NewDroppedStream(&d) 26 if err != nil { 27 return loghttp.TailResponse{}, err 28 } 29 } 30 31 return ret, nil 32 } 33 34 // NewDroppedStream constructs a DroppedStream from a legacy.DroppedEntry 35 func NewDroppedStream(s *legacy.DroppedEntry) (loghttp.DroppedStream, error) { 36 l, err := NewLabelSet(s.Labels) 37 if err != nil { 38 return loghttp.DroppedStream{}, err 39 } 40 41 return loghttp.DroppedStream{ 42 Timestamp: s.Timestamp, 43 Labels: l, 44 }, nil 45 }