Open mikeldking opened 8 months ago
With respect to threading and async, OpenTelemetry by default uses contextvars
to ensure the context is unique to each thread/ task out of the box. So it's safe for a session context manager to interact with these APIs.
@mikeldking This looks like a great feature and looking forward to try it out. Let me know if you need any support on testing this. I have a phoenix server deployed in azure containers and logging the traces via databricks notebook. This all is done for RAG chain which is built using langchain.
As a user of phoenix, I want to be able to associate multiple traces (e.g. conversational flows) under a single session_id. This way I can track the back and forth between a user and a chat completion endpoint (e.g. visualize the back and forth).
In addition to tracking a session.id, we might also want to track session metadata such as user_id etc.
As a developer building a chat or agent application, I want to be able to track user interactions with my application. Notably if my application keeps track of user interactions under a single “session”, I want to be able to view the user interactions at a higher level rather than a trace.
OpenInference Semantic Convention changes
session
.id
the application provided correlation idOpenInference instrumentation changes
New “openinference-instrumentation” package
Proposed solution is to leverage trace context to set “inheritable” attributes that would be added to each span that is nested below a session context. This means that the setting of the session
Open questions:
Custom Instrumentation

Custom instrumentation would also have to inherit the attributes in a simple way. We need to provide convenience to pull these attributes and attach them to the span.
Architecture
Under the above,
session.id
would correlate to atrace
(not a span) to avoid the danger of spans that get captured in the absence of a session.id. This must be the assumption when querying for sessions.Milestone 1 - Instrumentation
Session Tracking
Instrumentation Documentation
Milestone 2 - Sessions in the UI
Engineering Leads: @RogerHYang @Parker-Stafford
Server Support for Sessions
Sessions User-Interface
Sessions API
Milestone 2.5 Sessions JavaScript Support
JavaScript
Milestone 3 - Evaluations / Annotations
As a user I might want to evaluate how a session went.