vFunction Logo

In previous sections we explained how to review measurement. In this section we will show how to create actionable TODO items based on a measurement designated as baseline

A baseline measurement is a measurement that represents the current architectural baseline of the distributed system.

TODO items are development tasks to be considered based on analyzing the baseline measurement.

Setting a measurement as baseline

  1. Click on the measurement name (top left pane)

  2. Click on SET BASELINE - a notification should show up at the bottom right part of the screen and a home icon should appear next to the measurement name

Auto Created TODO items

Once the baseline measurement is set, vFunction creates a set of TODO items based on the analysis

  1. In the analysis page, click on the Open TODO icon (circled in red below):

    Open TODOs

    A list of TODO items should appear on the right

  2. Click on Expand TODO

  3. You should see a screen similar to:

    OMS TODOs 1

    As you can see the first issue type reported across many flows is the use of non-encrypted HTTP

  4. Let’s filter out the non-encrypted HTTP calls issue by scrolling down on the left pane and deselecting Non-encrypted HTTP calls under Event

    OMS TODOs 2

  5. Click on the TODO of the Event Recommended Refactoring. The description states that there is a dependency between oms and oms-shipping that is violating the architectural layering. Click on the link referencing the Baseline measurement in the description (Baseline-1) - this will switch back to the Analysis page with the baseline measurement. Looking at the services graph you see a dashed arrow indicating a call from oms to oms-shipping pointing upwards.

    Layer Violation

    The layering is auto decided by the calls - here oms-product is calling oms-shipping and oms-inventory, oms-inventory is calling oms but oms is calling oms-shipping - a low level service calling a service in a higher level. If you hover over the dashed line you will see that oms is calling the entry point /service/shipping/{skuId} (GET) - getting the shipping id. If you open the flow you will see this call is part of a flow for modifying a fulfillment order.

    To handle this we can either decide to move this flow to oms-shipping (refactor the system) or we can decide to dismiss this item by going back to the TODO table and clicking Dismiss.

    TODO Dismiss

  6. The other auto created TODO items are about Multi-Hop and Circular flows - review the items descriptions and the relevant flows.

Manual TODOs

In addition to auto created TODO items, users can add manual TODOs. For example create a TODO item to remove an entry point of a service or make a resource exclusive.

To add a manual TODO click on the Create TODO icon next to the relevant element:

Add TODO Icon

For example, open the resources report and add TODO items to make some of the resources exclusive.

vFunction Logo