[
  // Drop all kubelet metrics which are deprecated in kubernetes.
  {
    sourceLabels: ['__name__'],
    regex: 'kubelet_(pod_worker_latency_microseconds|pod_start_latency_microseconds|cgroup_manager_latency_microseconds|pod_worker_start_latency_microseconds|pleg_relist_latency_microseconds|pleg_relist_interval_microseconds|runtime_operations|runtime_operations_latency_microseconds|runtime_operations_errors|eviction_stats_age_microseconds|device_plugin_registration_count|device_plugin_alloc_latency_microseconds|network_plugin_operations_latency_microseconds)',
    action: 'drop',
  },
  // Drop all scheduler metrics which are deprecated in kubernetes.
  {
    sourceLabels: ['__name__'],
    regex: 'scheduler_(e2e_scheduling_latency_microseconds|scheduling_algorithm_predicate_evaluation|scheduling_algorithm_priority_evaluation|scheduling_algorithm_preemption_evaluation|scheduling_algorithm_latency_microseconds|binding_latency_microseconds|scheduling_latency_seconds)',
    action: 'drop',
  },
  // Drop all apiserver metrics which are deprecated in kubernetes.
  {
    sourceLabels: ['__name__'],
    regex: 'apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs|longrunning_gauge|registered_watchers)',
    action: 'drop',
  },
  // Drop all docker metrics which are deprecated in kubernetes.
  {
    sourceLabels: ['__name__'],
    regex: 'kubelet_docker_(operations|operations_latency_microseconds|operations_errors|operations_timeout)',
    action: 'drop',
  },
  // Drop all reflector metrics which are deprecated in kubernetes.
  {
    sourceLabels: ['__name__'],
    regex: 'reflector_(items_per_list|items_per_watch|list_duration_seconds|lists_total|short_watches_total|watch_duration_seconds|watches_total)',
    action: 'drop',
  },
  // Drop all etcd metrics which are deprecated in kubernetes.
  {
    sourceLabels: ['__name__'],
    regex: 'etcd_(helper_cache_hit_count|helper_cache_miss_count|helper_cache_entry_count|object_counts|request_cache_get_latencies_summary|request_cache_add_latencies_summary|request_latencies_summary)',
    action: 'drop',
  },
  // Drop all transformation metrics which are deprecated in kubernetes.
  {
    sourceLabels: ['__name__'],
    regex: 'transformation_(transformation_latencies_microseconds|failures_total)',
    action: 'drop',
  },
  // Drop all other metrics which are deprecated in kubernetes.
  {
    sourceLabels: ['__name__'],
    regex: '(' + std.join('|',
                          [
                            'admission_quota_controller_adds',
                            'admission_quota_controller_depth',
                            'admission_quota_controller_longest_running_processor_microseconds',
                            'admission_quota_controller_queue_latency',
                            'admission_quota_controller_unfinished_work_seconds',
                            'admission_quota_controller_work_duration',
                            'APIServiceOpenAPIAggregationControllerQueue1_adds',
                            'APIServiceOpenAPIAggregationControllerQueue1_depth',
                            'APIServiceOpenAPIAggregationControllerQueue1_longest_running_processor_microseconds',
                            'APIServiceOpenAPIAggregationControllerQueue1_queue_latency',
                            'APIServiceOpenAPIAggregationControllerQueue1_retries',
                            'APIServiceOpenAPIAggregationControllerQueue1_unfinished_work_seconds',
                            'APIServiceOpenAPIAggregationControllerQueue1_work_duration',
                            'APIServiceRegistrationController_adds',
                            'APIServiceRegistrationController_depth',
                            'APIServiceRegistrationController_longest_running_processor_microseconds',
                            'APIServiceRegistrationController_queue_latency',
                            'APIServiceRegistrationController_retries',
                            'APIServiceRegistrationController_unfinished_work_seconds',
                            'APIServiceRegistrationController_work_duration',
                            'autoregister_adds',
                            'autoregister_depth',
                            'autoregister_longest_running_processor_microseconds',
                            'autoregister_queue_latency',
                            'autoregister_retries',
                            'autoregister_unfinished_work_seconds',
                            'autoregister_work_duration',
                            'AvailableConditionController_adds',
                            'AvailableConditionController_depth',
                            'AvailableConditionController_longest_running_processor_microseconds',
                            'AvailableConditionController_queue_latency',
                            'AvailableConditionController_retries',
                            'AvailableConditionController_unfinished_work_seconds',
                            'AvailableConditionController_work_duration',
                            'crd_autoregistration_controller_adds',
                            'crd_autoregistration_controller_depth',
                            'crd_autoregistration_controller_longest_running_processor_microseconds',
                            'crd_autoregistration_controller_queue_latency',
                            'crd_autoregistration_controller_retries',
                            'crd_autoregistration_controller_unfinished_work_seconds',
                            'crd_autoregistration_controller_work_duration',
                            'crdEstablishing_adds',
                            'crdEstablishing_depth',
                            'crdEstablishing_longest_running_processor_microseconds',
                            'crdEstablishing_queue_latency',
                            'crdEstablishing_retries',
                            'crdEstablishing_unfinished_work_seconds',
                            'crdEstablishing_work_duration',
                            'crd_finalizer_adds',
                            'crd_finalizer_depth',
                            'crd_finalizer_longest_running_processor_microseconds',
                            'crd_finalizer_queue_latency',
                            'crd_finalizer_retries',
                            'crd_finalizer_unfinished_work_seconds',
                            'crd_finalizer_work_duration',
                            'crd_naming_condition_controller_adds',
                            'crd_naming_condition_controller_depth',
                            'crd_naming_condition_controller_longest_running_processor_microseconds',
                            'crd_naming_condition_controller_queue_latency',
                            'crd_naming_condition_controller_retries',
                            'crd_naming_condition_controller_unfinished_work_seconds',
                            'crd_naming_condition_controller_work_duration',
                            'crd_openapi_controller_adds',
                            'crd_openapi_controller_depth',
                            'crd_openapi_controller_longest_running_processor_microseconds',
                            'crd_openapi_controller_queue_latency',
                            'crd_openapi_controller_retries',
                            'crd_openapi_controller_unfinished_work_seconds',
                            'crd_openapi_controller_work_duration',
                            'DiscoveryController_adds',
                            'DiscoveryController_depth',
                            'DiscoveryController_longest_running_processor_microseconds',
                            'DiscoveryController_queue_latency',
                            'DiscoveryController_retries',
                            'DiscoveryController_unfinished_work_seconds',
                            'DiscoveryController_work_duration',
                            'kubeproxy_sync_proxy_rules_latency_microseconds',
                            'non_structural_schema_condition_controller_adds',
                            'non_structural_schema_condition_controller_depth',
                            'non_structural_schema_condition_controller_longest_running_processor_microseconds',
                            'non_structural_schema_condition_controller_queue_latency',
                            'non_structural_schema_condition_controller_retries',
                            'non_structural_schema_condition_controller_unfinished_work_seconds',
                            'non_structural_schema_condition_controller_work_duration',
                            'rest_client_request_latency_seconds',
                            'storage_operation_errors_total',
                            'storage_operation_status_count',
                          ]) + ')',
    action: 'drop',
  },
]
