prom

package
v1.5.2 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	HTTPServerDuration    = "http_server_request_duration_seconds"
	HTTPClientDuration    = "http_client_request_duration_seconds"
	RPCServerDuration     = "rpc_server_duration_seconds"
	RPCClientDuration     = "rpc_client_duration_seconds"
	SQLClientDuration     = "sql_client_duration_seconds"
	HTTPServerRequestSize = "http_server_request_body_size_bytes"
	HTTPClientRequestSize = "http_client_request_body_size_bytes"

	SpanMetricsLatency = "traces_spanmetrics_latency"
	SpanMetricsCalls   = "traces_spanmetrics_calls_total"
	SpanMetricsSizes   = "traces_spanmetrics_size_total"
	TracesTargetInfo   = "traces_target_info"

	ServiceGraphClient = "traces_service_graph_request_client_seconds"
	ServiceGraphServer = "traces_service_graph_request_server_seconds"
	ServiceGraphFailed = "traces_service_graph_request_failed_total"
	ServiceGraphTotal  = "traces_service_graph_request_total"

	DBOperationKey = "db_operation"
)

using labels and names that are equivalent names to the OTEL attributes but following the different naming conventions

View Source
const (
	BeylaBuildInfo = "beyla_build_info"

	LanguageLabel = "target_lang"
)

metrics for Beyla statistics

Variables

This section is empty.

Functions

func PrometheusEndpoint

func PrometheusEndpoint(ctx context.Context, cfg *PrometheusConfig, ctxInfo *global.ContextInfo) pipe.FinalProvider[[]request.Span]

Types

type PrometheusConfig

type PrometheusConfig struct {
	Port           int    `yaml:"port" env:"BEYLA_PROMETHEUS_PORT"`
	Path           string `yaml:"path" env:"BEYLA_PROMETHEUS_PATH"`
	ReportTarget   bool   `yaml:"report_target" env:"BEYLA_METRICS_REPORT_TARGET"`
	ReportPeerInfo bool   `yaml:"report_peer" env:"BEYLA_METRICS_REPORT_PEER"`

	DisableBuildInfo bool `yaml:"disable_build_info" env:"BEYLA_PROMETHEUS_DISABLE_BUILD_INFO"`

	// Features of metrics that are can be exported. Accepted values are "application" and "network".
	Features []string `yaml:"features" env:"BEYLA_PROMETHEUS_FEATURES" envSeparator:","`

	Buckets otel.Buckets `yaml:"buckets"`

	// TTL is the time since a metric was updated for the last time until it is
	// removed from the metrics set.
	TTL                         time.Duration `yaml:"ttl" env:"BEYLA_PROMETHEUS_TTL"`
	SpanMetricsServiceCacheSize int           `yaml:"service_cache_size"`

	// Registry is only used for embedding Beyla within the Grafana Agent.
	// It must be nil when Beyla runs as standalone
	Registry *prometheus.Registry `yaml:"-"`
}

TODO: TLS

func (PrometheusConfig) Enabled

func (p PrometheusConfig) Enabled() bool

nolint:gocritic

func (PrometheusConfig) OTelMetricsEnabled added in v1.5.0

func (p PrometheusConfig) OTelMetricsEnabled() bool

func (PrometheusConfig) ServiceGraphMetricsEnabled added in v1.5.0

func (p PrometheusConfig) ServiceGraphMetricsEnabled() bool

func (PrometheusConfig) SpanMetricsEnabled added in v1.5.0

func (p PrometheusConfig) SpanMetricsEnabled() bool

Jump to

Keyboard shortcuts

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