Categorycode.cloudfoundry.org/go-loggregator/v9
modulepackage
9.2.1
Repository: https://github.com/cloudfoundry/go-loggregator.git
Documentation: pkg.go.dev

# README

go-loggregator

GoDoc

This is a golang client library for Loggregator.

If you have any questions, or want to get attention for a PR or issue please reach out on the #logging-and-metrics channel in the cloudfoundry slack

Versions

At present, Loggregator supports two API versions: v1 (UDP) and v2 (gRPC). This library provides clients for both versions.

Note that this library is also versioned. Its versions have no relation to the Loggregator API.

Usage

This repository should be imported as:

import loggregator "code.cloudfoundry.org/go-loggregator/v9"

Examples

To build the examples, cd into the directory of the example and run go build

V1 Ingress

Emits envelopes to metron using dropsonde.

V2 Ingress

Emits envelopes to metron using the V2 loggregator-api.

Required Environment Variables:

  • CA_CERT_PATH
  • CERT_PATH
  • KEY_PATH

Runtime Stats

Emits information about the running Go proccess using a V2 ingress client.

Required Environment Variables:

  • CA_CERT_PATH
  • CERT_PATH
  • KEY_PATH

Envelope Stream Connector

Reads envelopes from the Loggregator API (e.g. Reverse Log Proxy).

Required Environment Variables:

  • CA_CERT_PATH
  • CERT_PATH
  • KEY_PATH
  • LOGS_API_ADDR
  • SHARD_ID

# Packages

No description provided by the author
No description provided by the author
Pacakge rfc5424 is a library for parsing and serializing RFC-5424 structured syslog messages.
No description provided by the author
No description provided by the author
Package v1 provides a client to connect with the loggregtor v1 API Loggregator's v1 client library is better known to the Cloud Foundry community as Dropsonde (github.com/cloudfoundry/dropsonde).

# Functions

NewEgressTLSConfig provides a convenient means for creating a *tls.Config which uses the CA, cert, and key for the egress endpoint.
NewEnvelopeStreamConnector creates a new EnvelopeStreamConnector.
NewIngressClient creates a v2 loggregator client.
NewIngressTLSConfig provides a convenient means for creating a *tls.Config which uses the CA, cert, and key for the ingress endpoint.
NewOneToOneEnvelopeBatch initializes a new one to one diode for envelope batches of a given size and alerter.
No description provided by the author
WithAddr allows for the configuration of the loggregator v2 address.
WithAppInfo configures the meta data associated with emitted data.
WithBatchFlushInterval allows for the configuration of the maximum time to wait before sending a batch of messages.
WithBatchMaxSize allows for the configuration of the number of messages to collect before emitting them into loggregator.
WithContext configures the context that manages the lifecycle for the gRPC connection.
WithCounterAppInfo configures an envelope with both the app ID and index.
WithCounterSourceInfo configures an envelope with both the app ID and source ID.
WithDelta is an option that sets the delta for a counter.
No description provided by the author
WithEnvelopeStreamBuffer enables the EnvelopeStream to read more quickly from the stream.
WithEnvelopeStreamConnectorDialOptions allows for configuration of grpc dial options.
WithEnvelopeStreamLogger allows for the configuration of a logger.
WithEnvelopeTag adds a tag to the envelope.
WithEnvelopeTags adds tag information that can be text, integer, or decimal to the envelope.
WithEventSourceInfo configures an envelope with both the source and instance IDs.
WithGaugeAppInfo configures an envelope with both the app ID and index.
WithGaugeSourceInfo configures an envelope with both the source ID and instance ID.
WithGaugeValue adds a gauge information.
WithLogger allows for the configuration of a logger.
WithRLPGatewayClientLogger returns a RLPGatewayClientOption to configure the logger of the RLPGatewayClient.
WithRLPGatewayErrChan returns a RLPGatewayClientOption to configure an error channel to communicate errors when the client exceeds max retries.
WithRLPGatewayClientLogger returns a RLPGatewayClientOption to configure the HTTP client.
WithRLPGatewayMaxRetries returns a RLPGatewayClientOption to configure how many times the client will attempt to connect to the RLP gateway before giving up.
WithSourceInfo configures the meta data associated with emitted data.
WithStdout sets the output type to stdout.
WithTag allows for the configuration of arbitrary string value metadata which will be included in all data sent to Loggregator.
WithTimerSourceInfo configures an envelope with both the source and instance IDs.
WithTotal is an option that sets the total for a counter.

# Structs

EnvelopeStreamConnector provides a way to connect to loggregator and consume a stream of envelopes.
IngressClient represents an emitter into loggregator.
OneToOneEnvelopeBatch diode is optimized for a single writer and a single reader.
No description provided by the author

# Interfaces

Doer is used to make HTTP requests to the RLP Gateway.
No description provided by the author
Logger declares the minimal logging interface used within the v2 client.

# Type aliases

EmitCounterOption is the option type passed into EmitCounter.
EmitEventOption is the option type passed into EmitEvent.
EmitGaugeOption is the option type passed into EmitGauge.
EmitLogOption is the option type passed into EmitLog.
EmitTimerOption is the option type passed into EmitTimer.
EnvelopeStream returns batches of envelopes.
EnvelopeStreamOption configures a EnvelopeStreamConnector.
IngressOption is the type of a configurable client option.
RLPGatewayClientOption is the type of a configurable client option.