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

Clean up logging / tracing logger output #5222

Open
turadg opened this issue Apr 25, 2022 · 3 comments
Open

Clean up logging / tracing logger output #5222

turadg opened this issue Apr 25, 2022 · 3 comments
Labels
logging technical-debt tooling repo-wide infrastructure vaults_triage DO NOT USE

Comments

@turadg
Copy link
Member

turadg commented Apr 25, 2022

What is the Problem Being Solved?

While developing for MN-1 we've accumulated a lot of log output. We won't want all of that in production.

Description of the Design

We can't simply condition on a prod vs dev environment variable because SES locks down.

We'll have to be judicious in what we log at all and have practices for enabling logging in dev that can't impact prod. For longer term solution see #1318

Security Considerations

Log output can provide information for attacks.

Test Plan

Look at log output in dev net.

@Tartuffo Tartuffo added the tooling repo-wide infrastructure label Apr 27, 2022
@Tartuffo Tartuffo added this to the Mainnet 1 milestone May 2, 2022
@Tartuffo Tartuffo modified the milestone: Mainnet 1 May 13, 2022
@Tartuffo
Copy link
Contributor

Tartuffo commented Aug 4, 2022

We should consistently use structured logging.

@dckc
Copy link
Member

dckc commented Apr 17, 2023

Scaling Considerations

Each trace(...) call is a console.log(...) which is implemented as a vat-to-kernel syscall. So keeping these turned on has some performance impact. I don't have any reason to believe it would be large.

Meanwhile, having them turned on provides a certain form of observability.

@dckc
Copy link
Member

dckc commented May 18, 2023

cannot save non-durable

These are all expected. ref f7c72f8

SwingSet: vat: v1: cannot save non-durable: coreEvalBridgeHandler Object [Alleged: coreHandler] { fromBridge: [Function: fromBridge] }
SwingSet: vat: v1: cannot save non-passable: diagnostics Cannot pass non-frozen objects like (an object). Use harden()
SwingSet: vat: v1: cannot save non-passable: instancePrivateArgs Cannot pass non-frozen objects like (an object). Use harden()
SwingSet: vat: v1: cannot save non-passable: startUpgradable Cannot pass non-frozen objects like (a function). Use harden()
SwingSet: vat: v1: cannot save non-passable: startGovernedUpgradable Cannot pass non-frozen objects like (a function). Use harden()
SwingSet: vat: v1: cannot save non-durable: clientCreator Object [Alleged: clientCreator] { createUserBundle: [Function: createUserBundle], createClientFacet: [Function: createClientFacet] }
SwingSet: vat: v1: cannot save non-durable: client Object [Alleged: chainClientManager] { assignBundle: [Function: assignBundle] }
SwingSet: vat: v1: cannot save non-passable: loadVat Cannot pass non-frozen objects like (a function). Use harden()
SwingSet: vat: v1: cannot save non-passable: loadCriticalVat Cannot pass non-frozen objects like (a function). Use harden()
SwingSet: vat: v1: cannot save non-durable: highPrioritySendersManager Object [Alleged: prioritySenders manager] { add: [Function: add], remove: [Function: remove] }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
logging technical-debt tooling repo-wide infrastructure vaults_triage DO NOT USE
Projects
None yet
Development

No branches or pull requests

4 participants