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

Logging to support catching errors #54

Merged
merged 21 commits into from
Apr 17, 2024
Merged

Logging to support catching errors #54

merged 21 commits into from
Apr 17, 2024

Conversation

jlewi
Copy link
Owner

@jlewi jlewi commented Apr 16, 2024

Logging to support #7

  • Updated logging in Agent.Generate and Executor.Execute so we log the information needed to determine when the human edits the cell

  • To properly log protos in structured logging we need to use the zapr proto plugin to generate MarshalLogObject functions for all the protos. We can then use zap.Object to pass the protos as fields to logger

    • We need to enable logr to allow passing zap fields
  • Add a logs subcommand and analyzer to process the logs and join the log entries into traces and logs for the blocks

  • Log call stack; fix Logs no longer include call stack #53; this was broken when we stopped using the helper functions to build the logs. Now that we explicitly build the logger we need to add the option to log the call stack.

  • Altered the SetupLogging method in app/cmd/assets.go to accept a logToFile boolean parameter, allowing conditional logging to files. We only want the serve command to log to files. We don't need the other commands to log to files

Analysis Package (app/pkg/analyze):

  • Developed a new package, analyze, responsible for processing and analyzing log files. This includes parsing raw log entries, organizing them into traces and blocks, and producing structured summaries that highlight the execution flow and outcomes.
  • Implemented several utility types and methods (LogEntry, Trace, BlockLog, etc.) to facilitate the analysis and organization of logs.

Configuration and Utility Changes:

  • Extended the app/pkg/config/config.go to include methods for retrieving both raw and processed log directories, supporting the new logging mechanism.
  • Added utility functions in app/pkg/docs/outputs.go to extract specific metadata from logged blocks, such as execution exit codes.

Copy link

netlify bot commented Apr 16, 2024

Deploy Preview for foyle canceled.

Name Link
🔨 Latest commit e5e678a
🔍 Latest deploy log https://app.netlify.com/sites/foyle/deploys/6620482c946c310008b49457

@jlewi jlewi mentioned this pull request Apr 17, 2024
@jlewi jlewi marked this pull request as ready for review April 17, 2024 22:05
@jlewi jlewi enabled auto-merge (squash) April 17, 2024 22:05
@jlewi jlewi merged commit da26d1b into main Apr 17, 2024
5 checks passed
@jlewi jlewi deleted the jlewi/analyze branch April 17, 2024 22:09
@jlewi jlewi changed the title Jlewi/analyze Logging to support catching errors Apr 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Logs no longer include call stack
1 participant