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

Prototype profiler object serialization using JSON #343

Open
2 tasks
yungyuc opened this issue Jun 2, 2024 · 10 comments · Fixed by #323, #376 or #397
Open
2 tasks

Prototype profiler object serialization using JSON #343

yungyuc opened this issue Jun 2, 2024 · 10 comments · Fixed by #323, #376 or #397
Assignees
Labels
enhancement New feature or request performance Profiling, runtime, and memory consumption

Comments

@yungyuc
Copy link
Member

yungyuc commented Jun 2, 2024

This issue derives from #302.

Develop a helper class or some helper classes to serialize the CallProfile object used for recording the profile data (in memory). Remarks:

  1. The helper class(es) should use proper encapsulation.
  2. The serialized data should be testable in Python. It may also be tested in C++ (google-test) but the C++ tests are not mandatory.
  3. The serialized JSON string should be human readable. The readability should be easy and use decent indentation.

There should be a capability to deserialize the data back to CallProfile. We may use this issue to track the deserialization, or use a different issue.


@yungyuc yungyuc added the performance Profiling, runtime, and memory consumption label Jun 2, 2024
@yungyuc
Copy link
Member Author

yungyuc commented Jun 2, 2024

@ThreeMonth03 is working on this issue with PR #323.

@yungyuc
Copy link
Member Author

yungyuc commented Jun 4, 2024

@ThreeMonth03 plans to make the next review for PR #323 ready by 5th June.

@yungyuc
Copy link
Member Author

yungyuc commented Jun 5, 2024

#323 is merged. We should start to exercise the data for analyzing performance to find out how useful it is and how to improve the design (of the profiler and the serialization).

@yungyuc yungyuc added the enhancement New feature or request label Jun 9, 2024
@yungyuc yungyuc linked a pull request Jun 24, 2024 that will close this issue
@tigercosmos
Copy link
Collaborator

tigercosmos commented Jun 26, 2024

@ThreeMonth03 Since #372 and #377, the general JSON parser, is merged, could you revise CallProfiler to use the new SerializableItem. For more details and examples, you can check the #372 and #377.

@ThreeMonth03
Copy link
Collaborator

ThreeMonth03 commented Jun 26, 2024

@ThreeMonth03 Since #372 and #377, the general JSON parser, is merged, could you revise CallProfiler to use the new SerializableItem. For more details and examples, you can check the #372 and #377.

Thank's for your contribution, I will trace the implementation and revise the CallProfiler.

@yungyuc yungyuc linked a pull request Jul 8, 2024 that will close this issue
@yungyuc
Copy link
Member Author

yungyuc commented Jul 14, 2024

@ThreeMonth03 @q40603 @tigercosmos do we have anything needed for this issue or need any further PR?

@ThreeMonth03
Copy link
Collaborator

Yes, I will. I will make a pr after issue382

@yungyuc
Copy link
Member Author

yungyuc commented Aug 24, 2024

@ThreeMonth03 Do we have any work left for this issue?

@ThreeMonth03
Copy link
Collaborator

@ThreeMonth03 Do we have any work left for this issue?

I think I should expose more class members for serializer and implement the deserializer, but I'm writing the notes for the newcomers.

@yungyuc
Copy link
Member Author

yungyuc commented Aug 24, 2024

@ThreeMonth03 Do we have any work left for this issue?

I think I should expose more class members for serializer and implement the deserializer, but I'm writing the notes for the newcomers.

No problem. I added the two tasks in the issue description. This issue remains open to track them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request performance Profiling, runtime, and memory consumption
Projects
Status: In Progress
3 participants