123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- // Copyright 2022 Google LLC
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- syntax = "proto3";
- package google.cloud.aiplatform.v1;
- option csharp_namespace = "Google.Cloud.AIPlatform.V1";
- option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1;aiplatform";
- option java_multiple_files = true;
- option java_outer_classname = "FeaturestoreMonitoringProto";
- option java_package = "com.google.cloud.aiplatform.v1";
- option php_namespace = "Google\\Cloud\\AIPlatform\\V1";
- option ruby_package = "Google::Cloud::AIPlatform::V1";
- // Configuration of how features in Featurestore are monitored.
- message FeaturestoreMonitoringConfig {
- // Configuration of the Featurestore's Snapshot Analysis Based Monitoring.
- // This type of analysis generates statistics for each Feature based on a
- // snapshot of the latest feature value of each entities every
- // monitoring_interval.
- message SnapshotAnalysis {
- // The monitoring schedule for snapshot analysis.
- // For EntityType-level config:
- // unset / disabled = true indicates disabled by
- // default for Features under it; otherwise by default enable snapshot
- // analysis monitoring with monitoring_interval for Features under it.
- // Feature-level config:
- // disabled = true indicates disabled regardless of the EntityType-level
- // config; unset monitoring_interval indicates going with EntityType-level
- // config; otherwise run snapshot analysis monitoring with
- // monitoring_interval regardless of the EntityType-level config.
- // Explicitly Disable the snapshot analysis based monitoring.
- bool disabled = 1;
- // Configuration of the snapshot analysis based monitoring pipeline
- // running interval. The value indicates number of days.
- // If both
- // [FeaturestoreMonitoringConfig.SnapshotAnalysis.monitoring_interval_days][google.cloud.aiplatform.v1.FeaturestoreMonitoringConfig.SnapshotAnalysis.monitoring_interval_days]
- // and [FeaturestoreMonitoringConfig.SnapshotAnalysis.monitoring_interval][]
- // are set when creating/updating EntityTypes/Features,
- // [FeaturestoreMonitoringConfig.SnapshotAnalysis.monitoring_interval_days][google.cloud.aiplatform.v1.FeaturestoreMonitoringConfig.SnapshotAnalysis.monitoring_interval_days]
- // will be used.
- int32 monitoring_interval_days = 3;
- // Customized export features time window for snapshot analysis. Unit is one
- // day. Default value is 3 weeks. Minimum value is 1 day. Maximum value is
- // 4000 days.
- int32 staleness_days = 4;
- }
- // Configuration of the Featurestore's ImportFeature Analysis Based
- // Monitoring. This type of analysis generates statistics for values of each
- // Feature imported by every [ImportFeatureValues][] operation.
- message ImportFeaturesAnalysis {
- // The state defines whether to enable ImportFeature analysis.
- enum State {
- // Should not be used.
- STATE_UNSPECIFIED = 0;
- // The default behavior of whether to enable the monitoring.
- // EntityType-level config: disabled.
- // Feature-level config: inherited from the configuration of EntityType
- // this Feature belongs to.
- DEFAULT = 1;
- // Explicitly enables import features analysis.
- // EntityType-level config: by default enables import features analysis
- // for all Features under it. Feature-level config: enables import
- // features analysis regardless of the EntityType-level config.
- ENABLED = 2;
- // Explicitly disables import features analysis.
- // EntityType-level config: by default disables import features analysis
- // for all Features under it. Feature-level config: disables import
- // features analysis regardless of the EntityType-level config.
- DISABLED = 3;
- }
- // Defines the baseline to do anomaly detection for feature values imported
- // by each [ImportFeatureValues][] operation.
- enum Baseline {
- // Should not be used.
- BASELINE_UNSPECIFIED = 0;
- // Choose the later one statistics generated by either most recent
- // snapshot analysis or previous import features analysis. If non of them
- // exists, skip anomaly detection and only generate a statistics.
- LATEST_STATS = 1;
- // Use the statistics generated by the most recent snapshot analysis if
- // exists.
- MOST_RECENT_SNAPSHOT_STATS = 2;
- // Use the statistics generated by the previous import features analysis
- // if exists.
- PREVIOUS_IMPORT_FEATURES_STATS = 3;
- }
- // Whether to enable / disable / inherite default hebavior for import
- // features analysis.
- State state = 1;
- // The baseline used to do anomaly detection for the statistics generated by
- // import features analysis.
- Baseline anomaly_detection_baseline = 2;
- }
- // The config for Featurestore Monitoring threshold.
- message ThresholdConfig {
- oneof threshold {
- // Specify a threshold value that can trigger the alert.
- // 1. For categorical feature, the distribution distance is calculated by
- // L-inifinity norm.
- // 2. For numerical feature, the distribution distance is calculated by
- // Jensen–Shannon divergence. Each feature must have a non-zero threshold
- // if they need to be monitored. Otherwise no alert will be triggered for
- // that feature.
- double value = 1;
- }
- }
- // The config for Snapshot Analysis Based Feature Monitoring.
- SnapshotAnalysis snapshot_analysis = 1;
- // The config for ImportFeatures Analysis Based Feature Monitoring.
- ImportFeaturesAnalysis import_features_analysis = 2;
- // Threshold for numerical features of anomaly detection.
- // This is shared by all objectives of Featurestore Monitoring for numerical
- // features (i.e. Features with type ([Feature.ValueType][google.cloud.aiplatform.v1.Feature.ValueType]) DOUBLE or INT64).
- ThresholdConfig numerical_threshold_config = 3;
- // Threshold for categorical features of anomaly detection.
- // This is shared by all types of Featurestore Monitoring for categorical
- // features (i.e. Features with type ([Feature.ValueType][google.cloud.aiplatform.v1.Feature.ValueType]) BOOL or STRING).
- ThresholdConfig categorical_threshold_config = 4;
- }
|