gRPC API
Our platform is also able to accept event data via a public gRPC API that uses protobuf.
- Address: grpc-collector.batch.sh:9000
To send data, call on the
AddRecord(AddGenericRecordRequest)
method and make sure to pass a gRPC metadata entry that contains a Batch-Token
key with the value set to the appropriate collection token.End Point
grpc-collector.streamdal.com:9000
Method
Method Name | Request Type | Response Type | Description |
AddRecord | GenericRecordRequest | GenericRecordResponse | |
GenericRecordRequest
Field | Type | Label | Description |
records | records.GenericRecord | repeated | |
Field | Type | Label | Description |
num_records_processed | int64 | | |
status | events.Status | | |
The
AddGenericRecordRequest
argument accepts an array of messages - this facilitates batching which enables you to send more data in a single transaction.How many messages you include in a single batch is entirely up to you and you will need to fine-tune this to find an optimal number.
As a starting point:
- Batch 10 messages every 10s for low throughput
- Batch 100 messages every 10s for medium throughput
- Batch 1,000 messages every 10s for high throughput
gRPC is intended for high throughput data collection. The goal of the gRPC api is to provide the ability to batch data and send heavy throughput workloads.
Given optimal latency (<50ms) and high batching (1,000+), you should be able to reach 50,000 event/sec ingestion rates.
Last modified 7mo ago