heavyai/pymapd

get_dashboards() returns empty dashboard_state and image_hash

tshepitko opened this issue · 5 comments

get_dashboards() method returns list of dashboards where each dashboard has empty parameters which are mandatory for create_dashboard() call:

  • dashboard_state

dashboard_state is intentionally left empty to reduce payload size(especially when returning a list of large amount of dashboards). You can grab the dashboard_id of the interesting dashboard from the list and make a call to get_dashboard() to get full details.

Definitely I can use get_dashboard() method, but single call get_dashboards() will work faster, because:

  • one TCP connection instead of N consequent TCP connections
  • with TLS enabled only single TLS handshake occurs
  • TCP slow start (1 vs N connections)

How many dashboards cause issues with single call get_dashboards() where dashboard_state is exposed?

What is the use case here? As I understand if you are trying to fetch dashboard details only to create a new dashboard then you may use duplicate_dashboard() call which takes dashboard_id as an argument and do the same thing for you internally.

We can certainly look into sending dashboard_state and other missing details over the wire but have not yet received a use case where user may have to create/duplicate several dashboards from the existing ones.

My use case is to make backup of all currently available dashboards which will be stored in files and exported to external storage