on Wed, Nov 09, 2016 by Lee Archer · 3 min reading time
Prometheus is a great metrics monitoring system and works particularly well with Go where a web application is usually a single process behind nginx.
With Python and gunicorn it gets quite complicated as there are several instances of the same web app. If you use gunicorn and follow the default instructions on integrating the Python client for Prometheus you will end up with useless metrics as gunicorn will load balance the /metrics endpoint between each gunicorn worker.
Read more →
on Sun, Jun 19, 2016 by Lee Archer · 2 min reading time
gRPC gRPC is an incredibly powerful alternative to JSON-RPC and all kinds of custom RESTful APIs we invent for microservice communication.
You define message types and service methods in an IDL called Protocol Buffers. These protobuf files are used to generate client and server code for your target language.
Protobuf message types get transpiled to structs in Go. If you use something like sqlx to query a database and return the result over gRPC you would have to add custom tags to your structs to specify which struct fields correspond to which database fields.
Read more →
on Fri, Jun 03, 2016 by Lee Archer · 3 min reading time
Have you ever wanted to export all Slack logs for your team but you are just too awkward to ask one of your team admins to export everything properly? Now there is a solution.
I have written a Python script called slack-exporter (I’m good with original names as you can see) that allows you to do exactly that but as a regular user with no access to Slack’s official export page.
Read more →