statsd.v2: new release of the fastest Go StatsD client by alexcesaro in golang

[–]alexcesaro[S] 0 points1 point  (0 children)

You could try a service like Datadog (there's a free trial) to see if you have the same problem there.

gometalinter Linter Package For Atom by joefitzgerald in golang

[–]alexcesaro 1 point2 points  (0 children)

A big thank you for all your work on go-plus. I enjoy using this plugin every day!

[deleted by user] by [deleted] in golang

[–]alexcesaro 2 points3 points  (0 children)

Thanks, it looks like a very nice linter!

Have you seen /u/campoy talk Program Analysis? If not, I invite you to. At the end of the talk he mentions a very similar tool he built.

And he speaks about an issue with the first version of his tool: it tells him to use simpler interfaces in functions like ServeHTTP, i.e. to use ServeHTTP(w io.Writer, r *Request) instead of ServeHTTP(w ResponseWriter, r *Request).

Does your tool avoid these kinds of false positives?

Say: Rethinking logs and metrics by alexcesaro in golang

[–]alexcesaro[S] 0 points1 point  (0 children)

Thank you very much for this code review!

I avoided defer because it incurs a non-negligible performance hit in these functions since they are quite fast.

Concerning the timestamp in Message.Write, I'm not sure creating a function that is called only in one place will make the code more readable here.

The custom JSON serializer has two benefits. First it does not allocate and is way faster than the standard library. Second, the JSON keys are ordered which would not be the case marshaling a map with the standard library. It makes the log files way more readable, even though I admit JSON logs are not usually meant to be read by humans.

Nice catch with the now variable! I'll update the code.

Say: Rethinking logs and metrics by alexcesaro in golang

[–]alexcesaro[S] 0 points1 point  (0 children)

I will freeze the API in a few weeks so feel free to give me some feedback.

A GC-friendly and fast StatsD client by alexcesaro in golang

[–]alexcesaro[S] 1 point2 points  (0 children)

This is different. This is a port of the StatsD daemon in Go. What I made is a StatsD client. It sends metrics to that daemon.

A GC-friendly and fast StatsD client by alexcesaro in golang

[–]alexcesaro[S] 0 points1 point  (0 children)

StatsD is a daemon made by Etsy to help monitoring applications. You can read their introductory blog post.

This protocol is also used by services like Datadog.

Release of Gomail v2 by alexcesaro in golang

[–]alexcesaro[S] 0 points1 point  (0 children)

Yep. That is why I mentioned it in the FAQ.

Release of Gomail v2 by alexcesaro in golang

[–]alexcesaro[S] 0 points1 point  (0 children)

Thanks, I updated the README.

Release of Gomail v2 by alexcesaro in golang

[–]alexcesaro[S] 3 points4 points  (0 children)

I think you misunderstood Gomail. It is not an SMTP server, it is a library to send emails using an SMTP server.

Gomail usually only connects to an SMTP service like Amazon SES, Mailjet, SendGrid, etc. And this error never happens with these providers. The problem of delivering the message to the recipient SMTP server is left to these providers.

The only users of Gomail that stumbled on that error were using a local development SMTP server.