ccv: adjust for MIP 1
authorSimon Marchi <simon.marchi@efficios.com>
Fri, 4 Oct 2024 15:10:08 +0000 (11:10 -0400)
committerSimon Marchi <simon.marchi@efficios.com>
Wed, 9 Oct 2024 02:56:57 +0000 (22:56 -0400)
commit49bd74f4da37a8432f78c66947f3baa199de041e
treedfa2c171aad3fdf3d3b4ba1048c3d5d26f67b493
parent73032b64928f7d593d64e2338c01d338c4a18782
ccv: adjust for MIP 1

Adjust the clock correlation validation code for MIP 1.

The high level conceptual changes to adapt to are:

 - With MIP 0, the only way to have a known clock origin is for it to be
   the Unix epoch.  In MIP 1, it's possible to have known user-defined
   clock origins.

 - With MIP 0, clock classes are optionally identified with UUIDs.  With
   MIP 1, it's with a (namespace, name, UID) tuple.

The concrete changes are:

 - Pass the MIP version down to
   `ClockCorrelationValidator::validate()`and
   `bt_clock_correlation_validator_validate_message()`.

 - Rename enumerators

   - Unix epoch -> Known origin
   - UUID -> ID (which comprises both UUIDs and (namespace, name, UID)
     tuples)

 - Adjust ClockCorrelationValidator::_validate() where the logic differs
   between MIP 0 and 1.

 - Adjust the error messages given by clients of
   `ClockCorrelationValidator` to reflect the differences between MIP 0
   and 1.

 - Make `MessageComparator` take a graph MIP version, change the way
   `MessageComparator::compare()` compares trace identities based on the
   MIP version.

 - Adjust tests checking clock compatibility problems to run with MIP 0
   and 1, using the right kind of identity depending on the MIP version.

Change-Id: I12a5b5bed27fe6185ab407465901d285cbb23778
Signed-off-by: Simon Marchi <simon.marchi@efficios.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/12785
Reviewed-by: Philippe Proulx <eeppeliteloop@gmail.com>
Tested-by: jenkins <jenkins@lttng.org>
20 files changed:
src/Makefile.am
src/clock-correlation-validator/clock-correlation-validator.cpp
src/clock-correlation-validator/clock-correlation-validator.h
src/clock-correlation-validator/clock-correlation-validator.hpp
src/cpp-common/bt2/clock-class.hpp
src/cpp-common/bt2/identity-view.hpp [new file with mode: 0644]
src/cpp-common/bt2/trace-ir.hpp
src/cpp-common/bt2c/c-string-view.hpp
src/lib/graph/iterator.c
src/plugins/common/muxing/muxing.cpp
src/plugins/common/muxing/muxing.hpp
src/plugins/ctf/lttng-live/lttng-live.hpp
src/plugins/utils/muxer/msg-iter.cpp
src/plugins/utils/muxer/msg-iter.hpp
tests/lib/conds/clk-cls-compat-postconds-triggers.cpp
tests/lib/utils/run-in.cpp
tests/lib/utils/run-in.hpp
tests/plugins/flt.utils.muxer/test-clock-compatibility.cpp
tests/utils/Makefile.am
tests/utils/common.hpp [new file with mode: 0644]
This page took 0.026426 seconds and 4 git commands to generate.