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

output: support async streaming output #3323

Closed
yugangw-msft opened this issue May 11, 2017 · 3 comments
Closed

output: support async streaming output #3323

yugangw-msft opened this issue May 11, 2017 · 3 comments
Labels
Milestone

Comments

@yugangw-msft
Copy link
Contributor

To display large list generated from Paging API, would be nice to start the output when the current page is retrieved. To wait till all data retrieved would be a sub optimal experience as the whole command appears hang for long long time
Repro:
1. login to corp tenent
2. run az ad user list

@yugangw-msft
Copy link
Contributor Author

depends on #3481

@troydai troydai self-assigned this Sep 22, 2017
@troydai troydai added this to the Sprint 25 milestone Sep 22, 2017
@troydai troydai modified the milestones: Sprint 25, Sprint 29 Dec 11, 2017
@troydai
Copy link
Contributor

troydai commented Apr 6, 2018

Steaming does improve the perception of performance. However, it doesn't actually solve any problem of resolve user issues.

  1. The user still has to wait for the list action to finish. The difference is instead of staring at the blank screen he/she watches ever-ending rolling list of information.
  2. When the result is large, in many terminals the data still overflow the buffer, causing the results in early porting lost. Doesn't help in streaming.
  3. To automation script, there is no difference.

The feature itself is not easy to implement:

  1. If the output is table format, the table will be distorted because the width of the columns can't be determined.
  2. If the output is JSON format, we need to manually craft the Array format.

The original problem the "streaming" feature purpose indents to solve is to improve the usability for commands return a large amount of information while the paging feature is lacking. Let's solve the paging thing actually.

@troydai troydai removed their assignment Oct 8, 2018
@yugangw-msft
Copy link
Contributor Author

We don't need this any more. Even with streaming support, such large volume of output is useless to accomplish users' end goal which is to find the information they want, no matter how are we going to polish the output. We will switch to the pattern:

  1. Show the first 100 and warn there are more
  2. Encourage users to use filters
  3. Expose --all for people to opt in the old pattern.

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

No branches or pull requests

3 participants