Logs scrolling away
👋 Hey! Maybe this is a silly question, but is there a way in the logs dashboard to prevent/stop the autoscroll? I am trying to grab some outputs and it's incredibly hard to read or copy anything from the logs because it just continues to jump/scroll from the live output.
11 Replies
What happens if you scroll up? The page should not keep scrolling to the bottom in that case.
(if it does, what OS and Browser are you using?)
Ah! I think it's a slightly different issue that I was encountering. Is there a textbox size/limit to the logs view? When I do a refresh of the page the issue goes away, so I think this is more of a truncation window. IE: If the logs view is "full" and starts dropping old records for new ones, you end up with a constant jitter/stutter that makes the logs page pretty unusable
I'll see if I can grab a quick screen recording in a bit if that doesn't quite make sense.
That sounds like a bug indeed, cc @ari
Definitely a bug and not intentional, will take a look today. In the meantime, does the "Clear logs" button alleviate the issue for you so you don't need to do a full page refresh?
Yep, clearing the logs or refreshing the page clears it up. https://www.loom.com/share/f1b8cef616d048f6a862732d9e99a399?sid=bdd5718e-3266-4340-9126-14258da6a004 Here is a quick screen cap to illustrate.
Oh, hmm. Thanks for the video -- it's a bit different from what I was expecting, but helpful. I'll follow up once I have an update on our progress
I would love if there was some more tooling/options around logs. Especially since the docs recommend simply starting with console logs and the like. Trying to debug a serverless app with many different calls definitely becomes a little bit of a hassle. Something like AWS X-Ray that I can trace a given stack would be immensely helpful
@Foxxy we recommend piping the logs to Axiom or DataDog for better tooling (and persistence).
(building the best logging service in addition to the best serverless cloud platform is a tall order for us 🙂 )
Oh yeah absolutely, just providing some general feedback as I've been learning the ai-town repo and Convex. exporting logs makes enough sense and I can start down that route if I need to. As some general feedback, if you're trying to market convex as this sort of "one stop shop", I would think that I should be able to get a pretty good developer/debug experience. Serverless debugging is a pain no matter where I would export the logs, so I think there's still some good opportunity 🙂
Also, not sure if this is helpful or not for you all, but a little additional context around what I am currently trying to do (and why the logs are a bit of a hassle) I am working on features of Edgar's fork of the AI-town research repo. Since this app will be running dozens of AI "agents", I am trying to debug singular agent loops/call stacks. "What did this agent do in this particular step/tick?" are the debug questions I'm trying to get at. I have been playing around with the idea of a "session helper" in the convex-helpers package. custom wrappers for actions/queries/mutations that will send everything to a logs table. Nothing like trying to monitor Convex with convex
Also, not sure if this is helpful or not for you all, but a little additional context around what I am currently trying to do (and why the logs are a bit of a hassle) I am working on features of Edgar's fork of the AI-town research repo. Since this app will be running dozens of AI "agents", I am trying to debug singular agent loops/call stacks. "What did this agent do in this particular step/tick?" are the debug questions I'm trying to get at. I have been playing around with the idea of a "session helper" in the convex-helpers package. custom wrappers for actions/queries/mutations that will send everything to a logs table. Nothing like trying to monitor Convex with convex
Definitely appreciate the feedback + the example of what you're trying to debug!
I've been enjoying using Axiom for going through logs - it has some nice functionality for parsing unstructured log lines (e.g. I have an axiom view that parses log lines matching
foo: { "some": "json data" }
and lets me filter on the json data).
Sounds like you might be able to get something to filter to logs for a particular agent by prefixing all your logs with the agent ID and stream them to Axiom? (perhaps with convex middleware that adds ctx.console
that adds the prefix)
I've also sometimes piped npx convex logs
to a file (depending on log volume) where I can regex / find-replace my way to the logs I want.
Our hope is to keep improving our docs for how to debug different issues (where sometimes the suggestion will be to export to Axiom / Datadog / other platform), so the concrete examples + where we seem to be falling short are helpful.@Foxxy quick update on the logs page for ya -- we deployed a fix today that optimized rendering a little bit, hopefully that makes the page slightly more usable. I've got a more impactful improvement in the works, which I'll hopefully get out sometime this week
You may also see a little less jumping around if you filter out "running" funtions on the left-hand side. We're working on making that better too