Documentation ¶
Index ¶
- Constants
- func AddTraceHeaders(ctx context.Context, req *http.Request)
- func Distribution(metric string, value float64, tags ...string)
- func GetContext() context.Context
- func GetTraceHeaders(ctx context.Context) map[string]string
- func Metric(metric string, value float64, tags ...string)
- func MetricWithTimestamp(metric string, value float64, timestamp time.Time, tags ...string)
- func WrapHandler(handler interface{}, cfg *Config) interface{}
- type Config
Constants ¶
const ( // DatadogAPIKeyEnvVar is the environment variable that will be used as an API key by default DatadogAPIKeyEnvVar = "DD_API_KEY" // DatadogKMSAPIKeyEnvVar is the environment variable that will be sent to KMS for decryption, then used as an API key. DatadogKMSAPIKeyEnvVar = "DD_KMS_API_KEY" // DatadogSiteEnvVar is the environment variable that will be used as the API host. DatadogSiteEnvVar = "DD_SITE" // DatadogLogLevelEnvVar is the environment variable that will be used to check the log level. // if it equals "debug" everything will be logged. DatadogLogLevelEnvVar = "DD_LOG_LEVEL" // DatadogShouldUseLogForwarderEnvVar is the environment variable that is used to enable log forwarding of metrics. DatadogShouldUseLogForwarderEnvVar = "DD_FLUSH_TO_LOG" // DefaultSite to send API messages to. DefaultSite = "datadoghq.com" )
Variables ¶
This section is empty.
Functions ¶
func AddTraceHeaders ¶
AddTraceHeaders adds DataDog trace headers to a HTTP Request
func Distribution ¶
Distribution sends a distribution metric to DataDog Deprecated: Use Metric method instead
func GetContext ¶
GetContext retrieves the last created lambda context. Only use this if you aren't manually passing context through your call hierarchy.
func GetTraceHeaders ¶
GetTraceHeaders reads a map containing the DataDog trace headers from a context object.
func MetricWithTimestamp ¶
MetricWithTimestamp sends a distribution metric to DataDog with a custom timestamp
func WrapHandler ¶
func WrapHandler(handler interface{}, cfg *Config) interface{}
WrapHandler is used to instrument your lambda functions, reading in context from API Gateway. It returns a modified handler that can be passed directly to the lambda.Start function.
Types ¶
type Config ¶
type Config struct { // APIKey is your Datadog API key. This is used for sending metrics. APIKey string // KMSAPIKey is your Datadog API key, encrypted using the AWS KMS service. This is used for sending metrics. KMSAPIKey string // ShouldRetryOnFailure is used to turn on retry logic when sending metrics via the API. This can negatively effect the performance of your lambda, // and should only be turned on if you can't afford to lose metrics data under poor network conditions. ShouldRetryOnFailure bool // ShouldUseLogForwarder enabled the log forwarding method for sending metrics to Datadog. This approach requires the user to set up a custom lambda // function that forwards metrics from cloudwatch to the Datadog api. This approach doesn't have any impact on the performance of your lambda function. ShouldUseLogForwarder bool // BatchInterval is the period of time which metrics are grouped together for processing to be sent to the API or written to logs. // Any pending metrics are flushed at the end of the lambda. BatchInterval time.Duration // Site is the host to send metrics to. If empty, this value is read from the 'DD_SITE' environment variable, or if that is empty // will default to 'datadoghq.com'. Site string // DebugLogging will turn on extended debug logging. DebugLogging bool // Trace library operations with AWS X-Ray. Trace bool }
Config gives options for how ddlambda should behave