This is an automated email from the ASF dual-hosted git repository. liuhan pushed a commit to branch missing-details in repository https://gitbox.apache.org/repos/asf/skywalking-rover.git
commit 75e65cc00b4879aa768fd707ed9365d38a1c45fa Author: mrproliu <[email protected]> AuthorDate: Fri Dec 13 21:37:25 2024 +0800 empty --- pkg/accesslog/collector/protocols/http1.go | 14 +++++----- pkg/tools/buffer/buffer.go | 44 +++++++++++------------------- 2 files changed, 23 insertions(+), 35 deletions(-) diff --git a/pkg/accesslog/collector/protocols/http1.go b/pkg/accesslog/collector/protocols/http1.go index ab52269..9c17160 100644 --- a/pkg/accesslog/collector/protocols/http1.go +++ b/pkg/accesslog/collector/protocols/http1.go @@ -121,8 +121,8 @@ func (p *HTTP1Protocol) Analyze(connection *PartitionConnection, _ *AnalyzeHelpe finishReading = buf.RemoveReadElements(false) case enums.ParseResultSkipPackage: finishReading = buf.SkipCurrentElement() - //log.Infof("skip current element, data id: %d, buf: %p, connection ID: %d, random ID: %d", - // buf.Position().DataID(), buf, metrics.ConnectionID, metrics.RandomID) + log.Debugf("skip current element, data id: %d, buf: %p, connection ID: %d, random ID: %d", + buf.Position().DataID(), buf, metrics.ConnectionID, metrics.RandomID) } if finishReading { @@ -151,8 +151,8 @@ func (p *HTTP1Protocol) handleRequest(metrics *HTTP1Metrics, buf *buffer.Buffer) func (p *HTTP1Protocol) handleResponse(metrics *HTTP1Metrics, b *buffer.Buffer) (enums.ParseResult, error) { firstRequest := metrics.halfRequests.Front() if firstRequest == nil { - //log.Infof("cannot found request for response, skip response, connection ID: %d, random ID: %d", - // metrics.ConnectionID, metrics.RandomID) + log.Debugf("cannot found request for response, skip response, connection ID: %d, random ID: %d", + metrics.ConnectionID, metrics.RandomID) return enums.ParseResultSkipPackage, nil } request := metrics.halfRequests.Remove(firstRequest).(*reader.Request) @@ -220,9 +220,9 @@ func (p *HTTP1Protocol) HandleHTTPData(metrics *HTTP1Metrics, request *reader.Re request.MinDataID(), response.BodyBuffer().LastSocketBuffer().DataID(), len(details)) } - //http1Log.Infof("found fully HTTP1 request and response, contains %d detail events , connection ID: %d, random ID: %d, "+ - // "data range: %d-%d(%t)", - // len(details), metrics.ConnectionID, metrics.RandomID, idRange.From, idRange.To, idRange.IsToBufferReadFinished) + http1Log.Debugf("found fully HTTP1 request and response, contains %d detail events, "+ + "connection ID: %d, random ID: %d, data range: %d-%d(%t)", + len(details), metrics.ConnectionID, metrics.RandomID, idRange.From, idRange.To, idRange.IsToBufferReadFinished) originalRequest := request.Original() originalResponse := response.Original() // delete details(each request or response is fine because it's will delete the original buffer) diff --git a/pkg/tools/buffer/buffer.go b/pkg/tools/buffer/buffer.go index f19bbd8..c5ce2ca 100644 --- a/pkg/tools/buffer/buffer.go +++ b/pkg/tools/buffer/buffer.go @@ -20,11 +20,13 @@ package buffer import ( "container/list" "errors" - "github.com/apache/skywalking-rover/pkg/logger" "io" "sync" "time" + "github.com/sirupsen/logrus" + + "github.com/apache/skywalking-rover/pkg/logger" "github.com/apache/skywalking-rover/pkg/tools/enums" "github.com/apache/skywalking-rover/pkg/tools/host" ) @@ -160,8 +162,8 @@ func (i *DataIDRange) DeleteDetails(buf *Buffer) { break } buf.detailEvents.Remove(e) - //log.Infof("delete detail event2, data id: %d, ref: %p, range: %d-%d(%t)", dataId, buf, - // i.From, i.To, i.IsToBufferReadFinished) + log.Debugf("delete detail event from buffer, data id: %d, ref: %p, range: %d-%d(%t)", + dataId, buf, i.From, i.To, i.IsToBufferReadFinished) } e = next } @@ -320,16 +322,16 @@ func (r *Buffer) BuildDetails() *list.List { events.PushBack(e.Value) } } - //if events.Len() == 0 { - // dataIdList := make([]uint64, 0) - // for e := r.originalBuffer.detailEvents.Front(); e != nil; e = e.Next() { - // if e.Value != nil { - // dataIdList = append(dataIdList, e.Value.(SocketDataDetail).DataID()) - // } - // } - //log.Infof("cannot found details from original buffer, from data id: %d, end data id: %d, ref: %p, existing details data id list: %v", - // fromDataId, endDataId, r.originalBuffer, dataIdList) - //} + if events.Len() == 0 && log.Enable(logrus.DebugLevel) { + dataIdList := make([]uint64, 0) + for e := r.originalBuffer.detailEvents.Front(); e != nil; e = e.Next() { + if e.Value != nil { + dataIdList = append(dataIdList, e.Value.(SocketDataDetail).DataID()) + } + } + log.Debugf("cannot found details from original buffer, from data id: %d, end data id: %d, "+ + "ref: %p, existing details data id list: %v", fromDataId, endDataId, r.originalBuffer, dataIdList) + } return events } @@ -648,7 +650,7 @@ func (r *Buffer) RemoveReadElements(includeDetails bool) bool { if startDelete { tmp := e.Next() r.detailEvents.Remove(e) - //log.Infof("delete detail event1, data id: %d, ref: %p", event.DataID(), r) + log.Debugf("delete detail event from readed buffer, data id: %d, ref: %p", event.DataID(), r) e = tmp } else { e = e.Next() @@ -701,29 +703,17 @@ func (r *Buffer) removeElement0(element *list.Element) *list.Element { func (r *Buffer) AppendDetailEvent(event SocketDataDetail) { r.eventLocker.Lock() defer r.eventLocker.Unlock() - //defer func() { - // dataIdList := make([]uint64, 0) - // for e := r.detailEvents.Front(); e != nil; e = e.Next() { - // if e.Value != nil { - // dataIdList = append(dataIdList, e.Value.(SocketDataDetail).DataID()) - // } - // } - // log.Infof("after detail append, total detail events list: %v, ref: %p", dataIdList, r) - //}() if r.detailEvents.Len() == 0 { r.detailEvents.PushFront(event) - //log.Infof("append details into front1, data id: %d, ref: %p", event.DataID(), r) return } if r.detailEvents.Back().Value == nil { r.detailEvents.PushFront(event) - //log.Infof("append details into front2, data id: %d, ref: %p", event.DataID(), r) return } if r.detailEvents.Back().Value.(SocketDataDetail).DataID() < event.DataID() { r.detailEvents.PushBack(event) - //log.Infof("append details into back1, data id: %d, ref: %p", event.DataID(), r) return } beenAdded := false @@ -735,12 +725,10 @@ func (r *Buffer) AppendDetailEvent(event SocketDataDetail) { } if beenAdded { r.detailEvents.InsertBefore(event, element) - //log.Infof("append details by insert, data id: %d, before data id: %d, ref: %p", event.DataID(), existEvent.DataID(), r) break } } if !beenAdded { - //log.Infof("append details into back2, data id: %d, ref: %p", event.DataID(), r) r.detailEvents.PushBack(event) } }
