mirror of
https://github.com/hanzoai/telemetry.git
synced 2026-10-30 20:01:49 +00:00
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Reorganizes receiver docs to remove mentions to consumererror specifics in the receiver package --------- Co-authored-by: Evan Bradley <[email protected]> Co-authored-by: Bogdan Drutu <[email protected]>
36 lines
1.8 KiB
Go
36 lines
1.8 KiB
Go
// Copyright The OpenTelemetry Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
// Package receiver defines components that allow the Collector to receive metrics, traces and logs.
|
|
//
|
|
// A receiver receives data from a source (either from a remote source via network
|
|
// or scrapes from a local host) and pushes the data to the pipelines it is attached
|
|
// to by calling the nextConsumer.Consume*() function.
|
|
//
|
|
// # Error Handling
|
|
//
|
|
// The nextConsumer.Consume*() function may return an error to indicate that the data was not
|
|
// accepted. This error should be handled as documented in the consumererror package.
|
|
//
|
|
// Depending on the error type, the receiver must indicate to the source from which it received the
|
|
// data the type of error in a protocol-dependent way, if that is supported by the receiving protocol.
|
|
// For example, a receiver for the OTLP/HTTP protocol would use the HTTP status codes as defined in
|
|
// the OTLP specification.
|
|
//
|
|
// # Acknowledgment and Checkpointing
|
|
//
|
|
// The receivers that receive data via a network protocol that support acknowledgments
|
|
// MUST follow this order of operations:
|
|
// - Receive data from some sender (typically from a network).
|
|
// - Push received data to the pipeline by calling nextConsumer.Consume*() function.
|
|
// - Acknowledge successful data receipt to the sender if Consume*() succeeded or
|
|
// return a failure to the sender if Consume*() returned an error.
|
|
//
|
|
// This ensures there are strong delivery guarantees once the data is acknowledged
|
|
// by the Collector.
|
|
//
|
|
// Similarly, receivers that use checkpointing to remember the position of last processed
|
|
// data (e.g. via storage extension) MUST store the checkpoint only AFTER the Consume*()
|
|
// call returns.
|
|
package receiver // import "go.opentelemetry.io/collector/receiver"
|