Support for resource injection (#3383)

Co-authored-by: Kevin Wan <wanjunfeng@gmail.com>
master
唐小鸭 1 year ago committed by GitHub
parent c2ff00883a
commit e20ccdd011
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -113,11 +113,13 @@ func createExporter(c Config) (sdktrace.SpanExporter, error) {
} }
func startAgent(c Config) error { func startAgent(c Config) error {
AddResources(semconv.ServiceNameKey.String(c.Name))
opts := []sdktrace.TracerProviderOption{ opts := []sdktrace.TracerProviderOption{
// Set the sampling rate based on the parent span to 100% // Set the sampling rate based on the parent span to 100%
sdktrace.WithSampler(sdktrace.ParentBased(sdktrace.TraceIDRatioBased(c.Sampler))), sdktrace.WithSampler(sdktrace.ParentBased(sdktrace.TraceIDRatioBased(c.Sampler))),
// Record information about this application in a Resource. // Record information about this application in a Resource.
sdktrace.WithResource(resource.NewSchemaless(semconv.ServiceNameKey.String(c.Name))), sdktrace.WithResource(resource.NewSchemaless(attrResources...)),
} }
if len(c.Endpoint) > 0 { if len(c.Endpoint) > 0 {

@ -0,0 +1,10 @@
package trace
import "go.opentelemetry.io/otel/attribute"
var attrResources = make([]attribute.KeyValue, 0)
// AddResources add more resources in addition to configured trace name.
func AddResources(attrs ...attribute.KeyValue) {
attrResources = append(attrResources, attrs...)
}
Loading…
Cancel
Save