veneur: github.com/stripe/veneur/sinks/datadog Index | Files

package datadog

import "github.com/stripe/veneur/sinks/datadog"

Index

Package Files

datadog.go

type DDEvent Uses

type DDEvent struct {
    Title       string   `json:"msg_title"`
    Text        string   `json:"msg_text"`
    Timestamp   int64    `json:"timestamp,omitempty"` // represented as a unix epoch
    Hostname    string   `json:"host,omitempty"`
    Aggregation string   `json:"aggregation_key,omitempty"`
    Priority    string   `json:"priority,omitempty"`
    Source      string   `json:"source_type_name,omitempty"`
    AlertType   string   `json:"alert_type,omitempty"`
    Tags        []string `json:"tags,omitempty"`
}

DDEvent represents the structure of datadog's undocumented /intake endpoint

type DDMetric Uses

type DDMetric struct {
    Name       string        `json:"metric"`
    Value      [1][2]float64 `json:"points"`
    Tags       []string      `json:"tags,omitempty"`
    MetricType string        `json:"type"`
    Hostname   string        `json:"host,omitempty"`
    DeviceName string        `json:"device_name,omitempty"`
    Interval   int32         `json:"interval,omitempty"`
}

DDMetric is a data structure that represents the JSON that Datadog wants when posting to the API

type DDServiceCheck Uses

type DDServiceCheck struct {
    Name      string   `json:"check"`
    Status    int      `json:"status"`
    Hostname  string   `json:"host_name"`
    Timestamp int64    `json:"timestamp,omitempty"` // represented as a unix epoch
    Tags      []string `json:"tags,omitempty"`
    Message   string   `json:"message,omitempty"`
}

DDServiceCheck is a representation of the service check.

type DatadogMetricSink Uses

type DatadogMetricSink struct {
    HTTPClient *http.Client
    APIKey     string
    DDHostname string
    // contains filtered or unexported fields
}

func NewDatadogMetricSink Uses

func NewDatadogMetricSink(interval float64, flushMaxPerBody int, hostname string, tags []string, ddHostname string, apiKey string, httpClient *http.Client, log *logrus.Logger, metricNamePrefixDrops []string, excludeTagsPrefixByPrefixMetric map[string][]string) (*DatadogMetricSink, error)

NewDatadogMetricSink creates a new Datadog sink for trace spans.

func (*DatadogMetricSink) Flush Uses

func (dd *DatadogMetricSink) Flush(ctx context.Context, interMetrics []samplers.InterMetric) error

Flush sends metrics to Datadog

func (*DatadogMetricSink) FlushOtherSamples Uses

func (dd *DatadogMetricSink) FlushOtherSamples(ctx context.Context, samples []ssf.SSFSample)

FlushOtherSamples serializes Events or Service Checks directly to datadog. May make 2 external calls to the datadog client.

func (*DatadogMetricSink) Name Uses

func (dd *DatadogMetricSink) Name() string

Name returns the name of this sink.

func (*DatadogMetricSink) SetExcludedTags Uses

func (dd *DatadogMetricSink) SetExcludedTags(excludes []string)

SetExcludedTags sets the excluded tag names. Any tags with the provided key (name) will be excluded.

func (*DatadogMetricSink) Start Uses

func (dd *DatadogMetricSink) Start(cl *trace.Client) error

Start sets the sink up.

type DatadogSpanSink Uses

type DatadogSpanSink struct {
    HTTPClient *http.Client
    // contains filtered or unexported fields
}

DatadogSpanSink is a sink for sending spans to a Datadog trace agent.

func NewDatadogSpanSink Uses

func NewDatadogSpanSink(address string, bufferSize int, httpClient *http.Client, log *logrus.Logger) (*DatadogSpanSink, error)

NewDatadogSpanSink creates a new Datadog sink for trace spans.

func (*DatadogSpanSink) Flush Uses

func (dd *DatadogSpanSink) Flush()

Flush signals the sink to send it's spans to their destination. For this sync it means we'll be making an HTTP request to send them along. We assume it's beneficial to performance to defer these until the normal 10s flush.

func (*DatadogSpanSink) Ingest Uses

func (dd *DatadogSpanSink) Ingest(span *ssf.SSFSpan) error

Ingest takes the span and adds it to the ringbuffer.

func (*DatadogSpanSink) Name Uses

func (dd *DatadogSpanSink) Name() string

Name returns the name of this sink.

func (*DatadogSpanSink) Start Uses

func (dd *DatadogSpanSink) Start(cl *trace.Client) error

Start performs final adjustments on the sink.

type DatadogTraceSpan Uses

type DatadogTraceSpan struct {
    Duration int64              `json:"duration"`
    Error    int64              `json:"error"`
    Meta     map[string]string  `json:"meta"`
    Metrics  map[string]float64 `json:"metrics"`
    Name     string             `json:"name"`
    ParentID int64              `json:"parent_id,omitempty"`
    Resource string             `json:"resource,omitempty"`
    Service  string             `json:"service"`
    SpanID   int64              `json:"span_id"`
    Start    int64              `json:"start"`
    TraceID  int64              `json:"trace_id"`
    Type     string             `json:"type"`
}

DatadogTraceSpan represents a trace span as JSON for the Datadog tracing API.

Package datadog imports 16 packages (graph) and is imported by 3 packages. Updated 2020-01-18. Refresh now. Tools for package owners.