Metadata-Version: 2.1
Name: roboflex.profiler
Version: 0.1.3
Summary: Roboflex Profiler Library
Home-page: https://github.com/flexrobotics/roboflex_profiler
Author: Colin Prepscius
Author-email: colinprepscius@gmail.com
License: UNKNOWN
Keywords: profiling,robotics,middleware,flexbuffers,python,c++,c++20
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Embedded Systems
Classifier: Framework :: Robot Framework
Classifier: Framework :: Robot Framework :: Library
Classifier: Framework :: Robot Framework :: Tool
Classifier: Programming Language :: C++
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE

# roboflex.profiler

Roboflex Profiler has two parts:

1. The Profiler node. This node is intended to act as the root node of a computation graph. See metrics_central/examples/profile_graph.cpp, and examples/camera_follow/camera_follow.py for examples of how to us it. It brings two features:

    1.1. When you call `start()` or `stop()` on this node, it will walk the computation graph and start or stop all RunnableNodes.

    1.2. When you call `start(true)`, it will first inject a new MetricsNode between every two connected nodes. It will then drive publishing of Metrics information, which can be viewed with:

2. The MetricsCentral program. This program displays Metrics information for a running computation graph. Every row is a connection, and every column is some information about that connection, including frequency of invokation, latency, Bytes/sec, etc.

    clone this repo
    mkdir build && cd build
    cmake ..
    make

    ... then find the 'metrics_central' program, and run it...


![](metrics_central_1.png)

