Skip to content

Commit

Permalink
remove artifacts
Browse files Browse the repository at this point in the history
  • Loading branch information
sfc-gh-gtokernliang committed Dec 24, 2024
1 parent 17619e6 commit d300f67
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 170 deletions.
188 changes: 36 additions & 152 deletions examples/experimental/otel_exporter.ipynb
Original file line number Diff line number Diff line change
@@ -1,153 +1,14 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# !pip install opentelemetry-api\n",
"# !pip install opentelemetry-sdk"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from pathlib import Path\n",
"import sys\n",
"\n",
"# Add base dir to path to be able to access test folder.\n",
"base_dir = Path().cwd().parent.parent.resolve()\n",
"if str(base_dir) not in sys.path:\n",
" print(f\"Adding {base_dir} to sys.path\")\n",
" sys.path.append(str(base_dir))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import logging\n",
"\n",
"root = logging.getLogger()\n",
"root.setLevel(logging.DEBUG)\n",
"handler = logging.StreamHandler(sys.stdout)\n",
"handler.setLevel(logging.DEBUG)\n",
"handler.addFilter(logging.Filter(\"trulens\"))\n",
"formatter = logging.Formatter(\n",
" \"%(asctime)s - %(name)s - %(levelname)s - %(message)s\"\n",
")\n",
"handler.setFormatter(formatter)\n",
"root.addHandler(handler)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from trulens.experimental.otel_tracing.core.instrument import instrument\n",
"\n",
"\n",
"class TestApp:\n",
" @instrument()\n",
" def respond_to_query(self, query: str) -> str:\n",
" return f\"answer: {self.nested(query)}\"\n",
"\n",
" @instrument(attributes={\"nested_attr1\": \"value1\"})\n",
" def nested(self, query: str) -> str:\n",
" return f\"nested: {self.nested2(query)}\"\n",
"\n",
" @instrument(\n",
" attributes=lambda ret, exception, *args, **kwargs: {\n",
" \"nested2_ret\": ret,\n",
" \"nested2_args[0]\": args[0],\n",
" }\n",
" )\n",
" def nested2(self, query: str) -> str:\n",
" nested_result = \"\"\n",
"\n",
" try:\n",
" nested_result = self.nested3(query)\n",
" except Exception:\n",
" pass\n",
"\n",
" return f\"nested2: {nested_result}\"\n",
"\n",
" @instrument(\n",
" attributes=lambda ret, exception, *args, **kwargs: {\n",
" \"nested3_ex\": exception.args if exception else None,\n",
" \"nested3_ret\": ret,\n",
" \"selector_name\": \"special\",\n",
" \"cows\": \"moo\",\n",
" }\n",
" )\n",
" def nested3(self, query: str) -> str:\n",
" if query == \"throw\":\n",
" raise ValueError(\"nested3 exception\")\n",
" return \"nested3\""
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import dotenv\n",
"from trulens.core.session import TruSession\n",
"from trulens.experimental.otel_tracing.core.init import init\n",
"\n",
"dotenv.load_dotenv()\n",
"\n",
"session = TruSession()\n",
"session.experimental_enable_feature(\"otel_tracing\")\n",
"session.reset_database()\n",
"init(session, debug=True)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from trulens.apps.custom import TruCustomApp\n",
"\n",
"test_app = TestApp()\n",
"custom_app = TruCustomApp(test_app)\n",
"\n",
"with custom_app as recording:\n",
" test_app.respond_to_query(\"test\")\n",
"\n",
"with custom_app as recording:\n",
" test_app.respond_to_query(\"throw\")"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "trulens",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3"
}
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# !pip install opentelemetry-api\n",
"# !pip install opentelemetry-sdk"
]
},
{
"cell_type": "code",
Expand Down Expand Up @@ -204,13 +65,33 @@
" return f\"nested: {self.nested2(query)}\"\n",
"\n",
" @instrument(\n",
" attributes=lambda ret, *args, **kwargs: {\n",
" attributes=lambda ret, exception, *args, **kwargs: {\n",
" \"nested2_ret\": ret,\n",
" \"nested2_args[0]\": args[0],\n",
" }\n",
" )\n",
" def nested2(self, query: str) -> str:\n",
" return f\"nested2: {query}\""
" nested_result = \"\"\n",
"\n",
" try:\n",
" nested_result = self.nested3(query)\n",
" except Exception:\n",
" pass\n",
"\n",
" return f\"nested2: {nested_result}\"\n",
"\n",
" @instrument(\n",
" attributes=lambda ret, exception, *args, **kwargs: {\n",
" \"nested3_ex\": exception.args if exception else None,\n",
" \"nested3_ret\": ret,\n",
" \"selector_name\": \"special\",\n",
" \"cows\": \"moo\",\n",
" }\n",
" )\n",
" def nested3(self, query: str) -> str:\n",
" if query == \"throw\":\n",
" raise ValueError(\"nested3 exception\")\n",
" return \"nested3\""
]
},
{
Expand Down Expand Up @@ -243,7 +124,10 @@
"custom_app = TruCustomApp(test_app)\n",
"\n",
"with custom_app as recording:\n",
" test_app.respond_to_query(\"test\")"
" test_app.respond_to_query(\"test\")\n",
"\n",
"with custom_app as recording:\n",
" test_app.respond_to_query(\"throw\")"
]
}
],
Expand Down
20 changes: 2 additions & 18 deletions src/core/trulens/experimental/otel_tracing/core/instrument.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
from functools import wraps
import logging
<<<<<<< HEAD
from typing import Any, Callable, Dict, Optional, Union
=======
from typing import Any, Callable, Optional, Union
import uuid
>>>>>>> ae0e4d895 (draft)

from opentelemetry import trace
from opentelemetry.baggage import get_baggage
Expand All @@ -14,12 +10,6 @@
import opentelemetry.context as context_api
from trulens.core import app as core_app
from trulens.experimental.otel_tracing.core.init import TRULENS_SERVICE_NAME
<<<<<<< HEAD
=======
from trulens.experimental.otel_tracing.core.semantic import (
TRULENS_SELECTOR_NAME,
)
>>>>>>> 41ef4d524 (draft)
from trulens.otel.semconv.trace import SpanAttributes

logger = logging.getLogger(__name__)
Expand Down Expand Up @@ -93,30 +83,24 @@ def wrapper(*args, **kwargs):
func_exception: Optional[Exception] = None
attributes_exception: Optional[Exception] = None

<<<<<<< HEAD
try:
ret = func(*args, **kwargs)
except Exception as e:
# We want to get into the next clause to allow the users to still add attributes.
# It's on the user to deal with None as a return value.
<<<<<<< HEAD
func_exception = e
=======
exception = e
=======

span.set_attribute("name", func.__name__)
span.set_attribute("kind", "SPAN_KIND_TRULENS")
span.set_attribute(
"parent_span_id", parent_span.get_span_context().span_id
"parent_span_id", span.get_span_context().span_id
)
span.set_attribute(
SpanAttributes.RECORD_ID,
str(get_baggage(SpanAttributes.RECORD_ID)),
)

ret = func(*args, **kwargs)
>>>>>>> 41ef4d524 (draft)
>>>>>>> ae0e4d895 (draft)

try:
attributes_to_add = {}
Expand Down

0 comments on commit d300f67

Please sign in to comment.