defmodule OpenTelemetry.SemConv.NetworkAttributes do # This is an auto-generated file @moduledoc """ OpenTelemetry Semantic Conventions for Network attributes. """ @doc """ Local address of the network connection - IP address or Unix domain socket name. ### Value type Value must be of type `atom() | String.t()`. ### Examples ``` ["10.1.2.80", "/tmp/my.sock"] ``` ### Elixir iex> OpenTelemetry.SemConv.NetworkAttributes.network_local_address() :"network.local.address" ### Erlang ```erlang ?NETWORK_LOCAL_ADDRESS. 'network.local.address' ``` """ @spec network_local_address :: :"network.local.address" def network_local_address do :"network.local.address" end @doc """ Local port number of the network connection. ### Value type Value must be of type `integer()`. ### Examples ``` [65123] ``` ### Elixir iex> OpenTelemetry.SemConv.NetworkAttributes.network_local_port() :"network.local.port" ### Erlang ```erlang ?NETWORK_LOCAL_PORT. 'network.local.port' ``` """ @spec network_local_port :: :"network.local.port" def network_local_port do :"network.local.port" end @doc """ Peer address of the network connection - IP address or Unix domain socket name. ### Value type Value must be of type `atom() | String.t()`. ### Examples ``` ["10.1.2.80", "/tmp/my.sock"] ``` ### Elixir iex> OpenTelemetry.SemConv.NetworkAttributes.network_peer_address() :"network.peer.address" ### Erlang ```erlang ?NETWORK_PEER_ADDRESS. 'network.peer.address' ``` """ @spec network_peer_address :: :"network.peer.address" def network_peer_address do :"network.peer.address" end @doc """ Peer port number of the network connection. ### Value type Value must be of type `integer()`. ### Examples ``` [65123] ``` ### Elixir iex> OpenTelemetry.SemConv.NetworkAttributes.network_peer_port() :"network.peer.port" ### Erlang ```erlang ?NETWORK_PEER_PORT. 'network.peer.port' ``` """ @spec network_peer_port :: :"network.peer.port" def network_peer_port do :"network.peer.port" end @doc """ [OSI application layer](https://osi-model.com/application-layer/) or non-OSI equivalent. ### Value type Value must be of type `atom() | String.t()`. ### Notes The value **SHOULD** be normalized to lowercase. ### Examples ``` ["amqp", "http", "mqtt"] ``` ### Elixir iex> OpenTelemetry.SemConv.NetworkAttributes.network_protocol_name() :"network.protocol.name" ### Erlang ```erlang ?NETWORK_PROTOCOL_NAME. 'network.protocol.name' ``` """ @spec network_protocol_name :: :"network.protocol.name" def network_protocol_name do :"network.protocol.name" end @doc """ The actual version of the protocol used for network communication. ### Value type Value must be of type `atom() | String.t()`. ### Notes If protocol version is subject to negotiation (for example using [ALPN](https://www.rfc-editor.org/rfc/rfc7301.html)), this attribute **SHOULD** be set to the negotiated version. If the actual protocol version is not known, this attribute **SHOULD** **NOT** be set. ### Examples ``` ["1.1", "2"] ``` ### Elixir iex> OpenTelemetry.SemConv.NetworkAttributes.network_protocol_version() :"network.protocol.version" ### Erlang ```erlang ?NETWORK_PROTOCOL_VERSION. 'network.protocol.version' ``` """ @spec network_protocol_version :: :"network.protocol.version" def network_protocol_version do :"network.protocol.version" end @typedoc """ [OSI transport layer](https://osi-model.com/transport-layer/) or [inter-process communication method](https://wikipedia.org/wiki/Inter-process_communication). ### Enum Values * `:tcp` - TCP * `:udp` - UDP * `:pipe` - Named or anonymous pipe. * `:unix` - Unix domain socket * `:quic` ^[e](`m:OpenTelemetry.SemConv#experimental`)^ - QUIC """ @type network_transport_values() :: %{ :tcp => :tcp, :udp => :udp, :pipe => :pipe, :unix => :unix, :quic => :quic } @doc """ [OSI transport layer](https://osi-model.com/transport-layer/) or [inter-process communication method](https://wikipedia.org/wiki/Inter-process_communication). ### Notes The value **SHOULD** be normalized to lowercase. Consider always setting the transport when setting a port number, since a port number is ambiguous without knowing the transport. For example different processes could be listening on TCP port 12345 and UDP port 12345. ### Examples ``` ["tcp", "udp"] ``` ### Elixir iex> OpenTelemetry.SemConv.NetworkAttributes.network_transport() :"network.transport" iex> OpenTelemetry.SemConv.NetworkAttributes.network_transport_values().tcp :tcp iex> %{OpenTelemetry.SemConv.NetworkAttributes.network_transport() => OpenTelemetry.SemConv.NetworkAttributes.network_transport_values().tcp} %{:"network.transport" => :tcp} ### Erlang ```erlang ?NETWORK_TRANSPORT. 'network.transport' ?NETWORK_TRANSPORT_VALUES_TCP. 'tcp' \#{?NETWORK_TRANSPORT => ?NETWORK_TRANSPORT_VALUES_TCP}. \#{'network.transport' => 'tcp'} ``` """ @spec network_transport :: :"network.transport" def network_transport do :"network.transport" end @spec network_transport_values() :: network_transport_values() def network_transport_values() do %{ :tcp => :tcp, :udp => :udp, :pipe => :pipe, :unix => :unix, :quic => :quic } end @typedoc """ [OSI network layer](https://osi-model.com/network-layer/) or non-OSI equivalent. ### Enum Values * `:ipv4` - IPv4 * `:ipv6` - IPv6 """ @type network_type_values() :: %{ :ipv4 => :ipv4, :ipv6 => :ipv6 } @doc """ [OSI network layer](https://osi-model.com/network-layer/) or non-OSI equivalent. ### Notes The value **SHOULD** be normalized to lowercase. ### Examples ``` ["ipv4", "ipv6"] ``` ### Elixir iex> OpenTelemetry.SemConv.NetworkAttributes.network_type() :"network.type" iex> OpenTelemetry.SemConv.NetworkAttributes.network_type_values().ipv4 :ipv4 iex> %{OpenTelemetry.SemConv.NetworkAttributes.network_type() => OpenTelemetry.SemConv.NetworkAttributes.network_type_values().ipv4} %{:"network.type" => :ipv4} ### Erlang ```erlang ?NETWORK_TYPE. 'network.type' ?NETWORK_TYPE_VALUES_IPV4. 'ipv4' \#{?NETWORK_TYPE => ?NETWORK_TYPE_VALUES_IPV4}. \#{'network.type' => 'ipv4'} ``` """ @spec network_type :: :"network.type" def network_type do :"network.type" end @spec network_type_values() :: network_type_values() def network_type_values() do %{ :ipv4 => :ipv4, :ipv6 => :ipv6 } end end