Skip to content

Releases: fortio/fortio

fortio v0.7.2

01 Mar 02:30
d095dd0
Compare
Choose a tag to compare

New Features and Changes:

  • #152 You can now trigger GRPC load runs from the UI too (thanks @sayedasadali) - result UI isn't complete yet though.
  • #155 Support for port 0 for http server (will print which available system port it binds too) (thanks @olimpias)
  • #153 Sorted headers (thanks @SeriyBg)
  • #83 Histogram bucket lookup is now optimized to use less memory (thanks @olimpias)
  • #156 fortio version now returns details version and build information (fortio version -s returns the short version) a version that doesn't exactly match the release tag will always have X.Y.Z-pre instead of X.Y.Z

Bug fix:

  • #167 When using the standard client and/or the UI, connections and go routines would sometimes leak causing fortio server UI to eventually run out of file descriptors.

fortio v0.7.1

22 Feb 01:11
56d9eab
Compare
Choose a tag to compare

Bug fix:

Many thanks to @danehans for noticing that -H (custom headers flag) got broken recently for the command line, the library and its unit tests wasn't affected/was working. Fixed in #150 including regression tests both unit and e2e (webtest).

New feature:

new /debug/pprof/ standard go pprof endpoint for perf analysis of fortio itself as a server (in addition to the already long existing -profile command line argument).

fortio v0.7.0

21 Feb 07:00
3f63577
Compare
Choose a tag to compare

Big changes in this release since 0.6.9 🎉:

  • #144: New size= option to the server features, it let's you pick the probabilities of payload sizes. The echo server will return the requested size pseudo random bytes (always the same for same size, the max payload (256k) is generated once at init()). This is useful to test performance at different reply sizes - fixed #131

  • #138: GRPC client (grpcping and load -grpc commands) can now take -grpc-secure to use TLS:

    $ fortio load -grpc -grpc-secure -quiet fortio.istio.io:443
    Fortio 0.7.0 running at 8 queries per second, 8->8 procs, for 5s: fortio.istio.io:443
    Aggregated Function Time : count 40 avg 0.06262525 +/- 0.003671 min 0.058682924 max 0.08137546 sum 2.50500999
    # target 50% 0.065
    # target 75% 0.0677778
    # target 90% 0.0694444
    # target 99% 0.0808253
    # target 99.9% 0.0813204
    Health SERVING : 40
    All done 40 calls (plus 4 warmup) 62.625 ms avg, 7.9 qps
    

    fixed #137

  • Also #138: https client now supports --https-insecure (or HTTPOptions.Insecure when using the library) to accept to connect using https with mismatching certs - fixed #106

  • #136: Build system update and version update to embed version and build info (check docker run istio/fortio:0.7.0 version compared with 0.6.9. You can also find this info on the /debug URL. Any non official build not matching the exact tag will contain "-pre". Updated release/README.md

fortio v0.6.9

17 Feb 18:56
1b38faa
Compare
Choose a tag to compare

What's new in fortio since 0.6.8

  • Switched fortio to using dep and a vendor submodule (for the 1 external dependency it has: grpc) (#123 ...)

    If you are a developer / not using the binary releases, please do make pull to update from now on.

    Updated the build image (now v5) to use go1.8.7, from 1.8.5 (and not have grpc which is now vendored)

  • Added p90 to the default list of calculated and graphed percentiles

  • -redirect-port now also supports the bind address (#129)

  • Critical Bug fix:

    Fixed panic when first chunk length wasn't read along with the http headers, added regression test, increased coverage (#132)

fortio v0.6.8

10 Feb 02:17
Compare
Choose a tag to compare

#111

  • Added a -base-url optional argument for the data transfer tsv index base url

the goal of this is to make data created through
https://github.com/istio/istio/blob/master/tools/perf_k8svcs.yaml
to be fetchable using the sync index.tsv api

#109 & #114 & #120

  • You can now restrict the binding address for the http and grpc servers by using addr:port instead of just port in -http-port and -grpc-port
  • For GRPC you can how override the default port also by using host:port on the destination/command line

#119

  • slightly less verbose output by default

#121

  • Fix for UI mode abort causing double close panic

Also doc updates

Many thanks to @danehans for his contributions to this release !

fortio v0.6.7

26 Jan 01:52
9b7c510
Compare
Choose a tag to compare

New features:

#104:

Search/Filter in the browse results UI

#102:

Auto switch client when using https, allow curl as subcommand, allow http:// to be missing

so one can

fortio load www.google.com and fortio load https://www.google.com
and ditto for curl

without getting

21:18:32 E http.go:298> Only http is supported with the optimized client, use -stdclient for url www.google.com

Also added favicon and slight change in how charts are displayed/errors are handled

Also fixed a bug where early errors such as a bad URL would leak watcher gorountines

screen shot

fortio v0.6.6

25 Jan 01:40
7ecabb2
Compare
Choose a tag to compare

Bug fix for docker based sync: #101 data dir was not used correctly when -syncing

Fix found/for istio/fortio-deployment#32

fortio v0.6.5

24 Jan 02:00
3b7d547
Compare
Choose a tag to compare

New features:
#96

Xml/AWS S3/Google cloud bucket import (so data saved earlier using #62 can be retrieved/reported and we don't need a persistent volume to achieve durability of the results)

New -sync url command line to trigger that initial download before the (report) server comes up

Bug fixes:

#94: panic with bad url
#100: NaN causing json serialization panics

fortio v0.6.4

19 Jan 19:42
4714a91
Compare
Choose a tag to compare

Our best release ever ;-)

New since 0.6.3:

  • Added a -quiet mode to fortio command line + misc bug fixes (#86)
  • Fixed a bug where -json - was sending some of the header to
    stdout/mixed with json
  • Fixed bug with echo-ing back POST data and added test for that
  • DynamicHTTP now returns the mux so multiple handler can be set for
    same path on different ports/servers. Also easier to write independent
    tests.
  • Fixed bug where fast client -H Foo:v1 -H Foo:v2 would loose v2 and
    added test for that
  • Updated README to document server modes and param a bit more (and
    found the above bugs with echo etc)
  • Fixed some test/logging data races with the global abort channel

Example:

$ fortio load -quiet -n 12  http://localhost:8080/
Fortio 0.6.4 running at 8 queries per second, 8->8 procs, for 12 calls: http://localhost:8080/
Aggregated Function Time : count 12 avg 0.00042976883 +/- 0.0002144 min 0.0001487 max 0.000732863 sum 0.005157226
# target 50% 0.000414229
# target 75% 0.000573546
# target 99% 0.00072649
# target 99.9% 0.000732226
Code 200 : 12 (100.0 %)
All done 12 calls (plus 0 warmup) 0.430 ms avg, 8.0 qps
  • Tsv Fetching (#90)

The fortio control UI lets you fetch the index.tsv produced by any other fortio to download those results locally for backup or future browsing:

sync screen shot

fortio v0.6.3

17 Jan 05:37
369a81e
Compare
Choose a tag to compare

Changes since v0.6.2:

Bug fix #84 from #65

Fix for timeout not set when not calling Init()

  • Also always call Init through http runner and make Init callable more than once

  • Also reduced a bit log flood by moving some logging from info to verbose level