Documentation ¶
Overview ¶
Package nrelasticsearch instruments https://github.com/elastic/go-elasticsearch.
Use this package to instrument your elasticsearch v7 calls without having to manually create DatastoreSegments.
Example ¶
package main import ( "context" elasticsearch "github.com/elastic/go-elasticsearch/v7" nrelasticsearch "github.com/newrelic/go-agent/v3/integrations/nrelasticsearch-v7" "github.com/newrelic/go-agent/v3/newrelic" ) func getTransaction() *newrelic.Transaction { return nil } func main() { // Step 1: Use nrelasticsearch.NewRoundTripper to assign the // elasticsearch.Config's Transport field. cfg := elasticsearch.Config{ Transport: nrelasticsearch.NewRoundTripper(nil), } client, err := elasticsearch.NewClient(cfg) if err != nil { panic(err) } // Step 2: Ensure that all calls using the elasticsearch client have // a context which includes the newrelic.Transaction. txn := getTransaction() ctx := newrelic.NewContext(context.Background(), txn) client.Info(client.Info.WithContext(ctx)) }
Output:
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewRoundTripper ¶
func NewRoundTripper(original http.RoundTripper) http.RoundTripper
NewRoundTripper creates a new http.RoundTripper to instrument elasticsearch calls. If an http.RoundTripper parameter is not provided, then the returned http.RoundTripper will delegate to http.DefaultTransport.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.