Skip to content

Commit a0116a2

Browse files
committed
fix: improve tracing errors
1 parent 7013a6b commit a0116a2

File tree

1 file changed

+28
-17
lines changed

1 file changed

+28
-17
lines changed

src/openlayer/lib/tracing/tracer.py

Lines changed: 28 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
"""Module with the logic to create and manage traces and steps."""
22

3-
import time
43
import asyncio
4+
import contextvars
55
import inspect
66
import logging
7-
import contextvars
8-
from typing import Any, Dict, List, Tuple, Optional, Awaitable, Generator
9-
from functools import wraps
7+
import time
8+
import traceback
109
from contextlib import contextmanager
10+
from functools import wraps
11+
from typing import Any, Awaitable, Dict, Generator, List, Optional, Tuple
1112

12-
from . import enums, steps, traces
13-
from .. import utils
14-
from ..._client import Openlayer
1513
from ..._base_client import DefaultHttpxClient
14+
from ..._client import Openlayer
1615
from ...types.inference_pipelines.data_stream_params import ConfigLlmData
16+
from .. import utils
17+
from . import enums, steps, traces
1718

1819
logger = logging.getLogger(__name__)
1920

@@ -251,12 +252,14 @@ async def __anext__(self):
251252
# Initialize tracing on first iteration only
252253
if not self._trace_initialized:
253254
self._original_gen = func(*func_args, **func_kwargs)
254-
self._step, self._is_root_step, self._token = _create_and_initialize_step(
255-
step_name=step_name,
256-
step_type=enums.StepType.USER_CALL,
257-
inputs=None,
258-
output=None,
259-
metadata=None,
255+
self._step, self._is_root_step, self._token = (
256+
_create_and_initialize_step(
257+
step_name=step_name,
258+
step_type=enums.StepType.USER_CALL,
259+
inputs=None,
260+
output=None,
261+
metadata=None,
262+
)
260263
)
261264
self._inputs = _extract_function_inputs(
262265
func_signature=func_signature,
@@ -466,16 +469,25 @@ def _handle_trace_completion(
466469
)
467470
if _publish:
468471
try:
472+
inference_pipeline_id = inference_pipeline_id or utils.get_env_variable(
473+
"OPENLAYER_INFERENCE_PIPELINE_ID"
474+
)
469475
client = _get_client()
470476
if client:
471477
client.inference_pipelines.data.stream(
472-
inference_pipeline_id=inference_pipeline_id
473-
or utils.get_env_variable("OPENLAYER_INFERENCE_PIPELINE_ID"),
478+
inference_pipeline_id=inference_pipeline_id,
474479
rows=[trace_data],
475480
config=config,
476481
)
477482
except Exception as err: # pylint: disable=broad-except
478-
logger.error("Could not stream data to Openlayer %s", err)
483+
logger.error(traceback.format_exc())
484+
logger.error(
485+
"Could not stream data to Openlayer (pipeline_id: %s, base_url: %s)"
486+
" Error: %s",
487+
inference_pipeline_id,
488+
client.base_url,
489+
err,
490+
)
479491
else:
480492
logger.debug("Ending step %s", step_name)
481493

@@ -557,7 +569,6 @@ def _finalize_step_logging(
557569
# ----------------------------- Async generator specific functions ----------------------------- #
558570

559571

560-
561572
def _finalize_async_generator_step(
562573
step: steps.Step,
563574
token: Any,

0 commit comments

Comments
 (0)