Skip to content

Releases: FindHotel/analytics-go

v3.8.4

12 Sep 13:47
a558db7
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v3.8.3...v3.8.4

v3.8.3

07 Jun 12:27
a4500ec
Compare
Choose a tag to compare

What's Changed

New Contributors

  • @skr1n made their first contribution in #16

Full Changelog: v3.8.2...v3.8.3

v3.8.2

06 Apr 11:58
c5da9a7
Compare
Choose a tag to compare

What's Changed

Full Changelog: 3.8.1...v3.8.2

fix bug in reporter

03 Mar 11:23
8545abd
Compare
Choose a tag to compare

What's Changed

  • run goimport on s3clientconfig.go by @xesina in #13
  • recover from panic in analytics go by @lev112 in #14

New Contributors

Full Changelog: 3.8.0...3.8.1

Add support of accepting aws session in s3client

15 Apr 13:52
7e7760a
Compare
Choose a tag to compare
  • Added support for injecting aws s3client when using the NewS3ClientWithConfig

3.7.0

13 Nov 11:21
4300fec
Compare
Choose a tag to compare

Performance and memory usage improvement in S3Client:

Add new analytics.TrackObjLess which allows control of sent fields

Add UnwrappedMessage flag in S3 config to remove the context of an event if not needed.

3.6.0

16 Sep 08:56
11411b8
Compare
Choose a tag to compare

Performance and memory usage improvement in S3Client:

  • Doesn't store Message before sending it to S3

  • Messages are serialized and gzipped directly to the buffer (before lib was aggregating them in memory)

  • Added a file buffer support, it allows us to put 100 MiB gzipped files (gunzipped 1.5gb) with a really small memory footprint.

Usage of file buffer examples:

package main

import "github.com/FindHotel/analytics-go"

func main() {
    client, err := analytics.NewS3ClientWithConfig(analytics.S3ClientConfig{
	Config: analytics.Config{},
	S3: analytics.S3{
		Stage:  "dev",
		Stream: "tuna",
                BatchFilePath: "/tmp/events.tmp"
	},
    })
    if err != nil { // ALWAYS check for errors!
        panic(err)
    }

    // This will go to tuna stream
    client.Enqueue(analytics.Track{
        UserId: "test-user",
        Event:  "OfferFound",
    })

    // Flushes any queued messages and closes the client - DON'T forget this step.
    tunaClient.Close()
}

3.5.0

05 Apr 10:22
22a8b9e
Compare
Choose a tag to compare

Adds S3 Transport support - the client uploads events directly to S3.

Usage examples:

package main

import "github.com/FindHotel/analytics-go"

func main() {
    client, err := analytics.NewS3ClientWithConfig(analytics.S3ClientConfig{
	Config: analytics.Config{},
	S3: analytics.S3{
		Stage:  "dev",
		Stream: "tuna",
		},
	},
    })
    if err != nil { // ALWAYS check for errors!
        panic(err)
    }

    // This will go to tuna stream
    client.Enqueue(analytics.Track{
        UserId: "test-user",
        Event:  "OfferFound",
    })

    // Flushes any queued messages and closes the client - DON'T forget this step.
    tunaClient.Close()
}

3.4.1

17 Jan 17:56
Compare
Choose a tag to compare

Changelog:

  • Fix hanging goroutine which submits metric

3.4.0

17 Jan 11:45
Compare
Choose a tag to compare

Changelog:

  • Make reporters optional
  • Send metrics to DataDog in batches
  • Add Travis CI