github.com/newrelic/newrelic-client-go@v1.1.0/pkg/edge/example_trace_observer_test.go (about)

     1  package edge
     2  
     3  import (
     4  	"log"
     5  	"os"
     6  	"strconv"
     7  
     8  	"github.com/newrelic/newrelic-client-go/pkg/config"
     9  )
    10  
    11  func Example_trace_observer() {
    12  	accountIDStr := os.Getenv("ACCOUNT_ID")
    13  	accountID, err := strconv.Atoi(accountIDStr)
    14  	if err != nil {
    15  		log.Fatal("error parsing account ID")
    16  	}
    17  
    18  	// Initialize the client configuration.  A Personal API key is required to
    19  	// communicate with the backend API.
    20  	cfg := config.New()
    21  	cfg.PersonalAPIKey = os.Getenv("NEW_RELIC_API_KEY")
    22  
    23  	// Initialize the client.
    24  	client := New(cfg)
    25  
    26  	// Create a new trace observer.
    27  	traceObserver, err := client.CreateTraceObserver(accountID, "myObserver", EdgeProviderRegionTypes.AWS_US_EAST_1)
    28  	if err != nil {
    29  		log.Fatal("error creating trace observer:", err)
    30  	}
    31  
    32  	// List the existing trace observers.
    33  	traceObservers, err := client.ListTraceObservers(accountID)
    34  	if err != nil {
    35  		log.Fatal("error creating trace observer:", err)
    36  	}
    37  
    38  	log.Printf("trace observer count: %d", len(traceObservers))
    39  
    40  	// Delete an existing trace observer.
    41  	_, err = client.DeleteTraceObserver(accountID, traceObserver.ID)
    42  	if err != nil {
    43  		log.Fatal("error deleting trace observer:", err)
    44  	}
    45  }