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 InvokeDryRun(callback func(ctx context.Context), cfg *Config) (interface{}, error)
- 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 to set the API key. 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" // LogLevelEnvVar is the environment variable that will be used to set the log level. LogLevelEnvVar = "DD_LOG_LEVEL" // ShouldUseLogForwarderEnvVar is the environment variable that enables log forwarding of metrics. ShouldUseLogForwarderEnvVar = "DD_FLUSH_TO_LOG" // DatadogTraceEnabledEnvVar is the environment variable that enables Datadog tracing. DatadogTraceEnabledEnvVar = "DD_TRACE_ENABLED" // MergeXrayTracesEnvVar is the environment variable that enables the merging of X-Ray and Datadog traces. MergeXrayTracesEnvVar = "DD_MERGE_XRAY_TRACES" // DefaultSite to send API messages to. DefaultSite = "datadoghq.com" // DefaultEnhancedMetrics enables enhanced metrics by default. DefaultEnhancedMetrics = true )
Variables ¶
This section is empty.
Functions ¶
func AddTraceHeaders ¶
AddTraceHeaders adds Datadog trace headers to a HTTP Request Deprecated: Use dd-trace-go to extract the current span from the context instead
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. Deprecated: Use dd-trace-go to extract the current span from the context instead
func InvokeDryRun ¶
InvokeDryRun is a utility to easily run your lambda for testing
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. 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 // EnhancedMetrics enables the reporting of enhanced metrics under `aws.lambda.enhanced*` and adds enhanced metric tags EnhancedMetrics bool // DDTraceEnabled enables the Datadog tracer. DDTraceEnabled bool // MergeXrayTraces will cause Datadog traces to be merged with traces from AWS X-Ray. MergeXrayTraces bool }
Config gives options for how ddlambda should behave