modality topology

Command: modality topology

# modality topology forks

Command: modality topology forks

List forks in execution history, i.e. events which are not always followed by the same event. This can be useful for identifying places to investigate further. The --grouping flag can be used to specify which forks are of interest based on event and timeline attributes.

# Example

$ modality topology forks
Found 6 Forks (as grouped by [event.name, timeline.name])
Producer sampled raw measurement@producer
# Forks 2 ways
-> *@* (
      ( _.event.name = "Producer sending measurement message" AND _.timeline.name = "producer" )
        # 50.0% of the time [11 times]
   OR ( _.event.name = "Received measurement message" AND _.timeline.name = "consumer" )
        # 50.0% of the time [11 times]
)


Received measurement message@consumer
# Forks 3 ways
-> *@* (
      ( _.event.name = "Received heartbeat message" AND _.timeline.name = "monitor" )
        # 08.3% of the time [1 time]
   OR ( _.event.name = "Sending heartbeat measurement message" AND _.timeline.name = "consumer" )
        # 16.7% of the time [2 times]
   OR ( _.event.name = "Received measurement message" AND _.timeline.name = "consumer" )
        # 75.0% of the time [9 times]
)
...

# Options

-f, --format <text | json> - The printed output format. Defaults to text.

--global - Show events from Modality's entire database. If this flag is not present events are limited to those visible from the current segment(s) of the current workspace. May not be used with --latest-segment, --segment, --segmentation-rule, or --whole-workspace.

--grouping <grouping>... - An ordered list of attribute keys used to group the events. If not specified, the grouping will be by event-name and timeline-name.

--latest-segment - Limit data to the single most recent segment (i.e. the segment which has most recently received an event or timeline attribute update) rather than the current default segment. The latest segment is automatically updated as new data are received. May not be used with --global, --segment, --segmentation-rule, or --whole-workspace.

--segment <segment pattern>... - Limit data to the given segment(s) rather than the current default segment(s). Accepts one or more segment name patterns, which can include * or ? as wildcards in the style of glob. May not be used with --global, --latest-segment, or --whole-workspace.

--segmentation-rule <segmentation rule pattern>... - Limit data to segments produced by the given segmentation rule(s) rather than the current default segment(s). Accepts one or more segmentation rule name patterns, which can include * or ? as wildcards in the style of glob. May not be used with --global, --latest-segment, or --whole-workspace.

--timeline-filter <timeline filter> - A timeline filter expression to restrict the output to events from timelines that match the filter.

--whole-workspace - Limit data to the workspace as a monolithic whole unit, ignoring the default segment(s). May not be used with --global, --latest-segment, --segment, or --segmentation-rule.

--workspace-name <workspace-name> - Name of the workspace to display data for. If not specified the current default workspace (set with modality workspace use) will be used.

# modality topology interactions

Command: modality topology interactions

List interactions in execution history, i.e. transitions between events. The --grouping flag can be used to specify which interactions are of interest based on event and timeline attributes.

# Example

$ modality topology interactions
Found 19 Interactions (as grouped by [event.name, timeline.name])
Producer sampled raw measurement@producer
  -> Received measurement message@consumer
  # 11 times, 50.0% of source outbound, 52.4% of destination inbound


Producer sampled raw measurement@producer
  -> Producer sending measurement message@producer
  # 11 times, 50.0% of source outbound, 100.0% of destination inbound
...

# Options

-f, --format <text | json> - The printed output format. Defaults to text.

--global - Show events from Modality's entire database. If this flag is not present events are limited to those visible from the current segment(s) of the current workspace. May not be used with --latest-segment, --segment, --segmentation-rule, or --whole-workspace.

--grouping <grouping>... - An ordered list of attribute keys used to group the events. If not specified, the grouping will be by event-name and timeline-name.

--latest-segment - Limit data to the single most recent segment (i.e. the segment which has most recently received an event or timeline attribute update) rather than the current default segment. The latest segment is automatically updated as new data are received. May not be used with --global, --segment, --segmentation-rule, or --whole-workspace.

--segment <segment pattern>... - Limit data to the given segment(s) rather than the current default segment(s). Accepts one or more segment name patterns, which can include * or ? as wildcards in the style of glob. May not be used with --global, --latest-segment, or --whole-workspace.

--segmentation-rule <segmentation rule pattern>... - Limit data to segments produced by the given segmentation rule(s) rather than the current default segment(s). Accepts one or more segmentation rule name patterns, which can include * or ? as wildcards in the style of glob. May not be used with --global, --latest-segment, or --whole-workspace.

--timeline-filter <timeline filter> - A timeline filter expression to restrict the output to events from timelines that match the filter.

--whole-workspace - Limit data to the workspace as a monolithic whole unit, ignoring the default segment(s). May not be used with --global, --latest-segment, --segment, or --segmentation-rule.

--workspace-name <workspace-name> - Name of the workspace to display data for. If not specified the current default workspace (set with modality workspace use) will be used.

# modality topology loops

Command: modality topology loops

List loops in execution history, i.e. event sequences where a given event is eventually followed by another instance of the same event. The --grouping flag can be used to specify which loops are of interest based on event and timeline attributes.

# Example

$ modality topology loops
Found 7 Loops (as grouped by [event.name, timeline.name])
# Loop with length of 2, breadth by key [ event.name: 2, timeline.name: 1 ]
  # Event occurs 11 times
  Producer sampled raw measurement@producer
    # Interaction occurs 11 times
    ->
  # Event occurs 11 times
  Producer sending measurement message@producer
    # Interaction occurs 8 times
    ->
  # Event occurs 11 times
  Producer sampled raw measurement@producer

# Loop with length of 3, breadth by key [ event.name: 3, timeline.name: 1 ]
  # Event occurs 11 times
  Producer sampled raw measurement@producer
    # Interaction occurs 11 times
    ->
  # Event occurs 11 times
  Producer sending measurement message@producer
    # Interaction occurs 3 times
    ->
  # Event occurs 3 times
  Sending heartbeat measurement message@producer
    # Interaction occurs 2 times
    ->
  # Event occurs 11 times
  Producer sampled raw measurement@producer
...

# Options

-f, --format <text | json> - The printed output format. Defaults to text.

--global - Show events from Modality's entire database. If this flag is not present events are limited to those visible from the current segment(s) of the current workspace. May not be used with --latest-segment, --segment, --segmentation-rule, or --whole-workspace.

--grouping <grouping>... - An ordered list of attribute keys used to group the events. If not specified, the grouping will be by event-name and timeline-name.

--latest-segment - Limit data to the single most recent segment (i.e. the segment which has most recently received an event or timeline attribute update) rather than the current default segment. The latest segment is automatically updated as new data are received. May not be used with --global, --segment, --segmentation-rule, or --whole-workspace.

--segment <segment pattern>... - Limit data to the given segment(s) rather than the current default segment(s). Accepts one or more segment name patterns, which can include * or ? as wildcards in the style of glob. May not be used with --global, --latest-segment, or --whole-workspace.

--segmentation-rule <segmentation rule pattern>... - Limit data to segments produced by the given segmentation rule(s) rather than the current default segment(s). Accepts one or more segmentation rule name patterns, which can include * or ? as wildcards in the style of glob. May not be used with --global, --latest-segment, or --whole-workspace.

--timeline-filter <timeline filter> - A timeline filter expression to restrict the output to events from timelines that match the filter.

--whole-workspace - Limit data to the workspace as a monolithic whole unit, ignoring the default segment(s). May not be used with --global, --latest-segment, --segment, or --segmentation-rule.

--workspace-name <workspace-name> - Name of the workspace to display data for. If not specified the current default workspace (set with modality workspace use) will be used.