diff --git a/.github/workflows/generate.yaml b/.github/workflows/generate.yaml
index a5977228e..6b151758c 100644
--- a/.github/workflows/generate.yaml
+++ b/.github/workflows/generate.yaml
@@ -1,3 +1,4 @@
+---
name: generate-mock
on:
pull_request:
@@ -6,16 +7,18 @@ jobs:
native:
strategy:
matrix:
- runs-on: [ ubuntu-latest, windows-latest]
+ runs-on:
+ - ubuntu-latest
+ - windows-latest
fail-fast: false
runs-on: ${{ matrix.runs-on }}
steps:
- name: Setup go
uses: actions/setup-go@v2
with:
- go-version: 1.16
+ go-version: 1.19
- name: Checkout code
uses: actions/checkout@v2
- - run: go install github.com/golang/mock/mockgen
+ - run: go install github.com/golang/mock/mockgen@v1.6.0
- run: go generate statsd/statsd.go
- run: git diff --exit-code HEAD
diff --git a/README.md b/README.md
index 1bc0133fa..b33e429ca 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@
`datadog-go` is a library that provides a [DogStatsD](https://docs.datadoghq.com/developers/dogstatsd/?code-lang=go) client in Golang.
-Go 1.12+ is officially supported. Older versions might work but are not tested.
+Go 1.16+ is officially supported. Older versions might work but are not tested.
The following documentation is available:
@@ -33,6 +33,9 @@ The following documentation is available:
- [Tweaking kernel options](#tweaking-kernel-options)
+ [Unix Domain Sockets](#unix-domain-sockets)
- [Maximum packets size in high-throughput scenarios](#maximum-packets-size-in-high-throughput-scenarios)
+* [Support Policy](#support-policy)
+* [Supported Versions](#supported-versions)
+ - [Package Versioning](#package-versioning)
* [Development](#development)
* [License](#license)
* [Credits](#credits)
@@ -227,6 +230,48 @@ func main() {
}
```
+### Support Policy
+
+`datadog-go` is built upon dependencies defined in specific versions of the host operating system, Go releases, and the Datadog Agent/API. For Go the two latest releases are [GA](#support-ga) supported and the version before that is in [Maintenance](#support-maintenance). We do make efforts to support older releases, but generally these releases are considered [Legacy](#support-legacy). This library only officially supports [first class ports](https://github.com/golang/go/wiki/PortingPolicy#first-class-ports) of Go.
+
+| **Level** | **Support provided** |
+|--------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| General Availability (GA) | Full implementation of all features. Full support for new features, bug & security fixes. |
+| Maintenance | Full implementation of existing features. May receive new features. Support for bug & security fixes only. |
+| Legacy | Legacy implementation. May have limited function, but no maintenance provided. [Contact our customer support team for special requests.](https://www.datadoghq.com/support/) |
+
+### Supported Versions
+
+| **Go Version** | **Support level** |
+|----------------|-------------------------------------|
+| 1.18 | [GA](#support-ga) |
+| 1.17 | [GA](#support-ga) |
+| 1.16 | [Maintenance](#support-maintenance) |
+
+* Datadog's Agent v6+
+
+
+#### Package Versioning
+
+A **Minor** version change will be released whenever a new version of Go is released. At that time the newest version of Go is added to [GA](#support-ga), the second oldest supported version moved to [Maintenance](#support-maintenance) and the oldest previously supported version dropped to [Legacy](#support-legacy).
+**For example**:
+For a * `datadog-go` version v5.2.*
+
+| Go Version | Support |
+|------------|-------------------------------------|
+| 1.18 | [GA](#support-ga) |
+| 1.17 | [GA](#support-ga) |
+| 1.16 | [Maintenance](#support-maintenance) |
+
+Then after Go 1.19 is released there will be a new dd-trace-go version v5.3.0 with support:
+
+| Go Version | Support |
+|------------|-------------------------------------|
+| 1.19 | [GA](#support-ga) |
+| 1.18 | [GA](#support-ga) |
+| 1.17 | [Maintenance](#support-maintenance) |
+| 1.16 | [Legacy](#support-legacy) |
+
## Development
Run the tests with:
diff --git a/go.sum b/go.sum
index a9d41d18b..6a844d057 100644
--- a/go.sum
+++ b/go.sum
@@ -17,7 +17,6 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/mod v0.4.2 h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
@@ -37,11 +36,9 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.1.1 h1:wGiQel/hW0NnEkJUk8lbzkX2gFJU6PFxf1v5OlCfuOs=
golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
diff --git a/statsd/benchmark_report_metric_noop_test.go b/statsd/benchmark_report_metric_noop_test.go
index 8e1cabd87..837e91d5a 100644
--- a/statsd/benchmark_report_metric_noop_test.go
+++ b/statsd/benchmark_report_metric_noop_test.go
@@ -1,3 +1,4 @@
+//go:build !go1.13
// +build !go1.13
package statsd_test
diff --git a/statsd/benchmark_report_metric_test.go b/statsd/benchmark_report_metric_test.go
index dcf0f522a..cb7325e14 100644
--- a/statsd/benchmark_report_metric_test.go
+++ b/statsd/benchmark_report_metric_test.go
@@ -1,3 +1,4 @@
+//go:build go1.13
// +build go1.13
package statsd_test
diff --git a/statsd/end_to_end_uds_test.go b/statsd/end_to_end_uds_test.go
index be4f4b9a3..7f15f1a37 100644
--- a/statsd/end_to_end_uds_test.go
+++ b/statsd/end_to_end_uds_test.go
@@ -1,3 +1,4 @@
+//go:build !windows
// +build !windows
package statsd
diff --git a/statsd/pipe.go b/statsd/pipe.go
index 84c38e966..426359c5f 100644
--- a/statsd/pipe.go
+++ b/statsd/pipe.go
@@ -1,3 +1,4 @@
+//go:build !windows
// +build !windows
package statsd
diff --git a/statsd/pipe_windows.go b/statsd/pipe_windows.go
index 5ab60f00c..2ca85f70f 100644
--- a/statsd/pipe_windows.go
+++ b/statsd/pipe_windows.go
@@ -1,3 +1,4 @@
+//go:build windows
// +build windows
package statsd
diff --git a/statsd/pipe_windows_test.go b/statsd/pipe_windows_test.go
index 1efbf2b8d..0a3279e70 100644
--- a/statsd/pipe_windows_test.go
+++ b/statsd/pipe_windows_test.go
@@ -1,3 +1,4 @@
+//go:build windows
// +build windows
package statsd
diff --git a/statsd/uds.go b/statsd/uds.go
index fa5f5917f..510a7603b 100644
--- a/statsd/uds.go
+++ b/statsd/uds.go
@@ -1,3 +1,4 @@
+//go:build !windows
// +build !windows
package statsd
diff --git a/statsd/uds_test.go b/statsd/uds_test.go
index fb1c0c829..939b3e2c1 100644
--- a/statsd/uds_test.go
+++ b/statsd/uds_test.go
@@ -1,3 +1,4 @@
+//go:build !windows
// +build !windows
package statsd
diff --git a/statsd/uds_windows.go b/statsd/uds_windows.go
index 077894a33..bd358aefc 100644
--- a/statsd/uds_windows.go
+++ b/statsd/uds_windows.go
@@ -1,3 +1,4 @@
+//go:build windows
// +build windows
package statsd