func newGlobalConfig()

in xray/config.go [47:101]


func newGlobalConfig() *globalConfig {
	ret := &globalConfig{}

	daemonEndpoint, err := daemoncfg.GetDaemonEndpointsFromEnv()
	if err != nil {
		panic(err)
	}
	if daemonEndpoint == nil {
		daemonEndpoint = daemoncfg.GetDefaultDaemonEndpoints()
	}
	ret.daemonAddr = daemonEndpoint.UDPAddr

	ss, err := sampling.NewCentralizedStrategy()
	if err != nil {
		panic(err)
	}
	ret.samplingStrategy = ss

	efs, err := exception.NewDefaultFormattingStrategy()
	if err != nil {
		panic(err)
	}
	ret.exceptionFormattingStrategy = efs

	sts, err := NewDefaultStreamingStrategy()
	if err != nil {
		panic(err)
	}
	ret.streamingStrategy = sts

	emt, err := NewDefaultEmitter(ret.daemonAddr)
	if err != nil {
		panic(err)
	}
	ret.emitter = emt

	cms := os.Getenv("AWS_XRAY_CONTEXT_MISSING")
	if cms != "" {
		if cms == ctxmissing.RuntimeErrorStrategy {
			cm := ctxmissing.NewDefaultRuntimeErrorStrategy()
			ret.contextMissingStrategy = cm
		} else if cms == ctxmissing.LogErrorStrategy {
			cm := ctxmissing.NewDefaultLogErrorStrategy()
			ret.contextMissingStrategy = cm
		} else if cms == ctxmissing.IgnoreErrorStrategy {
			cm := ctxmissing.NewDefaultIgnoreErrorStrategy()
			ret.contextMissingStrategy = cm
		}
	} else {
		cm := ctxmissing.NewDefaultLogErrorStrategy()
		ret.contextMissingStrategy = cm
	}

	return ret
}