Published on August 20, 2022

Monitor when a new feature is used in your Go application

Monitor when a new feature is used in your Go application

As developers, we always look for ways to improve our Go products. To do so, we are constantly looking for ways to provide more value to our users and improve their experience.

For example, I am sure you have heard of the term "feature flag" before. A feature flag is a way to enable or disable a feature in your application. This is a great way to test new features and ensure they work as expected before releasing them to your users.

However, adding a new feature is just the first step. Once we have released the feature, we must ensure that our users are using it. We must confirm whether the feature is useful and whether our users are using and benefiting from it.

LogSnag is an excellent tool for this problem as it trivializes integrating with your Go application and tracking events. With LogSnag, we can easily track any critical event in our application and monitor user activity when a new feature is released, all in real-time.

For example, let's say we're building a Go application that allows our users to upload files, and we want to add a new feature that allows users to share these files with other users directly. We can use LogSnag to track an event when a user shares a file with another user. We can then use this to monitor how often this feature is being used and even go further and track user journeys to see how they use it.


Setting up LogSnag

  1. Sign up for a free LogSnag account.
  2. Create your first project from the dashboard.
  3. Head to settings and copy your API token.

Go code snippets

Simply use the following code snippets to monitor your new features using LogSnag. Make sure to replace the YOUR_API_TOKEN with your API token and update the project and channel names.

Using Go with Native
package main

import (
  "fmt"
  "strings"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://api.logsnag.com/v1/log"
  method := "POST"

  payload := strings.NewReader(`{"project":"my-saas","channel":"features","event":"User Shared File","description":"User shared a file with another user","icon":"📩","notify":true}`)

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, payload)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Content-Type", "application/json")
  req.Header.Add("Authorization", "Bearer YOUR_API_TOKEN")

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}

Go integration details

LogSnag is a use-case agnostic event tracking tool that easily integrates with any Go application. It provides powerful features such as real-time event tracking, cross-platform push notifications, event filtering, user and product journeys, charts and analytics, and much more.

Here at LogSnag, we believe that event tracking should be easy and accessible to everyone, and that's why we have made it trivial to integrate with your Go application. It only takes a few minutes to set up LogSnag, and you can start tracking events in no time.

We provide a generous free plan to get you started with event tracking! You can also check out our pricing page to see our paid plans. So please give us a try and let us know what you think!

Other use-cases for LogSnag

  1. Monitor your CI/CD build status for your Go application
  2. Monitor your CPU usage in your Go application
  3. Monitor when database goes down in your Go application
  4. Monitor high disk usage in your Go application
  5. Monitor when a user changes their email address in your Go application
  6. Monitor failed logins in your Go application
  7. Monitor failed payments for your Go application
  8. Monitor memory usage in your Go application
  9. Monitor MySQL downtime in your Go application
  10. Monitor your Postgres downtime in your Go application
  11. Monitor Redis downtime in your Go application
  12. Monitor suspicious activity in your Go application
  13. Monitor when a user exceeds the usage limit for your Go service
  14. Monitor when a user is being rate limited in your Go application
  15. Get a notification when your Go code is done executing
  16. Send push notifications to your phone or desktop using Go
  17. Track canceled subscriptions in your Go application
  18. Track your Go cron jobs
  19. Track when a file is uploaded to your Go application
  20. Track when a form is submitted to your Go application
  21. Track payment events via Go
  22. Track user sign in events in Go
  23. Track user signup events via Go
  24. Track waitlist signup events via Go
View all common use-cases with Go