Documentation
¶
Overview ¶
Package semconv provides OpenTelemetry semantic convention types and functionality.
Index ¶
- Constants
- func SplitHostPort(hostport string) (host string, port int)
- type CurrentHTTPClient
- func (n CurrentHTTPClient) ErrorType(err error) attribute.KeyValue
- func (n CurrentHTTPClient) MetricAttributes(req *http.Request, statusCode int, additionalAttributes []attribute.KeyValue) []attribute.KeyValue
- func (n CurrentHTTPClient) RequestTraceAttrs(req *http.Request) []attribute.KeyValue
- func (n CurrentHTTPClient) ResponseTraceAttrs(resp *http.Response) []attribute.KeyValue
- func (n CurrentHTTPClient) TraceAttributes(host string) []attribute.KeyValue
- type CurrentHTTPServer
- func (n CurrentHTTPServer) MetricAttributes(server string, req *http.Request, statusCode int, route string, ...) []attribute.KeyValue
- func (n CurrentHTTPServer) NetworkTransportAttr(network string) attribute.KeyValue
- func (n CurrentHTTPServer) RequestTraceAttrs(server string, req *http.Request, opts RequestTraceAttrsOpts) []attribute.KeyValue
- func (n CurrentHTTPServer) ResponseTraceAttrs(resp ResponseTelemetry) []attribute.KeyValue
- func (n CurrentHTTPServer) Route(route string) attribute.KeyValue
- type HTTPClient
- func (c HTTPClient) ErrorType(err error) attribute.KeyValue
- func (c HTTPClient) MetricOptions(ma MetricAttributes) map[string]MetricOpts
- func (s HTTPClient) RecordMetrics(ctx context.Context, md MetricData, opts map[string]MetricOpts)
- func (c HTTPClient) RequestTraceAttrs(req *http.Request) []attribute.KeyValue
- func (c HTTPClient) ResponseTraceAttrs(resp *http.Response) []attribute.KeyValue
- func (c HTTPClient) Status(code int) (codes.Code, string)
- func (s HTTPClient) TraceAttributes(host string) []attribute.KeyValue
- type HTTPServer
- func (s HTTPServer) NetworkTransportAttr(network string) []attribute.KeyValue
- func (s HTTPServer) RecordMetrics(ctx context.Context, md ServerMetricData)
- func (s HTTPServer) RequestTraceAttrs(server string, req *http.Request, opts RequestTraceAttrsOpts) []attribute.KeyValue
- func (s HTTPServer) ResponseTraceAttrs(resp ResponseTelemetry) []attribute.KeyValue
- func (s HTTPServer) Route(route string) attribute.KeyValue
- func (s HTTPServer) Status(code int) (codes.Code, string)
- type MetricAttributes
- type MetricData
- type MetricOpts
- type RequestTraceAttrsOpts
- type ResponseTelemetry
- type ServerMetricData
Constants ¶
const OTelSemConvStabilityOptIn = "OTEL_SEMCONV_STABILITY_OPT_IN"
OTelSemConvStabilityOptIn is an environment variable. That can be set to "http/dup" to keep getting the old HTTP semantic conventions.
Variables ¶
This section is empty.
Functions ¶
func SplitHostPort ¶
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 CurrentHTTPClient ¶
type CurrentHTTPClient struct{}
func (CurrentHTTPClient) ErrorType ¶
func (n CurrentHTTPClient) ErrorType(err error) attribute.KeyValue
func (CurrentHTTPClient) MetricAttributes ¶
func (CurrentHTTPClient) RequestTraceAttrs ¶
func (n CurrentHTTPClient) RequestTraceAttrs(req *http.Request) []attribute.KeyValue
RequestTraceAttrs returns trace attributes for an HTTP request made by a client.
func (CurrentHTTPClient) ResponseTraceAttrs ¶
func (n CurrentHTTPClient) ResponseTraceAttrs(resp *http.Response) []attribute.KeyValue
ResponseTraceAttrs returns trace attributes for an HTTP response made by a client.
func (CurrentHTTPClient) TraceAttributes ¶
func (n CurrentHTTPClient) TraceAttributes(host string) []attribute.KeyValue
TraceAttributes returns attributes for httptrace.
type CurrentHTTPServer ¶
type CurrentHTTPServer struct{}
func (CurrentHTTPServer) MetricAttributes ¶
func (CurrentHTTPServer) NetworkTransportAttr ¶
func (n CurrentHTTPServer) NetworkTransportAttr(network string) attribute.KeyValue
func (CurrentHTTPServer) RequestTraceAttrs ¶
func (n CurrentHTTPServer) 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 (CurrentHTTPServer) ResponseTraceAttrs ¶
func (n CurrentHTTPServer) 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.
type HTTPClient ¶
type HTTPClient struct {
// contains filtered or unexported fields
}
func NewHTTPClient ¶
func NewHTTPClient(meter metric.Meter) HTTPClient
func (HTTPClient) MetricOptions ¶
func (c HTTPClient) MetricOptions(ma MetricAttributes) map[string]MetricOpts
func (HTTPClient) RecordMetrics ¶
func (s HTTPClient) RecordMetrics(ctx context.Context, md MetricData, opts map[string]MetricOpts)
func (HTTPClient) RequestTraceAttrs ¶
func (c HTTPClient) RequestTraceAttrs(req *http.Request) []attribute.KeyValue
RequestTraceAttrs returns attributes for an HTTP request made by a client.
func (HTTPClient) ResponseTraceAttrs ¶
func (c HTTPClient) ResponseTraceAttrs(resp *http.Response) []attribute.KeyValue
ResponseTraceAttrs returns metric attributes for an HTTP request made by a client.
func (HTTPClient) TraceAttributes ¶
func (s HTTPClient) TraceAttributes(host string) []attribute.KeyValue
type HTTPServer ¶
type HTTPServer struct {
// contains filtered or unexported fields
}
func NewHTTPServer ¶
func NewHTTPServer(meter metric.Meter) HTTPServer
func (HTTPServer) NetworkTransportAttr ¶
func (s HTTPServer) NetworkTransportAttr(network string) []attribute.KeyValue
func (HTTPServer) RecordMetrics ¶
func (s HTTPServer) RecordMetrics(ctx context.Context, md ServerMetricData)
func (HTTPServer) RequestTraceAttrs ¶
func (s 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 (s 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.
type MetricAttributes ¶
type MetricData ¶
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 ServerMetricData ¶
type ServerMetricData struct {
ServerName string
ResponseSize int64
MetricData
MetricAttributes
}