syntax = "proto3";

package zeroparser.benches.wide_schema;

// A wide (100-field) device-telemetry record: a synthetic stand-in for the
// kind of flat, many-column row a fleet of IoT devices emits. The field type
// mix (int64 ids/timestamps, int32 metrics/flags, string labels/urls) is what
// the decode benchmarks exercise; values are illustrative.
message WideSchema {
  int64 device_id = 1;
  string device_model = 2;
  string firmware_version = 3;
  string hardware_revision = 4;
  int32 device_class = 5;
  int32 manufacturer_id = 6;
  int64 account_id = 7;
  int64 org_id = 8;
  int32 region_id = 9;
  int32 site_id = 10;
  string site_name = 11;
  string location_label = 12;
  int32 latitude_e6 = 13;
  int32 longitude_e6 = 14;
  int32 altitude_m = 15;
  int32 timezone_offset_min = 16;
  int64 boot_time_us = 17;
  int64 reading_time_us = 18;
  int32 reading_date = 19;
  int32 uptime_s = 20;
  int32 is_online = 21;
  int32 is_charging = 22;
  int32 is_battery_powered = 23;
  int32 battery_level = 24;
  int32 battery_health = 25;
  int32 power_mode = 26;
  int32 voltage_mv = 27;
  int32 current_ma = 28;
  int32 temperature_c = 29;
  int32 humidity_pct = 30;
  int32 pressure_hpa = 31;
  int32 co2_ppm = 32;
  int32 pm25_ugm3 = 33;
  int32 noise_db = 34;
  int32 light_lux = 35;
  int32 signal_strength = 36;
  int32 link_quality = 37;
  int32 network_type_id = 38;
  string network_operator = 39;
  string apn = 40;
  int32 gateway_ip = 41;
  int32 peer_ip = 42;
  int32 subnet_id = 43;
  int32 port = 44;
  string endpoint_url = 45;
  string upstream_host = 46;
  string protocol = 47;
  int32 protocol_version = 48;
  int32 tls_version_id = 49;
  int32 is_encrypted = 50;
  int32 send_latency_ms = 51;
  int32 dns_latency_ms = 52;
  int32 connect_latency_ms = 53;
  int32 handshake_latency_ms = 54;
  int32 response_latency_ms = 55;
  int32 fetch_latency_ms = 56;
  int32 retry_count = 57;
  int32 error_code = 58;
  string error_message = 59;
  int32 packets_sent = 60;
  int32 packets_lost = 61;
  int64 bytes_sent = 62;
  int64 bytes_received = 63;
  string session_id = 64;
  int64 session_uniq_id = 65;
  string job_id = 66;
  string command_label = 67;
  int32 command_id = 68;
  int32 is_synthetic = 69;
  int32 is_healthy = 70;
  int32 is_legacy_device = 71;
  int32 schema_version = 72;
  string charset = 73;
  string locale = 74;
  string country_code = 75;
  string status_color = 76;
  int32 sensor_id = 77;
  int32 sensor_count = 78;
  int32 calib_param1 = 79;
  int32 calib_param2 = 80;
  int32 calib_param3 = 81;
  int32 calib_param4 = 82;
  string config_params = 83;
  string modem_model = 84;
  int32 modem_present = 85;
  int64 meter_reading = 86;
  string unit = 87;
  int32 unit_id = 88;
  string provider_name = 89;
  string asset_tag = 90;
  string tag_source = 91;
  string tag_medium = 92;
  string tag_group = 93;
  int32 has_gps = 94;
  int32 gps_fix_quality = 95;
  int32 satellites = 96;
  int32 cluster_id = 97;
  int32 shard_id = 98;
  int64 upstream_hash = 99;
  int64 record_hash = 100;
}
