Skip to main content

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.