Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(sessions): sessions table on project page #5204

Merged
merged 27 commits into from
Oct 28, 2024
Merged

Conversation

RogerHYang
Copy link
Contributor

@RogerHYang RogerHYang commented Oct 26, 2024

resolves #4959
resolves #5011
resolves #5014
resolves #5058
resolves #5059
resolves #5066

Screenshot 2024-10-25 at 7 34 21 PM

@dosubot dosubot bot added the size:XXL This PR changes 1000+ lines, ignoring generated files. label Oct 26, 2024
@Arize-ai Arize-ai deleted a comment from review-notebook-app bot Oct 26, 2024
@RogerHYang RogerHYang changed the title feat: sessions table on project page feat(sessions): sessions table on project page Oct 26, 2024
@axiomofjoy
Copy link
Contributor

Looks good! Most of my comments are about optimizations for dataloaders and avoiding pulling from attributes over a connection. Assuming we will address these as follow-ups.

Would be good to get a frontend review here as well.

app/src/pages/project/ProjectPage.tsx Show resolved Hide resolved
app/src/pages/project/ProjectPage.tsx Show resolved Hide resolved
app/src/pages/project/SessionsTable.tsx Show resolved Hide resolved
src/phoenix/server/api/types/ExperimentRun.py Show resolved Hide resolved
src/phoenix/server/api/types/Trace.py Outdated Show resolved Hide resolved
Comment on lines +54 to +55
models.Span.attributes[INPUT_VALUE].label("value"),
models.Span.attributes[INPUT_MIME_TYPE].label("mime_type"),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Non-blocking: We might want to think about materializing the input and output as their own columns so we can avoid querying attributes over a connection. Even with a dataloader, this led to performance issues with traces when the attributes are large.


async def _load_fn(self, keys: List[Key]) -> List[Result]:
stmt = select(models.Trace).where(models.Trace.trace_id.in_(keys))
async with self._db() as session:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ahh the db sessions plus the product sessions, they have arrived haha

Comment on lines +24 to +29
rootSpan {
input {
value
}
output {
value
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah i see your point here, if there isn't a root span, this is gonna get nasty to deal with, can cross that bridge when we come to it i suppose

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size:XXL This PR changes 1000+ lines, ignoring generated files.
Projects
Status: Done
3 participants