From 9ab60bb0f0f066dca351783bc56cfd7cc17739e3 Mon Sep 17 00:00:00 2001 From: Billy Zha Date: Mon, 9 Oct 2023 12:07:26 +0000 Subject: [PATCH] resolve comments & add doc Signed-off-by: Billy Zha --- internal/trace/transport.go | 10 ++++++---- test/e2e/suite/command/cp.go | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/internal/trace/transport.go b/internal/trace/transport.go index c7fd96cbb..a346f88d8 100644 --- a/internal/trace/transport.go +++ b/internal/trace/transport.go @@ -22,7 +22,9 @@ import ( "sync/atomic" ) -var count uint64 +// requestCount records the number of logged request-response pairs and will +// be used as the unique id for the next pair. +var requestCount uint64 // Transport is an http.RoundTripper that keeps track of the in-flight // request and add hooks to report HTTP tracing events. @@ -39,13 +41,13 @@ func NewTransport(base http.RoundTripper) *Transport { // RoundTrip calls base roundtrip while keeping track of the current request. func (t *Transport) RoundTrip(req *http.Request) (resp *http.Response, err error) { - number := atomic.AddUint64(&count, 1) - 1 + id := atomic.AddUint64(&requestCount, 1) - 1 ctx := req.Context() e := Logger(ctx) // log the request e.Debugf("Request #%d\n> Request URL: %q\n> Request method: %q\n> Request headers:\n%s", - number, req.URL, req.Method, logHeader(req.Header)) + id, req.URL, req.Method, logHeader(req.Header)) // log the response resp, err = t.RoundTripper.RoundTrip(req) @@ -55,7 +57,7 @@ func (t *Transport) RoundTrip(req *http.Request) (resp *http.Response, err error e.Errorf("No response obtained for request %s %q", req.Method, req.URL) } else { e.Debugf("Response #%d\n< Response Status: %q\n< Response headers:\n%s", - number, resp.Status, logHeader(resp.Header)) + id, resp.Status, logHeader(resp.Header)) } return resp, err } diff --git a/test/e2e/suite/command/cp.go b/test/e2e/suite/command/cp.go index 0ebe97323..4191589bd 100644 --- a/test/e2e/suite/command/cp.go +++ b/test/e2e/suite/command/cp.go @@ -79,7 +79,7 @@ var _ = Describe("1.1 registry users:", func() { CompareRef(src, dst) }) - It("should copy and show debug logs with duplication", func() { + It("should copy and show logs with deduplicated id", func() { src := RegistryRef(ZOTHost, ArtifactRepo, blob.Tag) dst := RegistryRef(ZOTHost, cpTestRepo("debug-log"), "copied") session := ORAS("cp", src, dst, "-d").Exec()