Kinetica   C#   API  Version 7.2.3.1
Kinetica.LoadGenerator.LoadGeneratorConfig Class Reference

Configuration for the load generator, matching Rust load_generator options. More...

Public Member Functions

void Print ()
 

Static Public Member Functions

static LoadGeneratorConfig FromEnvironment ()
 Creates a configuration from environment variables. More...
 
static LoadGeneratorConfig Parse (string[] args)
 Parses command-line arguments and merges with environment variables. More...
 

Properties

string Url = "http://localhost:9191" [get, set]
 Kinetica server URL (e.g., http://localhost:9191). More...
 
string Username = "admin" [get, set]
 Username for Kinetica authentication. More...
 
string Password = "secret" [get, set]
 Password for Kinetica authentication. More...
 
string TableName = "load_generator_test" [get, set]
 Target table name. More...
 
long TotalRecords = 1_000_000 [get, set]
 Total number of records to insert. More...
 
int BatchSize = 10_000 [get, set]
 Number of records per batch for BulkInserter. More...
 
int NumThreads = 1 [get, set]
 Number of producer threads. More...
 
int NumWorkers = 16 [get, set]
 Number of flush workers for BulkInserter. More...
 
int MessageSize = 1024 [get, set]
 Size of the payload field in bytes. More...
 
bool PayloadRandom = false [get, set]
 Whether to randomize payload for each record. More...
 
bool BetterSchema = false [get, set]
 Use the extended schema (IngestRecord2) with thread tracking. More...
 
bool UseMultihead = true [get, set]
 Enable multi-head ingest for improved performance. More...
 
int ProgressIntervalMs = 1000 [get, set]
 Interval in milliseconds for progress reporting. More...
 
long LogEveryN = 0 [get, set]
 Log every N records (0 to disable detailed logging). More...
 
bool CsvOutput = true [get, set]
 Output results in CSV format for aggregation. More...
 
bool TruncateTable = false [get, set]
 Truncate the table before inserting if it exists. More...
 
int MaxInFlightBatches = 100 [get, set]
 Maximum number of in-flight batches for backpressure control. More...
 
bool UseSnappy = false [get, set]
 Enable Snappy compression for HTTP requests. More...
 

Detailed Description

Configuration for the load generator, matching Rust load_generator options.

All options can be configured via environment variables or command-line arguments.

Definition at line 9 of file LoadGeneratorConfig.cs.

Member Function Documentation

◆ FromEnvironment()

static LoadGeneratorConfig Kinetica.LoadGenerator.LoadGeneratorConfig.FromEnvironment ( )
inlinestatic

Creates a configuration from environment variables.

Definition at line 140 of file LoadGeneratorConfig.cs.

◆ Parse()

static LoadGeneratorConfig Kinetica.LoadGenerator.LoadGeneratorConfig.Parse ( string []  args)
inlinestatic

Parses command-line arguments and merges with environment variables.

Command-line arguments take precedence over environment variables.

Definition at line 170 of file LoadGeneratorConfig.cs.

◆ Print()

void Kinetica.LoadGenerator.LoadGeneratorConfig.Print ( )
inline

Definition at line 262 of file LoadGeneratorConfig.cs.

Property Documentation

◆ BatchSize

int Kinetica.LoadGenerator.LoadGeneratorConfig.BatchSize = 10_000
getset

Number of records per batch for BulkInserter.

Environment variable: KINETICA_BATCH_SIZE Default: 10,000

Definition at line 48 of file LoadGeneratorConfig.cs.

◆ BetterSchema

bool Kinetica.LoadGenerator.LoadGeneratorConfig.BetterSchema = false
getset

Use the extended schema (IngestRecord2) with thread tracking.

Environment variable: BETTER_SCHEMA Default: false

Definition at line 84 of file LoadGeneratorConfig.cs.

◆ CsvOutput

bool Kinetica.LoadGenerator.LoadGeneratorConfig.CsvOutput = true
getset

Output results in CSV format for aggregation.

Environment variable: CSV_OUTPUT Default: true

Definition at line 113 of file LoadGeneratorConfig.cs.

◆ LogEveryN

long Kinetica.LoadGenerator.LoadGeneratorConfig.LogEveryN = 0
getset

Log every N records (0 to disable detailed logging).

Environment variable: LOG_EVERY_N Default: 0

Definition at line 106 of file LoadGeneratorConfig.cs.

◆ MaxInFlightBatches

int Kinetica.LoadGenerator.LoadGeneratorConfig.MaxInFlightBatches = 100
getset

Maximum number of in-flight batches for backpressure control.

Environment variable: MAX_IN_FLIGHT_BATCHES Default: 100

Definition at line 127 of file LoadGeneratorConfig.cs.

◆ MessageSize

int Kinetica.LoadGenerator.LoadGeneratorConfig.MessageSize = 1024
getset

Size of the payload field in bytes.

Environment variable: MESSAGE_SIZE Default: 1024

Definition at line 69 of file LoadGeneratorConfig.cs.

◆ NumThreads

int Kinetica.LoadGenerator.LoadGeneratorConfig.NumThreads = 1
getset

Number of producer threads.

Environment variable: NUM_THREADS Default: 1

Definition at line 55 of file LoadGeneratorConfig.cs.

◆ NumWorkers

int Kinetica.LoadGenerator.LoadGeneratorConfig.NumWorkers = 16
getset

Number of flush workers for BulkInserter.

Environment variable: NUM_WORKERS Default: 16

Definition at line 62 of file LoadGeneratorConfig.cs.

◆ Password

string Kinetica.LoadGenerator.LoadGeneratorConfig.Password = "secret"
getset

Password for Kinetica authentication.

Environment variable: KINETICA_PASSWORD Default: "secret"

Definition at line 29 of file LoadGeneratorConfig.cs.

◆ PayloadRandom

bool Kinetica.LoadGenerator.LoadGeneratorConfig.PayloadRandom = false
getset

Whether to randomize payload for each record.

If false, the same payload is reused for better throughput. Environment variable: PAYLOAD_RANDOM Default: false

Definition at line 77 of file LoadGeneratorConfig.cs.

◆ ProgressIntervalMs

int Kinetica.LoadGenerator.LoadGeneratorConfig.ProgressIntervalMs = 1000
getset

Interval in milliseconds for progress reporting.

Set to 0 to disable progress reporting. Environment variable: PROGRESS_INTERVAL_MS Default: 1000

Definition at line 99 of file LoadGeneratorConfig.cs.

◆ TableName

string Kinetica.LoadGenerator.LoadGeneratorConfig.TableName = "load_generator_test"
getset

Target table name.

Will be created if it doesn't exist. Environment variable: KINETICA_TABLE

Definition at line 35 of file LoadGeneratorConfig.cs.

◆ TotalRecords

long Kinetica.LoadGenerator.LoadGeneratorConfig.TotalRecords = 1_000_000
getset

Total number of records to insert.

Environment variable: TOTAL_RECORDS

Definition at line 41 of file LoadGeneratorConfig.cs.

◆ TruncateTable

bool Kinetica.LoadGenerator.LoadGeneratorConfig.TruncateTable = false
getset

Truncate the table before inserting if it exists.

Environment variable: TRUNCATE_TABLE Default: false

Definition at line 120 of file LoadGeneratorConfig.cs.

◆ Url

string Kinetica.LoadGenerator.LoadGeneratorConfig.Url = "http://localhost:9191"
getset

Kinetica server URL (e.g., http://localhost:9191).

Environment variable: KINETICA_URL

Definition at line 15 of file LoadGeneratorConfig.cs.

◆ UseMultihead

bool Kinetica.LoadGenerator.LoadGeneratorConfig.UseMultihead = true
getset

Enable multi-head ingest for improved performance.

Environment variable: KINETICA_MULTIHEAD Default: true

Definition at line 91 of file LoadGeneratorConfig.cs.

◆ Username

string Kinetica.LoadGenerator.LoadGeneratorConfig.Username = "admin"
getset

Username for Kinetica authentication.

Environment variable: KINETICA_USER Default: "admin"

Definition at line 22 of file LoadGeneratorConfig.cs.

◆ UseSnappy

bool Kinetica.LoadGenerator.LoadGeneratorConfig.UseSnappy = false
getset

Enable Snappy compression for HTTP requests.

Reduces network transfer time for large payloads. Environment variable: SNAPPY Default: false

Definition at line 135 of file LoadGeneratorConfig.cs.


The documentation for this class was generated from the following file: