Project

General

Profile

Bug #17740

Printing longer lists with table formatter is extremely slow

Added by Tomáš Strachota almost 2 years ago. Updated 4 months ago.

Status:
Closed
Priority:
Normal
Category:
Hammer core
Target version:
Difficulty:
Triaged:
Bugzilla link:
Team Backlog:
Marek
Fixed in Releases:
Found in Releases:

Description

The table formatter prints data via table_print gem into a string, then parses the output, reorders columns and finally prints the new string to stdout. This approach is extremely slow for long lists.

Attached logs show that printing a list of about 3000 records (hammer errata list) took 15m 13s, where the time needed to fetch the data from server was only 25 seconds.

The same command executed with base formatter took only 27 seconds. Other formatters perform similarly.

erratum_list_out_table.txt.tar.gz erratum_list_out_table.txt.tar.gz 1.8 MB Tomáš Strachota, 12/19/2016 10:13 AM
erratum_list_out_base.txt.tar.gz erratum_list_out_base.txt.tar.gz 1.81 MB Tomáš Strachota, 12/19/2016 10:21 AM

Related issues

Related to Hammer CLI - Feature #17819: Output adapters should support printing lists page by pageNew2016-12-21

Associated revisions

Revision 0d3e8135 (diff)
Added by Tomas Strachota almost 2 years ago

Fixes #17740 - replacement for table_print

Replaces table print with a custom solution due to performance reasons.

History

#1 Updated by Tomáš Strachota almost 2 years ago

  • Status changed from New to Assigned
  • Bugzilla link set to 1393611

#2 Updated by The Foreman Bot almost 2 years ago

  • Status changed from Assigned to Ready For Testing
  • Pull request https://github.com/theforeman/hammer-cli/pull/229 added

#3 Updated by Tomáš Strachota almost 2 years ago

  • Related to Feature #17819: Output adapters should support printing lists page by page added

#4 Updated by Anonymous almost 2 years ago

  • Status changed from Ready For Testing to Closed
  • % Done changed from 0 to 100

#5 Updated by Tomáš Strachota over 1 year ago

  • Legacy Backlogs Release (now unused) set to 233

Also available in: Atom PDF