getappmap / getappmap/appmap-java
Don't record class map objects outside of the requested scope
Open
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 88
- Forks
- 17
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 1
Description
Given this event:
{
"id": 1,
"path": "src/main/java/org/springframework/web/filter/OncePerRequestFilter.java",
"event": "call",
"lineno": 91,
"static": false,
"message": [
{
"kind": "req",
"name": "date",
"class": "java.lang.String",
"value": "2020-09-12",
"object_id": 1713864906
},
{
"kind": "req",
"name": "description",
"class": "java.lang.String",
"value": "routine check up",
"object_id": 1522361550
},
{
"kind": "req",
"name": "petId",
"class": "java.lang.String",
"value": "9",
"object_id": 801870463
},
{
"kind": "req",
"name": "ownerId",
"class": "java.lang.String",
"value": "7",
"object_id": 709319113
},
{
"kind": "req",
"name": "petId",
"class": "java.lang.String",
"value": "9",
"object_id": 611526333
}
],
"method_id": "doFilter",
"thread_id": 556,
"defined_class": "org.springframework.web.filter.OncePerRequestFilter",
"http_server_request": {
"protocol": "HTTP/1.1",
"path_info": "/owners/7/pets/9/visits/new",
"request_method": "POST",
"normalized_path_info": "/owners/:ownerId/pets/:petId/visits/new",
"client_normalized_path_info": "/owners/:ownerId/pets/:petId/visits/new"
}
},
A code object will be created in the class map for org.springframework.web.filter.OncePerRequestFilter, despite that package not existing in the appmap.yml configuration.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing how the supplied event is processed and how class-map objects are created, then inspect how the requested scope from appmap.yml is applied to the event's defined_class. Use the OncePerRequestFilter example as a regression case; done means classes outside the configured package are not recorded.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100