Configuring the Open Telemetry Adapter
On the home view, go to the Settings tab and select Server connections on the left pane.
On the Open Telemetry window, configure the following parameters:
Field
Description
On/Off
Enables/disables the adapter.
Expose sensitive data
Enables/disables export of sensitive data, such as IP and IMEI, to the client.
Enable Prometheus scrape
Enables the HTTP server for Prometheus scrape endpoint /metrics.
Prometheus port
Configures the port the HTTP server will listen to.

This setting is only visible if Prometheus is enabled.
Prometheus authentication
Enables basic authentication for Prometheus scrapes.

This setting is only visible if Prometheus is enabled.
User name
Enter the username to use when scraping.

This setting is only visible if Prometheus authentication is enabled.
Password
Enter the password to use when scraping. The password will be shown in clear text.

This setting is only visible if Prometheus authentication is enabled.
Enable OTLP/HTTP push
Enables the OTLP/HTTP exporter to start sending periodical updates.
OTLP metrics URL
Enter the OTLP/HTTP metrics endpoint the exporter shall send the data to in protobuf format.

This setting is only visible if OTLP is enabled.
Update interval
The polling interval the adapter will poll metrics data from the tool/controller as well as the update interval the adapter will export this data to the OTLP/HTTP endpoint.

The adapter attaches the name of the controller, configured under the IAM Name, in the messages as the service name. If the IAM name is empty the service name will be exported as px2system.
Prometheus Information Metrics
Static system information is sent as Open Telemetry information metrics. The data is then available in the labels.
Metric | Type | Unit | Description |
|---|---|---|---|
px2system_device_info | gauge | 1 | Static px2system metadata exported as an *_infostyle metric with constant value 1. |
cellular_enabled | gauge | 1 | 1 if cellular is enabled in controller config; 0 if present but disabled. Only emitted when cellular is present. |
cellular_connection_info | gauge | 1 | Only emitted, with a constant value of 1, when cellular is present and enabled. |
cellular_up | gauge | 1 | 1 if the latest cellular telemetry sample is fresh and all values are numeric; otherwise 0. Emitted when cellular is present and enabled (sample may be missing), is zero if cellular isn’t connected. |
cellular_signal_sample_age_seconds | gauge | s | Age of latest cellular sample in seconds. -1 if no sample is available or if sample is stale/invalid. |
cellular_signal_rsrp_dbm | gauge | dBm | Reference Signal Received Power. Emitted only when cellular_signal_up==1. |
cellular_signal_rsrq_db | gauge | dB | Reference Signal Received Quality. Emitted only when cellular is present, enabled and connected. |
cellular_signal_rssi_dbm | gauge | dBm | Received Signal Strength Indicator. Emitted only when cellular is present, enabled and connected. |
cellular_signal_snr_db | gauge | dB | gnal-to-noise ratio. Emitted only when cellular is present, enabled and connected. |
cellular_signal_tx_dbm | gauge | dBm | Transmit power. Emitted only when cellular is present, enabled and connected. |
wifi_enabled | gauge | 1 | 1 if WiFi client is enabled in controller config; 0 if present but disabled. Only emitted when WiFi client is present. |
wifi_connection_info | gauge | 1 | Only emitted, with a constant value of 1, when WiFi is present and enabled and a WiFi sample exists. |
wifi_up | gauge | 1 | 1 if the latest WiFi sample is fresh and values are numeric; otherwise 0. Emitted when WiFi is present and enabled (sample may be missing). Is zero if WiFi isn’t connected. |
wifi_signal_sample_age_seconds | gauge | s | Age of latest WiFi sample in seconds. -1 if no sample is available or if sample is stale/invalid. |
wifi_signal_rssi_dbm | gauge | dBm | WiFi Received Signal Strength Indicator. Emitted only when WiFi is present, enabled and connected. |
wifi_link_quality_percent | gauge | % | WiFi link quality. Emitted only when WiFi is present, enabled and connected. |
wifi_tx_bitrate_mbps | gauge | Mbit/s | WiFi negotiated max TX bitrate. Emitted only when WiFi is present, enabled and connected. |
wifi_rx_bitrate_mbps | gauge | Mbit/s | WiFi negotiated max RX bitrate. Emitted only when WiFi is present, enabled and connected. |
Metric | Label key | Sensitive | Notes |
|---|---|---|---|
px2system_device_info | service_name | no | The configured IAM name, if empty emitted as “px2system”. |
px2system_device_info | tool_serial | no | Tool identifier. Emitted when tool identifier is available. |
px2system_device_info | tool_model | no | Tool model identifier. Emitted when tool identifier is available. |
cellular_connection_info | technology | no | Example values: "4G", "5G". Emitted when cellular is enabled. |
cellular_connection_info | pci | no | Physical Cell ID. Emitted when available from modem. |
cellular_connection_info | carrier_name | no | Carrier/operator name. Emitted when available from modem. |
cellular_connection_info | carrier_mcc | no | Mobile Country Code. Emitted when available from modem. |
cellular_connection_info | carrier_mnc | no | Mobile Network Code. Emitted when available from modem. |
cellular_connection_info | apn | yes | Configured access point name; gated by exposeSensitiveData. |
cellular_connection_info | ip_address | yes | IP address used by cellular modem; gated by sensitive data exposure. |
cellular_connection_info | imei | yes | International Mobile Equipment Identity for the modem; gated by sensitive data exposure . |
cellular_connection_info | sim_iccid | yes | SIM serial number; Only when present; gated by sensitive data exposure. |
cellular_connection_info | frequency_band | no | Frequency band used from the cellular modem. Emitted when available from modem. |
cellular_connection_info | bandwidth | no | Bandwidth used from the cellular modem. Emitted when available from modem. |
cellular_connection_info | mtu | no | Maximum transition unit. Emitted when available from modem. |
cellular_connection_info | imsi | yes | SIM International Mobile Subscriber Identity; gated by sensitive data exposure. |
wifi_connection_info | channel | no | WiFi channel. Emitted when available from system. |
wifi_connection_info | ssid | yes | The unique name of WiFi network; gated by sensitive data exposure. |
wifi_connection_info | bssid | yes | The unique MAC for the unique AP; gated by sensitive data exposure. |
wifi_connection_info | mac_address | yes | MAC address for the WiFi card; gated by sensitive data exposure. |
wifi_connection_info | ipv4 | yes | IP address used by WiFi; gated by sensitive data exposure. |
OTLP/HTTP Information Metrics
Metric | Unit | Description |
|---|---|---|
cellular.enabled | 1 | 1 if cellular is enabled in controller config; otherwise 0. Only emitted when cellular is present. |
cellular.up | 1 | 1 if the latest cellular sample is numeric; otherwise 0. Emitted when cellular is present and enabled; may be emitted as 0 if sample missing/invalid, thus not connected. |
cellular.signal.sample_age | s | Age of latest cellular sample in seconds. -1 if sample missing/invalid. |
cellular.signal.rsrp | dBm | Reference Signal Received Power. Emitted only when sample is numeric and cellular is present, enabled and connected. |
cellular.signal.rsrq | dB | Reference Signal Received Quality. Emitted only when sample is numeric and cellular is present, enabled and connected. |
cellular.signal.rssi | dBm | Received Signal Strength Indicator. Emitted only when sample is numeric and cellular is present, enabled and connected. |
cellular.signal.snr | dB | Signal-to-noise ratio. Emitted only when sample is numeric and cellular is present, enabled and connected. |
cellular.signal.tx_power | dBm | Transmit power. Emitted only when sample is numeric and cellular is present, enabled and connected. |
wifi.enabled | 1 | 1 if WiFi client is enabled in controller config; otherwise 0. Only emitted when WiFi client is present. |
wifi.up | 1 | 1 if the latest WiFi sample is numeric; otherwise 0. Emitted when WiFi is present and enabled; may be emitted as 0 if sample missing/invalid, thus not connected. |
wifi.signal.sample_age | s | Age of latest WiFi sample in seconds. -1 if sample missing/invalid. |
wifi.signal.rssi | dBm | WiFi Received Signal Strength Indicator. Emitted only when sample is numeric and WiFi is present, enabled and connected. |
wifi.link.quality | % | WiFi link quality. Emitted only when sample is numeric and WiFi is present, enabled and connected. |
wifi.link.tx_bitrate | Mbit/s | WiFi negotiated max TX bitrate. Emitted only when sample is numeric and WiFi is present, enabled and connected. |
wifi.link.rx_bitrate | Mbit/s | WiFi negotiated max RX bitrate. Emitted only when sample is numeric and WiFi is present, enabled and connected. |
Key | Sensitive | Notes |
|---|---|---|
service.name | no | The configured IAM name, if empty emitted as “px2system”. |
tool.serial_number | no | Tool serial number. Emitted only when at least one domain is present and enabled, and Tools serial is available. |
tool.model | no | Tool model. Emitted only when at least one domain is present and enabled, and Tool model is available. |
cellular.present | no | Emitted as "true" when cellular is present (even if disabled). Emitted as false if cellular is not present in the system. |
cellular.radio.tech | no | Example values: "4G", "5G". Emitted when available and cellular is enabled. |
cellular.carrier.name | no | Carrier/operator name. Emitted when available and cellular is enabled. |
cellular.carrier.mcc | no | Mobile Country Code. Emitted when available and cellular is enabled. |
cellular.carrier.mnc | no | Mobile Network Code. Emitted when available and cellular is enabled. |
cellular.frequency.band | no | Cellular frequency band. Emitted when available and cellular is enabled. |
cellular.frequency.bandwidth | no | Cellular bandwidth. Emitted when available and cellular is enabled. |
cellular.link.mtu | no | Maximum transition unit. Emitted when available and cellular is enabled. |
cellular.pci | no | Physical Cell Identity. Emitted when available and cellular is enabled. |
cellular.ip | yes | IP address for the cellular modem. Emitted when cellular is enabled. Gated by sensitive data exposure. |
cellular.apn | yes | Configured access point name. Emitted when cellular is enabled. Gated by sensitive data exposure. |
cellular.imei | yes | International Mobile Equipment Identity for the modem. Emitted when cellular is enabled. Gated by sensitive data exposure. |
cellular.imsi | yes | SIM International Mobile Subscriber Identity. Emitted when cellular is enabled. Gated by sensitive data exposure. |
cellular.sim.iccid | yes | SIM serial number. Only when present; Emitted when cellular is enabled. Gated by sensitive data exposure. |
wifi.present | no | Emitted as "true" when WiFi client is present (even if disabled). Emitted as false if WiFi is not present in the system. |
wifi.channel | no | WiFi channel for the system. Emitted when WiFi is present and enabled. |
wifi.ssid | yes | The unique name of WiFi network. Emitted when WiFi is present and enabled. Gated by sensitive data exposure. |
wifi.bssid | yes | The unique MAC for the unique AP. Emitted when WiFi is present and enabled. Gated by sensitive data exposure. |
wifi.mac_address | yes | MAC address for the WiFi card. Emitted when WiFi is present and enabled. Gated by sensitive data exposure. |
wifi.ipv4 | yes | IP address used by WiFi. Emitted when WiFi is present and enabled. Gated by sensitive data exposure. |
Prometheus Authentication
When Prometheus authentication is enabled in OpenTelemetry, clients must send the correct username and password in the Authorization header of the GET (scrape) request. If credentials are missing or wrong, the server responds with 401 Unauthorized. Authorization has priority: the server returns 401 even if the request uses the wrong path. If credentials are correct, the server responds as if authentication is disabled: 200 with the scrape for a correct path, or 404 Not Found for a wrong path.
The password is stored and shown in clear text in the OpenTelemetry window as a deliberate usability trade‑off. This decision is intended for controlled operational environments where UI access is restricted. Users are expected to apply appropriate access controls to the management interface.
Prometheus Error Handling
If a client scrapes any path other than /metrics, the server returns an HTTP 404 error. If authentication is enabled, see the Authentication section for error handling. If Prometheus is not enabled, the client request times out.
OTLP/HTTP Error Handling
The exporter uses a persistent (keep-alive) connection to the OTEL Collector. It opens the connection lazily on first push and reuses the socket for subsequent pushes. If the connection fails, it attempts to reuse the socket when possible.
If the export fails to connect the adapter uses a backoff policy with a ±25% jitter for the consecutive retries. Backoff is capped at 30 seconds. After 10 consecutive failures, the adapter waits 5 minutes before the next attempt.
Retriable HTTP response failures that use the backoff policy:
Cannot connect to endpoint.
Send failure / read failure (connection is closed and retried).
HTTP response status:
408 (timeout)
429 (throttling)
Any 5xx (server errors).
Non-retriable failures (pause until configuration changes):
Any HTTP 4xx response.
Invalid Metrics URL.
https:// configured (TLS not supported)
If no telemetry sample exists (for example, at startup), the adapter does not treat this as a failure and does not apply the backoff policy.