---
title: "#155: How to Ship Production-Grade Go"
publication: "Go Weekly"
issue: 155
published_at: "2017-04-13"
canonical_url: "https://golangweekly.com/issues/155"
---

Go Newsletter 155   . 

[Read this on the Web](http://golangweekly.com/issues/155) 

[Go Newsletter](http://golangweekly.com) Issue 155 — April 13, 2017     

Featured [See What Your Program Is Really Doing With 'go tool trace'](https://making.pusher.com/go-tool-trace/?utm_source=golangweekly&utm_medium=email) If you haven’t used it yet, this is a good look at a handy Go tool for monitoring your program’s usage of goroutines, memory, threads, and more. Will Sewell [How to Ship Production-Grade Go](https://www.oreilly.com/ideas/how-to-ship-production-grade-go?utm_source=golangweekly&utm_medium=email) A look at several things you can do to make your code more robust, debuggable, and ready for production. Kavya Joshi [Go's Realtime Garbage Collector](https://pusher.com/sessions/meetup/the-realtime-guild/golangs-realtime-garbage-collector?utm_source=golangweekly&utm_medium=email) video In 35 minutes, see how and why Go’s garbage collector works, what the tricolor algorithm is, and how it compares with GC in other languages. Jim Fisher and Will Sewell [Multiplexing Golang Channels to Maximize Throughput](https://engineering.mongodb.com/post/multiplexing-golang-channels-to-maximize-throughput?jmp=cpress&utm_campaign=WW_CP_newsletter_sponsorship_FY17Q2&utm_content=sponsored&utm_medium=&utm_source=gonewsletter) While rewriting our database backup utility, mongodump, we utilized a “divide-and-multiplex” method to marry a high-throughput concurrent workload with a serial output. [Check it out](https://engineering.mongodb.com/post/multiplexing-golang-channels-to-maximize-throughput?jmp=cpress&utm_campaign=WW_CP_newsletter_sponsorship_FY17Q2&utm_content=sponsored&utm_medium=&utm_source=gonewsletter). MONGODBsponsored[![\](https://copm.s3.amazonaws.com/8be7224e.png)](https://engineering.mongodb.com/post/multiplexing-golang-channels-to-maximize-throughput?jmp=cpress&utm_campaign=WW_CP_newsletter_sponsorship_FY17Q2&utm_content=sponsored&utm_medium=&utm_source=gonewsletter) [Go's New Developer Experience Working Group](https://blog.golang.org/developer-experience?utm_source=golangweekly&utm_medium=email) To improve the experience for new Go users, a formal Developer eXperience Working Group (DXWG) has been set up. The Go Project [As of Go 1.9, the 'past two releases' will be actively supported](https://github.com/golang/go/issues/19734?utm_source=golangweekly&utm_medium=email#issuecomment-292588856) For example, when 1.9 is out, 1.8 and 1.9 will get active updates. When 1.10 is out, 1.10 and 1.9 will, and so on. Russ Cox Jobs [Go Backend Engineer (Berlin, Germany)](http://berlinstartupjobs.com/engineering/golang-back-end-engineer-fm-fraugster/) Fraugster [Work on Interesting Projects in Go](https://hired.com/join/?utm_source=petercooperpress&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-swe%29%28q2-17-go-weekly%29&utm_content=newsletter) Save time on your job search. Hired delivers multiple offers to you. Hired In Brief [Go 1.8.1 Released: A Minor Bugfix Release](https://groups.google.com/d/msg/golang-nuts/KO2t50AYo9I/OrAIW60dCgAJ?utm_source=golangweekly&utm_medium=email) news Chris Broadfoot [Hugo 0.20 Released: The Static Site Generator Gains Custom Output Formats](http://bepsays.com/en/2017/04/10/hugo-20/?utm_source=golangweekly&utm_medium=email) news bepsays.​com [net's 'aLongTimeAgo' Changed From 1977 to 1970](https://github.com/golang/go/commit/6983b9a57955fa12ecd81ab8394ee09e64ef21b9?utm_source=golangweekly&utm_medium=email) news Was originally set to the release date of Star Wars. github.​com [Testing HTTP Handlers in Go](https://lanreadelowo.com/blog/2017/04/08/testing-http-handlers-go/?utm_source=golangweekly&utm_medium=email) tutorial Adelowo Lanre [Optimizing Algorithms in Go for Machine Learning](http://www.jamesbowman.me/post/optimising-machine-learning-algorithms/?utm_source=golangweekly&utm_medium=email) tutorial James Bowman [Introducing NATS to Go Developers](https://medium.com/@shijuvar/introducing-nats-to-go-developers-3cfcb98c21d0?utm_source=golangweekly&utm_medium=email) tutorial [NATS](http://nats.io/) is a messaging system for building distributed systems. Shiju Varghese [Webhooks Made Easy: Processing a GitHub Webhook from Go](https://medium.com/@joeybloggs/webhooks-made-easy-3dbcb7a585e7?utm_source=golangweekly&utm_medium=email) tutorial Dean Karn [How to monitor Go apps](https://www.datadoghq.com/monitor-go/?utm_source=golangweekly&utm_medium=email&utm_campaign=CooperPress-GoWeekly&utm_content=Go) Graph and alert on real-time Golang metrics, and correlate with data from 150+ other technologies across your stack. Datadogsponsored [Building High Performance APIs in Go with gRPC and Protocol Buffers](https://www.youtube.com/watch?v=z842jxafB7Y&utm_source=golangweekly&utm_medium=email) video Shiju Varghese [Go for Object-Oriented Developers: Mapping OO Concepts to Go](http://www.activestate.com/blog/2017/03/go-object-oriented-developers?utm_source=golangweekly&utm_medium=email) opinion Tom Radcliffe [gops: List and Diagnose Currently Running Go Processes](https://github.com/google/gops?utm_source=golangweekly&utm_medium=email) tools Google [Autoscaling for your Heroku dynos](https://www.hirefire.io?utm_source=golangweekly&utm_medium=email) tools Automatically scale up and down to handle increased workloads and avoid wasting money on idle resources. HireFiresponsored [CommonRegex: A Collection of Common Regular Expressions for Go](https://github.com/mingrammer/commonregex?utm_source=golangweekly&utm_medium=email) code Covers dates, GUIDs, IP addresses, ISBNs, and similar. github.​com [godet: A Remote Client for Chrome DevTools](https://github.com/raff/godet?utm_source=golangweekly&utm_medium=email) code Chrome can be monitored and controlled via the [Chrome Debugger Protocol.](https://developer.chrome.com/devtools/docs/debugger-protocol) Raffaele Sena [govalidator: Validators and Sanitizers for Strings, Structs and Collections](https://github.com/asaskevich/govalidator?utm_source=golangweekly&utm_medium=email) code Alex Saskevich [GoRuby: An Attempt At Implementing Ruby in Go](https://github.com/goruby/goruby?utm_source=golangweekly&utm_medium=email) code Very early days but fun to see the attempt. GoRuby [HttpRouter: A High Performance HTTP Request Router That Scales Well](https://github.com/julienschmidt/httprouter?utm_source=golangweekly&utm_medium=email) code Julien Schmidt [Gobot 1.4 Released: The Go Robotics/IoT Framework](https://gobot.io/blog/2017/04/13/gobot-1.4-spring-cleaning/?utm_source=golangweekly&utm_medium=email) code Ron Evans    

Go Newsletter is curated by [Peter Cooper](https://twitter.com/peterc) and [Glenn Goodrich](https://twitter.com/ruprict) [Read this issue on the Web](http://golangweekly.com/issues/155) [See our archives](http://golangweekly.com/issues) [Change your email address](*|UPDATE_PROFILE|*)  [Stop getting this newsletter](*|UNSUB|*)  

Published by [Cooperpress](https://cooperpress.com/)
Fairfield Enterprise Centre, Lincoln Way, Louth, LN11 0LS, UK
