---
title: "Turn Go's benchmark output into charts"
publication: "Go Weekly"
issue: 285
published_at: "2019-10-25"
canonical_url: "https://golangweekly.com/issues/285"
---

The latest Go development news       

#285 — October 25, 2019 

[Read on the Web](https://golangweekly.com/issues/285)   

Golang Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/hct7lgdcvwg23yjxj6wj.jpg)](https://github.com/cep21/benchdraw)   

[Benchdraw: A CLI to Turn Benchmark Output Into Pictures](https://github.com/cep21/benchdraw) — Create easier-to-read picture plots from data output in Go’s benchmark output format. 

Jack Lindamood   

[Fuzz Testing in Go](https://medium.com/a-journey-with-go/go-fuzz-testing-in-go-deb36abc971f) — Fuzz testing (or _fuzzing_) is a testing technique where a program or function is provided with large amounts of random input in order to test its resilience. This post demonstrates the basic use of a fuzzing tool on Go code. 

Vincent Blanchon   [![\](https://copm.s3.amazonaws.com/80ed9e87.png)](https://semaphoreci.com/product/?utm_source=golangweekly&utm_medium=cpc&utm_campaign=golangweekly-semaphore-2-0-20191024) 

[Try the Fastest CI/CD Solution for Free](https://semaphoreci.com/product/?utm_source=golangweekly&utm_medium=cpc&utm_campaign=golangweekly-semaphore-2-0-20191024) — Faster CI/CD means greater productivity for your team and a better experience for your users. Automate your CI/CD pipeline with Semaphore to release 2x faster than with other platforms. 

Semaphore 2.0 sponsor   

[Dapr: Microsoft's New, Portable, Event-driven, Runtime for Distributed Apps](https://dapr.io/) — Dapr provides building blocks for microservices and is language-agnostic (though it’s [built in Go](https://github.com/dapr/dapr) which is kinda cool). It also provides bindings for common infrastructure items, such as pub/sub messaging. There’s more detail in the [announcement blog post.](https://cloudblogs.microsoft.com/opensource/2019/10/16/announcing-dapr-open-source-project-build-microservice-applications/) 

Microsoft   

[Go 1.13.3 and Go 1.12.12 Released](https://groups.google.com/d/msg/golang-announce/R3XK-Wf-Mtk/B2Hc62kuCgAJ) — Two new point releases on the back of those we mentioned last week, though focused on fixes this time rather than security updates. 

Alex Rakoczy   

[Handling Panics in Go](https://www.digitalocean.com/community/tutorials/handling-panics-in-go) — From their “How To Code in Go” series (which is excellent), you’ll learn about the structure of panics along with how to detect and `recover` from them. 

DigitalOcean   

[Proposal: Scaling The Go Page Allocator](https://go.googlesource.com/proposal/+/refs/changes/57/202857/2/design/35112-scaling-the-page-allocator.md) — The claim is the page allocator has scalability issues in apps “_with a high rate of heap allocation and a high GOMAXPROCS_” This is pretty techy, so govern yourself accordingly. 

Michael Knyszek & Austin Clements  

💻 Jobs  

[Software Engineer / Founding Teammate](https://stackoverflow.com/jobs/282662/software-engineer-founding-teammate-markup) — A well funded, fast-moving startup that is changing the way large teams collaborate on documents. Think: GitHub for documentation. 

Markup   

[Stream Is Hiring a Go Engineer in Beautiful Amsterdam](https://angel.co/company/stream/jobs/241159-backend-software-engineer-go) — Enjoy building high-performance infrastructure at scale? Apply to work in our Stream Amsterdam office now. 

Stream   

[Have You Tried Vettery?](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-golangweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-77582) — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started. 

Vettery  

📘 Articles & Tutorials  

[Creating Tray Icons using Go in Windows](https://hallazzang.github.io/post/go-tray-icons/) — A detailed demonstration of creating a tray icon that persists in the Windows taskbar while your program is running. 

Hanjun Kim   

[Writing a TCP Scanner in Go](https://developer20.com/tcp-scanner-in-go/) — Covers the basics of creating a simple port scanner with Go. I’d advise running it against your own machine(s) and not Google though 😬 

Bartłomiej Klimczak   

[Automate Your Release Notes With Next Release](https://www.nextrelease.io?utm_source=go_newsletter&utm_medium=newsletter&utm_campaign=2019-Q4&utm_content=automate-release) — With three clicks, start automatically generating release notes from your GitHub pull requests, share to Slack, and cut releases effortlessly. 

Next Release sponsor   

▶[Discussing Caching in Go with Manish Jain and Karl McGuire](https://changelog.com/gotime/103) — Four Go developers discuss the role of caching. What are caches, hit rates, admission policies, and why do they matter? 

Go Time Podcast podcast   

[Migrating `pkg/errors` to Go 1.13 Errors](https://mycodesmells.com/post/migrating-pkg-errors-to-go-113-errors) — One developer’s experience in migrating towards Go 1.13’s approach to error handling. 

Paweł Słomka   

[A Small Irritation with Go's `crypto/tls` Package](https://utcc.utoronto.ca/~cks/space/blog/programming/GoTLSNoStringIssue) 

Chris Siebenmann   

[Fun with Concurrency in Golang](https://www.alexsears.com/2019/10/fun-with-concurrency-in-golang/) — Handling multiple web servers, including graceful shutdowns, in order to demonstrate Go’s concurrency story. 

Alex Sears   

[How to Parse a JSON Request Body in Go](https://www.alexedwards.net/blog/how-to-properly-parse-a-json-request-body) 

Alex Edwards  

🛠 Code & Tools  

[go-sx: Simple SQL Extensions for Go](https://github.com/travelaudience/go-sx) — Aims to eliminate boilerplate around working with transactions, error handling, scanning and iterating over query result sets, and more, but _without_ being an ORM. 

travel audience   

[yaml2go: Convert YAML to Go Type Definitions](https://yaml2go.prasadg.dev/) — You can either use it as an online tool, as here, or [grab a copy](https://github.com/PrasadG193/yaml2go) and deploy it yourself. 

Prasad Ghangal   

[Convert cURL Commands to Go Code](https://curl.trillworks.com/#go) — Uses `net/http` and puts all the headers in, etc. It also supports Python, PHP, Node.js, and other languages. 

Nick Carneiro   

[Managed PostgreSQL by DigitalOcean](https://try.digitalocean.com/managed-databases-postgresql/?medium=display&utm_source=cooperpress&utm_campaign=MDB_Dev_Signup_Cold_GoNewsletter10-24-2019) 

DigitalOcean sponsor   

[Slug: URL-Friendly Slug Creator with Multiple Language Support](https://github.com/gosimple/slug) — For example: `slug.Make("Hellö Wörld хелло ворлд")` creates `"hello-world-khello-vorld"`. 

GoSimple   

[Go JOSE: An Implementation of JOSE (JavaScript Object Signing and Encryption) Standards](https://github.com/square/go-jose) — Covers technologies like JSON Web Encryption (JWE), JSON Web Signature (JWS) and the perhaps best known JSON Web Tokens (JWT). 

Square   

[go-imap: An IMAP4 Library for Clients and Servers](https://github.com/emersion/go-imap) 

Simon Ser   

[SFTPGo: A Full Featured SFTP Server Built in Go](https://github.com/drakkan/sftpgo) 

drakkan     

⚡️ Quick Releases 

- [Hugo 0.59.0](https://github.com/gohugoio/hugo/releases/tag/v0.59.0) — Popular site generation tool.
- [Delve 1.3.2](https://github.com/go-delve/delve) — Go debugging tool.
- [Zap 1.11.0](https://github.com/uber-go/zap) — Fast, structured, leveled logging.
- [LDAP 3.1](https://github.com/go-ldap/ldap) — LDAP v3 client library.
- [Micro 1.12.0](https://github.com/micro/micro/releases/tag/v1.12.0) — Microservice development runtime.          

Curated by [Glenn Goodrich](https://twitter.com/ruprict) and [Peter Cooper](https://twitter.com/peterc). 

[Change your email address](https://golangweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://golangweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
