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

capture only user-specified arkouda commands on client #2702

Closed
hokiegeek2 opened this issue Aug 21, 2023 · 3 comments · Fixed by #2707
Closed

capture only user-specified arkouda commands on client #2702

hokiegeek2 opened this issue Aug 21, 2023 · 3 comments · Fixed by #2707
Assignees
Labels
enhancement New feature or request

Comments

@hokiegeek2
Copy link
Contributor

hokiegeek2 commented Aug 21, 2023

Feature Description
The recently added command logging logs incoming commands along with any corresponds command arguments and requesting user. Client-side debug logging has demonstrated there are some implementation details that negatively impact the efficacy for command logging.

One example is the client invocation of ak.ones() results in three separate client server calls, none of which are called ones:

image

Looking at the ak.ones code, the invocations are as follows:

  1. create the pdarray via
  2. fill with ones via pdarray.fill(1)
  3. pdarray.__repr__ to display back to the client

In another example, ak.unique starts with the unique command which is followed by multiple delete commands deleting intermediate arrays along with a call to __repr__:

image

A possible enhancement would be to log all commands as submitted by the user via the client. One approach satisfies one of the command logging use cases--namely, to capture all commands within a workflow for later use in a non-interactive setting such as as cron job--is to generate and capture the command history within the Python client. Longer-term, being able to precisely capture solely user-specified commands server-side will require additional message metadata and processing logic. However, this issue is designed to satisfy the above-mentioned use case.

@hokiegeek2 hokiegeek2 added the enhancement New feature or request label Aug 21, 2023
@hokiegeek2 hokiegeek2 self-assigned this Aug 21, 2023
@hokiegeek2 hokiegeek2 changed the title need strategy to capture arkouda command history capture only user-specified arkouda commands on client Aug 21, 2023
hokiegeek2 added a commit to hokiegeek2/arkouda that referenced this issue Aug 22, 2023
@hokiegeek2
Copy link
Contributor Author

Testing within Python REPL looks good:

image

@hokiegeek2
Copy link
Contributor Author

Looks good within Jupyter notebook:

image

@hokiegeek2
Copy link
Contributor Author

Looks good within ipython notebook:

image

hokiegeek2 added a commit to hokiegeek2/arkouda that referenced this issue Aug 22, 2023
hokiegeek2 added a commit to hokiegeek2/arkouda that referenced this issue Aug 22, 2023
hokiegeek2 added a commit to hokiegeek2/arkouda that referenced this issue Aug 22, 2023
hokiegeek2 added a commit to hokiegeek2/arkouda that referenced this issue Aug 22, 2023
github-merge-queue bot pushed a commit that referenced this issue Aug 22, 2023
…2707)

* incremental checkin  #2702

* completed implementation of history module, refactored the client module accordingly, added pydocs #2702

* Fixed mypy error #2706

* fixed flake8 error #2702

* fixed pydoc error #2702

* fixed pydoc error #2702
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant