github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/tracing/stackdriver.go (about) 1 package tracing 2 3 import ( 4 "fmt" 5 6 texporter "github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace" 7 export "go.opentelemetry.io/otel/sdk/export/trace" 8 ) 9 10 type Stackdriver struct { 11 ProjectID string `long:"stackdriver-projectid" description:"GCP's Project ID"` 12 } 13 14 func (s Stackdriver) IsConfigured() bool { 15 return s.ProjectID != "" 16 } 17 18 func (s Stackdriver) Exporter() (export.SpanSyncer, error) { 19 exporter, err := texporter.NewExporter(texporter.WithProjectID(s.ProjectID)) 20 if err != nil { 21 err = fmt.Errorf("failed to create stackdriver exporter: %w", err) 22 return nil, err 23 } 24 25 return exporter, nil 26 }