WebSocketInstrumentation
class WebSocketInstrumentation extends AbstractInstrumentation
Constants
| protected STATE_CONTEXT_KEY |
|
| protected DURATION_METRIC |
|
| protected MESSAGES_METRIC |
|
| protected ACTIVE_CONNECTIONS_METRIC |
|
| protected OPCODE_ATTRIBUTE |
|
| protected SERVER_ATTRIBUTE |
|
| protected DURATION_BOUNDARIES |
|
Properties
| protected InstrumentationOptions | $options | from AbstractInstrumentation | |
| protected TracerInterface|null | $tracer | ||
| protected HistogramInterface|null | $duration | ||
| protected CounterInterface|null | $messages | ||
| protected UpDownCounterInterface|null | $activeConnections |
Methods
Register the instrumentation with normalized options.
Register WebSocket listeners and instruments.
Determine whether a metric is enabled.
Determine whether the throwable is a direct coroutine cancellation.
Return the semantic conventions schema URL for Hypervel instrumentation scopes.
Index callback observers by their matching instrument name.
Create WebSocket instrumentation.
Remove and return the matching top WebSocket message state.
Return bounded WebSocket message attributes.
Details
in
AbstractInstrumentation at line 21
final void
register(array $options)
Register the instrumentation with normalized options.
at line 84
protected void
registerInstrumentation()
Register WebSocket listeners and instruments.
in
AbstractInstrumentation at line 35
protected bool
tracesEnabled()
Determine whether trace output is enabled.
in
AbstractInstrumentation at line 43
protected bool
metricEnabled(string $name)
Determine whether a metric is enabled.
in
AbstractInstrumentation at line 53
protected bool
isDirectCancellation(Throwable|null $exception)
Determine whether the throwable is a direct coroutine cancellation.
Ending an operation by direct cancellation is control flow, not a failure.
in
AbstractInstrumentation at line 64
protected string
schemaUrl()
Return the semantic conventions schema URL for Hypervel instrumentation scopes.
Every tracer, meter and logger obtained for one scope must pass the same URL.
in
AbstractInstrumentation at line 79
protected array
indexObservers(array $names, array $observers)
Index callback observers by their matching instrument name.
The SDK supplies observers in the same order as the instruments passed to batchObserve(), so the unchanged name order is the mapping contract.
at line 71
__construct(Dispatcher $events, TracerProviderInterface $tracerProvider, MeterProviderInterface $meterProvider, ClockInterface $clock, LogContextScopeFactory $logContextScopes, OperationOrigin $origins)
Create WebSocket instrumentation.
at line 147
protected void
start(MessageReceived $event)
Start WebSocket message telemetry.
at line 190
protected void
finish(MessageHandled $event)
Complete WebSocket message telemetry.
at line 251
protected WebSocketTelemetryState|null
takeState(Frame $frame)
Remove and return the matching top WebSocket message state.
at line 277
protected array
messageAttributes(Frame $frame, string $server)
Return bounded WebSocket message attributes.