When a service A calls service B, it's common practice to put the trace and span ids into HTTP headers so that in the visualizer you can see spans of B as children of spans of A.
The idea is to do the similar thing when a program A calls program B as a subprocess. For example, stack or ghcide calls ghc and sets an environment variable "OPENTELEMETRY_CONTEXT=ot--". The callee would inspect the environment variables on startup and be aware of the trace id and parent span id. After we upload both eventlogs, we'll see spans of both programs participating in the same trace.