cloud.google.com/go/aiplatform@v1.106.0/apiv1beta1/aiplatformpb/feature_monitoring_stats.pb.go (about) 1 // Copyright 2025 Google LLC 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 // Code generated by protoc-gen-go. DO NOT EDIT. 16 // versions: 17 // protoc-gen-go v1.35.2 18 // protoc v4.25.7 19 // source: google/cloud/aiplatform/v1beta1/feature_monitoring_stats.proto 20 21 package aiplatformpb 22 23 import ( 24 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 25 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 26 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 27 reflect "reflect" 28 sync "sync" 29 ) 30 31 const ( 32 // Verify that this generated code is sufficiently up-to-date. 33 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 34 // Verify that runtime/protoimpl is sufficiently up-to-date. 35 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 36 ) 37 38 // Stats and Anomaly generated at specific timestamp for specific Feature. 39 // The start_time and end_time are used to define the time range of the dataset 40 // that current stats belongs to, e.g. prediction traffic is bucketed into 41 // prediction datasets by time window. If the Dataset is not defined by time 42 // window, start_time = end_time. Timestamp of the stats and anomalies always 43 // refers to end_time. Raw stats and anomalies are stored in stats_uri or 44 // anomaly_uri in the tensorflow defined protos. Field data_stats contains 45 // almost identical information with the raw stats in Vertex AI 46 // defined proto, for UI to display. 47 type FeatureStatsAnomaly struct { 48 state protoimpl.MessageState 49 sizeCache protoimpl.SizeCache 50 unknownFields protoimpl.UnknownFields 51 52 // Feature importance score, only populated when cross-feature monitoring is 53 // enabled. For now only used to represent feature attribution score within 54 // range [0, 1] for 55 // [ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_SKEW][google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_SKEW] 56 // and 57 // [ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_DRIFT][google.cloud.aiplatform.v1beta1.ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_DRIFT]. 58 Score float64 `protobuf:"fixed64,1,opt,name=score,proto3" json:"score,omitempty"` 59 // Path of the stats file for current feature values in Cloud Storage bucket. 60 // Format: gs://<bucket_name>/<object_name>/stats. 61 // Example: gs://monitoring_bucket/feature_name/stats. 62 // Stats are stored as binary format with Protobuf message 63 // [tensorflow.metadata.v0.FeatureNameStatistics](https://github.com/tensorflow/metadata/blob/master/tensorflow_metadata/proto/v0/statistics.proto). 64 StatsUri string `protobuf:"bytes,3,opt,name=stats_uri,json=statsUri,proto3" json:"stats_uri,omitempty"` 65 // Path of the anomaly file for current feature values in Cloud Storage 66 // bucket. 67 // Format: gs://<bucket_name>/<object_name>/anomalies. 68 // Example: gs://monitoring_bucket/feature_name/anomalies. 69 // Stats are stored as binary format with Protobuf message 70 // Anoamlies are stored as binary format with Protobuf message 71 // [tensorflow.metadata.v0.AnomalyInfo] 72 // (https://github.com/tensorflow/metadata/blob/master/tensorflow_metadata/proto/v0/anomalies.proto). 73 AnomalyUri string `protobuf:"bytes,4,opt,name=anomaly_uri,json=anomalyUri,proto3" json:"anomaly_uri,omitempty"` 74 // Deviation from the current stats to baseline stats. 75 // 1. For categorical feature, the distribution distance is calculated by 76 // L-inifinity norm. 77 // 2. For numerical feature, the distribution distance is calculated by 78 // Jensen–Shannon divergence. 79 DistributionDeviation float64 `protobuf:"fixed64,5,opt,name=distribution_deviation,json=distributionDeviation,proto3" json:"distribution_deviation,omitempty"` 80 // This is the threshold used when detecting anomalies. 81 // The threshold can be changed by user, so this one might be different from 82 // [ThresholdConfig.value][google.cloud.aiplatform.v1beta1.ThresholdConfig.value]. 83 AnomalyDetectionThreshold float64 `protobuf:"fixed64,9,opt,name=anomaly_detection_threshold,json=anomalyDetectionThreshold,proto3" json:"anomaly_detection_threshold,omitempty"` 84 // The start timestamp of window where stats were generated. 85 // For objectives where time window doesn't make sense (e.g. Featurestore 86 // Snapshot Monitoring), start_time is only used to indicate the monitoring 87 // intervals, so it always equals to (end_time - monitoring_interval). 88 StartTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 89 // The end timestamp of window where stats were generated. 90 // For objectives where time window doesn't make sense (e.g. Featurestore 91 // Snapshot Monitoring), end_time indicates the timestamp of the data used to 92 // generate stats (e.g. timestamp we take snapshots for feature values). 93 EndTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 94 } 95 96 func (x *FeatureStatsAnomaly) Reset() { 97 *x = FeatureStatsAnomaly{} 98 mi := &file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_msgTypes[0] 99 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 100 ms.StoreMessageInfo(mi) 101 } 102 103 func (x *FeatureStatsAnomaly) String() string { 104 return protoimpl.X.MessageStringOf(x) 105 } 106 107 func (*FeatureStatsAnomaly) ProtoMessage() {} 108 109 func (x *FeatureStatsAnomaly) ProtoReflect() protoreflect.Message { 110 mi := &file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_msgTypes[0] 111 if x != nil { 112 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 113 if ms.LoadMessageInfo() == nil { 114 ms.StoreMessageInfo(mi) 115 } 116 return ms 117 } 118 return mi.MessageOf(x) 119 } 120 121 // Deprecated: Use FeatureStatsAnomaly.ProtoReflect.Descriptor instead. 122 func (*FeatureStatsAnomaly) Descriptor() ([]byte, []int) { 123 return file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_rawDescGZIP(), []int{0} 124 } 125 126 func (x *FeatureStatsAnomaly) GetScore() float64 { 127 if x != nil { 128 return x.Score 129 } 130 return 0 131 } 132 133 func (x *FeatureStatsAnomaly) GetStatsUri() string { 134 if x != nil { 135 return x.StatsUri 136 } 137 return "" 138 } 139 140 func (x *FeatureStatsAnomaly) GetAnomalyUri() string { 141 if x != nil { 142 return x.AnomalyUri 143 } 144 return "" 145 } 146 147 func (x *FeatureStatsAnomaly) GetDistributionDeviation() float64 { 148 if x != nil { 149 return x.DistributionDeviation 150 } 151 return 0 152 } 153 154 func (x *FeatureStatsAnomaly) GetAnomalyDetectionThreshold() float64 { 155 if x != nil { 156 return x.AnomalyDetectionThreshold 157 } 158 return 0 159 } 160 161 func (x *FeatureStatsAnomaly) GetStartTime() *timestamppb.Timestamp { 162 if x != nil { 163 return x.StartTime 164 } 165 return nil 166 } 167 168 func (x *FeatureStatsAnomaly) GetEndTime() *timestamppb.Timestamp { 169 if x != nil { 170 return x.EndTime 171 } 172 return nil 173 } 174 175 var File_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto protoreflect.FileDescriptor 176 177 var file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_rawDesc = []byte{ 178 0x0a, 0x3e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 179 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 180 0x31, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 181 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 182 0x12, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 183 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 184 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 185 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 186 0x74, 0x6f, 0x22, 0xd2, 0x02, 0x0a, 0x13, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 187 0x61, 0x74, 0x73, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 188 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 189 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 190 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x73, 0x55, 0x72, 0x69, 0x12, 0x1f, 0x0a, 191 0x0b, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x04, 0x20, 0x01, 192 0x28, 0x09, 0x52, 0x0a, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x55, 0x72, 0x69, 0x12, 0x35, 193 0x0a, 0x16, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 194 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x15, 195 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x76, 0x69, 196 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x1b, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 197 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 198 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x19, 0x61, 0x6e, 0x6f, 0x6d, 199 0x61, 0x6c, 0x79, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x68, 0x72, 0x65, 200 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 201 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 202 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 203 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 204 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 205 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 206 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 207 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0xf2, 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 208 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 209 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 210 0x1b, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 211 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 212 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 213 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 214 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 215 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 216 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 217 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 218 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 219 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 220 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 221 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 222 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 223 0x6f, 0x74, 0x6f, 0x33, 224 } 225 226 var ( 227 file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_rawDescOnce sync.Once 228 file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_rawDesc 229 ) 230 231 func file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_rawDescGZIP() []byte { 232 file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_rawDescOnce.Do(func() { 233 file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_rawDescData) 234 }) 235 return file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_rawDescData 236 } 237 238 var file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_msgTypes = make([]protoimpl.MessageInfo, 1) 239 var file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_goTypes = []any{ 240 (*FeatureStatsAnomaly)(nil), // 0: google.cloud.aiplatform.v1beta1.FeatureStatsAnomaly 241 (*timestamppb.Timestamp)(nil), // 1: google.protobuf.Timestamp 242 } 243 var file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_depIdxs = []int32{ 244 1, // 0: google.cloud.aiplatform.v1beta1.FeatureStatsAnomaly.start_time:type_name -> google.protobuf.Timestamp 245 1, // 1: google.cloud.aiplatform.v1beta1.FeatureStatsAnomaly.end_time:type_name -> google.protobuf.Timestamp 246 2, // [2:2] is the sub-list for method output_type 247 2, // [2:2] is the sub-list for method input_type 248 2, // [2:2] is the sub-list for extension type_name 249 2, // [2:2] is the sub-list for extension extendee 250 0, // [0:2] is the sub-list for field type_name 251 } 252 253 func init() { file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_init() } 254 func file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_init() { 255 if File_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto != nil { 256 return 257 } 258 type x struct{} 259 out := protoimpl.TypeBuilder{ 260 File: protoimpl.DescBuilder{ 261 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 262 RawDescriptor: file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_rawDesc, 263 NumEnums: 0, 264 NumMessages: 1, 265 NumExtensions: 0, 266 NumServices: 0, 267 }, 268 GoTypes: file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_goTypes, 269 DependencyIndexes: file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_depIdxs, 270 MessageInfos: file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_msgTypes, 271 }.Build() 272 File_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto = out.File 273 file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_rawDesc = nil 274 file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_goTypes = nil 275 file_google_cloud_aiplatform_v1beta1_feature_monitoring_stats_proto_depIdxs = nil 276 }