getappmap / getappmap/appmap-python

Record-by-default creates an AppMap for a function that is run using multiprocessing

Open
#201 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

appmap-python enhancement
Dominant language
Python
Stars
104
Forks
17
PR merge metrics
No merged PRs in 30d

Description

Currently, a function that's run using the multiprocessing package is instrumented, but there's no way to generate an AppMap for it. This means, for example, that the events property in the AppMap printed by mp/mp.py in https://github.com/getappmap/appmap-python/issues/200#issue-1477421807 will be empty.

appmap-python should generate multiprocessing recordings automatically, analogous to request recordings. A recording should be started before the function is run, and an AppMap created when it returns.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the multiprocessing example in mp/mp.py and compare its empty events output with the request-recording behavior referenced in the issue. Trace where the function is instrumented and where recordings are started and finalized. Done means multiprocessing functions automatically produce an AppMap with their events when the function returns.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
devtools
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.