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

Duplicate return event properties are replaced by parent_id #50

Closed
dustinbyrne opened this issue Feb 24, 2021 · 1 comment · Fixed by #91
Closed

Duplicate return event properties are replaced by parent_id #50

dustinbyrne opened this issue Feb 24, 2021 · 1 comment · Fixed by #91
Labels

Comments

@dustinbyrne
Copy link
Collaborator

dustinbyrne commented Feb 24, 2021

The following properties are all specified on events where Event.event == "call" (see here for the official spec):

  • lineno
  • path
  • static
  • defined_class
  • method_id

These properties are duplicated on the return event (i.e. an event where Event.event == "return"). Instead, they should be removed, and replaced with parent_id. The parent_id is a reference to the call's id property.

Events do not know about other events. However, we do "queue" the last event to be recorded, allowing it to be modified until the next event is written. When a return event is recorded, the queued event should contain the call. This may be an ideal place to set parent_id, as both the call and return events should exist in a single scope.

In the code linked below, pendingEvent would be the call, event would be the return.
https://github.com/applandinc/appmap-java/blob/master/src/main/java/com/appland/appmap/record/Recorder.java#L140-L141

kgilpin added a commit that referenced this issue Jul 29, 2021
return events don't duplicate the function call fields.
http_server_request and sql_query don't need function call fields either.

Delivers #50
Delivers #44
appland-release pushed a commit that referenced this issue Aug 2, 2021
# [1.3.0](v1.2.0...v1.3.0) (2021-08-02)

### Bug Fixes

* Improve robustness and logging of parent interface and superclass access ([a24f056](a24f056))
* Keep events 'open' until the next event is received ([9e12099](9e12099))
* Remove '-f' option to 'wait' ([637f904](637f904))

### Features

* Add session recording checkpoint ([04d9293](04d9293))
* Apply different fields to call, return, sql, etc ([3d8db1f](3d8db1f)), closes [#50](#50) [#44](#44)
* appmap.debug enables additional debug info ([67e935e](67e935e))
* Expand and modularize the integration test suite ([ad06488](ad06488))
* Record return event parent_id ([40be795](40be795))
* Write source location and test status metadata ([397e200](397e200))
@appland-release
Copy link

🎉 This issue has been resolved in version 1.3.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants