-
Notifications
You must be signed in to change notification settings - Fork 294
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
WIP: Initial sketch of streaming tail workers #2852
base: main
Are you sure you want to change the base?
Conversation
31ff8c6
to
2dcbac7
Compare
794cdc2
to
e40d411
Compare
Can we please get a design doc showing what the API looks like from the application developer's perspective? It's hard to figure that out from a PR. |
There's already an internal wiki doc discussing this that has already been shared with you previously. Check your email. Was shared about a month ago and updated yesterday |
Overall LGTM |
# contains general metadata about the pipeline that is being traced. | ||
struct Onset { | ||
accountId @0 :UInt32; | ||
stableId @1 :Text; |
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.
Some fields in this struct are internal details which should not be revealed to application code. Why include them here?
Can you please document what the JavaScript API will look like? Your design doc only shows this huge Cap'n Proto definition but doesn't explicitly document how it looks in JavaScript.
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.
Can you please document what the JavaScript API will look like?
This PR is focused mostly on the internal structure and does not currently reflect the JS interface. I do not imagine that the actual JavaScript interfaces will look much different than the current tail workers API defined by api/trace.h
except that I'm hoping to be able to do away with everything being a jsg::Object
as opposed to just Plain Ole JavaScript objects. The specifics of the JS-facing API will be addressed in a follow up PR.
8fde2e2
to
cb7e8ba
Compare
@danlapid ... thanks for the review! I updated a couple of those. On the naming concern, I'm going to leave the names as they are for now. Those will be trivial to change later if necessary before this goes live. |
cb7e8ba
to
d4723e1
Compare
Adds the ability for a workerd worker configuration to specify a tail worker configuration. This is useful for testing tail worker development locally, which up to now has not been possible.
d4723e1
to
0a33472
Compare
@fhanau ... updated here to incorporate the new ExecutionModel info |
Implements the key pieces of the new streaming tail workers model. Does not yet introduce the changes to make it active. This PR focuses on the core data model and restructuring of parts of the current tail workers impl to accomodate both models. Look at the tests (specifically trace-streaming-test.c++) to get a good feel for how the streaming trace is structured.
Among other changes included here...