-
Notifications
You must be signed in to change notification settings - Fork 12.6k
fix(apps): debug logs on apps-engine doesn't expand objects enough #37384
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
Conversation
|
Looks like this PR is ready to merge! 🎉 |
🦋 Changeset detectedLatest commit: 3f60aee The changes in this PR will be included in the next version bump. This PR includes changesets to release 42 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
WalkthroughAdded deeper object inspection for debug logs in the Deno runtime and removed the debug parameter from ProcessMessenger's constructor; several debug statements now log inspected string outputs instead of using object format specifiers. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant Runtime as AppsEngineDenoRuntime
participant Messenger as ProcessMessenger
participant Subproc as Subprocess
Note over Runtime,Messenger `#D3E4CD`: Initialization (constructor change)
Runtime->>Messenger: new ProcessMessenger() -- no debug arg
Messenger-->>Runtime: initialized
Note over Runtime,Subproc `#F7F3D7`: Sending a message
Runtime->>Runtime: inspect(payload) (depth=5)
Runtime->>Messenger: send(inspectedString)
Messenger->>Subproc: write(message)
Note over Subproc,Runtime `#F3DDE6`: Receiving a message
Subproc-->>Messenger: message
Messenger-->>Runtime: message
Runtime->>Runtime: inspect(received) and debug(...) -- logs use inspected strings
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 inconclusive)
✅ Passed checks (4 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro Disabled knowledge base sources:
📒 Files selected for processing (3)
🚧 Files skipped from review as they are similar to previous changes (1)
🧰 Additional context used🧠 Learnings (3)📚 Learning: 2025-09-25T09:59:26.461ZApplied to files:
📚 Learning: 2025-09-25T09:59:26.461ZApplied to files:
📚 Learning: 2025-09-25T09:59:26.461ZApplied to files:
🧬 Code graph analysis (1)packages/apps-engine/src/server/runtime/deno/AppsEngineDenoRuntime.ts (1)
🔇 Additional comments (5)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (1)
packages/apps-engine/src/server/runtime/deno/AppsEngineDenoRuntime.ts (1)
232-232: Consider using inspect for consistency.For consistency with the new logging approach, consider using format specifiers and
inspect()for theargsparameter.Apply this diff:
- this.debug('Emitted but no one listened: ', eventName, args); + this.debug('Emitted but no one listened: %s %s', eventName, inspect(args));
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Jira integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
packages/apps-engine/src/server/runtime/deno/AppsEngineDenoRuntime.ts(9 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: 📦 Build Packages
🔇 Additional comments (1)
packages/apps-engine/src/server/runtime/deno/AppsEngineDenoRuntime.ts (1)
4-4: LGTM! Good approach to centralizing inspect configuration.The import and helper function are well-implemented. Using
depth: 5provides a good balance between visibility into nested structures and avoiding excessive verbosity.Also applies to: 25-26
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #37384 +/- ##
===========================================
+ Coverage 68.12% 68.13% +0.01%
===========================================
Files 3364 3364
Lines 115814 115814
Branches 20909 20909
===========================================
+ Hits 78901 78914 +13
+ Misses 34216 34208 -8
+ Partials 2697 2692 -5
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
5ad457a to
3ead8b2
Compare
046570b to
9c45aa9
Compare
packages/apps-engine/src/server/runtime/deno/AppsEngineDenoRuntime.ts
Outdated
Show resolved
Hide resolved
6e0515d to
66b29e4
Compare
ea34a95 to
3f60aee
Compare
|
/patch |
|
Pull request #37440 added to Project: "Patch 7.12.1" |
|
/backport 7.11.1 |
|
Pull request #37441 added to Project: "Patch 7.11.1" |
|
/backport 7.10.4 |
|
Pull request #37442 added to Project: "Patch 7.10.4" |
Proposed changes (including videos or screenshots)
Issue(s)
ARCH-1870
Steps to test or reproduce
Further comments
Example logline:
2025-11-06T23:58:12.653Z appsEngine:runtime:deno:54588e04-e779-45b4-85de-eb6d186fc859 Received message from subprocess { jsonrpc: '2.0', id: 'v6oghc7u9u', result: { value: { status: 200, content: null }, logs: { appId: '54588e04-e779-45b4-85de-eb6d186fc859', method: 'api:simple:get', entries: [ { caller: 'anonymous OR constructor -> apiHandler', severity: 'debug', method: 'api:simple:get', timestamp: 2025-11-06T23:58:12.653Z, args: [ "simple's api:simple:get is being executed...", { method: 'get', headers: { 'x-forwarded-host': 'localhost:3000', 'x-forwarded-proto': 'http', 'x-forwarded-port': '3000', 'x-forwarded-for': '127.0.0.1', accept: '*/*', 'user-agent': 'curl/8.11.1', host: 'localhost:3000', connection: 'keep-alive' }, query: { alo: 'marciano', count: [ '1', '2' ] }, params: {}, content: {}, privateHash: null, user: null } ] }, { caller: 'anonymous OR constructor -> apiHandler', severity: 'debug', method: 'api:simple:get', timestamp: 2025-11-06T23:58:12.653Z, args: [ "simple's api:simple:get was successfully executed." ] } ], startTime: 2025-11-06T23:58:12.652Z, endTime: 2025-11-06T23:58:12.653Z, totalTime: 1, _createdAt: 2025-11-06T23:58:12.653Z } } }Summary by CodeRabbit
Summary by CodeRabbit
Release Notes