packer-cn/vendor/contrib.go.opencensus.io/exporter/ocagent
Amrita Dutta 700c95c613 Update Azure SDK for Go to v30.0.0 2019-05-30 21:25:43 +00:00
..
.travis.yml
CONTRIBUTING.md
LICENSE
README.md
common.go
connection.go Update Azure SDK for Go to v30.0.0 2019-05-30 21:25:43 +00:00
go.mod Update Azure SDK for Go to v30.0.0 2019-05-30 21:25:43 +00:00
go.sum Update Azure SDK for Go to v30.0.0 2019-05-30 21:25:43 +00:00
nodeinfo.go
ocagent.go Update Azure SDK for Go to v30.0.0 2019-05-30 21:25:43 +00:00
options.go Update Azure SDK for Go to v30.0.0 2019-05-30 21:25:43 +00:00
transform_spans.go
transform_stats_to_metrics.go
version.go

README.md

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()
	}
}