github fortio/fortio v0.8.0
fortio v0.8.0

latest releases: v1.63.7, v1.63.6, v1.63.5...
6 years ago

New features:

  • fortio now sports a (tcp) proxy mode: use multiple -P "sourceport destination:port" in the command line or use fnet.Proxy* functions.

  • fortio curl -L url, like curl will now follow redirects (and new matching FollowRedirects option too, not to be used for load tests). On the command line -L is shortcut for both follow redirect and using the stdclient (decoding the data part, vs raw output from fast client). So fortio curl -L ... can be used for downloads.

Code refactoring, more reusable library components:

  • FetchURL and Fetch helper functions wrapping 1 time use client to help write 1 liner readiness

  • Lot of reusable code moved to fnet/, fgrpc/ and fhttp/ packages to further increase fortio's utility as a go library. http code split into client, server and utils. Grpc cleanup and test coverage increases across the board (to 90%+) so the grpc ping and health clients can be used as a library / from istio tests (like pilot’s). For instance fhttp.RedirectToHTTPS, NewHTMLEscapeWriter, SetupPPROF, FetcherHandler proxy, LogRequest, OnBehalfOf to the public fhttp library api.

Other Changes:

  • -maxpayloadsizekb can now be specified to change the default max for the ?size= echo argument. Thanks @kidiyoor for the PR #190.

  • The fortio remote trigger url doesn't require a percentiles list anymore to get the default one - so for instance http://you-fortio-server:8080/fortio/?labels=Fortio&url=http%3A%2F%2Flocalhost%3A8080%2Fecho&t=3s&qps=1000&save=on&load=Start is enough to trigger a valid run with standard p50, p75, p90, p99, p99.9 percentiles - Thanks @olimpias for the PR #164.

  • Removed the code that allowed illegal urls in the UI containing verbatim % characters; so now if you want a 33% 503 error rate use "...&status=503:33" or "...&status=503:33%25" in the UI (this is to fix #181) - Thanks @sayedasadali for the PR #203.

  • added go version in fortio version output (version.Long())

  • changed -httpreqtimeout flag to just -timeout

  • solved README.md wrapping of fortio command help text using new release/updateFlags.sh

  • Allow fnet.Resolve() to work with already resolved [Ipv6]:port

  • Fixed Runner (http client) leak (in UI)

  • Overall more consistent handling of initial bind error, exit without panic/logFatal

All the changes: v0.7.3...v0.8.0

Don't miss a new fortio release

NewReleases is sending notifications on new releases.