semconvutil

package
v0.0.0-...-806a58a Latest Latest
Warning

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

Go to latest
Published: Feb 9, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HTTPClientRequest

func HTTPClientRequest(req *http.Request) []attribute.KeyValue

HTTPClientRequest returns trace attributes for an HTTP request made by a client. The following attributes are always returned: "http.url", "http.flavor", "http.method", "net.peer.name". The following attributes are returned if the related values are defined in req: "net.peer.port", "http.user_agent", "http.request_content_length", "enduser.id".

func HTTPClientRequestMetrics

func HTTPClientRequestMetrics(req *http.Request) []attribute.KeyValue

HTTPClientRequestMetrics returns metric attributes for an HTTP request made by a client. The following attributes are always returned: "http.method", "net.peer.name". The following attributes are returned if the related values are defined in req: "net.peer.port".

func HTTPClientResponse

func HTTPClientResponse(resp *http.Response) []attribute.KeyValue

HTTPClientResponse returns trace attributes for an HTTP response received by a client from a server. It will return the following attributes if the related values are defined in resp: "http.status.code", "http.response_content_length".

This does not add all OpenTelemetry required attributes for an HTTP event, it assumes ClientRequest was used to create the span with a complete set of attributes. If a complete set of attributes can be generated using the request contained in resp. For example:

append(HTTPClientResponse(resp), ClientRequest(resp.Request)...)

func HTTPClientStatus

func HTTPClientStatus(code int) (codes.Code, string)

HTTPClientStatus returns a span status code and message for an HTTP status code value received by a client.

func HTTPServerRequest

func HTTPServerRequest(server string, req *http.Request) []attribute.KeyValue

HTTPServerRequest 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.

The following attributes are always returned: "http.method", "http.scheme", "http.flavor", "http.target", "net.host.name". The following attributes are returned if they related values are defined in req: "net.host.port", "net.sock.peer.addr", "net.sock.peer.port", "http.user_agent", "enduser.id", "http.client_ip".

func HTTPServerRequestMetrics

func HTTPServerRequestMetrics(server string, req *http.Request) []attribute.KeyValue

HTTPServerRequestMetrics returns metric 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.

The following attributes are always returned: "http.method", "http.scheme", "http.flavor", "net.host.name". The following attributes are returned if they related values are defined in req: "net.host.port".

func HTTPServerStatus

func HTTPServerStatus(code int) (codes.Code, string)

HTTPServerStatus 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.

func NetTransport

func NetTransport(network string) attribute.KeyValue

NetTransport returns a trace attribute describing the transport protocol of the passed network. See the net.Dial for information about acceptable network values.

Types

This section is empty.

Jump to

Keyboard shortcuts

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