func GetSo11y()

in plugins/core/so11y.go [49:91]


func GetSo11y(t *Tracer) *So11y {
	once.Do(func() {
		instance = &So11y{
			propagatedIgnoreContextCounter: t.NewCounter("sw_go_created_ignored_context_counter",
				&metrics.Opts{
					Labels: map[string]string{"created_by": "propagated"},
				}).(metrics.Counter),
			propagatedContextCounter: t.NewCounter("sw_go_created_tracing_context_counter",
				&metrics.Opts{
					Labels: map[string]string{"created_by": "propagated"},
				}).(metrics.Counter),

			samplerIgnoreContextCounter: t.NewCounter("sw_go_created_ignored_context_counter",
				&metrics.Opts{
					Labels: map[string]string{"created_by": "sampler"},
				}).(metrics.Counter),
			samplerContextCounter: t.NewCounter("sw_go_created_tracing_context_counter", &metrics.Opts{
				Labels: map[string]string{"created_by": "sampler"},
			}).(metrics.Counter),

			finishIgnoreContextCounter: t.NewCounter(
				"sw_go_finished_ignored_context_counter", nil).(metrics.Counter),
			finishContextCounter: t.NewCounter(
				"sw_go_finished_tracing_context_counter", nil).(metrics.Counter),

			leakedIgnoreContextCounter: t.NewCounter("sw_go_possible_leaked_context_counter",
				&metrics.Opts{
					Labels: map[string]string{"source": "ignore"},
				}).(metrics.Counter),
			leakedContextCounter: t.NewCounter("sw_go_possible_leaked_context_counter",
				&metrics.Opts{
					Labels: map[string]string{"created_by": "tracing"},
				}).(metrics.Counter),

			interceptorTimeCost: t.NewHistogram("sw_go_tracing_context_performance", 0,
				[]float64{
					1000, 10000, 50000, 100000, 300000, 500000,
					1000000, 5000000, 10000000, 20000000, 50000000, 100000000,
				}, nil).(metrics.Histogram),
		}
	})
	return instance
}