Documentation ¶
Index ¶
- func AddFuncDuration(emitter Emitter, name string, tags map[string]string) func()
- func FlushAndLog(emitter Emitter)
- func PutCloudwatch(namespace string, values []cloudwatch.MetricDatum) error
- func WithEmitter(ctx context.Context, e Emitter) context.Context
- type DurationPoint
- type Emitter
- type MultiEmitter
- type Point
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddFuncDuration ¶
AddFuncDuration enables easy reporting of function duration In the following example, "execution-duration" is added to metrics
and "marked" at the end of the function to record function duration
defer AddFuncDuration(metrics, "execution-duration", nil)
func FlushAndLog ¶
func FlushAndLog(emitter Emitter)
func PutCloudwatch ¶
func PutCloudwatch(namespace string, values []cloudwatch.MetricDatum) error
Types ¶
type DurationPoint ¶
type DurationPoint struct { Point // contains filtered or unexported fields }
func Duration ¶
func Duration(name string, tags map[string]string) *DurationPoint
This will report duration in microseconds to cloudwatch The duration starts when this is created and ends when converted to MetricDatum via ToAWS
func (*DurationPoint) Mark ¶
func (p *DurationPoint) Mark()
type Emitter ¶
type Emitter interface { scaffold.Contextualizer Add(point *Point) Flush() error }
func ContextEmitter ¶
func NewCloudwatchEmitter ¶
NewCloudwatchEmitter creates an emitter that publishes to AWS Cloudwatch Metrics
func NewDatadogEmitter ¶
NewDatadogEmitter creates an emitter that publishes custom metrics to datadog via API
func NewNoopEmitter ¶
func NewNoopEmitter() Emitter
NewNoopEmitter creates an emitter that ignores metrics
func NewStderrEmitter ¶
NewStderrEmitter creates an emitter dumps metrics to stderr
type MultiEmitter ¶
type MultiEmitter []Emitter
MultiEmitter provides the ability to wrap multiple emitters
func (MultiEmitter) Add ¶
func (e MultiEmitter) Add(point *Point)
func (MultiEmitter) Contextualize ¶
func (e MultiEmitter) Contextualize(ctx context.Context) context.Context
func (MultiEmitter) Flush ¶
func (e MultiEmitter) Flush() error