feat: Add datadog tracing to http middleware (#530)

* add datadog tracing to http handlers
This commit is contained in:
Garrett Delfosse
2022-03-28 22:11:52 +00:00
committed by GitHub
parent e0172dd4d5
commit bd20d9ee7f
5 changed files with 438 additions and 11 deletions
+16
View File
@@ -19,6 +19,7 @@ import (
"time"
"github.com/stretchr/testify/require"
"go.uber.org/goleak"
"github.com/coder/coder/cli/clitest"
"github.com/coder/coder/coderd/coderdtest"
@@ -199,6 +200,21 @@ func TestStart(t *testing.T) {
require.NoError(t, err)
<-done
})
t.Run("DatadogTracerNoLeak", func(t *testing.T) {
t.Parallel()
ctx, cancelFunc := context.WithCancel(context.Background())
defer cancelFunc()
root, _ := clitest.New(t, "start", "--dev", "--tunnel=false", "--address", ":0", "--trace-datadog=true")
done := make(chan struct{})
go func() {
defer close(done)
err := root.ExecuteContext(ctx)
require.ErrorIs(t, err, context.Canceled)
}()
cancelFunc()
<-done
require.Error(t, goleak.Find())
})
}
func generateTLSCertificate(t testing.TB) (certPath, keyPath string) {