import "Domain.bond"

namespace AI

[Description("Instances of Event represent structured event records that can be grouped and searched by their properties. Event data item also creates a metric of event count by name.")]
struct EventData
    : Domain
{
    [Description("Schema version")]
    10: required int32 	 ver = 2;
    
    [MaxStringLength("512")]
    [Description("Event name. Keep it low cardinality to allow proper grouping and useful metrics.")]
    [Question("Why Custom Event name is shorter than Request name or dependency name?")]
    20: required string 	 name;
    
    [Description("Collection of custom properties.")]
    [MaxKeyLength("150")]
    [MaxValueLength("8192")]
    100: map<string, string> 	 properties;
    
    [Description("Collection of custom measurements.")]
    [MaxKeyLength("150")]
    200: map<string, double> 	 measurements;
    
}
