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  }