tree: f6d59429b4aaeaa18397cb35bea6a84ea97b27c7 [path history] [tgz]
  1. far/
  2. server/
  3. surveyor/
  4. test/
  5. OWNERS
  6. README.md
scripts/component_graph/README.md

Component Graph

The component graph provides a HTTP server written in python designed to be run on developer machines to view the complete component graph for their system state. This component graph is generated from data provided by the Fuchsia package manager system.

All packages provided by the Fuchsia Package manager are parsed and all available meta/ files are added as json objects to each package. By deep scanning every single package the tool is able to retrieve almost all component files that run on the system.

Currently parsing componentns from the ZBI is not supported. However this is planned future work.

Getting Started

The component graph is a tool that can be run from any fuchsia development machine. It is accessed from the webbrowser at localhost:8080

fx serve
python3 -m server
# For more information on configuring the server see.
python3 -m server --help
>>>>>>> [tools] - Component Graph.

Search Commands

The component graph search bar supports regex as well as a few useful search commands:

The uses command will give you a list of all components that use that particular service.

uses:net.posix.Socket

The offers command will give you the component that offers that particular service.

offers:net.posix.Socket

Testing

python3 -m unittest

=======

APIs

  • localhost:8080/api/component/graph - Complete graph for Fuchsia.
  • localhost:8080/api/component/packages - Packages in Fuchsia with metadata extracted already.
  • localhost:8080/api/component/services - Services in Fuchsia with their components.

Far Reader

The Far Reader will take as input a far package and output the decoded result as a json file.

python3 far_reader.py package.far