| beginTxn(long) |   | 33% |   | 33% | 3 | 4 | 51 | 62 | 0 | 1 |
| commitTxn() |  | 0% |  | 0% | 2 | 2 | 18 | 18 | 1 | 1 |
| abortTxn(String) |  | 0% |  | 0% | 2 | 2 | 17 | 17 | 1 | 1 |
| parseRow(CanalEntry.EventType, CanalEntry.RowData) |   | 33% |   | 25% | 3 | 4 | 6 | 11 | 0 | 1 |
| submit(long, CanalEntry.EventType, CanalEntry.RowChange) |   | 61% |   | 50% | 3 | 4 | 9 | 18 | 0 | 1 |
| getInfo() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| flushData() |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| parseRow(CanalEntry.EventType, List) |   | 73% |   | 66% | 2 | 4 | 2 | 10 | 0 | 1 |
| updateBatchId(long) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setPartitions(PartitionNames) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getTargetTable() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isTxnBegin() |  | 84% |   | 50% | 2 | 3 | 0 | 1 | 0 | 1 |
| initTxn(long) |  | 100% |   | 50% | 1 | 2 | 0 | 10 | 0 | 1 |
| CanalSyncChannel(long, SyncJob, Database, OlapTable, List, String, String) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| submitEOF() |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| isTxnInit() |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| clearTxn() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setCallback(SyncChannelCallback) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getId() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getSrcTable() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getSrcDataBase() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |