Package org.apache.sysds.runtime.lineage

## Interface LineageTraceable

All Known Implementing Classes:
  `AggregateBinaryCPInstruction`, `AggregateBinaryFEDInstruction`, `AggregateBinaryGPUInstruction`, `AggregateTernaryCPInstruction`, `AggregateTernaryFEDInstruction`, `AggregateTernarySPInstruction`, `AggregateUnaryCPInstruction`, `AggregateUnaryFEDInstruction`, `AggregateUnaryGPUInstruction`, `AggregateUnarySketchSPInstruction`, `AggregateUnarySPInstruction`, `AppendCPInstruction`, `AppendFEDInstruction`, `AppendGAlignedSPInstruction`, `AppendGSPInstruction`, `AppendMSPInstruction`, `AppendRSPInstruction`, `ArithmeticBinaryGPUInstruction`, `BinaryCPInstruction`, `BinaryFEDInstruction`, `BinaryFrameFrameCPInstruction`, `BinaryFrameFrameSPInstruction`, `BinaryFrameMatrixCPInstruction`, `BinaryFrameMatrixSPInstruction`, `BinaryMatrixBVectorSPInstruction`, `BinaryMatrixMatrixCPInstruction`, `BinaryMatrixMatrixFEDInstruction`, `BinaryMatrixMatrixSPInstruction`, `BinaryMatrixScalarCPInstruction`, `BinaryMatrixScalarFEDInstruction`, `BinaryMatrixScalarSPInstruction`, `BinaryScalarScalarCPInstruction`, `BinarySPInstruction`, `BinaryTensorTensorBroadcastSPInstruction`, `BinaryTensorTensorCPInstruction`, `BinaryTensorTensorSPInstruction`, `BinUaggChainSPInstruction`, `BroadcastCPInstruction`, `BuiltinBinaryGPUInstruction`, `BuiltinNarySPInstruction`, `BuiltinUnaryGPUInstruction`, `CastFEDInstruction`, `CastSPInstruction`, `CentralMomentCPInstruction`, `CentralMomentFEDInstruction`, `CentralMomentSPInstruction`, `CheckpointSPInstruction`, `CompressionCPInstruction`, `CompressionSPInstruction`, `ComputationCPInstruction`, `ComputationFEDInstruction`, `ComputationSPInstruction`, `CovarianceCPInstruction`, `CovarianceFEDInstruction`, `CovarianceSPInstruction`, `CpmmSPInstruction`, `CSVReblockSPInstruction`, `CtableCPInstruction`, `CtableFEDInstruction`, `CtableSPInstruction`, `CumulativeAggregateSPInstruction`, `CumulativeOffsetFEDInstruction`, `CumulativeOffsetSPInstruction`, `DataGenCPInstruction`, `DeCompressionCPInstruction`, `DeCompressionSPInstruction`, `DnnCPInstruction`, `DnnGPUInstruction`, `DnnSPInstruction`, `FederatedStatistics.FedStatsCollectFunction`, `FederatedUDF`, `FrameAppendCPInstruction`, `FrameAppendMSPInstruction`, `FrameAppendRSPInstruction`, `FrameIndexingCPInstruction`, `FrameIndexingSPInstruction`, `GPUInstruction`, `IndexingCPInstruction`, `IndexingFEDInstruction`, `IndexingSPInstruction`, `InitFEDInstruction`, `LIBSVMReblockSPInstruction`, `ListAppendRemoveCPInstruction`, `ListIndexingCPInstruction`, `LocalCPInstruction`, `MapmmSPInstruction`, `MatrixAppendCPInstruction`, `MatrixAppendGPUInstruction`, `MatrixAppendMSPInstruction`, `MatrixAppendRSPInstruction`, `MatrixBuiltinGPUInstruction`, `MatrixBuiltinNaryCPInstruction`, `MatrixIndexingCPFileInstruction`, `MatrixIndexingCPInstruction`, `MatrixIndexingGPUInstruction`, `MatrixIndexingSPInstruction`, `MatrixMatrixArithmeticGPUInstruction`, `MatrixMatrixAxpyGPUInstruction`, `MatrixMatrixBuiltinGPUInstruction`, `MatrixMatrixRelationalBinaryGPUInstruction`, `MatrixReshapeGPUInstruction`, `MatrixReshapeSPInstruction`, `MMChainCPInstruction`, `MMChainFEDInstruction`, `MMFEDInstruction`, `MMTSJCPInstruction`, `MMTSJGPUInstruction`, `MultiReturnBuiltinCPInstruction`, `MultiReturnParameterizedBuiltinCPInstruction`, `MultiReturnParameterizedBuiltinFEDInstruction`, `MultiReturnParameterizedBuiltinFEDInstruction.CreateFrameEncoder`, `MultiReturnParameterizedBuiltinFEDInstruction.ExecuteFrameEncoder`, `MultiReturnParameterizedBuiltinSPInstruction`, `ParameterizedBuiltinCPInstruction`, `ParameterizedBuiltinFEDInstruction`, `ParameterizedBuiltinFEDInstruction.DecodeMatrix`, `ParameterizedBuiltinSPInstruction`, `ParamservBuiltinCPInstruction`, `PMapmmSPInstruction`, `PMMJCPInstruction`, `PmmSPInstruction`, `PrefetchCPInstruction`, `QuantilePickCPInstruction`, `QuantilePickFEDInstruction`, `QuantilePickFEDInstruction.CreateMatrixFromFrame`, `QuantilePickFEDInstruction.GetHistogram`, `QuantilePickFEDInstruction.GetValuesInRange`, `QuantilePickFEDInstruction.GetValuesInRanges`, `QuantilePickFEDInstruction.MinMax`, `QuantilePickSPInstruction`, `QuantileSortCPInstruction`, `QuantileSortFEDInstruction`, `QuantileSortSPInstruction`, `QuaternaryCPInstruction`, `QuaternaryFEDInstruction`, `QuaternarySPInstruction`, `QuaternaryWCeMMFEDInstruction`, `QuaternaryWDivMMFEDInstruction`, `QuaternaryWSigmoidFEDInstruction`, `QuaternaryWSLossFEDInstruction`, `QuaternaryWUMMFEDInstruction`, `RandSPInstruction`, `ReblockFEDInstruction`, `ReblockSPInstruction`, `RelationalBinaryGPUInstruction`, `ReorgCPInstruction`, `ReorgFEDInstruction`, `ReorgFEDInstruction.DiagMatrix`, `ReorgFEDInstruction.Rdiag`, `ReorgGPUInstruction`, `ReorgSPInstruction`, `ReshapeCPInstruction`, `ReshapeFEDInstruction`, `RewriteFederatedExecution.PrivacyConstraintRetriever`, `RmmSPInstruction`, `ScalarAppendCPInstruction`, `ScalarBuiltinNaryCPInstruction`, `ScalarMatrixArithmeticGPUInstruction`, `ScalarMatrixBuiltinGPUInstruction`, `ScalarMatrixRelationalBinaryGPUInstruction`, `SpoofCPInstruction`, `SpoofCUDAInstruction`, `StringInitCPInstruction`, `TernaryCPInstruction`, `TernaryFEDInstruction`, `TernaryFrameScalarCPInstruction`, `TernaryFrameScalarFEDInstruction`, `TernaryFrameScalarSPInstruction`, `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)