Skip to main content

Explore O-RAN Telemetry Stages

How to use this explorer

Move between stages with the arrows or the numbered stage list. Each stage shows the input it receives on the left and the output it produces on the right, with the lines that changed marked. The configuration that makes the change sits below the comparison, and the final stage shows the complete pipeline.

The 5 stages in order

  1. Adapter output
    Inspect authored telemetry after a site-specific exporter has decoded and emitted it. No O-RAN protocol collection occurs in this stage. On SNO, the ingress NetworkPolicy admits TCP 8080 only from pods labelled app.kubernetes.io/name: oran-du in namespace oran-du.
  2. Parse authored fields
    Split the example record and convert its authored values into a typed JSON shape.
  3. Add review metadata
    Add configured site identifiers and label values against authored review bands.
  4. Select review candidates
    Retain records that match at least one authored review condition. The labels do not diagnose network state.
  5. External destinations
    Fan the retained records out to the three destinations provisioned on the Single-Node OpenShift cluster: an OpenTelemetry Collector that user-workload monitoring scrapes, Parquet files on a PersistentVolumeClaim, and an AMQ Streams Kafka topic over TLS. The manifests restrict telemetry ingress to the DU namespace and pod label and enforce separate Kafka producer and consumer ACLs.

Interactive pipeline

O-RAN TELEMETRY REFERENCE

Curated transformation states

Stage 1 of 5

Adapter output

Inspect authored telemetry after a site-specific exporter has decoded and emitted it. No O-RAN protocol collection occurs in this stage. On SNO, the ingress NetworkPolicy admits TCP 8080 only from pods labelled app.kubernetes.io/name: oran-du in namespace oran-du.

0HighlightsAuthored emphasis only—not a computed diff.
Copy & download

Input

PTP4L_OFFSET=-45ns;CPU_PERCENT=67.2;PRB_DL_UTIL=82.1;PRB_UL_UTIL=34.5;RSRP=-89dBm;SINR=18.3dB;TIMESTAMP=1705315845PTP4L_OFFSET=156ns;CPU_PERCENT=89.4;PRB_DL_UTIL=95.7;PRB_UL_UTIL=88.2;RSRP=-102dBm;SINR=12.1dB;TIMESTAMP=1705315875PTP4L_OFFSET=-12ns;CPU_PERCENT=45.8;PRB_DL_UTIL=23.4;PRB_UL_UTIL=15.9;RSRP=-78dBm;SINR=24.7dB;TIMESTAMP=1705315905

Output

PTP4L_OFFSET=-45ns;CPU_PERCENT=67.2;PRB_DL_UTIL=82.1;PRB_UL_UTIL=34.5;RSRP=-89dBm;SINR=18.3dB;TIMESTAMP=1705315845PTP4L_OFFSET=156ns;CPU_PERCENT=89.4;PRB_DL_UTIL=95.7;PRB_UL_UTIL=88.2;RSRP=-102dBm;SINR=12.1dB;TIMESTAMP=1705315875PTP4L_OFFSET=-12ns;CPU_PERCENT=45.8;PRB_DL_UTIL=23.4;PRB_UL_UTIL=15.9;RSRP=-78dBm;SINR=24.7dB;TIMESTAMP=1705315905
Partial snippet01-adapter-output.yaml
input:
  http_server:
    path: /telemetry
    allowed_verbs: [ POST ]