collector

module
v0.16.0 Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2020 License: Apache-2.0

README


Getting Started   •   Getting Involved   •   Getting In Touch

Go Report Card Build Status Codecov Status GitHub release (latest by date including pre-releases) Beta

Contributing   •   Vision   •   Design   •   Monitoring   •   Performance   •   Roadmap


OpenTelemetry Icon OpenTelemetry Collector

The OpenTelemetry Collector offers a vendor-agnostic implementation on how to receive, process and export telemetry data. In addition, it removes the need to run, operate and maintain multiple agents/collectors in order to support open-source telemetry data formats (e.g. Jaeger, Prometheus, etc.) sending to multiple open-source or commercial back-ends.

Objectives:

  • Usable: Reasonable default configuration, supports popular protocols, runs and collects out of the box.
  • Performant: Highly stable and performant under varying loads and configurations.
  • Observable: An exemplar of an observable service.
  • Extensible: Customizable without touching the core code.
  • Unified: Single codebase, deployable as an agent or collector with support for traces, metrics and logs.

Contributing

See CONTRIBUTING.md.

Triagers (@open-telemetry/collector-triagers):

Approvers (@open-telemetry/collector-approvers):

Maintainers (@open-telemetry/collector-maintainers):

Learn more about roles in the community repository.

Thanks to all the people who already contributed!

Directories

Path Synopsis
Package client contains generic representations of clients connecting to different receivers
Package client contains generic representations of clients connecting to different receivers
cmd
otelcol
Program otelcol is the OpenTelemetry Collector that collects stats and traces and exports to a configured backend.
Program otelcol is the OpenTelemetry Collector that collects stats and traces and exports to a configured backend.
builder Module
checkdoc Module
mdatagen Module
otelcorecol Module
schemagen Module
componenterror
Package oterr provides helper functions to create and process OpenTelemetry specific errors
Package oterr provides helper functions to create and process OpenTelemetry specific errors
componenttest
Package componenttest define types and functions used to help test packages implementing the component package interfaces.
Package componenttest define types and functions used to help test packages implementing the component package interfaces.
Package config implements loading of configuration from Viper configuration.
Package config implements loading of configuration from Viper configuration.
configcheck
Package configcheck has checks to be applied to configuration objects implemented by factories of components used in the OpenTelemetry collector.
Package configcheck has checks to be applied to configuration objects implemented by factories of components used in the OpenTelemetry collector.
configerror
Package configerror contains the common errors caused by malformed configs.
Package configerror contains the common errors caused by malformed configs.
configgrpc
Package configgrpc defines the gRPC configuration settings.
Package configgrpc defines the gRPC configuration settings.
configmodels
Package configmodels defines the data models for entities.
Package configmodels defines the data models for entities.
configopaque Module
configretry Module
internal Module
confmap module
connector module
Package consumer contains interfaces that receive and process consumerdata.
Package consumer contains interfaces that receive and process consumerdata.
consumerdata
Package consumerdata contains data structures that holds proto metrics/spans, node and resource.
Package consumerdata contains data structures that holds proto metrics/spans, node and resource.
consumererror
Package consumererror provides wrappers to easily classify errors.
Package consumererror provides wrappers to easily classify errors.
pdata
Package pdata (pipeline data) implements data structures that represent telemetry data in-memory.
Package pdata (pipeline data) implements data structures that represent telemetry data in-memory.
examples
demo/app Module
demo/client Module
demo/server Module
Package exporter contains implementations of Exporter components.
Package exporter contains implementations of Exporter components.
jaegerexporter
Package jaegerexporter implements an exporter that sends trace data to a Jaeger collector gRPC endpoint.
Package jaegerexporter implements an exporter that sends trace data to a Jaeger collector gRPC endpoint.
prometheusremotewriteexporter
Note: implementation for this class is in a separate PR
Note: implementation for this class is in a separate PR
debugexporter Module
nopexporter Module
extension module
healthcheckextension
Package healthcheckextension implements an extension that enables an HTTP endpoint that can be used to check the overall health and status of the service.
Package healthcheckextension implements an extension that enables an HTTP endpoint that can be used to check the overall health and status of the service.
pprofextension
Package pprofextension implements an extension that exposes the golang net/http/pprof (Performance Profiler) in a HTTP endpoint.
Package pprofextension implements an extension that exposes the golang net/http/pprof (Performance Profiler) in a HTTP endpoint.
zpagesextension
Package zpagesextension implements an extension that exposes zPages of properly instrumented components.
Package zpagesextension implements an extension that exposes zPages of properly instrumented components.
auth Module
featuregate module
filter module
collector/telemetry
Package telemetry controls the telemetry settings to be used in the collector.
Package telemetry controls the telemetry settings to be used in the collector.
data/opentelemetry-proto-gen/collector/logs/v1
Package v1 is a reverse proxy.
Package v1 is a reverse proxy.
data/opentelemetry-proto-gen/collector/metrics/v1
Package v1 is a reverse proxy.
Package v1 is a reverse proxy.
data/opentelemetry-proto-gen/collector/trace/v1
Package v1 is a reverse proxy.
Package v1 is a reverse proxy.
processor/filtermetric
Package filtermetric is a helper package for processing metrics.
Package filtermetric is a helper package for processing metrics.
processor/filterset
Package filterset provides an interface for matching strings against a set of string filters.
Package filterset provides an interface for matching strings against a set of string filters.
processor/filterset/regexp
Package regexp provides an implementation to match strings against a set of regexp string filters.
Package regexp provides an implementation to match strings against a set of regexp string filters.
processor/filterset/strict
Package strict provides an implementation to match strings against a set of exact match string filters.
Package strict provides an implementation to match strings against a set of exact match string filters.
tools Module
model module
Package obsreport provides unified and consistent observability signals ( metrics, tracing, etc) for components of the OpenTelemetry collector.
Package obsreport provides unified and consistent observability signals ( metrics, tracing, etc) for components of the OpenTelemetry collector.
otelcol module
pdata module
attributesprocessor
Package attributesprocessor contains the logic to modify attributes of a span.
Package attributesprocessor contains the logic to modify attributes of a span.
filterprocessor
Package filterprocessor implements a processor for filtering (dropping) metrics and/or spans by various properties.
Package filterprocessor implements a processor for filtering (dropping) metrics and/or spans by various properties.
memorylimiter
Package memorylimiter provides a processor for OpenTelemetry Service pipeline that drops data on the pipeline according to the current state of memory usage.
Package memorylimiter provides a processor for OpenTelemetry Service pipeline that drops data on the pipeline according to the current state of memory usage.
memorylimiter/internal/cgroups
Package cgroups provides utilities to access Linux control group (CGroups) parameters (total memory, for example) for a given process.
Package cgroups provides utilities to access Linux control group (CGroups) parameters (total memory, for example) for a given process.
resourceprocessor
Package resourceprocessor implements a processor for specifying resource labels to be added to OpenCensus trace data and metrics data.
Package resourceprocessor implements a processor for specifying resource labels to be added to OpenCensus trace data and metrics data.
spanprocessor
Package spanprocessor contains logic to modify top level settings of a span, such as its name.
Package spanprocessor contains logic to modify top level settings of a span, such as its name.
Package receiver contains implementations of Receiver components.
Package receiver contains implementations of Receiver components.
fluentforwardreceiver/observ
package observ contains logic pertaining to the internal observation of the fluent forward receiver.
package observ contains logic pertaining to the internal observation of the fluent forward receiver.
hostmetricsreceiver/internal/perfcounters
Package perfcounters is a thin wrapper around https://godoc.org/github.com/leoluk/perflib_exporter/perflib that provides functions to scrape raw performance counter data, without calculating rates or formatting them, from the registry.
Package perfcounters is a thin wrapper around https://godoc.org/github.com/leoluk/perflib_exporter/perflib that provides functions to scrape raw performance counter data, without calculating rates or formatting them, from the registry.
opencensusreceiver/ocmetrics
Package ocmetrics is the logic for receiving OpenCensus metrics proto from already instrumented applications and then passing them onto a metricsink instance.
Package ocmetrics is the logic for receiving OpenCensus metrics proto from already instrumented applications and then passing them onto a metricsink instance.
opencensusreceiver/octrace
Package octrace is the logic for receiving OpenCensus trace protobuf defined spans from already instrumented applications and then passing them onto a TraceReceiverSink instance.
Package octrace is the logic for receiving OpenCensus trace protobuf defined spans from already instrumented applications and then passing them onto a TraceReceiverSink instance.
prometheusreceiver
Package prometheusreceiver has the logic for scraping Prometheus metrics from already instrumented applications and then passing them onto a metricsink instance.
Package prometheusreceiver has the logic for scraping Prometheus metrics from already instrumented applications and then passing them onto a metricsink instance.
nopreceiver Module
semconv module
Package service handles the command-line, configuration, and runs the OpenTelemetry Collector.
Package service handles the command-line, configuration, and runs the OpenTelemetry Collector.
builder
Package builder handles the options to build the OpenTelemetry collector pipeline.
Package builder handles the options to build the OpenTelemetry collector pipeline.
defaultcomponents
Package defaultcomponents composes the default set of components used by the otel service
Package defaultcomponents composes the default set of components used by the otel service
Package testbed allows to easily set up a test that requires running the agent and a load generator, measure and define resource consumption expectations for the agent, fail tests automatically when expectations are exceeded.
Package testbed allows to easily set up a test that requires running the agent and a load generator, measure and define resource consumption expectations for the agent, fail tests automatically when expectations are exceeded.
correctness/metrics
[testbed exporter] -> [otelcol receiver] -> [otelcol exporter] -> [testbed receiver] -> [test harness] the difference being the testHarness, which is connected to [testbed receiver] as its metrics consumer, listening for datapoints.
[testbed exporter] -> [otelcol receiver] -> [otelcol exporter] -> [testbed receiver] -> [test harness] the difference being the testHarness, which is connected to [testbed receiver] as its metrics consumer, listening for datapoints.
translator

Jump to

Keyboard shortcuts

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