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  }