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.