restic/vendor/contrib.go.opencensus.io/exporter/ocagent
Alexander Neumann b9f0f031b6 Update dependencies
Closes #2129
2019-02-10 13:24:37 +01:00
..
.travis.yml Update dependencies 2019-02-10 13:24:37 +01:00
common.go Update dependencies 2019-02-10 13:24:37 +01:00
connection.go Update dependencies 2019-02-10 13:24:37 +01:00
CONTRIBUTING.md Update dependencies 2019-02-10 13:24:37 +01:00
go.mod Update dependencies 2019-02-10 13:24:37 +01:00
go.sum Update dependencies 2019-02-10 13:24:37 +01:00
LICENSE Update dependencies 2019-02-10 13:24:37 +01:00
nodeinfo.go Update dependencies 2019-02-10 13:24:37 +01:00
ocagent.go Update dependencies 2019-02-10 13:24:37 +01:00
options.go Update dependencies 2019-02-10 13:24:37 +01:00
README.md Update dependencies 2019-02-10 13:24:37 +01:00
transform_spans.go Update dependencies 2019-02-10 13:24:37 +01:00
transform_stats_to_metrics.go Update dependencies 2019-02-10 13:24:37 +01:00
version.go Update dependencies 2019-02-10 13:24:37 +01: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()
	}
}