aboutsummaryrefslogtreecommitdiff
path: root/vendor/go.opencensus.io/trace/config.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/go.opencensus.io/trace/config.go')
-rw-r--r--vendor/go.opencensus.io/trace/config.go9
1 files changed, 8 insertions, 1 deletions
diff --git a/vendor/go.opencensus.io/trace/config.go b/vendor/go.opencensus.io/trace/config.go
index d5473a7..e464671 100644
--- a/vendor/go.opencensus.io/trace/config.go
+++ b/vendor/go.opencensus.io/trace/config.go
@@ -14,7 +14,10 @@
package trace
-import "go.opencensus.io/trace/internal"
+import (
+ "go.opencensus.io/trace/internal"
+ "sync"
+)
// Config represents the global tracing configuration.
type Config struct {
@@ -25,10 +28,14 @@ type Config struct {
IDGenerator internal.IDGenerator
}
+var configWriteMu sync.Mutex
+
// ApplyConfig applies changes to the global tracing configuration.
//
// Fields not provided in the given config are going to be preserved.
func ApplyConfig(cfg Config) {
+ configWriteMu.Lock()
+ defer configWriteMu.Unlock()
c := *config.Load().(*Config)
if cfg.DefaultSampler != nil {
c.DefaultSampler = cfg.DefaultSampler