private void configureMetricReports ( ) throws MetricException { final Props props = getAzkabanProps ( ) ; if ( props != null && props . getBoolean ( "executor.metric.reports" , false ) ) { logger . info ( "Starting to configure Metric Reports" ) ; final MetricReportManager metricManager = MetricReportManager . getInstance ( ) ; final IMetricEmitter metricEmitter = new InMemoryMetricEmitter ( props ) ; metricManager . addMetricEmitter ( metricEmitter ) ; logger . info ( "Adding number of failed flow metric" ) ; metricManager . addMetric ( new NumFailedFlowMetric ( metricManager , props . getInt ( METRIC_INTERVAL + NumFailedFlowMetric . NUM_FAILED_FLOW_METRIC_NAME , props . getInt ( METRIC_INTERVAL + "default" ) ) ) ) ; logger . info ( "Adding number of failed jobs metric" ) ; metricManager . addMetric ( new NumFailedJobMetric ( metricManager , props . getInt ( METRIC_INTERVAL + NumFailedJobMetric . NUM_FAILED_JOB_METRIC_NAME , props . getInt ( METRIC_INTERVAL + "default" ) ) ) ) ; logger . info ( "Adding number of running Jobs metric" ) ; metricManager . addMetric ( new NumRunningJobMetric ( metricManager , props . getInt ( METRIC_INTERVAL + NumRunningJobMetric . NUM_RUNNING_JOB_METRIC_NAME , props . getInt ( METRIC_INTERVAL + "default" ) ) ) ) ; logger . info ( "Adding number of running flows metric" ) ; metricManager . addMetric ( new NumRunningFlowMetric ( this . runnerManager , metricManager , props . getInt ( METRIC_INTERVAL + NumRunningFlowMetric . NUM_RUNNING_FLOW_METRIC_NAME , props . getInt ( METRIC_INTERVAL + "default" ) ) ) ) ; logger . info ( "Adding number of queued flows metric" ) ; metricManager . addMetric ( new NumQueuedFlowMetric ( this . runnerManager , metricManager , props . getInt ( METRIC_INTERVAL + NumQueuedFlowMetric . NUM_QUEUED_FLOW_METRIC_NAME , props . getInt ( METRIC_INTERVAL + "default" ) ) ) ) ; logger . info ( "Completed configuring Metric Reports" ) ; } }
Configure Metric Reporting as per azkaban . properties settings