-
Notifications
You must be signed in to change notification settings - Fork 23
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
Add mode in lambda_function_template to keep track of time #5
Comments
We could adapt an approach like X-Trace [NSDI'07] or Pivot Tracing [SOSP15] |
@shelbyt the server already keeps track of this at coarser grain---each new state transition is timestamped. Are you trying to do something for which server-side timestamping doesn't work? |
@kwantam: I think the idea is that at scale, we're going to need some path-based tracing in order to do performance debugging and introspection into this system. For example, correlating multiple waves of (logically coupled) lambdas, looking for performance outliers, etc. |
What you say makes sense, but it's not at all clear to me that what you describe isn't already provided by the timestamping that the coordinator is doing (modulo two edge cases, one of which we can easily fix and one I doubt we'll see much in practice; we can go into these in more detail if you'd like). Anyhow, to the extent that we need more functionality, we should adopt a solution that doesn't involve adding more special-case functionality to the workers. In fact, my near-term goal (where "near term" is "after the Oakland deadline") is to make the workers even dumber than they are now. (At present the worker code does a couple things behind the scenes that I want to make explicit and more general. Best example: sending state files to neighbors is a special case.) The above implies that whatever solution we use should involve the coordinator, not the workers. |
Hi Riad @kwantam, I am not very sure about my understanding. But here are my findings. Please correct me if I'm wrong.
Questions:
Sorry if I'm sounding too lame. |
@kvasukib
To answer your questions:
Your questions are not lame at all, they're good questions! I'm sorry I didn't write any documentation :) |
I mentioned two corner cases where the current timestamping code breaks or is inconvenient. They are:
|
To keep track of where time is spent in each lambda it would be nice to have an additional mode that invokes the context object i.e. context.get_remaining_time_in_millis() around specific functions/lines.
This way we can keep track of overheads vs. s3 access time vs. actual user function code time and have finer grain trace information.
The text was updated successfully, but these errors were encountered: