syntax = "proto2"; package NV.Profiler.Messages; // enable arenas for better allocation performance option cc_enable_arenas = true; message ProfileMetricValue { optional string StringValue = 1; optional float FloatValue = 2; optional double DoubleValue = 3; optional uint32 Uint32Value = 4; optional uint64 Uint64Value = 5; } message ProfileMetricListElement { optional ProfileMetricValue CorrelationId = 1; required ProfileMetricValue ElementValue = 2; } enum ProfileMetricCategory { MetricCategoryPm = 0; MetricCategorySampler = 1; // ONLY ADD AT THE END OF THIS LIST. DO NOT RE-ORDER. } message ProfileMetricResult { required uint32 NameId = 1; optional ProfileMetricValue MetricValue = 2; repeated ProfileMetricListElement MetricValueList = 3; optional ProfileMetricCategory Category = 4 [default = MetricCategoryPm]; }