Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package fortio for openSUSE:Factory checked 
in at 2023-06-22 23:26:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fortio (Old)
 and      /work/SRC/openSUSE:Factory/.fortio.new.15902 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "fortio"

Thu Jun 22 23:26:17 2023 rev:40 rq:1094597 version:1.55.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/fortio/fortio.changes    2023-06-16 
16:54:49.737701033 +0200
+++ /work/SRC/openSUSE:Factory/.fortio.new.15902/fortio.changes 2023-06-22 
23:26:43.122042806 +0200
@@ -1,0 +2,13 @@
+Thu Jun 22 05:07:24 UTC 2023 - ka...@b1-systems.de
+
+- Update to version 1.55.1:
+  * change all the http client logs (info level and up) to
+    structured (#778)
+  * use fixed log package for log.Printf, remove bogus \n in
+    log.Printf (#775)
+  * Bump google.golang.org/grpc from 1.55.0 to 1.56.0 (#771)
+  * Bump docker/setup-buildx-action from 2.6.0 to 2.7.0 (#773)
+  * Bump docker/build-push-action from 4.1.0 to 4.1.1 (#772)
+  * Bump docker/login-action from 2.1.0 to 2.2.0 (#774)
+
+-------------------------------------------------------------------

Old:
----
  fortio-1.55.0.obscpio

New:
----
  fortio-1.55.1.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ fortio.spec ++++++
--- /var/tmp/diff_new_pack.a0LAfz/_old  2023-06-22 23:26:43.922046886 +0200
+++ /var/tmp/diff_new_pack.a0LAfz/_new  2023-06-22 23:26:43.930046927 +0200
@@ -19,7 +19,7 @@
 %define __arch_install_post export NO_BRP_STRIP_DEBUG=true
 
 Name:           fortio
-Version:        1.55.0
+Version:        1.55.1
 Release:        0
 Summary:        Load testing library, command line tool, advanced echo server 
and web UI
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.a0LAfz/_old  2023-06-22 23:26:43.966047111 +0200
+++ /var/tmp/diff_new_pack.a0LAfz/_new  2023-06-22 23:26:43.970047131 +0200
@@ -3,7 +3,7 @@
     <param name="url">https://github.com/fortio/fortio</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="revision">v1.55.0</param>
+    <param name="revision">v1.55.1</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="changesgenerate">enable</param>
     <param name="versionrewrite-pattern">v(.*)</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.a0LAfz/_old  2023-06-22 23:26:43.994047253 +0200
+++ /var/tmp/diff_new_pack.a0LAfz/_new  2023-06-22 23:26:43.998047274 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">https://github.com/fortio/fortio</param>
-              <param 
name="changesrevision">7d76c8ef1ea2b66f736b3d54d093ed0d2ce2a768</param></service></servicedata>
+              <param 
name="changesrevision">b80d012cd7ee3df17e3e9f1ec644efb68abab47d</param></service></servicedata>
 (No newline at EOF)
 

++++++ fortio-1.55.0.obscpio -> fortio-1.55.1.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fortio-1.55.0/.github/workflows/main.yml 
new/fortio-1.55.1/.github/workflows/main.yml
--- old/fortio-1.55.0/.github/workflows/main.yml        2023-06-15 
01:22:53.000000000 +0200
+++ new/fortio-1.55.1/.github/workflows/main.yml        2023-06-22 
00:25:42.000000000 +0200
@@ -29,13 +29,13 @@
 
       - name: Set up Docker Buildx
         id: buildx
-        uses: 
docker/setup-buildx-action@6a58db7e0d21ca03e6c44877909e80e45217eed2 # pin@v2
+        uses: 
docker/setup-buildx-action@ecf95283f03858871ff00b787d79c419715afc34 # pin@v2
 
       - name: Available platforms
         run: echo ${{ steps.buildx.outputs.platforms }}
 
       - name: Log in to Docker Hub
-        uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a # 
pin@v2
+        uses: docker/login-action@465a07811f14bebb1938fbed4728c6a1ff8901fc # 
pin@v2
         with:
           username: ${{ secrets.DOCKER_USER }}
           password: ${{ secrets.DOCKER_TOKEN }}
@@ -51,7 +51,7 @@
           echo "Version $VERSION, Package version $PACKAGE_VERSION"
 
       - name: Build and push Docker image
-        uses: 
docker/build-push-action@44ea916f6c540f9302d50c2b1e5a8dc071f15cdf # pin@v3
+        uses: 
docker/build-push-action@2eb1c1961a95fc15694676618e422e8ba1d63825 # pin@v3
         with:
           context: .
           platforms: linux/amd64,linux/arm64,linux/ppc64le,linux/s390x
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fortio-1.55.0/.github/workflows/manual-build.yml 
new/fortio-1.55.1/.github/workflows/manual-build.yml
--- old/fortio-1.55.0/.github/workflows/manual-build.yml        2023-06-15 
01:22:53.000000000 +0200
+++ new/fortio-1.55.1/.github/workflows/manual-build.yml        2023-06-22 
00:25:42.000000000 +0200
@@ -30,7 +30,7 @@
 
       - name: Set up Docker Buildx
         id: buildx
-        uses: 
docker/setup-buildx-action@6a58db7e0d21ca03e6c44877909e80e45217eed2 # pin@v2
+        uses: 
docker/setup-buildx-action@ecf95283f03858871ff00b787d79c419715afc34 # pin@v2
 
       - name: Build
         id: build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fortio-1.55.0/README.md new/fortio-1.55.1/README.md
--- old/fortio-1.55.0/README.md 2023-06-15 01:22:53.000000000 +0200
+++ new/fortio-1.55.1/README.md 2023-06-22 00:25:42.000000000 +0200
@@ -1,4 +1,4 @@
-<!-- 1.55.0 -->
+<!-- 1.55.1 -->
 # Fortio
 
 [![Awesome 
Go](https://fortio.org/mentioned-badge.svg)](https://github.com/avelino/awesome-go#networking)
@@ -60,13 +60,13 @@
 The [releases](https://github.com/fortio/fortio/releases) page has binaries 
for many OS/architecture combinations (see assets):
 
 ```shell
-curl -L 
https://github.com/fortio/fortio/releases/download/v1.55.0/fortio-linux_amd64-1.55.0.tgz
 \
+curl -L 
https://github.com/fortio/fortio/releases/download/v1.55.1/fortio-linux_amd64-1.55.1.tgz
 \
  | sudo tar -C / -xvzpf -
 # or the debian package
-wget 
https://github.com/fortio/fortio/releases/download/v1.55.0/fortio_1.55.0_amd64.deb
-dpkg -i fortio_1.55.0_amd64.deb
+wget 
https://github.com/fortio/fortio/releases/download/v1.55.1/fortio_1.55.1_amd64.deb
+dpkg -i fortio_1.55.1_amd64.deb
 # or the rpm
-rpm -i 
https://github.com/fortio/fortio/releases/download/v1.55.0/fortio-1.55.0-1.x86_64.rpm
+rpm -i 
https://github.com/fortio/fortio/releases/download/v1.55.1/fortio-1.55.1-1.x86_64.rpm
 # and more, see assets in release page
 ```
 
@@ -76,7 +76,7 @@
 brew install fortio
 ```
 
-On Windows, download 
https://github.com/fortio/fortio/releases/download/v1.55.0/fortio_win_1.55.0.zip
 and extract `fortio.exe` to any location, then using the Windows Command 
Prompt:
+On Windows, download 
https://github.com/fortio/fortio/releases/download/v1.55.1/fortio_win_1.55.1.zip
 and extract `fortio.exe` to any location, then using the Windows Command 
Prompt:
 ```
 fortio.exe server
 ```
@@ -127,7 +127,7 @@
 <!-- use release/updateFlags.sh to update this section -->
 <pre>
 <!-- USAGE_START -->
-Φορτίο 1.55.0 usage:
+Φορτίο 1.55.1 usage:
         fortio command [flags] target
 where command is one of: load (load testing), server (starts ui, rest api,
  http-echo, redirect, proxies, tcp-echo, udp-echo and grpc ping servers),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fortio-1.55.0/fhttp/http_client.go 
new/fortio-1.55.1/fhttp/http_client.go
--- old/fortio-1.55.0/fhttp/http_client.go      2023-06-15 01:22:53.000000000 
+0200
+++ new/fortio-1.55.1/fhttp/http_client.go      2023-06-22 00:25:42.000000000 
+0200
@@ -371,7 +371,9 @@
        //nolint:noctx // we pass context later in Run()/Fetch()
        req, err := http.NewRequest(method, o.URL, body)
        if err != nil {
-               log.Errf("[%d] Unable to make %s request for %s : %v", o.ID, 
method, o.URL, err)
+               log.S(log.Error, "Unable to make request",
+                       log.Attr("method", method), log.Attr("url", o.URL), 
log.Attr("err", err),
+                       log.Attr("thread", o.ID), log.Attr("run", o.UniqueID))
                return nil, err
        }
        req.Header = o.GenerateHeaders()
@@ -387,7 +389,8 @@
        }
        bytes, err := httputil.DumpRequestOut(req, false)
        if err != nil {
-               log.Errf("[%d] Unable to dump request: %v", o.ID, err)
+               log.S(log.Error, "Unable to dump request",
+                       log.Attr("err", err), log.Attr("thread", o.ID), 
log.Attr("run", o.UniqueID))
        } else {
                log.Debugf("[%d] For URL %s, sending:\n%s", o.ID, o.URL, bytes)
        }
@@ -427,7 +430,7 @@
        if c.req != nil {
                if c.req.Body != nil {
                        if err := c.req.Body.Close(); err != nil {
-                               log.Warnf("[%d] Error closing std client body: 
%v", c.id, err)
+                               log.S(log.Warning, "Error closing std client 
body", log.Attr("err", err), log.Attr("thread", c.id), log.Attr("run", c.runID))
                        }
                }
                c.req = nil
@@ -494,13 +497,15 @@
        }
        resp, err := c.client.Do(req)
        if err != nil {
-               log.Errf("[%d] Unable to send %s request for %s : %v", c.id, 
req.Method, c.url, err)
+               log.S(log.Error, "Unable to send request",
+                       log.Attr("method", req.Method), log.Attr("url", c.url), 
log.Attr("err", err),
+                       log.Attr("thread", c.id), log.Attr("run", c.runID))
                return -1, -1, 0
        }
        var data []byte
        if log.LogDebug() {
                if data, err = httputil.DumpResponse(resp, false); err != nil {
-                       log.Errf("[%d] Unable to dump response %v", c.id, err)
+                       log.S(log.Error, "Unable to dump response", 
log.Attr("err", err), log.Attr("thread", c.id), log.Attr("run", c.runID))
                } else {
                        log.Debugf("[%d] For URL %s, received:\n%s", c.id, 
c.url, data)
                }
@@ -512,11 +517,12 @@
        n, err = io.Copy(c.dataWriter, resp.Body)
        resp.Body.Close()
        if err != nil {
-               log.Errf("[%d] Unable to read response for %s : %v", c.id, 
c.url, err)
+               log.S(log.Error, "Unable to read response",
+                       log.Attr("err", err), log.Attr("thread", c.id), 
log.Attr("run", c.runID))
                code := resp.StatusCode
                if codeIsOK(code) {
                        code = http.StatusNoContent
-                       log.Warnf("[%d] Ok code despite read error, switching 
code to %d", c.id, code)
+                       log.S(log.Warning, "Ok code despite read error, 
switching code to 204", log.Attr("thread", c.id), log.Attr("run", c.runID))
                }
                return code, n, 0
        }
@@ -592,7 +598,8 @@
                        newRemoteAddress := conn.RemoteAddr().String()
                        // No change when it wasn't set before (first time) and 
when the value isn't actually changing either.
                        if req.RemoteAddr != "" && newRemoteAddress != 
req.RemoteAddr {
-                               log.Infof("[%d] Standard client IP address 
changed from %s to %s", client.id, req.RemoteAddr, newRemoteAddress)
+                               log.S(log.Info, "Standard client IP address 
changed", log.Str("dest", req.RemoteAddr), log.Str("new_ip", newRemoteAddress),
+                                       log.Attr("thread", client.id), 
log.Attr("run", client.runID))
                        }
                        req.RemoteAddr = newRemoteAddress
                        client.ipAddrUsage.Record(req.RemoteAddr)
@@ -734,7 +741,8 @@
        log.Debugf("[%d] Closing %p %s socket count %d", c.id, c, c.url, 
c.socketCount)
        if c.socket != nil {
                if err := c.socket.Close(); err != nil {
-                       log.Warnf("[%d] Error closing fast client's socket: 
%v", c.id, err)
+                       log.S(log.Warning, "Error closing fast client's socket",
+                               log.Attr("err", err), log.Attr("thread", c.id), 
log.Attr("run", c.runID))
                }
                c.socket = nil
        }
@@ -771,7 +779,8 @@
        // Parse the url, extract components.
        url, err := url.Parse(urlString)
        if err != nil {
-               log.Errf("[%d] Bad url %q : %v", o.ID, urlString, err)
+               log.S(log.Error, "Bad url", log.Str("url", urlString), 
log.Attr("err", err),
+                       log.Attr("thread", o.ID), log.Attr("run", o.UniqueID))
                return nil, err
        }
 
@@ -808,7 +817,8 @@
        }
        var addr net.Addr
        if o.UnixDomainSocket != "" {
-               log.Infof("[%d] Using unix domain socket %v instead of %v %v", 
bc.id, o.UnixDomainSocket, bc.hostname, bc.port)
+               log.S(log.Info, "Using unix domain socket", log.Attr("path", 
o.UnixDomainSocket),
+                       log.Attr("thread", bc.id), log.Attr("run", bc.runID))
                uds := &net.UnixAddr{Name: o.UnixDomainSocket, Net: 
fnet.UnixDomainSocket}
                addr = uds
        } else {
@@ -885,7 +895,8 @@
                c.dest, err = resolve(ctx, c.hostname, c.port, c.resolve, 
c.ipAddrUsage)
                log.Debugf("[%d] Hostname %v resolve to ip %v", c.id, 
c.hostname, c.dest)
                if err != nil {
-                       log.Errf("[%d] Unable to resolve hostname %v: %v", 
c.id, c.hostname, err)
+                       log.S(log.Error, "Unable to resolve hostname", 
log.Str("hostname", c.hostname), log.Attr("err", err),
+                               log.Attr("thread", c.id), log.Attr("run", 
c.runID))
                        return nil
                }
        }
@@ -896,14 +907,16 @@
                socket, err = tls.DialWithDialer(d, c.dest.Network(), 
c.dest.String(), c.tlsConfig)
                c.connectStats.Record(time.Since(now).Seconds())
                if err != nil {
-                       log.Errf("[%d] Unable to TLS connect to %v : %v", c.id, 
c.dest, err)
+                       log.S(log.Error, "Unable to TLS connect", 
log.Attr("dest", c.dest), log.Attr("err", err),
+                               log.Attr("thread", c.id), log.Attr("run", 
c.runID))
                        return nil
                }
        } else {
                socket, err = d.Dial(c.dest.Network(), c.dest.String())
                c.connectStats.Record(time.Since(now).Seconds())
                if err != nil {
-                       log.Errf("[%d] Unable to connect to %v : %v", c.id, 
c.dest, err)
+                       log.S(log.Error, "Unable to connect", log.Attr("dest", 
c.dest), log.Attr("err", err),
+                               log.Attr("thread", c.id), log.Attr("run", 
c.runID))
                        return nil
                }
        }
@@ -966,28 +979,30 @@
        if err != nil || conErr != nil {
                if canReuse {
                        // it's ok for the (idle) socket to die once, auto 
reconnect:
-                       log.Infof("[%d] Closing dead socket %v (%v)", c.id, 
c.dest, err)
+                       log.S(log.Info, "Closing dead socket", log.Attr("err", 
err), log.Attr("thread", c.id), log.Attr("run", c.runID))
                        conn.Close()
                        c.errorCount++
                        return c.StreamFetch(ctx) // recurse once
                }
-               log.Errf("[%d] Unable to write to %v : %v", c.id, c.dest, err)
+               log.S(log.Error, "Unable to write", log.Attr("err", err), 
log.Attr("thread", c.id), log.Attr("run", c.runID))
                return c.returnRes()
        }
        if n != len(c.req) {
-               log.Errf("[%d] Short write to %v : %d instead of %d", c.id, 
c.dest, n, len(c.req))
+               log.S(log.Error, "Short write", log.Attr("err", err), 
log.Attr("actual", n), log.Attr("expected", len(c.req)),
+                       log.Attr("thread", c.id), log.Attr("run", c.runID))
                return c.returnRes()
        }
        if !c.keepAlive && c.halfClose { //nolint:nestif
                tcpConn, ok := conn.(*net.TCPConn)
                if ok {
                        if err = tcpConn.CloseWrite(); err != nil {
-                               log.Errf("[%d] Unable to close write to %v : 
%v", c.id, c.dest, err)
+                               log.S(log.Error, "Unable to close write", 
log.Attr("err", err), log.Attr("thread", c.id), log.Attr("run", c.runID))
                                return c.returnRes()
                        } // else:
                        log.Debugf("[%d] Half closed ok after sending request 
%v", c.id, c.dest)
                } else {
-                       log.Warnf("[%d] Unable to close write non tcp 
connection %v", c.id, c.dest)
+                       log.S(log.Warning, "Unable to close write non tcp 
connection",
+                               log.Attr("err", err), log.Attr("thread", c.id), 
log.Attr("run", c.runID))
                }
        }
        // Read the response:
@@ -1027,11 +1042,12 @@
                        if err != nil {
                                if reusedSocket && c.size == 0 {
                                        // Ok for reused socket to be dead once 
(close by server)
-                                       log.Infof("[%d] Closing dead socket %v 
(err %v at first read)", c.id, c.dest, err)
+                                       log.S(log.Info, "Closing dead socket 
(err at first read)",
+                                               log.Attr("err", err), 
log.Attr("thread", c.id), log.Attr("run", c.runID))
                                        c.errorCount++
                                        err = conn.Close() // close the 
previous one
                                        if err != nil {
-                                               log.Warnf("[%d] Error closing 
dead socket %v: %v", c.id, c.dest, err)
+                                               log.S(log.Warning, "Error 
closing dead socket", log.Attr("err", err), log.Attr("thread", c.id), 
log.Attr("run", c.runID))
                                        }
                                        c.code = RetryOnce // special "retry 
once" code
                                        return
@@ -1040,7 +1056,8 @@
                                        // handled below as possibly normal end 
of stream after we read something
                                        break
                                }
-                               log.Errf("[%d] Read error for %v %d : %v", 
c.id, c.dest, c.size, err)
+                               log.S(log.Error, "Read error", log.Attr("err", 
err), log.Attr("size", c.size), log.Attr("dest", c.dest), log.Str("url", c.url),
+                                       log.Attr("thread", c.id), 
log.Attr("run", c.runID))
                                c.code = SocketError
                                break
                        }
@@ -1096,7 +1113,8 @@
                                                // Content-Length mode:
                                                contentLength = 
ParseDecimal(c.buffer[offset+len(contentLengthHeader) : c.headerLen])
                                                if contentLength < 0 {
-                                                       log.Warnf("[%d] 
Warning: content-length unparsable %s", c.id, 
string(c.buffer[offset+2:offset+len(contentLengthHeader)+4]))
+                                                       log.S(log.Warning, 
"Content-length unparsable", log.Str("cl", 
string(c.buffer[offset+2:offset+len(contentLengthHeader)+4])),
+                                                               
log.Attr("thread", c.id), log.Attr("run", c.runID))
                                                        keepAlive = false
                                                        break
                                                }
@@ -1124,22 +1142,26 @@
                                                        if log.LogVerbose() {
                                                                log.LogVf("[%d] 
Warning: content-length missing in %q", c.id, string(c.buffer[:c.headerLen]))
                                                        } else {
-                                                               log.Warnf("[%d] 
Warning: content-length missing (%d bytes headers)", c.id, c.headerLen)
+                                                               
log.S(log.Warning, "Content-length missing",
+                                                                       
log.Attr("header_len", c.headerLen), log.Attr("thread", c.id), log.Attr("run", 
c.runID))
                                                        }
                                                        keepAlive = false // 
can't keep keepAlive
                                                        break
                                                }
                                        } // end of content-length section
                                        if max > int64(len(c.buffer)) {
-                                               log.Warnf("[%d] Buffer is too 
small for headers %d + data %d - change -httpbufferkb flag to at least %d",
-                                                       c.id, c.headerLen, 
contentLength, (int64(c.headerLen)+contentLength)/1024+1)
+                                               log.S(log.Warning, "Buffer is 
too small for headers + data - change -httpbufferkb flag",
+                                                       log.Attr("header_len", 
c.headerLen),
+                                                       
log.Attr("content_length", contentLength),
+                                                       
log.Attr("buffer_needed", (int64(c.headerLen)+contentLength)/1024+1),
+                                                       log.Attr("thread", 
c.id), log.Attr("run", c.runID))
                                                // TODO: just consume the extra 
instead
                                                // or rather use the dataWriter 
post headers
                                                max = int64(len(c.buffer))
                                        }
                                        if checkConnectionClosedHeader {
                                                if found, _ := 
FoldFind(c.buffer[:c.headerLen], connectionCloseHeader); found {
-                                                       log.Infof("[%d] Server 
wants to close connection, no keep-alive!", c.id)
+                                                       log.S(log.Info, "Server 
wants to close connection, no keep-alive!", log.Attr("thread", c.id), 
log.Attr("run", c.runID))
                                                        keepAlive = false
                                                        max = 
int64(len(c.buffer)) // reset to read as much as available
                                                }
@@ -1149,10 +1171,12 @@
                } // end of big if parse header
                if c.size >= max {
                        if !keepAlive {
-                               log.Errf("[%d] More data is available but 
stopping after %d, increase -httpbufferkb", c.id, max)
+                               log.S(log.Error, "More data is available but 
stopping after max, increase -httpbufferkb",
+                                       log.Attr("max", max), 
log.Attr("thread", c.id), log.Attr("run", c.runID))
                        }
                        if !parsedHeaders && c.parseHeaders {
-                               log.Errf("[%d] Buffer too small (%d) to even 
finish reading headers, increase -httpbufferkb to get all the data", c.id, max)
+                               log.S(log.Error, "Buffer too small to even 
finish reading headers, increase -httpbufferkb to get all the data",
+                                       log.Attr("max", max), 
log.Attr("thread", c.id), log.Attr("run", c.runID))
                                keepAlive = false
                        }
                        if chunkedMode {
@@ -1162,20 +1186,24 @@
                                        if c.size == max {
                                                log.Debugf("[%d] Couldn't find 
next chunk size, reading more %d %d", c.id, max, c.size)
                                        } else {
-                                               log.Infof("[%d] Partial chunk 
size (%s), reading more %d %d", c.id, DebugSummary(c.buffer[max:c.size], 20), 
max, c.size)
+                                               log.S(log.Info, "Partial chunk 
size, reading more",
+                                                       log.Str("buf", 
DebugSummary(c.buffer[max:c.size], 20)), log.Attr("max", max), log.Attr("size", 
c.size),
+                                                       log.Attr("thread", 
c.id), log.Attr("run", c.runID))
                                        }
                                        continue
                                } else if nextChunkLen == 0 {
                                        log.Debugf("[%d] Found last chunk %d 
%d", c.id, max+dataStart, c.size)
                                        if c.size != max+dataStart+2 || 
string(c.buffer[c.size-2:c.size]) != "\r\n" {
-                                               log.Errf("[%d] Unexpected 
mismatch at the end sz=%d expected %d; end of buffer %q",
-                                                       c.id, c.size, 
max+dataStart+2, c.buffer[max:c.size])
+                                               log.S(log.Error, "Unexpected 
mismatch at the end",
+                                                       log.Attr("size", 
c.size), log.Attr("expected", max+dataStart+2),
+                                                       
log.Attr("end-of_buffer", c.buffer[max:c.size]),
+                                                       log.Attr("thread", 
c.id), log.Attr("run", c.runID))
                                        }
                                } else {
                                        max += dataStart + nextChunkLen + 2 // 
extra CR LF
                                        log.Debugf("[%d] One more chunk %d -> 
new max %d", c.id, nextChunkLen, max)
                                        if max > int64(len(c.buffer)) {
-                                               log.Errf("[%d] Buffer too small 
for %d data", c.id, max)
+                                               log.S(log.Error, "Buffer too 
small for data", log.Attr("size", max), log.Attr("thread", c.id), 
log.Attr("run", c.runID))
                                        } else {
                                                if max <= c.size {
                                                        log.Debugf("[%d] Enough 
data to reach next chunk, skipping a read", c.id)
@@ -1193,7 +1221,8 @@
                c.socket = conn // keep the open socket
        } else {
                if err := conn.Close(); err != nil {
-                       log.Errf("[%d] Close error %v %d : %v", c.id, c.dest, 
c.size, err)
+                       log.S(log.Error, "Close error", log.Attr("err", err), 
log.Attr("size", c.size),
+                               log.Attr("thread", c.id), log.Attr("run", 
c.runID))
                } else {
                        log.Debugf("[%d] Closed ok from %v after reading %d 
bytes", c.id, c.dest, c.size)
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fortio-1.55.0/fhttp/httprunner.go 
new/fortio-1.55.1/fhttp/httprunner.go
--- old/fortio-1.55.0/fhttp/httprunner.go       2023-06-15 01:22:53.000000000 
+0200
+++ new/fortio-1.55.1/fhttp/httprunner.go       2023-06-22 00:25:42.000000000 
+0200
@@ -66,7 +66,8 @@
        httpstate.headerSizes.Record(float64(headerSize))
        if httpstate.AbortOn == code {
                httpstate.aborter.Abort(false)
-               log.Infof("Aborted run because of code %d - data len %d", code, 
size)
+               log.S(log.Info, "Aborted run because of http code",
+                       log.Attr("run", httpstate.RunID), log.Attr("code", 
code), log.Attr("size", size))
        }
        return codeIsOK(code), strconv.Itoa(code)
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fortio-1.55.0/fnet/network.go 
new/fortio-1.55.1/fnet/network.go
--- old/fortio-1.55.0/fnet/network.go   2023-06-15 01:22:53.000000000 +0200
+++ new/fortio-1.55.1/fnet/network.go   2023-06-22 00:25:42.000000000 +0200
@@ -148,7 +148,7 @@
        }
        lAddr := listener.Addr()
        if len(name) > 0 {
-               log.Printf("Fortio %s %s server listening on %s %s\n", 
version.Short(), name, sockType, lAddr)
+               log.Printf("Fortio %s %s server listening on %s %s", 
version.Short(), name, sockType, lAddr)
        }
        return listener, lAddr
 }
@@ -167,7 +167,7 @@
                return nil, nil
        }
        if len(name) > 0 {
-               log.Printf("Fortio %s %s server listening on udp %s\n", 
version.Short(), name, udpconn.LocalAddr())
+               log.Printf("Fortio %s %s server listening on udp %s", 
version.Short(), name, udpconn.LocalAddr())
        }
        return udpconn, udpconn.LocalAddr()
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fortio-1.55.0/go.mod new/fortio-1.55.1/go.mod
--- old/fortio-1.55.0/go.mod    2023-06-15 01:22:53.000000000 +0200
+++ new/fortio-1.55.1/go.mod    2023-06-22 00:25:42.000000000 +0200
@@ -6,13 +6,13 @@
        fortio.org/assert v1.2.0
        fortio.org/cli v1.1.0
        fortio.org/dflag v1.5.2
-       fortio.org/log v1.4.0
+       fortio.org/log v1.4.1
        fortio.org/scli v1.5.0
        fortio.org/version v1.0.2
        github.com/golang/protobuf v1.5.3
        github.com/google/uuid v1.3.0
        golang.org/x/net v0.11.0
-       google.golang.org/grpc v1.55.0
+       google.golang.org/grpc v1.56.0
 )
 
 // Local dev of dependencies changes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fortio-1.55.0/go.sum new/fortio-1.55.1/go.sum
--- old/fortio-1.55.0/go.sum    2023-06-15 01:22:53.000000000 +0200
+++ new/fortio-1.55.1/go.sum    2023-06-22 00:25:42.000000000 +0200
@@ -4,8 +4,8 @@
 fortio.org/cli v1.1.0/go.mod h1:O3nVImKwJSvHKbMYWkqMbEagAXCS1xvSv1YbHwkKJjY=
 fortio.org/dflag v1.5.2 h1:F9XVRj4Qr2IbJP7BMj7XZc9wB0Q/RZ61Ool+4YPVad8=
 fortio.org/dflag v1.5.2/go.mod h1:ppb/A8u+KKg+qUUYZNYuvRnXuVb8IsdHb/XGzsmjkN8=
-fortio.org/log v1.4.0 h1:xTCWj0nCj1QFw+QoBmOmxLsXXb7nqtwyoNGYcLFWEA4=
-fortio.org/log v1.4.0/go.mod h1:u/8/2lyczXq52aT5Nw6reD+3cR6m/EbS2jBiIYhgiTU=
+fortio.org/log v1.4.1 h1:e4MF23oC1J9JBq0xg/GTA9PUZ+tCXNEaYjQOr8g1X0k=
+fortio.org/log v1.4.1/go.mod h1:u/8/2lyczXq52aT5Nw6reD+3cR6m/EbS2jBiIYhgiTU=
 fortio.org/scli v1.5.0 h1:FG7thN0PM9KQInU+LFZ+mjUvShA02hdJNTRVp0r+QUQ=
 fortio.org/scli v1.5.0/go.mod h1:42O1YYpSz+C9wKyfMkhtugtkldWX3zVGsrmCICRhkwg=
 fortio.org/sets v1.0.3 h1:HzewdGjH69YmyW06yzplL35lGr+X4OcqQt0qS6jbaO4=
@@ -33,8 +33,8 @@
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 
h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A=
 google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod 
h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU=
-google.golang.org/grpc v1.55.0 h1:3Oj82/tFSCeUrRTg/5E/7d/W5A1tj6Ky1ABAuZuv5ag=
-google.golang.org/grpc v1.55.0/go.mod 
h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8=
+google.golang.org/grpc v1.56.0 h1:+y7Bs8rtMd07LeXmL3NxcTLn7mUkbKZqEpPhMNkwJEE=
+google.golang.org/grpc v1.56.0/go.mod 
h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s=
 google.golang.org/protobuf v1.26.0-rc.1/go.mod 
h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
 google.golang.org/protobuf v1.26.0/go.mod 
h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
 google.golang.org/protobuf v1.30.0 
h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng=

++++++ fortio.obsinfo ++++++
--- /var/tmp/diff_new_pack.a0LAfz/_old  2023-06-22 23:26:44.166048131 +0200
+++ /var/tmp/diff_new_pack.a0LAfz/_new  2023-06-22 23:26:44.170048151 +0200
@@ -1,5 +1,5 @@
 name: fortio
-version: 1.55.0
-mtime: 1686784973
-commit: 7d76c8ef1ea2b66f736b3d54d093ed0d2ce2a768
+version: 1.55.1
+mtime: 1687386342
+commit: b80d012cd7ee3df17e3e9f1ec644efb68abab47d
 

++++++ vendor.tar.gz ++++++
++++ 3396 lines of diff (skipped)

Reply via email to