Documentation ¶
Overview ¶
Package surfacers is the base package for creating Surfacer objects that are used for writing metics data to different monitoring services.
Any Surfacer that is created for writing metrics data to a monitor system should implement the below Surfacer interface and should accept metrics.EventMetrics object through a Write() call. Each new surfacer should also plug itself in through the New() method defined here.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var StatusTmpl = template.Must(template.New("statusTmpl").Parse(`
<table class="status-list">
<tr>
<th>Type</th>
<th>Name</th>
<th>Conf</th>
</tr>
{{ range . }}
<tr>
<td>{{.Type}}</td>
<td>{{.Name}}</td>
<td>
{{if .Conf}}
<pre>{{.Conf}}</pre>
{{else}}
default
{{end}}
</td>
</tr>
{{ end }}
</table>
`))
StatusTmpl variable stores the HTML template suitable to generate the surfacers' status for cloudprober's /status page. It expects an array of SurfacerInfo objects as input.
Functions ¶
func Register ¶
Register allows you to register a user defined surfacer with cloudprober. Example usage:
import ( "github.com/google/cloudprober" "github.com/google/cloudprober/surfacers" ) s := &FancySurfacer{} surfacers.Register("fancy_surfacer", s) pr, err := cloudprober.InitFromConfig(*configFile) if err != nil { log.Exitf("Error initializing cloudprober. Err: %v", err) }
Types ¶
type Surfacer ¶
type Surfacer interface { // Function for writing a piece of metric data to a specified metric // store (or other location). Write(ctx context.Context, em *metrics.EventMetrics) }
Surfacer is an interface for all metrics surfacing systems
type SurfacerInfo ¶
SurfacerInfo encapsulates a Surfacer and related info.
func Init ¶
func Init(ctx context.Context, sDefs []*surfacerpb.SurfacerDef) ([]*SurfacerInfo, error)
Init initializes the surfacers from the config protobufs and returns them as a list.
Directories ¶
Path | Synopsis |
---|---|
Package cloudwatch implements a surfacer to export metrics to AWS Cloudwatch.
|
Package cloudwatch implements a surfacer to export metrics to AWS Cloudwatch. |
common
|
|
compress
Package compress implements compression related utilities.
|
Package compress implements compression related utilities. |
options
Package options defines data structure for common surfacer options.
|
Package options defines data structure for common surfacer options. |
transform
Package transform implements some transformations for metrics before we export them.
|
Package transform implements some transformations for metrics before we export them. |
Package datadog implements a surfacer to export metrics to Datadog.
|
Package datadog implements a surfacer to export metrics to Datadog. |
Package file implements the "file" surfacer.
|
Package file implements the "file" surfacer. |
Package postgres implements "postgres" surfacer.
|
Package postgres implements "postgres" surfacer. |
Package prometheus provides a prometheus surfacer for Cloudprober.
|
Package prometheus provides a prometheus surfacer for Cloudprober. |
Package pubsub implements the "pubsub" surfacer.
|
Package pubsub implements the "pubsub" surfacer. |
Package stackdriver implements the Stackdriver version of the Surfacer object.
|
Package stackdriver implements the Stackdriver version of the Surfacer object. |