ray-project / ray

Ray is an AI compute engine. Ray consists of a core distributed runtime and a set of AI Libraries for accelerating ML workloads.
https://ray.io
Apache License 2.0
33.54k stars 5.69k forks source link

Ray dashboard integration #7383

Open ashione opened 4 years ago

ashione commented 4 years ago

Intergate ray core with other components in dashboard

We want to integrate differents components into one dashboard or sub tab in main dashboard (such as streaming/rllib/custom app), but all documents still lack of detailed introduction. I notice that large system usuallyseparates the front end and the server end, so can we refactor the ray dashboard or has some plan about it in future?

jovany-wang commented 4 years ago

I agree that we should provide RESTful like APIs for frontend.

pcmoritz commented 4 years ago

cc @mitchellstern

rkooo567 commented 4 years ago

@mitchellstern we can probably standardize aiohttp endpoints and integrate to auto api doc generation?

ashione commented 4 years ago

@pcmoritz @rkooo567 @simon-mo @jovany-wang How about build open api for task submitting, monitor and cluster overview?

ashione commented 4 years ago

By the way, It fails to build ray dashboard by

# Optionally build the dashboard (requires Node.js, see below for more information).
pushd ray/python/ray/dashboard/client
npm ci
npm run build
popd

So which version of nodejs can build this in source code?

simon-mo commented 4 years ago

Hmm in our CI we just use latest stable node version via nvm https://github.com/ray-project/ray/blob/2d97650b1e01c299eda8d973c3b7792b3ac85307/ci/travis/install-dependencies.sh#L78-L83

ashione commented 4 years ago

Hmm in our CI we just use latest stable node version via nvm

https://github.com/ray-project/ray/blob/2d97650b1e01c299eda8d973c3b7792b3ac85307/ci/travis/install-dependencies.sh#L78-L83

OK. thx, lastest version works.

danigosa commented 4 years ago

I agree that we should provide RESTful like APIs for frontend.

This would enable easy integration with standard metrics tools like Prometheus by doing a ray-prometheus-exporter that exports from dashboard to prometheus data without having to use intrusive and discouraging push-gateways, by pulling data, the proper way

ashione commented 4 years ago

I agree that we should provide RESTful like APIs for frontend.

This would enable easy integration with standard metrics tools like Prometheus by doing a ray-prometheus-exporter that exports from dashboard to prometheus data without having to use intrusive and discouraging push-gateways, by pulling data, the proper way

Nice suggestions, metrics exporter is useful for monitor but not enough for interactive platform.