Documentation ¶
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
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 integrators.
The pipeline is configured with a stateful integrator unless the push.WithStateful(false) option is used.
Example ¶
package main import ( "context" "log" "github.com/jsamunderu/opentelemetry-go/api/kv" "github.com/jsamunderu/opentelemetry-go/api/metric" "github.com/jsamunderu/opentelemetry-go/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...) }
Output: { "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.
Click to show internal directories.
Click to hide internal directories.