Version: v0.4.0 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Mar 30, 2020 License: Apache-2.0 Imports: 14 Imported by: 0





This section is empty.


This section is empty.


func InstallNewPipeline

func InstallNewPipeline(config Config) (*push.Controller, error)

InstallNewPipeline instantiates a NewExportPipeline and registers it globally. Typically called as:

pipeline, err := stdout.InstallNewPipeline(stdout.Config{...})
if err != nil {
defer pipeline.Stop()
... Done

func NewExportPipeline

func NewExportPipeline(config Config, period time.Duration) (*push.Controller, error)

NewExportPipeline sets up a complete export pipeline with the recommended setup, chaining a NewRawExporter into the recommended selectors and batchers.

package main

import (


func main() {
	// Create a meter
	pusher, err := stdout.NewExportPipeline(stdout.Config{
		PrettyPrint:    true,
		DoNotPrintTime: true,
	}, time.Minute)
	if err != nil {
		log.Fatal("Could not initialize stdout exporter:", err)
	defer pusher.Stop()

	ctx := context.Background()

	key := key.New("key")
	meter := pusher.Meter("example")

	// Create and update a single counter:
	counter := metric.Must(meter).NewInt64Counter("a.counter", metric.WithKeys(key))
	labels := []core.KeyValue{key.String("value")}

	counter.Add(ctx, 100, labels...)


	"updates": [
			"name": "a.counter{key=value}",
			"sum": 100


type Config

type Config struct {
	// Writer is the destination.  If not set, os.Stdout is used.
	Writer io.Writer

	// PrettyPrint will pretty the json representation of the span,
	// making it print "pretty". Default is false.
	PrettyPrint bool

	// DoNotPrintTime suppresses timestamp printing.  This is
	// useful to create deterministic test conditions.
	DoNotPrintTime bool

	// Quantiles are the desired aggregation quantiles for measure
	// metric data, used when the configured aggregator supports
	// quantiles.
	// Note: this exporter is meant as a demonstration; a real
	// exporter may wish to configure quantiles on a per-metric
	// basis.
	Quantiles []float64

	// LabelEncoder encodes the labels
	LabelEncoder export.LabelEncoder

Config is the configuration to be used when initializing a stdout export.

type Exporter

type Exporter struct {
	// contains filtered or unexported fields

func NewRawExporter

func NewRawExporter(config Config) (*Exporter, error)

NewRawExporter creates a stdout Exporter for use in a pipeline.

func (*Exporter) Export

func (e *Exporter) Export(_ context.Context, checkpointSet export.CheckpointSet) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL