Interface: Span
A Span encapsulates logged data and metrics for a unit of work. This interface is shared by all span implementations.
We suggest using one of the various traced methods, instead of creating Spans directly.
See Span.traced for full details.
Hierarchy
-
↳
Span
Implemented by
Methods
close
▸ close(args?): number
Alias for end.
Parameters
| Name | Type |
|---|---|
args? | EndSpanArgs |
Returns
number
end
▸ end(args?): number
Log an end time to the span (defaults to the current time). Returns the logged time.
Will be invoked automatically if the span is constructed with traced.
Parameters
| Name | Type |
|---|---|
args? | EndSpanArgs |
Returns
number
The end time logged to the span metrics.
export
▸ export(): Promise<string>
Return a serialized representation of the object that can be used to start subspans in other places. See Span.traced for more details.
Returns
Promise<string>
Inherited from
flush
▸ flush(): Promise<void>
Flush any pending rows to the server.
Returns
Promise<void>
log
▸ log(event): void
Incrementally update the current span with new data. The event will be batched and uploaded behind the scenes.
Parameters
| Name | Type |
|---|---|
event | ExperimentLogPartialArgs |
Returns
void
logFeedback
▸ logFeedback(event): void
Add feedback to the current span. Unlike Experiment.logFeedback and Logger.logFeedback, this method does not accept an id parameter, because it logs feedback to the current span.
Parameters
| Name | Type |
|---|---|
event | Omit<LogFeedbackFullArgs, "id"> |
Returns
void
setAttributes
▸ setAttributes(args): void
Set the span's name, type, or other attributes after it's created.
Parameters
| Name | Type |
|---|---|
args | Omit<StartSpanArgs, "event"> |
Returns
void
startSpan
▸ startSpan(args?): Span
Lower-level alternative to traced. This allows you to start a span yourself, and can be useful in situations
where you cannot use callbacks. However, spans started with startSpan will not be marked as the "current span",
so currentSpan() and traced() will be no-ops. If you want to mark a span as current, use traced instead.
See traced for full details.
Parameters
| Name | Type |
|---|---|
args? | StartSpanArgs |
Returns
The newly-created Span
traced
▸ traced<R>(callback, args?): R
Create a new span and run the provided callback. This is useful if you want to log more detailed trace information beyond the scope of a single log event. Data logged over several calls to Span.log will be merged into one logical row.
Spans created within traced are ended automatically. By default, the span is marked as current, so they can be accessed using braintrust.currentSpan.
Type parameters
| Name |
|---|
R |
Parameters
| Name | Type | Description |
|---|---|---|
callback | (span: Span) => R | The function to be run under the span context. |
args? | StartSpanArgs & SetCurrentArg | - |
Returns
R
Returns
The result of running callback.
Properties
id
• id: string
Row ID of the span.
kind
• kind: "span"