Class ScalingMetricCollector<KEY,​Context extends JobAutoScalerContext<KEY>>

    • Field Detail

      • jobsWithGcMetrics

        protected final java.util.Map<KEY,​java.lang.Boolean> jobsWithGcMetrics
    • Constructor Detail

      • ScalingMetricCollector

        public ScalingMetricCollector()
    • Method Detail

      • queryJmMetrics

        protected abstract java.util.Map<FlinkMetric,​org.apache.flink.runtime.rest.messages.job.metrics.Metric> queryJmMetrics​(Context ctx)
                                                                                                                              throws java.lang.Exception
        Throws:
        java.lang.Exception
      • queryTmMetrics

        protected abstract java.util.Map<FlinkMetric,​org.apache.flink.runtime.rest.messages.job.metrics.AggregatedMetric> queryTmMetrics​(Context ctx)
                                                                                                                                        throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getMetricWindowSize

        protected java.time.Duration getMetricWindowSize​(org.apache.flink.configuration.Configuration conf)
      • getJobRunningTs

        @VisibleForTesting
        protected java.time.Instant getJobRunningTs​(JobDetailsInfo jobDetailsInfo)
      • queryFilteredMetricNames

        protected java.util.Map<org.apache.flink.runtime.jobgraph.JobVertexID,​java.util.Map<java.lang.String,​FlinkMetric>> queryFilteredMetricNames​(Context ctx,
                                                                                                                                                                JobTopology topology)
        Query the available metric names for each job vertex.
      • queryAggregatedMetricNames

        @VisibleForTesting
        protected java.util.Collection<java.lang.String> queryAggregatedMetricNames​(org.apache.flink.client.program.rest.RestClusterClient<?> restClient,
                                                                                    org.apache.flink.api.common.JobID jobID,
                                                                                    org.apache.flink.runtime.jobgraph.JobVertexID jobVertexID)
      • queryAllAggregatedMetrics

        protected abstract java.util.Map<org.apache.flink.runtime.jobgraph.JobVertexID,​java.util.Map<FlinkMetric,​org.apache.flink.runtime.rest.messages.job.metrics.AggregatedMetric>> queryAllAggregatedMetrics​(Context ctx,
                                                                                                                                                                                                                             java.util.Map<org.apache.flink.runtime.jobgraph.JobVertexID,​java.util.Map<java.lang.String,​FlinkMetric>> filteredVertexMetricNames)
      • getJobDetailsInfo

        public JobDetailsInfo getJobDetailsInfo​(JobAutoScalerContext<KEY> context,
                                                java.time.Duration clientTimeout)
                                         throws java.lang.Exception
        Throws:
        java.lang.Exception
      • cleanup

        public void cleanup​(KEY jobKey)
      • setClock

        @VisibleForTesting
        protected void setClock​(java.time.Clock clock)
      • getAvailableVertexMetricNames

        @VisibleForTesting
        protected java.util.Map<KEY,​java.util.Map<org.apache.flink.runtime.jobgraph.JobVertexID,​java.util.Map<java.lang.String,​FlinkMetric>>> getAvailableVertexMetricNames()
      • getHistories

        @VisibleForTesting
        protected java.util.Map<KEY,​java.util.SortedMap<java.time.Instant,​CollectedMetrics>> getHistories()