class ViewInstrumentation extends AbstractInstrumentation

Constants

protected STATE_CONTEXT_KEY

protected DURATION_METRIC

protected VIEW_ATTRIBUTE

protected DURATION_BOUNDARIES

Properties

protected InstrumentationOptions $options from  AbstractInstrumentation
protected TracerInterface|null $tracer
protected HistogramInterface|null $duration

Methods

void
register(array $options)

Register the instrumentation with normalized options.

void
registerInstrumentation()

Register view observers and instruments.

bool
tracesEnabled()

Determine whether trace output is enabled.

bool
metricEnabled(string $name)

Determine whether a metric is enabled.

bool
isDirectCancellation(Throwable|null $exception)

Determine whether the throwable is a direct coroutine cancellation.

string
schemaUrl()

Return the semantic conventions schema URL for Hypervel instrumentation scopes.

array
indexObservers(array $names, array $observers)

Index callback observers by their matching instrument name.

__construct(Factory $views, TracerProviderInterface $tracerProvider, MeterProviderInterface $meterProvider, ClockInterface $clock, LogContextScopeFactory $logContextScopes)

Create view instrumentation.

void
start(View $view)

Start view-render telemetry.

void
finish(View $view, Throwable|null $exception)

Complete view-render telemetry.

takeState(View $view)

Remove and return the matching top view-render state.

Details

final void register(array $options)

Register the instrumentation with normalized options.

Parameters

array $options

Return Value

void

at line 67
protected void registerInstrumentation()

Register view observers and instruments.

Return Value

void

protected bool tracesEnabled()

Determine whether trace output is enabled.

Return Value

bool

protected bool metricEnabled(string $name)

Determine whether a metric is enabled.

Parameters

string $name

Return Value

bool

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.

Parameters

Throwable|null $exception

Return Value

bool

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.

Return Value

string

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.

Parameters

array $names
array $observers

Return Value

array

at line 55
__construct(Factory $views, TracerProviderInterface $tracerProvider, MeterProviderInterface $meterProvider, ClockInterface $clock, LogContextScopeFactory $logContextScopes)

Create view instrumentation.

Parameters

Factory $views
TracerProviderInterface $tracerProvider
MeterProviderInterface $meterProvider
ClockInterface $clock
LogContextScopeFactory $logContextScopes

at line 99
protected void start(View $view)

Start view-render telemetry.

Parameters

View $view

Return Value

void

at line 140
protected void finish(View $view, Throwable|null $exception)

Complete view-render telemetry.

Parameters

View $view
Throwable|null $exception

Return Value

void

at line 187
protected ViewTelemetryState|null takeState(View $view)

Remove and return the matching top view-render state.

Parameters

View $view

Return Value

ViewTelemetryState|null