semconv

package
v0.68.0 Latest Latest
Warning

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

Go to latest
Published: Apr 21, 2026 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

Package semconv provides OpenTelemetry semantic convention types and functionality.

Package semconv provides OpenTelemetry semantic convention types and functionality.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SplitHostPort

func SplitHostPort(hostport string) (host string, port int)

SplitHostPort splits a network address hostport of the form "host", "host%zone", "[host]", "[host%zone], "host:port", "host%zone:port", "[host]:port", "[host%zone]:port", or ":port" into host or host%zone and port.

An empty host is returned if it is not provided or unparsable. A negative port is returned if it is not provided or unparsable.

Types

type HTTPClient

type HTTPClient struct {
	// contains filtered or unexported fields
}

func NewHTTPClient

func NewHTTPClient(meter metric.Meter) HTTPClient

func (HTTPClient) MetricAttributes added in v0.68.0

func (n HTTPClient) MetricAttributes(req *http.Request, statusCode int, additionalAttributes []attribute.KeyValue) []attribute.KeyValue

func (HTTPClient) MetricOptions

func (n HTTPClient) MetricOptions(ma MetricAttributes) MetricOpts

func (HTTPClient) RecordMetrics

func (n HTTPClient) RecordMetrics(ctx context.Context, md MetricData, opts MetricOpts)

func (HTTPClient) RequestTraceAttrs

func (n HTTPClient) RequestTraceAttrs(req *http.Request) []attribute.KeyValue

RequestTraceAttrs returns trace attributes for an HTTP request made by a client.

func (HTTPClient) ResponseTraceAttrs

func (n HTTPClient) ResponseTraceAttrs(resp *http.Response) []attribute.KeyValue

ResponseTraceAttrs returns trace attributes for an HTTP response made by a client.

func (HTTPClient) Status

func (n HTTPClient) Status(code int) (codes.Code, string)

func (HTTPClient) TraceAttributes

func (n HTTPClient) TraceAttributes(host string) []attribute.KeyValue

TraceAttributes returns attributes for httptrace.

type HTTPServer

type HTTPServer struct {
	// contains filtered or unexported fields
}

func NewHTTPServer

func NewHTTPServer(meter metric.Meter) HTTPServer

func (HTTPServer) MetricAttributes added in v0.68.0

func (n HTTPServer) MetricAttributes(server string, req *http.Request, statusCode int, route string, additionalAttributes []attribute.KeyValue) []attribute.KeyValue

func (HTTPServer) NetworkTransportAttr

func (s HTTPServer) NetworkTransportAttr(network string) []attribute.KeyValue

func (HTTPServer) RecordMetrics

func (n HTTPServer) RecordMetrics(ctx context.Context, md ServerMetricData)

func (HTTPServer) RequestTraceAttrs

func (n HTTPServer) RequestTraceAttrs(server string, req *http.Request, opts RequestTraceAttrsOpts) []attribute.KeyValue

RequestTraceAttrs returns trace attributes for an HTTP request received by a server.

The server must be the primary server name if it is known. For example this would be the ServerName directive (https://httpd.apache.org/docs/2.4/mod/core.html#servername) for an Apache server, and the server_name directive (http://nginx.org/en/docs/http/ngx_http_core_module.html#server_name) for an nginx server. More generically, the primary server name would be the host header value that matches the default virtual host of an HTTP server. It should include the host identifier and if a port is used to route to the server that port identifier should be included as an appropriate port suffix.

If the primary server name is not known, server should be an empty string. The req Host will be used to determine the server instead.

func (HTTPServer) ResponseTraceAttrs

func (n HTTPServer) ResponseTraceAttrs(resp ResponseTelemetry) []attribute.KeyValue

ResponseTraceAttrs returns trace attributes for telemetry from an HTTP response.

If any of the fields in the ResponseTelemetry are not set the attribute will be omitted.

func (HTTPServer) Route

func (n HTTPServer) Route(route string) attribute.KeyValue

Route returns the attribute for the route.

func (HTTPServer) Status

func (n HTTPServer) Status(code int) (codes.Code, string)

Status returns a span status code and message for an HTTP status code value returned by a server. Status codes in the 400-499 range are not returned as errors.

type MetricAttributes

type MetricAttributes struct {
	Req                  *http.Request
	StatusCode           int
	Route                string
	AdditionalAttributes []attribute.KeyValue
}

type MetricData

type MetricData struct {
	RequestSize     int64
	RequestDuration time.Duration
}

type MetricOpts

type MetricOpts struct {
	// contains filtered or unexported fields
}

func (MetricOpts) AddOptions

func (o MetricOpts) AddOptions() metric.AddOption

func (MetricOpts) MeasurementOption

func (o MetricOpts) MeasurementOption() metric.MeasurementOption

type RequestTraceAttrsOpts

type RequestTraceAttrsOpts struct {
	// If set, this is used as value for the "http.client_ip" attribute.
	HTTPClientIP string
}

type ResponseTelemetry

type ResponseTelemetry struct {
	StatusCode int
	ReadBytes  int64
	ReadError  error
	WriteBytes int64
	WriteError error
}

type ServerMetricData

type ServerMetricData struct {
	ServerName   string
	ResponseSize int64

	MetricData
	MetricAttributes
}

Jump to

Keyboard shortcuts

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