Kinetica   C#   API  Version 7.2.3.1
IngestRecord.cs
Go to the documentation of this file.
1 using System;
2 using kinetica.Records;
3 
5 {
11  {
16  public long TimestampMillis { get; set; }
17 
22  public int Source { get; set; }
23 
28  public string Payload { get; set; } = string.Empty;
29 
33  public static Dictionary<string, IList<string>> GetTypeProperties() => new()
34  {
35  { "TimestampMillis", new List<string> { kinetica.ColumnProperty.TIMESTAMP } },
36  { "Source", new List<string> { kinetica.ColumnProperty.DATA } },
37  { "Payload", new List<string> { kinetica.ColumnProperty.DATA } }
38  };
39 
40  public override string ToString() =>
41  $"IngestRecord {{ TimestampMillis={TimestampMillis}, Source={Source}, PayloadSize={Payload.Length} }}";
42 
44  {
45  return new ShardKeyValues();
46  }
47  }
48 
54  {
59  public long TimestampMillis { get; set; }
60 
65  public int Source { get; set; }
66 
71  public int ThreadId { get; set; }
72 
77  public long LocalCount { get; set; }
78 
83  public long Nanosecond { get; set; }
84 
89  public string Payload { get; set; } = string.Empty;
90 
94  public static Dictionary<string, IList<string>> GetTypeProperties() => new()
95  {
96  { "TimestampMillis", new List<string> { kinetica.ColumnProperty.TIMESTAMP } },
97  { "Source", new List<string> { kinetica.ColumnProperty.DATA } },
98  { "ThreadId", new List<string> { kinetica.ColumnProperty.DATA } },
99  { "LocalCount", new List<string> { kinetica.ColumnProperty.DATA } },
100  { "Nanosecond", new List<string> { kinetica.ColumnProperty.DATA } },
101  { "Payload", new List<string> { kinetica.ColumnProperty.DATA } }
102  };
103 
104  public override string ToString() =>
105  $"IngestRecord2 {{ TimestampMillis={TimestampMillis}, Source={Source}, ThreadId={ThreadId}, LocalCount={LocalCount}, Nanosecond={Nanosecond}, PayloadSize={Payload.Length} }}";
106 
108  {
109  return new ShardKeyValues();
110  }
111  }
112 }
Extended ingest record schema matching the Rust IngestRecord2.
Definition: IngestRecord.cs:53
ShardKeyValues GetShardKeyValues()
Returns shard key column names and their typed values.
Definition: IngestRecord.cs:43
long Nanosecond
High-precision nanosecond timestamp for latency measurements.
Definition: IngestRecord.cs:83
string Payload
Variable-size payload for measuring throughput with different record sizes.
Definition: IngestRecord.cs:89
long TimestampMillis
Timestamp in milliseconds since Unix epoch.
Definition: IngestRecord.cs:16
Column properties used for Kinetica types.
static Dictionary< string, IList< string > > GetTypeProperties()
Gets the column properties for type creation.
const string TIMESTAMP
Valid only for 'long' columns.
ShardKeyValues GetShardKeyValues()
Returns shard key column names and their typed values.
long TimestampMillis
Timestamp in milliseconds since Unix epoch.
Definition: IngestRecord.cs:59
long LocalCount
Thread-local record counter for ordering analysis.
Definition: IngestRecord.cs:77
Collection of shard key column names and values.
int Source
Source identifier (set to message_size for tracking payload size).
Definition: IngestRecord.cs:22
Basic ingest record schema matching the Rust IngestRecord.
Definition: IngestRecord.cs:10
string Payload
Variable-size payload for measuring throughput with different record sizes.
Definition: IngestRecord.cs:28
int ThreadId
Thread producer ID for multi-threaded load generation analysis.
Definition: IngestRecord.cs:71
static Dictionary< string, IList< string > > GetTypeProperties()
Gets the column properties for type creation.
Interface for extracting shard key values from a record.
int Source
Source identifier (set to message_size for tracking payload size).
Definition: IngestRecord.cs:65
const string DATA
Default property for all numeric and string type columns; makes the column available for GPU queries.