activate(); * try { * // ... * } finally { * $scope->detach(); * } * ``` * * @return ScopeInterface scope to detach the context and restore the previous * context * * @see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/context/README.md#attach-context */ public function activate(): ScopeInterface; /** * Returns a context with the given key set to the given value. * * @template T * @param ContextKeyInterface $key key to set * @param T|null $value value to set * @return ContextInterface a context with the given key set to `$value` * * @see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/context/README.md#set-value */ public function with(ContextKeyInterface $key, $value): ContextInterface; /** * Returns a context with the given value set. * * @param ImplicitContextKeyedInterface $value value to set * @return ContextInterface a context with the given `$value` * * @see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/context/README.md#set-value */ public function withContextValue(ImplicitContextKeyedInterface $value): ContextInterface; /** * Returns the value assigned to the given key. * * @template T * @param ContextKeyInterface $key key to get * @return T|null value assigned to `$key`, or null if no such value exists * * @see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/context/README.md#get-value */ public function get(ContextKeyInterface $key); }