mirror of
https://github.com/sourcegraph/sourcegraph.git
synced 2026-02-06 19:21:50 +00:00
Add Datadog profiler (#32020)
This commit is contained in:
parent
4fbd05c5ef
commit
4eae2149d1
3
go.mod
3
go.mod
@ -169,7 +169,7 @@ require (
|
||||
google.golang.org/api v0.66.0
|
||||
google.golang.org/genproto v0.0.0-20220202230416-2a053f022f0d
|
||||
google.golang.org/protobuf v1.27.1
|
||||
gopkg.in/DataDog/dd-trace-go.v1 v1.36.0
|
||||
gopkg.in/DataDog/dd-trace-go.v1 v1.36.2
|
||||
gopkg.in/natefinch/lumberjack.v2 v2.0.0
|
||||
gopkg.in/src-d/go-git.v4 v4.13.1
|
||||
gopkg.in/yaml.v2 v2.4.0
|
||||
@ -186,6 +186,7 @@ require (
|
||||
github.com/DataDog/datadog-agent/pkg/obfuscate v0.0.0-20211129110424-6491aa3bf583 // indirect
|
||||
github.com/DataDog/datadog-go v4.8.2+incompatible // indirect
|
||||
github.com/DataDog/datadog-go/v5 v5.0.2 // indirect
|
||||
github.com/DataDog/gostackparse v0.5.0 // indirect
|
||||
github.com/DataDog/sketches-go v1.0.0 // indirect
|
||||
github.com/Masterminds/goutils v1.1.1 // indirect
|
||||
github.com/Masterminds/sprig v2.22.0+incompatible // indirect
|
||||
|
||||
3
go.sum
3
go.sum
@ -156,6 +156,7 @@ github.com/DataDog/datadog-go v4.8.2+incompatible h1:qbcKSx29aBLD+5QLvlQZlGmRMF/
|
||||
github.com/DataDog/datadog-go v4.8.2+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
|
||||
github.com/DataDog/datadog-go/v5 v5.0.2 h1:UFtEe7662/Qojxkw1d6SboAeA0CPI3naKhVASwFn+04=
|
||||
github.com/DataDog/datadog-go/v5 v5.0.2/go.mod h1:ZI9JFB4ewXbw1sBnF4sxsR2k1H3xjV+PUAOUsHvKpcU=
|
||||
github.com/DataDog/gostackparse v0.5.0 h1:jb72P6GFHPHz2W0onsN51cS3FkaMDcjb0QzgxxA4gDk=
|
||||
github.com/DataDog/gostackparse v0.5.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM=
|
||||
github.com/DataDog/sketches-go v1.0.0 h1:chm5KSXO7kO+ywGWJ0Zs6tdmWU8PBXSbywFVciL6BG4=
|
||||
github.com/DataDog/sketches-go v1.0.0/go.mod h1:O+XkJHWk9w4hDwY2ZUDU31ZC9sNYlYo8DiFsxjYeo1k=
|
||||
@ -3007,6 +3008,8 @@ google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+Rur
|
||||
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
|
||||
gopkg.in/DataDog/dd-trace-go.v1 v1.36.0 h1:t2KEcCXajtchpvoIGm0xU+Ytj8KkRyxsXVhWOGg6lEk=
|
||||
gopkg.in/DataDog/dd-trace-go.v1 v1.36.0/go.mod h1:Cv0Bzs/zTzzrUDSw8Q+q/vC+uwPD+R530npGo0lfiCE=
|
||||
gopkg.in/DataDog/dd-trace-go.v1 v1.36.2 h1:eDbrrRNAHY15yoftLKGMtgq0vuTXp897QEzAJh368jY=
|
||||
gopkg.in/DataDog/dd-trace-go.v1 v1.36.2/go.mod h1:Cv0Bzs/zTzzrUDSw8Q+q/vC+uwPD+R530npGo0lfiCE=
|
||||
gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U=
|
||||
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
|
||||
gopkg.in/alexcesaro/statsd.v2 v2.0.0 h1:FXkZSCZIH17vLCO5sO2UucTHsH9pc+17F6pl3JVCwMc=
|
||||
|
||||
@ -1,7 +1,10 @@
|
||||
package profiler
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"cloud.google.com/go/profiler"
|
||||
ddprofiler "gopkg.in/DataDog/dd-trace-go.v1/profiler"
|
||||
|
||||
"github.com/sourcegraph/sourcegraph/cmd/frontend/envvar"
|
||||
"github.com/sourcegraph/sourcegraph/internal/conf/deploy"
|
||||
@ -21,7 +24,19 @@ func Init() error {
|
||||
if !deploy.IsDeployTypeKubernetes(deploy.Type()) {
|
||||
return nil
|
||||
}
|
||||
|
||||
// https://docs.datadoghq.com/tracing/profiler/enabling/go/
|
||||
if os.Getenv("DD_ENV") != "" {
|
||||
profileTypes := []ddprofiler.ProfileType{ddprofiler.CPUProfile, ddprofiler.HeapProfile}
|
||||
if os.Getenv("DD_PROFILE_ALL") != "" {
|
||||
profileTypes = append(profileTypes, ddprofiler.MutexProfile, ddprofiler.BlockProfile)
|
||||
}
|
||||
return ddprofiler.Start(
|
||||
ddprofiler.WithService(env.MyName),
|
||||
ddprofiler.WithVersion(version.Version()),
|
||||
ddprofiler.WithProfileTypes(profileTypes...,
|
||||
),
|
||||
)
|
||||
}
|
||||
return profiler.Start(profiler.Config{
|
||||
Service: env.MyName,
|
||||
ServiceVersion: version.Version(),
|
||||
|
||||
Loading…
Reference in New Issue
Block a user