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

Output zipkin traces for remote execution #5903

Closed
illicitonion opened this issue Jun 4, 2018 · 3 comments
Closed

Output zipkin traces for remote execution #5903

illicitonion opened this issue Jun 4, 2018 · 3 comments
Assignees

Comments

@illicitonion
Copy link
Contributor

Profiling and debugging remote execution is currently hard; we have some logging, but nothing structured.

Let's modify the process_execution::remote::CommandRunner so that it tracks timings of key events, and outputs a zipkin trace for the execution.

Key events:

  • Making the execute RPC (and getting a final)
  • Starting and finishing uploading any files/digests that may be needed, both per-digest and for batches

I'm imagining a new struct along the lines of:

struct TimingEvent {
  execution_id: String, // just a uuid
  description: String, // something like "Uploading digest abc123 for execution of action with digest def456" or "Waiting for action with digest def456 to complete"
  start_time: std::time::SystemTime,
  finish_time: std::time::SystemTime,
}

the remote::CommandRunner having a Vec of these things, and the run method passing around an incomplete one, then adding it to the Vec when it's complete.

We can punt on formatting these as zipkin traces in the short term - just dumping these as JSON is better than nothing, but let's try to stay as close as possible to zipkin so that it's easy to zipkin-ise these in the future.

@illicitonion
Copy link
Contributor Author

(We will also, at some point, probably want to work out how to merge this into WorkUnit hierarchy, but passing that information over the Rust-Python boundary probably isn't worthwhile while this is in flux)

@stuhood
Copy link
Member

stuhood commented Feb 18, 2019

Assigning to @cattibrie, who has been working in this direction with @illicitonion. Thanks!

@Eric-Arellano
Copy link
Contributor

Zipkin was removed in Pants 2.0.

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

4 participants