otel

package module
Version: v0.11.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 25, 2020 License: Apache-2.0 Imports: 3 Imported by: 1,219

README

OpenTelemetry-Go

Circle CI Docs Go Report Card Gitter

The Go OpenTelemetry client.

Installation

This repository includes multiple packages. The api package contains core data types, interfaces and no-op implementations that comprise the OpenTelemetry API following the specification. The sdk package is the reference implementation of the API.

Libraries that produce telemetry data should only depend on api and defer the choice of the SDK to the application developer. Applications may depend on sdk or another package that implements the API.

All packages are published to go.opentelemetry.io/otel and is the preferred location to import from.

Additional resources:

Quick Start

Below is a brief example of importing OpenTelemetry, initializing a tracer and creating some simple spans.

package main

import (
	"context"
	"log"

	"go.opentelemetry.io/otel/api/global"
	"go.opentelemetry.io/otel/exporters/stdout"
	sdktrace "go.opentelemetry.io/otel/sdk/trace"
)

func main() {
	pusher, err := stdout.InstallNewPipeline(nil, nil)
	if err != nil {
		log.Fatal(err)
	}
	defer pusher.Stop()

	tracer := global.Tracer("ex.com/basic")
	ctx, span := tracer.Start(context.Background(), "main")
	defer span.End()
	/* … */
}

See the API documentation for more detail, and the opentelemetry examples.

Compatible Exporters

See the Go packages depending upon sdk/export/trace and sdk/export/metric for a list of all exporters compatible with OpenTelemetry's Go SDK.

Compatible Libraries

See the opentelemetry-go-contrib repo for packages that facilitates instrumenting other useful Go libraries with opentelemetry-go for distributed tracing and monitoring.

Contributing

See the contributing file.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ErrorHandler added in v0.11.0

type ErrorHandler interface {
	// Handle handles any error deemed irremediable by an OpenTelemetry
	// component.
	Handle(error)
}

ErrorHandler handles irremediable events.

type Meter

type Meter = metric.Meter

type Propagators

type Propagators = propagation.Propagators

type Tracer

type Tracer = trace.Tracer

Directories

Path Synopsis
api
correlation
This package implements the correlation functionality as specified in the OpenTelemetry specification.
This package implements the correlation functionality as specified in the OpenTelemetry specification.
metric
metric package provides an API for reporting diagnostic measurements using instruments categorized as follows: Synchronous instruments are called by the user with a Context.
metric package provides an API for reporting diagnostic measurements using instruments categorized as follows: Synchronous instruments are called by the user with a Context.
propagation
Package propagation contains interface definition for HTTP propagators.
Package propagation contains interface definition for HTTP propagators.
bridge
opencensus Module
opentracing Module
Package codes defines the canonical error codes used by OpenTelemetry.
Package codes defines the canonical error codes used by OpenTelemetry.
example
basic Module
fib Module
grpc Module
http Module
jaeger Module
namedtracer Module
opencensus Module
passthrough Module
prometheus Module
zipkin Module
exporter
trace/jaeger Module
exporters
jaeger Module
otlp Module
prometheus Module
stdout Module
trace/jaeger Module
trace/zipkin Module
zipkin Module
Package label provides key and value labels.
Package label provides key and value labels.
metric module
oteltest module
schema module
sdk module
export/metric Module
metric Module
Package semconv implements OpenTelemetry semantic conventions.
Package semconv implements OpenTelemetry semantic conventions.
trace module
tools Module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL