Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F1427648
SpanInterface.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
SpanInterface.php
View Options
<?php
namespace
Wikimedia\Telemetry
;
/**
* Represents an OpenTelemetry span, i.e. a single operation within a trace.
*
* @since 1.43
* @see https://opentelemetry.io/docs/specs/otel/trace/api/#span
*/
interface
SpanInterface
{
/**
* Default value. Indicates that the span represents an internal operation within an application,
* as opposed to an operations with remote parents or children.
*/
public
const
SPAN_KIND_INTERNAL
=
1
;
/**
* Indicates that the span covers server-side handling of a synchronous RPC or other remote request.
*/
public
const
SPAN_KIND_SERVER
=
2
;
/**
* Indicates that the span describes a request to some remote service.
*/
public
const
SPAN_KIND_CLIENT
=
3
;
/**
* Indicates that the span describes the initiators of an asynchronous request.
*/
public
const
SPAN_KIND_PRODUCER
=
4
;
/**
* Indicates that the span describes a child of an asynchronous
* {@link SpanInterface::SPAN_KIND_PRODUCER} request.
*/
public
const
SPAN_KIND_CONSUMER
=
5
;
/**
* Get the context holding data for this span.
* @return SpanContext
*/
public
function
getContext
():
SpanContext
;
/**
* Set attributes (arbitrary metadata) for this span.
*
* When deciding on the set of attributes to register as well as their naming, consider following
* <a href="https://opentelemetry.io/docs/specs/semconv/general/trace/">Semantic Conventions</a> where
* applicable.
*
* @param array $attributes key-value mapping of attribute names to values
* @return SpanInterface fluent interface
*/
public
function
setAttributes
(
array
$attributes
):
SpanInterface
;
/**
* Set the kind of this span, which describes how it relates to its parent and children
* within the overarching trace.
*
* @param int $spanKind One of the SpanInterface::SPAN_KIND_** constants
* @see https://opentelemetry.io/docs/specs/otel/trace/api/#spankind
* @return SpanInterface fluent interface
*/
public
function
setSpanKind
(
int
$spanKind
):
SpanInterface
;
/**
* Start this span, optionally specifying an override for its start time.
* @param int|null $epochNanos The start time to use, or `null` to use the current time.
* @return SpanInterface
*/
public
function
start
(
?
int
$epochNanos
=
null
):
SpanInterface
;
/**
* End this span, optionally specifying an override for its end time.
* @param int|null $epochNanos The end time to use, or `null` to use the current time.
* @return void
*/
public
function
end
(
?
int
$epochNanos
=
null
):
void
;
/**
* Make this span the active span.
*
* This will cause any spans started without specifying an explicit parent to automatically
* become children of this span as long as it remains active.
*
* @return void
*/
public
function
activate
():
void
;
/**
* Deactivate this span.
* @return void
*/
public
function
deactivate
():
void
;
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, May 16, 14:55 (20 h, 3 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
6b/cd/eb2438187e3f7a3130ea76411854
Default Alt Text
SpanInterface.php (2 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment