open-vault/vendor/contrib.go.opencensus.io/exporter/ocagent
Jeff Mitchell 9ebc57581d
Switch to go modules (#6585)
* Switch to go modules

* Make fmt
2019-04-13 03:44:06 -04:00
..
.travis.yml Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
common.go Update deps (#6580) 2019-04-12 11:51:37 -04:00
connection.go Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
CONTRIBUTING.md Update deps (#6580) 2019-04-12 11:51:37 -04:00
go.mod Update deps (#6580) 2019-04-12 11:51:37 -04:00
go.sum Update deps (#6580) 2019-04-12 11:51:37 -04:00
LICENSE Update deps (#6580) 2019-04-12 11:51:37 -04:00
nodeinfo.go Update deps (#6580) 2019-04-12 11:51:37 -04:00
ocagent.go Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
options.go Switch to go modules (#6585) 2019-04-13 03:44:06 -04:00
README.md Update deps (#6580) 2019-04-12 11:51:37 -04:00
transform_spans.go Update deps (#6580) 2019-04-12 11:51:37 -04:00
transform_stats_to_metrics.go Update deps (#6580) 2019-04-12 11:51:37 -04:00
version.go Update deps (#6580) 2019-04-12 11:51:37 -04:00

OpenCensus Agent Go Exporter

Build Status GoDoc

This repository contains the Go implementation of the OpenCensus Agent (OC-Agent) Exporter. OC-Agent is a deamon process running in a VM that can retrieve spans/stats/metrics from OpenCensus Library, export them to other backends and possibly push configurations back to Library. See more details on OC-Agent Readme.

Note: This is an experimental repository and is likely to get backwards-incompatible changes. Ultimately we may want to move the OC-Agent Go Exporter to OpenCensus Go core library.

Installation

$ go get -u contrib.go.opencensus.io/exporter/ocagent

Usage

import (
	"context"
	"fmt"
	"log"
	"time"

	"contrib.go.opencensus.io/exporter/ocagent"
	"go.opencensus.io/trace"
)

func Example() {
	exp, err := ocagent.NewExporter(ocagent.WithInsecure(), ocagent.WithServiceName("your-service-name"))
	if err != nil {
		log.Fatalf("Failed to create the agent exporter: %v", err)
	}
	defer exp.Stop()

	// Now register it as a trace exporter.
	trace.RegisterExporter(exp)

	// Then use the OpenCensus tracing library, like we normally would.
	ctx, span := trace.StartSpan(context.Background(), "AgentExporter-Example")
	defer span.End()

	for i := 0; i < 10; i++ {
		_, iSpan := trace.StartSpan(ctx, fmt.Sprintf("Sample-%d", i))
		<-time.After(6 * time.Millisecond)
		iSpan.End()
	}
}