Local ingest ports
The agent can open local ports to receive data from applications on the same host. Both are off by default and bind to loopback.
Custom application metrics
Let apps on the host POST their own KPIs (namespaced app.*), which the agent forwards up
the WebSocket:
wakora --custom-metrics-port 9099
or:
[agent]
custom-metrics-port = 9099
Namespace, cardinality and payload size are enforced so a noisy app cannot blow up your metric count.
OpenTelemetry spans (APM)
For method-level APM, the agent runs a local OTLP receiver that accepts spans over HTTP, in both JSON and protobuf. The instrumented runtime exports to this port and the agent forwards the spans up the same WebSocket, keeping the single-outbound-connection model.
Because it speaks standard OTLP, the receiver accepts spans from any OpenTelemetry SDK, not only the PHP and .NET runtimes the agent provisions. If you already instrument a Java, Node, Python, or Go service with OTel, point its exporter at this port and the spans flow through the same pipeline.
wakora --otlp-port 4318
or:
[agent]
otlp-port = 4318
For containerized apps that cannot reach loopback, bind the receiver on an additional address such as the Docker bridge gateway:
[agent]
otlp-port = 4318
otlp-bind = 172.30.0.1
The bind stays on the bridge IP rather than 0.0.0.0, so only same-network containers can
reach it. See APM for the full pipeline.