package stdout
import "go.opentelemetry.io/otel/exporters/metric/stdout"
Index ¶
- func InstallNewPipeline(config Config, options ...push.Option) (*push.Controller, error)
- func NewExportPipeline(config Config, options ...push.Option) (*push.Controller, error)
- type Config
- type Exporter
Examples ¶
Functions ¶
func InstallNewPipeline ¶
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 ¶
NewExportPipeline sets up a complete export pipeline with the
recommended setup, chaining a NewRawExporter into the recommended
selectors and processors.
Code:play
Output:Example¶
package main
import (
"context"
"log"
"go.opentelemetry.io/otel/api/kv"
"go.opentelemetry.io/otel/api/metric"
"go.opentelemetry.io/otel/exporters/metric/stdout"
)
func main() {
// Create a meter
pusher, err := stdout.NewExportPipeline(stdout.Config{
PrettyPrint: true,
DoNotPrintTime: true,
})
if err != nil {
log.Fatal("Could not initialize stdout exporter:", err)
}
defer pusher.Stop()
ctx := context.Background()
key := kv.Key("key")
meter := pusher.Provider().Meter(
"github.com/instrumentron",
metric.WithInstrumentationVersion("v0.1.0"),
)
// Create and update a single counter:
counter := metric.Must(meter).NewInt64Counter("a.counter")
labels := []kv.KeyValue{key.String("value")}
counter.Add(ctx, 100, labels...)
}
{
"updates": [
{
"name": "a.counter{instrumentation.name=github.com/instrumentron,instrumentation.version=v0.1.0,key=value}",
"sum": 100
}
]
}
Types ¶
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 distribution // summaries, 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 label.Encoder }
Config is the configuration to be used when initializing a stdout export.
type Exporter ¶
type Exporter struct {
// contains filtered or unexported fields
}
func NewRawExporter ¶
NewRawExporter creates a stdout Exporter for use in a pipeline.
func (*Exporter) Export ¶
func (*Exporter) ExportKindFor ¶
func (e *Exporter) ExportKindFor(*metric.Descriptor, aggregation.Kind) export.ExportKind
Source Files ¶
stdout.go
- Version
- v0.8.0
- Published
- Jul 10, 2020
- Platform
- linux/amd64
- Imports
- 15 packages
- Last checked
- 35 seconds ago –
Tools for package owners.