Skip to main content

LogSpansClient

adaline.logs.spans searches individual spans and returns their full payloads — content, parsed content, attributes, tags, status, and timestamps. Use this when a trace-level search isn’t granular enough for the filter you need. Every method is async.

Access

from adaline.main import Adaline

adaline = Adaline()
spans = adaline.logs.spans  # LogSpansClient
The class is also exported directly:
from adaline.clients import LogSpansClient
Types from adaline_api:
from adaline_api.models.search_log_spans_request import SearchLogSpansRequest
from adaline_api.models.search_spans_response import SearchSpansResponse

Paginated span search with typed filter objects. Returns full span payloads — content, attributes, parsed_content, tags, status, timestamps.
async def search(*, query: SearchLogSpansRequest) -> SearchSpansResponse

Parameters

NameTypeRequiredDescription
querySearchLogSpansRequestYesProject, filters, sort, pagination.

Returns

SearchSpansResponse with { data: list[SpanRow]; pagination: Pagination }.

Example

from adaline_api.models.search_log_spans_request import SearchLogSpansRequest

response = await adaline.logs.spans.search(
    query=SearchLogSpansRequest(
        project_id="project_abc123",
        filters=[
            {"type": "model", "column": "model", "operator": "equals", "value": "gpt-4o"},
            {"type": "status", "column": "status", "operator": "equals", "value": "failure"},
        ],
        sort="startedAt:desc",
        limit=50,
    )
)

for span in response.data:
    print(span.id, span.name, span.content.type)

See Also