org.apache.sysds.runtime.lineage

## Interface LineageTraceable

All Known Implementing Classes:
  AggregateBinaryCPInstruction, AggregateBinaryFEDInstruction, AggregateBinaryGPUInstruction, AggregateTernaryCPInstruction, AggregateTernarySPInstruction, AggregateUnaryCPInstruction, AggregateUnaryFEDInstruction, AggregateUnaryGPUInstruction, AggregateUnarySPInstruction, AppendCPInstruction, AppendFEDInstruction, AppendGAlignedSPInstruction, AppendGSPInstruction, AppendMSPInstruction, AppendRSPInstruction, ArithmeticBinaryGPUInstruction, BinaryCPInstruction, BinaryFEDInstruction, BinaryFrameFrameCPInstruction, BinaryFrameFrameSPInstruction, BinaryFrameMatrixCPInstruction, BinaryFrameMatrixSPInstruction, BinaryFrameScalarCPInstruction, BinaryFrameScalarFEDInstruction, BinaryFrameScalarSPInstruction, BinaryMatrixBVectorSPInstruction, BinaryMatrixMatrixCPInstruction, BinaryMatrixMatrixFEDInstruction, BinaryMatrixMatrixSPInstruction, BinaryMatrixScalarCPInstruction, BinaryMatrixScalarFEDInstruction, BinaryMatrixScalarSPInstruction, BinaryScalarScalarCPInstruction, BinarySPInstruction, BinaryTensorTensorBroadcastSPInstruction, BinaryTensorTensorCPInstruction, BinaryTensorTensorSPInstruction, BinUaggChainSPInstruction, BuiltinBinaryGPUInstruction, BuiltinNarySPInstruction, BuiltinUnaryGPUInstruction, CastSPInstruction, CentralMomentCPInstruction, CentralMomentFEDInstruction, CentralMomentSPInstruction, CheckpointSPInstruction, CompressionCPInstruction, CompressionSPInstruction, ComputationCPInstruction, ComputationFEDInstruction, ComputationSPInstruction, CovarianceCPInstruction, CovarianceFEDInstruction, CovarianceSPInstruction, CpmmSPInstruction, CSVReblockSPInstruction, CtableCPInstruction, CtableFEDInstruction, CtableSPInstruction, CumulativeAggregateSPInstruction, CumulativeOffsetSPInstruction, DataGenCPInstruction, DeCompressionCPInstruction, DeCompressionSPInstruction, DnnCPInstruction, DnnGPUInstruction, DnnSPInstruction, FederatedUDF, FrameAppendCPInstruction, FrameAppendMSPInstruction, FrameAppendRSPInstruction, FrameIndexingCPInstruction, FrameIndexingSPInstruction, GPUInstruction, IndexingCPInstruction, IndexingFEDInstruction, IndexingSPInstruction, InitFEDInstruction, LIBSVMReblockSPInstruction, ListAppendRemoveCPInstruction, ListIndexingCPInstruction, MapmmSPInstruction, MatrixAppendCPInstruction, MatrixAppendGPUInstruction, MatrixAppendMSPInstruction, MatrixAppendRSPInstruction, MatrixBuiltinGPUInstruction, MatrixBuiltinNaryCPInstruction, MatrixIndexingCPFileInstruction, MatrixIndexingCPInstruction, MatrixIndexingGPUInstruction, MatrixIndexingSPInstruction, MatrixMatrixArithmeticGPUInstruction, MatrixMatrixAxpyGPUInstruction, MatrixMatrixBuiltinGPUInstruction, MatrixMatrixRelationalBinaryGPUInstruction, MatrixReshapeGPUInstruction, MatrixReshapeSPInstruction, MMChainCPInstruction, MMChainFEDInstruction, MMTSJCPInstruction, MMTSJGPUInstruction, MultiReturnBuiltinCPInstruction, MultiReturnParameterizedBuiltinCPInstruction, MultiReturnParameterizedBuiltinFEDInstruction, MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder, MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder, MultiReturnParameterizedBuiltinSPInstruction, ParameterizedBuiltinCPInstruction, ParameterizedBuiltinFEDInstruction, ParameterizedBuiltinFEDInstruction.DecodeMatrix, ParameterizedBuiltinSPInstruction, ParamservBuiltinCPInstruction, PMapmmSPInstruction, PMMJCPInstruction, PmmSPInstruction, QuantilePickCPInstruction, QuantilePickFEDInstruction, QuantilePickSPInstruction, QuantileSortCPInstruction, QuantileSortFEDInstruction, QuantileSortSPInstruction, QuaternaryCPInstruction, QuaternaryFEDInstruction, QuaternarySPInstruction, QuaternaryWCeMMFEDInstruction, QuaternaryWDivMMFEDInstruction, QuaternaryWSigmoidFEDInstruction, QuaternaryWSLossFEDInstruction, QuaternaryWUMMFEDInstruction, RandSPInstruction, ReblockSPInstruction, RelationalBinaryGPUInstruction, ReorgCPInstruction, ReorgFEDInstruction, ReorgFEDInstruction.DiagMatrix, ReorgFEDInstruction.Rdiag, ReorgGPUInstruction, ReorgSPInstruction, ReshapeCPInstruction, ReshapeFEDInstruction, RmmSPInstruction, ScalarAppendCPInstruction, ScalarBuiltinNaryCPInstruction, ScalarMatrixArithmeticGPUInstruction, ScalarMatrixBuiltinGPUInstruction, ScalarMatrixRelationalBinaryGPUInstruction, SpoofCPInstruction, SpoofCUDAInstruction, StringInitCPInstruction, TernaryCPInstruction, TernaryFEDInstruction, TernarySPInstruction, Tsmm2SPInstruction, TsmmFEDInstruction, TsmmSPInstruction, UaggOuterChainCPInstruction, UaggOuterChainSPInstruction, UnaryCPInstruction, UnaryFEDInstruction, UnaryFrameCPInstruction, UnaryFrameSPInstruction, UnaryMatrixCPInstruction, UnaryMatrixFEDInstruction, UnaryMatrixSPInstruction, UnaryScalarCPInstruction, UnarySPInstruction, VariableCPInstruction, VariableFEDInstruction, WriteSPInstruction, ZipmmSPInstruction

    public interface LineageTraceable

### Method Summary

All Methods Instance Methods Abstract Methods Default Methods
`org.apache.commons.lang3.tuple.Pair<String,LineageItem>` `getLineageItem(ExecutionContext ec)` Obtain lineage trace of an instruction with a single output.
`default org.apache.commons.lang3.tuple.Pair<String,LineageItem>[]` `getLineageItems(ExecutionContext ec)` Obtain lineage trace of an instruction with multiple outputs.
`default boolean` `hasSingleLineage()` Obtain meta data on number of outputs and thus, number of lineage items.

### Method Detail

#### hasSingleLineage

    default boolean hasSingleLineage()

Obtain meta data on number of outputs and thus, number of lineage items.

Returns:
  true iff instruction has a single output

#### getLineageItem

    org.apache.commons.lang3.tuple.Pair<String,LineageItem> getLineageItem(ExecutionContext ec)

Obtain lineage trace of an instruction with a single output.

Parameters:
  `ec` - execution context w/ live variables
Returns:
  pair of (output variable name, output lineage item)

#### getLineageItems

    default org.apache.commons.lang3.tuple.Pair<String,LineageItem>[] getLineageItems(ExecutionContext ec)

Obtain lineage trace of an instruction with multiple outputs.

Parameters:
  `ec` - execution context w/ live variables
Returns:
  pairs of (output variable name, output lineage item)