Skip to content

Support processing guest stdout/stderr through tracing #449

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

Closed
lann opened this issue May 6, 2022 · 3 comments
Closed

Support processing guest stdout/stderr through tracing #449

lann opened this issue May 6, 2022 · 3 comments

Comments

@lann
Copy link
Collaborator

lann commented May 6, 2022

In #431 we add support for copying guest output to the console. If we update that implementation to pass through tracing we would gain a nice way to hook in other log processing options.

cc @itowlson

@itowlson
Copy link
Collaborator

itowlson commented May 9, 2022

Could we brainstorm the desired behaviour here? I'm not very familiar with the various tracing options. E.g.:

  • Should the guest output always go through tracing or should that be an option?
  • Does the tracing output have a level associated with it? If so, what should guest output be?
  • What metadata can/should we provide e.g. application id, component id, timestamp?

We can do this as a SIP or just figure out a general spec in this issue, but I'd like us to think about what we want before we dive into this!

@lann
Copy link
Collaborator Author

lann commented May 9, 2022

Should the guest output always go through tracing or should that be an option?

It should at least be optional at the engine level to support WAGI and any other triggers that need to process stdio. I think that it would otherwise make sense to pass all logging output through tracing, and handle log file/console output with subscribers.

Does the tracing output have a level associated with it? If so, what should guest output be?

Yes. I'd be inclined to default to DEBUG. It might be nice to make it configurable (per-component?), but with appropriate log event fields and filtering I don't think it is strictly necessary.

What metadata can/should we provide e.g. application id, component id, timestamp?

I think timestamps are handled by the subscriber. Application and component I would see as "spans"

I don't think we need a SIP for this. We're already using tracing. This is more an implementation detail, at least until we get to more instrumentation features.

@lann
Copy link
Collaborator Author

lann commented Sep 19, 2022

This is subsumed by #520

@lann lann closed this as completed Sep 19, 2022
Repository owner moved this from 🆕 Triage Needed to ✅ Done in Spin Triage Sep 19, 2022
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

No branches or pull requests

2 participants