Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • In the source connector:
    • After polling, there are transformations and conversions that happen before the records are sent to Kafka.
  • In the sink connector:
    • Record latency: wall-clock time - record timestamp  to evaluate how late records are processed.
    • Convert and transform time before sending records to a external system

Code Block

...

                 ┌───────────────────────────────────────────────────────────────────────────────────────────┐
                 │                                   Source Connector Task                                   │
                 │ ┌──────────────────┐  ┌────────────────┐        ┌─────────┐         ┌─────────────────┐   │
                 │ │ Connector        ├─►│ TransformChain ├───────►│ Convert ├────────►│     Producer    │   │
                 │ │ Implementation   │  └────────────────┘        └─────────┘         │                 │   │  ┌───────┐
┌────────────┐   │ └──────────────────┘  *[tx.chain-lat] INFO  *[convert-latency] INFO └─────────────────┘   ├─►│ Kafka │
│ Ext.System ├──►│  [poll-source-batch]   ┌────┬────┬───┬────┐   ┌────────────────────┐ [request-latency]    │  └───────┘
└────────────┘   │                        │ Tx1│ Tx2│...│TxN │   │Conv.Key|Val|Headers│                      │
                 │                        └────┴────┴───┴────┘   └────────────────────┘                      │
                 │                        *[tx.N-lat] DEBUG    *[convert-X-latency]DEBUG                     │
                 │ (=======batch=======)=(=========================per-record============================)   │
                 └───────────────────────────────────────────────────────────────────────────────────────────┘


                 ┌───────────────────────────────────────────────────────────────────────────────────────────┐
                 │                                     Sink Connector Task                                   │
                 │ ┌──────────────────┐  ┌────────────────┐        ┌─────────┐         ┌─────────────────┐   │
                 │ │ Connector        │◄─┤ TransformChain │◄───────┤ Convert │◄────────┤     Consumer    │   │
                 │ │ Implementation   │  └────────────────┘        └─────────┘         │                 │   │  ┌───────┐
┌────────────┐   │ └──────────────────┘  *[tx.chain-lat] INFO  *[convert-latency] INFO └─────────────────┘   │◄─┤ Kafka │
│ Ext.System │◄──┤  [put-batch-latency]   ┌────┬────┬───┬────┐   ┌────────────────────┐  [fetch-latency]     │  └───────┘
└────────────┘   │                        │ Tx1│ Tx2│...│TxN │   │Conv.Key|Val|Headers│                      │
                 │                        └────┴────┴───┴────┘   └────────────────────┘                      │
                 │                        *[tx.N-lat] DEBUG    *[convert-X-latency]DEBUG                     │
                 │ (=====batch=======)===(===========per-record=======================)==(=====batch=====)   │
                 └───────────────────────────────────────────────────────────────────────────────────────────┘


With these enhanced metrics available, operators/developers could:

...