Boost your GreptimeDB performance with YoMo: Leverage QUIC for rapid and reliable data ingestion.
This repository showcases how to utilize GreptimeDB for data transportation via YoMo. We will use Yomo's fast and reliable QUIC transport to send local IoT or Observability metrics data to a remote function that ingests the data into time-series database, GreptimeDB.
flowchart LR
    greptimedb[(GreptimeDB)]
    subgraph yomo[YoMo]
      sfn
    end
    subgraph Edge
      source
    end
    subgraph Central
      yomo
      greptimedb
    end
    source --> |fa:fa-cloud Line Protocol over YoMo QUIC Transport| sfn
    sfn --> |HTTP| greptimedb
    - Clone this reposiotry
 
git clone https://github.com/yomorun/GreptimeDB-YoMo.git
cd GreptimeDB-YoMo- Install GreptimeDB (This example uses Docker. For additional installation methods, refer to the GreptimeDB documentation).
 
docker run -p 127.0.0.1:4000-4003:4000-4003 \
-v "$(pwd)/greptimedb:/tmp/greptimedb" \
--name greptime --rm \
greptime/greptimedb:v0.8.2 standalone start \
--http-addr 0.0.0.0:4000 \
--rpc-addr 0.0.0.0:4001 \
--mysql-addr 0.0.0.0:4002 \
--postgres-addr 0.0.0.0:4003- Install YoMo
 
curl -fsSL https://get.yomo.run | sh- Start yomo zipper service
 
yomo serve -c config.yaml- Run yomo sfn, sfn bridges GreptimeDB and YoMo
 
cd sfn && GREPTIMEDB_HTTP_ADDR=localhost:4000 yomo run app.go- Start the log generator, this will generate ingest data in Line Protocol format and send it to the YoMo zipper service over QUIC.
 
# This sample shows how to monitor the cpu metrics
go run cpu-agent/main.go
# This sample shows how to monitor the gpu metrics
go run gpu-agent/main.go- Verify that the data has been successfully written to GreptimeDB.
 
curl -X POST \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'sql=select * from monitor' \
http://localhost:4000/v1/sql?db=public- Configure charts for GPU metrics in Greptime Cloud Workbench