This is an automated email from the ASF dual-hosted git repository. urfree pushed a commit to branch matrix-page in repository https://gitbox.apache.org/repos/asf/pulsar-site.git
commit a71872ef5702a1373e227f5132c0bf97be0e0f25 Author: Li Li <[email protected]> AuthorDate: Wed Apr 12 14:33:23 2023 +0800 update Signed-off-by: Li Li <[email protected]> --- data/matrix.js | 485 +++++++++++++++++++++++++++++++++++++++++++++++++++- src/pages/matrix.js | 31 +--- 2 files changed, 491 insertions(+), 25 deletions(-) diff --git a/data/matrix.js b/data/matrix.js index aa1046ab6d2..a007b873313 100644 --- a/data/matrix.js +++ b/data/matrix.js @@ -401,7 +401,486 @@ module.exports = { "NET(C#/F#/VB)": 2, }, ], - consumer: [], - reader: [], - tableview: [], + consumer: [ + { + Feature: "ACK", + Children: [ + { + Feature: "Batch-Index ACK", + Java: 2, + "C++": 0, + Go: 0, + Python: 0, + Nodejs: 0, + "C#/DotPulsar": 0, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "ACK Timeout", + Java: 2, + "C++": 2, + Go: 0, + Python: 2, + Nodejs: 2, + "C#/DotPulsar": 0, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "NACK", + Java: 2, + "C++": 2, + Go: 2, + Python: 2, + Nodejs: 2, + "C#/DotPulsar": 0, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "NACK Backoff", + Java: 2, + "C++": 0, + Go: 0, + Python: 0, + Nodejs: 0, + "C#/DotPulsar": 0, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 0, + }, + ], + }, + { + Feature: "Batching", + Java: 2, + "C++": 2, + Go: 2, + Python: 2, + Nodejs: 2, + "C#/DotPulsar": 2, + Websocket: 2, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "Chunking", + Java: 2, + "C++": 2, + Go: 2, + Python: 2, + Nodejs: 2, + "C#/DotPulsar": 0, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "Seek", + Children: [ + { + Feature: "by timestamp", + Java: 2, + "C++": 2, + Go: 2, + Python: 2, + Nodejs: 2, + "C#/DotPulsar": 2, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "by messageID", + Java: 2, + "C++": 2, + Go: 2, + Python: 2, + Nodejs: 0, + "C#/DotPulsar": 2, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "Inclusive/Non-inclusive", + Java: 2, + "C++": 2, + Go: 2, + Python: 2, + Nodejs: 0, + "C#/DotPulsar": 2, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + ], + }, + { + Feature: "Subscription type", + Java: 2, + "C++": 2, + Go: 2, + Python: 2, + Nodejs: 2, + "C#/DotPulsar": 2, + Websocket: 2, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "Subscription mode", + Java: 2, + "C++": 0, + Go: 2, + Python: 0, + Nodejs: 0, + "C#/DotPulsar": 0, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "Retry letter topic", + Java: 2, + "C++": 0, + Go: 2, + Python: 0, + Nodejs: 0, + "C#/DotPulsar": 0, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "Dead letter topic", + Java: 2, + "C++": 0, + Go: 2, + Python: 0, + Nodejs: 0, + "C#/DotPulsar": 0, + Websocket: 2, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "Compression", + Children: [ + { + Feature: "LZ4", + Java: 2, + "C++": 2, + Go: 2, + Python: 2, + Nodejs: 2, + "C#/DotPulsar": 2, + Websocket: 2, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "ZLIB", + Java: 2, + "C++": 2, + Go: 2, + Python: 2, + Nodejs: 2, + "C#/DotPulsar": 2, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "ZSTD", + Java: 2, + "C++": 2, + Go: 2, + Python: 2, + Nodejs: 2, + "C#/DotPulsar": 2, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "SNAPPY", + Java: 2, + "C++": 2, + Go: 0, + Python: 2, + Nodejs: 2, + "C#/DotPulsar": 2, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + ], + }, + { + Feature: "Compaction", + Java: 2, + "C++": 2, + Go: 2, + Python: 2, + Nodejs: 2, + "C#/DotPulsar": 2, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "Schema", + Children: [ + { + Feature: "Primitive", + Java: 2, + "C++": 2, + Go: 2, + Python: 2, + Nodejs: 2, + "C#/DotPulsar": 2, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "Avro", + Java: 2, + "C++": 2, + Go: 2, + Python: 2, + Nodejs: 2, + "C#/DotPulsar": 0, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "JSON", + Java: 2, + "C++": 2, + Go: 2, + Python: 2, + Nodejs: 2, + "C#/DotPulsar": 0, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "Protobuf", + Java: 2, + "C++": 2, + Go: 2, + Python: 0, + Nodejs: 0, + "C#/DotPulsar": 0, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "Protobuf-native", + Java: 0, + "C++": 0, + Go: 0, + Python: 0, + Nodejs: 0, + "C#/DotPulsar": 0, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "Native avro", + Java: 0, + "C++": 0, + Go: 0, + Python: 0, + Nodejs: 0, + "C#/DotPulsar": 0, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 0, + }, + { + Feature: "KeyValue", + Java: 2, + "C++": 2, + Go: 0, + Python: 0, + Nodejs: 0, + "C#/DotPulsar": 0, + Websocket: 2, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "Autoschema", + Java: 2, + "C++": 0, + Go: 0, + Python: 0, + Nodejs: 0, + "C#/DotPulsar": 0, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + ], + }, + { + Feature: "End-to-end encryption", + Java: 2, + "C++": 2, + Go: 2, + Python: 2, + Nodejs: 2, + "C#/DotPulsar": 2, + Websocket: 2, + REST: 2, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "Transaction", + Java: 2, + "C++": 0, + Go: 0, + Python: 0, + Nodejs: 0, + "C#/DotPulsar": 0, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + ], + reader: [ + { + Feature: "Batching", + Java: 2, + "C++": 2, + Go: 2, + Python: 2, + Nodejs: 2, + "C#/DotPulsar": 2, + Websocket: 2, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "Chunking", + Java: 2, + "C++": 0, + Go: 2, + Python: 0, + Nodejs: 0, + "C#/DotPulsar": 0, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "Seek", + Java: 2, + "C++": 2, + Go: 2, + Python: 1, + Nodejs: 1, + "C#/DotPulsar": 2, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "Compression", + Java: 2, + "C++": 2, + Go: 1, + Python: 2, + Nodejs: 2, + "C#/DotPulsar": 2, + Websocket: 1, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "Compaction", + Java: 2, + "C++": 2, + Go: 2, + Python: 2, + Nodejs: 2, + "C#/DotPulsar": 2, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + { + Feature: "Schema", + Java: 2, + "C++": 1, + Go: 1, + Python: 1, + Nodejs: 1, + "C#/DotPulsar": 1, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 1, + }, + { + Feature: "End-to-end encryption", + Java: 2, + "C++": 2, + Go: 2, + Python: 2, + Nodejs: 0, + "C#/DotPulsar": 0, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 2, + }, + ], + tableview: [ + { + Feature: "Compaction", + Java: 2, + "C++": 0, + Go: 2, + Python: 2, + Nodejs: 0, + "C#/DotPulsar": 0, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 0, + }, + { + Feature: "Schema", + Java: 1, + "C++": 0, + Go: 1, + Python: 0, + Nodejs: 0, + "C#/DotPulsar": 0, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 1, + }, + { + Feature: "Listener", + Java: 2, + "C++": 0, + Go: 2, + Python: 0, + Nodejs: 0, + "C#/DotPulsar": 0, + Websocket: 0, + REST: 0, + "NET(C#/F#/VB)": 0, + }, + ], }; diff --git a/src/pages/matrix.js b/src/pages/matrix.js index 921351ea3a5..627f4a8288d 100644 --- a/src/pages/matrix.js +++ b/src/pages/matrix.js @@ -85,12 +85,11 @@ const genCount = (values) => { const titles = ["Client", "Producer", "Consumer", "Reader", "TableView"]; const getHeight = (values, index) => { - console.log("h-[" + genCount(values) * 50 + "px]"); if (index === 0) return "h-[700px]"; if (index === 1) return "h-[950px]"; - if (index === 2) return "h-[700px]"; - if (index === 3) return "h-[700px]"; - if (index === 4) return "h-[700px]"; + if (index === 2) return "h-[1450px]"; + if (index === 3) return "h-[400px]"; + if (index === 4) return "h-[200px]"; return "h-[700px]"; }; @@ -126,28 +125,16 @@ export default function Matrix() { <Layout> <div className="tailwind"> <div className="my-12 container"> - {/* <div className="mb-8"> - <div className="font-bold text-xl mb-4">Client</div> - <div className={clsx("w-full", getHeigh(client))}> - <AutoResizer> - {({ width, height }) => ( - <BaseTable - fixed - width={width} - height={height} - columns={fixedColumns} - data={genData(client)} - rowRenderer={rowRenderer} - /> - )} - </AutoResizer> - </div> - </div> */} {[client, producer, consumer, reader, tableview].map( (values, index) => { return ( <div className="mb-8" key={index}> - <div className="font-bold text-xl mb-4">{titles[index]}</div> + <div + id={titles[index].toLowerCase()} + className="font-bold text-xl mb-4" + > + {titles[index]} + </div> <div className={`w-full ${getHeight(values, index)}`}> <AutoResizer> {({ width, height }) => (
