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  }